Một mã độc ngân hàng Android mới tên là SoumniBot đang sử dụng phương pháp che giấu ít phổ biến hơn bằng cách khai thác điểm yếu trong quy trình trích xuất và phân tích tệp kê khai (manifest) trên Android.

Phương pháp này cho phép SoumniBot lách qua các biện pháp bảo mật thông thường trên điện thoại Android và thực hiện hành vi đánh cắp thông tin.

Mã độc này được phát hiện và phân tích bởi các nhà nghiên cứu của Kaspersky. Họ đã cung cấp thông tin chi tiết về các phương pháp mà nó sử dụng để lợi dụng quy trình phân tích và trích xuất tệp kê khai APK của Android.

Đánh lừa bộ phân tích cú pháp của Android

Tệp kê khai ("AndroidManifest.xml") có mặt trong thư mục gốc của mỗi ứng dụng Android. Nó chứa thông tin chi tiết về các thành phần của ứng dụng (dịch vụ, bộ thu phát sóng, nhà cung cấp nội dung), quyền và dữ liệu ứng dụng.

Vốn đã có nhiều thủ thuật nén khác nhau mà APK độc hại có thể sử dụng để đánh lừa các công cụ bảo mật và tránh bị phân tích. Tuy nhiên, các nhà phân tích của Kaspersky phát hiện ra rằng SoumniBot sử dụng ba cơ chế khác nhau để thao túng mức độ nén và kích thước của tệp kê khai và vượt qua các kiểm tra của bộ phân tích cú pháp.

Đầu tiên, SoumniBot sử dụng giá trị nén không hợp lệ khi giải nén tệp kê khai của APK. Nó khác với các giá trị tiêu chuẩn (0 hoặc 8) được mong đợi bởi thư viện "libziparchive" của Android.

Thay vì không chấp nhận các giá trị này, bộ phân tích cú pháp APK của Android mặc định cho rằng dữ liệu là chưa nén. Đây là một lỗi cho phép tệp APK vượt qua các kiểm tra bảo mật và tiếp tục chạy trên thiết bị.

Một tệp manifest được dùng trong việc phát tán mã độc

Cơ chế thứ hai liên quan đến việc cố tình khai báo sai kích thước của tệp kê khai. Cụ thể hơn là cung cấp một giá trị lớn hơn con số thực tế.

Vì tệp này đã được đánh dấu là không nén trong bước trước, nó được sao chép trực tiếp từ kho lưu trữ, với dữ liệu rác điền vào phần chênh lệch.

Kaspersky giải thích rằng mặc dù dữ liệu thừa này không gây hại trực tiếp vì Android được thiết lập để bỏ qua nó, chúng đóng một vai trò quan trọng trong việc gây nhầm lẫn cho các công cụ phân tích mã.

Kỹ thuật trốn tránh thứ ba được sử dụng là dùng các chuỗi ký tự siêu dài cho tên của các không gian tên XML trong tệp kê khai. Việc này khiến cho các công cụ phân tích tự động rất khó kiểm tra chúng vì thiếu bộ nhớ.

Công ty an ninh mạng nổi tiếng Kaspersky đã thông báo cho Google về việc APK Analyzer (công cụ phân tích ứng dụng chính thức của Android) không thể xử lý các tệp sử dụng các phương pháp che giấu mã độc mới ở trên.

Trang BleepingComputer cũng đã liên hệ với Google và người phát ngôn của họ đã phản hồi như sau:

"Hệ thống cảnh báo của chúng tôi hiện tại chưa phát hiện có ứng dụng nào chứa mã độc này trên Google Play. Người dùng Android được tự động bảo vệ khỏi các phiên bản phần mềm độc hại đã biết này bởi Google Play Protect. Công cụ này được kích hoạt mặc định trên các thiết bị Android có Google Play Services.

Google Play Protect có thể cảnh báo người dùng hoặc chặn các ứng dụng có hành vi độc hại, ngay cả khi những ứng dụng đó đến từ các nguồn bên ngoài Play."

SoumniBot - Mối đe dọa tiềm ẩn trên Android

Khi khởi chạy, SoumniBot sẽ yêu cầu các thông số cấu hình từ một địa chỉ máy chủ cố định và gửi thông tin định dạng của thiết bị nạn nhân, bao gồm số điện thoại, nhà mạng, v.v.

Tiếp theo, nó khởi tạo một dịch vụ có khả năng tự động khởi động lại sau mỗi 16 phút nếu bị dừng và truyền dữ liệu bị đánh cắp từ nạn nhân sau mỗi 15 giây.

Thông tin bị đánh cắp bao gồm địa chỉ IP, danh bạ, thông tin tài khoản, tin nhắn SMS, ảnh, video và chứng chỉ kỹ thuật số (digital certificates) của các dịch vụ ngân hàng trực tuyến.

Việc đánh cắp dữ liệu được kiểm soát bởi các lệnh mà mã độc này nhận qua máy chủ MQTT. Các lệnh này cũng có thể thực hiện cách hành vi như:

  • Xóa danh bạ hiện có hoặc thêm danh bạ mới
  • Gửi tin nhắn SMS (chuyển tiếp)
  • Đặt mức âm lượng nhạc chuông
  • Bật hoặc tắt chế độ im lặng
  • Bật hoặc tắt chế độ gỡ lỗi (debug) trên thiết bị

Hiện vẫn chưa rõ SoumniBot lây lan qua những con đường nào. Các kênh phát tán có thể bao gồm các cửa hàng ứng dụng Android bên thứ ba, các trang web không an toàn hoặc việc cập nhật mã độc vào các ứng dụng bình thường trong kho ứng dụng đáng tin cậy.

SoumniBot nhắm vào người dùng Hàn Quốc. Giống như nhiều ứng dụng Android độc hại khác, nó ẩn biểu tượng của mình sau khi cài đặt để gây khó dễ cho việc gỡ bỏ. Tuy nhiên, nó vẫn chạy nền và gửi đi dữ liệu của nạn nhân.

Kaspersky cung cấp một danh sách các dấu hiệu của việc bị xâm nhiễm bao gồm các hàm băm (hash) của mã độc và hai tên miền mà kẻ điều sử dụng cho hoạt động kiểm soát và điều khiển mã độc.

Theo BleepingComputer.

Chia sẻ bài viết này