Chính phủ điện tử của Ấn Độ bị xâm nhập, Hacker có thể truy cập bất kỳ tài khoản công dân Ấn Độ nào mà không cần xác thực

tài khoản DigiLocker bị truy cập không cần mật khẩu

Chính phủ Ấn Độ cho biết họ đã phát hiện một lỗ hổng bảo mật nghiêm trọng trên dịch vụ ví lưu trữ tài liệu số Digilocker có khả năng cho phép kẻ tấn công từ xa có thể bỏ qua bước xác thực mã OTP (one-time password), và đăng nhập vào tài khoản người dùng khác, từ đó, truy cập vào các tài liệu nhạy cảm của họ được lưu trữ trên nền tảng này.

“Mã OTP thiếu chức năng ủy quyền, điều này, cho phép kẻ tấn công có thể thực hiện xác thực OTP bằng cách gửi bất kỳ thông tin hợp lệ nào liên quan đến người dùng và sau đó thao tác luồng (manipulation flow) để đăng nhập với tư cách một người dùng hoàn toàn khác”, nhà nghiên cứu bảo mật Mohesh Mohan cho biết trong một tiết lộ được chia sẻ với The Hacker News.

Với hơn 38 triệu người dùng, Digilocker là một kho lưu trữ đám mây hoạt động như một nền tảng kỹ thuật số để hỗ trợ xử lý tài liệu trực tuyến và rút ngắn thời gian cung cấp các dịch vụ hành chính khác nhau của chính phủ. Nó được liên kết với số điện thoại di động của người dùng và Aadhar ID- số chứng minh nhân dân duy nhất (UID- unique identity number) được cấp cho mọi công dân Ấn Độ.

Theo chuyên gia bảo mật Mohan, để có thể truy cập trái phép vào một tài khoản Digilocker, tất cả những gì kẻ tấn công cần biết chỉ là Aadhaar ID của nạn nhân hoặc số điện thoại di động đã liên kết hay tên người dùng (username), và kích hoạt ứng dụng này tự động gửi mã OTP, sau đó khai thác lỗ hổng bảo mật nhằm bỏ qua quy trình đăng nhập.

Điều đáng chú ý là phiên bản ứng dụng di động của Digilocker cũng đi kèm với mã PIN gồm 4 chữ số để tăng thêm một lớp bảo mật. Tuy nhiên, nhà nghiên cứu này cho biết kẻ tấn công hoàn toàn có thể sửa đổi các lệnh gọi API (API call) để xác thực mã PIN bằng cách liên kết mã PIN này với một người dùng khác (được xác định bằng một UUID version-5) và đăng nhập thành công với tư cách là nạn nhân.

Điều này có nghĩa là “bạn có thể thực hiện xác minh qua SMS OTP với tư cách là một người dùng và sau đó gửi mã pin của người dùng thứ hai, kết quả là bạn sẽ có thể đăng nhập vào tài khoản với tư cách là người dùng thứ hai”, Mohan nói.

Hơn nữa, việc thiếu bước xác thực cho điểm cuối API – thường được dùng để đặt mã PIN bí mật, tiềm tàng nguy cơ API có thể bị khai thác để đặt lại mã PIN được liên kết với người dùng ngẫu nhiên bằng cách sử dụng UUID cá nhân.

“Không có thông tin nào liên quan đến phiên (session) trên POST request, vì vậy nó không bị ràng buộc với bất kỳ người dùng nào”, Mohan nói thêm.

Ngoài các vấn đề được đề cập ở trên, các lệnh gọi API trên các ứng dụng di động được bảo mật bằng lớp xác thực cơ bản cũng có thể bị phá vỡ bằng cách xóa cờ tiêu đề (header flag) “is_encrypted: 1.” Bên cạnh đó, ứng dụng này bị phát hiện đang hoạt động trong một cơ chế SSL pinning yếu, khiến chúng dễ bị xâm nhập hơn khi đối mặt với một cuộc tấn công sử dụng các công cụ như Frida.

Sau khi các lỗ hổng được báo cáo với CERT-In (Indian Computer Emergency Response Team) vào ngày 10 tháng 5, cơ quan an ninh mạng này cho biết các vấn đề đã được sửa chữa và khắc phục vào ngày 28 tháng 5.

“Bản chất của lỗ hổng này là tài khoản DigiLocker của một cá nhân có thể bị xâm phạm nếu kẻ tấn công biết tên người dùng (username) của tài khoản cụ thể đó, ” Digilocker nói trong một tweet  liên quan đến lỗ hổng này vào tuần trước. “Nếu username và các thông tin cá nhân khác của người dùng đó không bị rò rỉ ra bên ngoài, thì lỗ hổng này hoàn toàn không thể bị lợi dụng để cho phép bất kỳ ai có quyền truy cập vào tài khoản DigiLocker của người dùng đó được.”

“Sau khi phân tích, nhóm nghiên cứu đã phát hiện ra rằng lỗ hổng này đã xuất hiện trong mã code sau khi một số tính năng mới được thêm vào ứng dụng gần đây. Ngay sau đó, lỗ hổng này đã được team kỹ thuật ưu tiên vá trong một ngày sau khi nhận được cảnh báo từ CERT-In. Đây không phải là một cuộc tấn công nhắm vào cơ sở hạ tầng và không có bất cứ dữ liệu, cơ sở dữ liệu, kho lưu trữ hay mã hóa nào bị xâm phạm “, nhóm nghiên cứu này cho biết thêm.