Nguy hiểm: Lỗ hổng bảo mật Android ảnh hưởng ví tiền điện tử

Nguy hiểm: Lỗ hổng bảo mật Android ảnh hưởng ví tiền điện tử

Một lỗ hổng bảo mật Android nghiêm trọng đã được phát hiện trong thư viện EngageSDK được sử dụng rộng rãi, đe dọa hơn 30 triệu người dùng ví tiền điện tử với nguy cơ trộm cắp tài chính và lộ dữ liệu cá nhân.

Lỗ hổng này, được mô tả là lỗi chuyển hướng intent, cho phép các ứng dụng độc hại trên cùng thiết bị vượt qua sandbox bảo mật tích hợp của Android và giành quyền truy cập trái phép vào dữ liệu riêng tư của người dùng.

Với việc ví tiền điện tử lưu trữ tài sản tài chính thực, một lỗ hổng như thế này mang lại hậu quả vượt xa những lo ngại về quyền riêng tư thông thường.

Tổng quan về EngageSDK và Lỗ hổng Bảo mật Android

EngageSDK là một bộ công cụ phát triển phần mềm (SDK) của bên thứ ba, được xây dựng bởi công ty EngageLab. SDK này được thiết kế để hỗ trợ các nhà phát triển tích hợp tính năng thông báo đẩy và nhắn tin thời gian thực vào ứng dụng Android của họ.

Các nhà phát triển thêm EngageSDK như một phần phụ thuộc mã, sau đó nó trở thành một phần trong cách ứng dụng hoạt động. Do nhiều ứng dụng dựa vào cùng một SDK, một lỗ hổng duy nhất bên trong nó không chỉ giới hạn trong một ứng dụng mà đặt tất cả các ứng dụng được xây dựng trên đó vào tình thế rủi ro đồng thời.

Cơ chế Lỗ hổng Chuyển hướng Intent

Trong quá trình nghiên cứu bảo mật định kỳ, nhóm nghiên cứu bảo mật Microsoft Defender Security Research Team đã xác định được lỗ hổng. Lỗ hổng này nằm trong một hoạt động được xuất (exported activity) có tên là MTCommonActivity.

Hoạt động này được tự động thêm vào tệp manifest Android đã hợp nhất của ứng dụng trong quá trình xây dựng, nghĩa là nó không xuất hiện trong mã nguồn gốc mà chỉ trong đầu ra biên dịch cuối cùng. Vì các nhà phát triển thường bỏ qua điều này, hoạt động không được xem xét và bảo vệ.

Một khi ứng dụng được cài đặt trên thiết bị, hoạt động đó có thể được truy cập bởi bất kỳ ứng dụng nào khác chạy trên cùng điện thoại.

Mức độ phơi nhiễm này là điều làm cho lỗ hổng bảo mật Android này đặc biệt đáng lo ngại. Chỉ riêng các ứng dụng ví tiền điện tử đã chiếm hơn 30 triệu lượt cài đặt. Khi tính cả các ứng dụng khác được xây dựng trên cùng SDK, tổng số lượt cài đặt bị ảnh hưởng lên tới hơn 50 triệu.

Chi tiết Kỹ thuật Khai thác

Chuyển hướng intent là một kỹ thuật mà kẻ tấn công thao túng nội dung của một tin nhắn (gọi là intent) mà một ứng dụng đáng tin cậy gửi đi, để nó thực hiện một hành động có hại thay vì hành động dự kiến.

Trên Android, intent là cách chính để các ứng dụng giao tiếp với nhau và với các thành phần nội bộ của chúng. Khi một ứng dụng đáng tin cậy gửi một intent, hệ thống Android sẽ tôn trọng các quyền của ứng dụng đó.

Kẻ tấn công khai thác sự tin cậy này để thực hiện các hoạt động độc hại trong khi ẩn mình sau danh tính của một ứng dụng hợp pháp. Một ứng dụng độc hại bắt đầu cuộc tấn công bằng cách gửi một URI được tạo đặc biệt đến hoạt động MTCommonActivity đã bị phơi nhiễm.

Hoạt động đó truyền URI qua một phương thức có tên là processIntent(), sau đó chuyển tiếp đến processPlatformMessage().

Phương thức này trích xuất một trường có tên n_intent_uri, tạo một intent mới từ nó và khởi chạy intent đó bằng các quyền của chính ứng dụng đáng tin cậy.

Vì SDK áp dụng cờ URI_ALLOW_UNSAFE, đầu vào độc hại có thể mang các cờ quyền đọc và ghi, cấp quyền truy cập liên tục vào bộ nhớ riêng tư của ứng dụng mục tiêu.

Kết quả là, thông tin đăng nhập ví, khóa riêng tư và dữ liệu tài chính nhạy cảm bên trong ứng dụng trở nên bị lộ một cách âm thầm cho kẻ tấn công.

Quy trình Phát hiện và Khắc phục Lỗ hổng

Lỗ hổng này được phát hiện lần đầu tiên trong phiên bản 4.5.4 của EngageLab SDK vào tháng 4 năm 2025. Microsoft đã báo cáo cho EngageLab thông qua các phương pháp Coordinated Vulnerability Disclosure (CVD) theo chương trình Microsoft Security Vulnerability Research (MSVR). Chi tiết về phát hiện này có thể tham khảo tại blog của Microsoft.

Vấn đề sau đó đã được chuyển đến Android Security Team vào tháng 5 năm 2025. EngageLab đã phát hành bản sửa lỗi trong phiên bản 5.2.1 vào ngày 3 tháng 11 năm 2025, giải quyết sự phơi nhiễm bằng cách đặt hoạt động dễ bị tổn thương thành không được xuất (non-exported).

Việc này thể hiện tầm quan trọng của quá trình phối hợp công bố lỗ hổng để giảm thiểu rủi ro bảo mật trên quy mô lớn.

Biện pháp Khuyến nghị và Phòng ngừa Rủi ro Bảo mật

Để bảo vệ hệ thống khỏi các mối đe dọa tương tự và giảm thiểu rủi ro bảo mật, các nhà phát triển và người dùng cần thực hiện các hành động cụ thể.

Đối với Nhà phát triển

  • Cập nhật bản vá: Các nhà phát triển sử dụng EngageLab SDK nên nâng cấp lên phiên bản 5.2.1 hoặc mới hơn ngay lập tức.
  • Kiểm tra Manifest: Sau mỗi bản dựng dự án, nhà phát triển cần kiểm tra cẩn thận tệp manifest Android đã hợp nhất để tìm bất kỳ hoạt động được xuất hoặc quyền không mong muốn nào được đưa vào bởi các thư viện của bên thứ ba.
  • Xác thực dữ liệu Intent: Dữ liệu intent đến từ bên ngoài ứng dụng phải luôn được xác thực trước khi sử dụng. Điều này ngăn chặn việc kẻ tấn công chèn các lệnh độc hại thông qua intent.

Đối với Người dùng Cuối

Người dùng đã cài đặt một ứng dụng dễ bị tổn thương trước đây hiện đã được bảo vệ, vì Android đã triển khai các biện pháp giảm thiểu tự động nhắm mục tiêu vào lỗ hổng bảo mật Android cụ thể này trong khi các nhà phát triển hoàn thành việc cập nhật bản vá.

Tuy nhiên, việc duy trì thói quen kiểm tra các quyền ứng dụng và chỉ cài đặt ứng dụng từ các nguồn đáng tin cậy vẫn là cần thiết để bảo vệ dữ liệu cá nhân và tài chính.