Cách thức hoạt động của module gián điệp
Nghiên cứu của Kaspersky cho biết, tệp kê khai (manifest) bị trojan hóa chứa các thành phần bất thường (dịch vụ và Broadcast Receiver) không thể tìm thấy trong ứng dụng WhatsApp gốc.
Trước hết, Broadcast Receiver là một thành phần quan trọng trong hệ thống Android cho phép ứng dụng nhận và phản ứng với các thông báo (broadcast) từ hệ thống hoặc các ứng dụng khác. Broadcast là một cách để truyền thông điệp giữa các thành phần trong hệ thống Android, giúp các ứng dụng giao tiếp và tương tác với nhau.
Broadcast Receiver sẽ lắng nghe các sự kiện hệ thống như kết nối mạng thay đổi, nguồn pin yếu hoặc thông báo từ hệ thống như tin nhắn SMS, cuộc gọi đến. Ngoài ra, người dùng cũng có thể đăng ký Broadcast Receivers để nhận thông báo từ các ứng dụng khác, ví dụ như nhận thông báo khi có sự kiện mới trong ứng dụng xã hội, tin tức hoặc đặt lịch hẹn.
Khi người dùng nhận được một thông báo như vậy, nó sẽ gọi trình xử lý sự kiện. Trong mod gián điệp WhatsApp, Broadcast Receiver kích hoạt dịch vụ khởi chạy module gián điệp khi điện thoại được bật hoặc bắt đầu sạc.
Hình 1. Các thành phần ứng dụng đáng ngờ
Dịch vụ này dựa vào hằng số Application_DM trong mã nguồn của phần mềm độc hại để lựa chọn máy chủ ra lệnh và kiểm soát (C&C) mà thiết bị bị nhiễm sẽ liên hệ về sau.
Hình 2. Chọn máy chủ C&C
Khi phần mềm độc hại được khởi chạy, nó sẽ gửi yêu cầu POST chứa thông tin về thiết bị đến máy chủ của kẻ tấn công theo đường dẫn /api/v1/AllRequest. Thông tin bao gồm: IMEI (mã số nhận dạng thiết bị di động quốc tế), số điện thoại, mã quốc gia di động, mã mạng di động,…
Trojan cũng yêu cầu chi tiết cấu hình, chẳng hạn như đường dẫn tải lên nhiều loại dữ liệu khác nhau, khoảng thời gian giữa các yêu cầu tới máy chủ C&C,... Hơn nữa, module này sẽ truyền thông tin về danh bạ và tài khoản của nạn nhân cứ sau 5 phút. Sau khi thông tin thiết bị được tải lên thành công, phần mềm độc hại bắt đầu yêu cầu máy chủ C&C hướng dẫn và ra lệnh, theo các khoảng thời gian được cấu hình trước (theo mặc định là một phút).
Bảng 1. Mô tả chi tiết về các lệnh và đường dẫn mà phần mềm độc hại sử dụng để gửi phản hồi đến máy chủ
Lệnh |
Đường dẫn phản hồi mặc định |
Sự miêu tả |
Cài đặt |
GET_FILE |
/api/v1/UploadFileWithContinue |
Gửi tệp từ bộ nhớ ngoài (bộ nhớ ngoài hệ thống hoặc phương tiện di động, chẳng hạn như thẻ SD) dưới dạng kho lưu trữ ZIP |
Đường dẫn trên tệp thiết bị của nạn nhân |
UploadFileWithQuery |
/api/v1/UploadFileWithContinue |
Gửi tệp từ bộ nhớ ngoài phù hợp với bộ lọc được chỉ định dưới dạng kho lưu trữ ZIP |
Bộ lọc hàng SQL SELECT dùng để chọn dữ liệu khi gọi ContentResolver (lớp dùng để truy cập tệp trên thiết bị Android) |
GetAllFileList |
/api/v1/SaveFileNames |
Gửi đường dẫn tới tất cả các tệp trong bộ nhớ ngoài |
|
GET_SPEC_FILE_TYPE |
/api/v1/SaveFileNames |
Gửi tên tệp có phần mở rộng được chỉ định |
Bộ lọc hàng SQL SELECT được sử dụng để chọn dữ liệu khi gọi ContentResolver |
UpdateAllDeviceData |
/api/v1/AllRequest |
Gửi thông tin về thiết bị, ứng dụng bị nhiễm (tên gói và phiên bản nhúng gián điệp) cũng như danh bạ và tài khoản của nạn nhân |
|
RecordSound |
/api/v1/UploadSmallFile |
Ghi lại âm thanh từ micro |
Thời lượng ghi tính bằng giây |
DeviceOtherData |
/api/v1/SaveResponseToFile |
Gửi thông tin cấu hình nhúng phần mềm độc hại |
|
ChangeMainDmain |
|
Thay đổi máy chủ C&C |
Địa chỉ C&C mới |
Get_Compressed_File |
/api/v1/UploadFileWithContinue |
Gửi tệp từ bộ nhớ ngoài dưới dạng kho lưu trữ ZIP |
Danh sách đường dẫn đến tệp cần tải lên |
Chính những tin nhắn được gửi đến máy chủ C&C đã thu hút sự chú ý của các nhà nghiên cứu. Tất cả đều bằng tiếng Ả Rập, điều này cho thấy nhà phát triển cũng có thể đến từ khu vực nói tiếng Ả Rập.
Cách phân phối mod gián điệp WhatsApp
Sau khi phát hiện ra các module gián điệp bên trong mod WhatsApp, các nhà nghiên cứu quyết định tìm hiểu xem chúng lây lan như thế nào. Một phân tích số liệu thống kê chỉ ra Telegram là nguồn chính. Các nhà nghiên cứu đã tìm thấy một số kênh Telegram, chủ yếu bằng tiếng Ả Rập và tiếng Azeri. Kaspersky đã cảnh báo Telegram rằng các kênh này đã được sử dụng để phát tán phần mềm độc hại.
Hình 3. Phân phối mod gián điệp WhatsApp
Sau khi tải xuống phiên bản mod mới nhất từ mỗi kênh, Kaspersky phát hiện ra rằng chúng chứa module gián điệp được mô tả ở trên. Nhận thấy các thành phần của phần mềm độc hại không phải là một phần của bản mod gốc, các nhà nghiên cứu đã kiểm tra một số phiên bản gần đây và xác định phiên bản đầu tiên bị nhiễm.
Theo đó, phần mềm gián điệp này đã hoạt động từ giữa tháng 8/2023. Tại thời điểm này, tất cả các phiên bản được công bố trên các kênh kể từ đó đều chứa phần mềm độc hại. Tuy nhiên, sau đó (khoảng ngày 20/10/2023, nếu xét theo dấu thời gian trong APK), ít nhất một phiên bản mới nhất trên ít nhất một trong các kênh đã được thay thế bằng phiên bản sạch (không chứa mã độc).
Hình 4. Dấu thời gian DEX trong ứng dụng bị nhiễm (ở bên trái) và trong phiên bản sạch (ở bên phải)
Bên cạnh các kênh Telegram, các mod bị nhiễm còn được phân phối thông qua nhiều trang web đáng ngờ khác nhau dành riêng cho việc sửa đổi WhatsApp.
Phạm vi tấn công
Các giải pháp bảo mật của Kaspersky đã ngăn chặn hơn 340.000 cuộc tấn công của mod gián điệp WhatsApp trên hơn 100 quốc gia trong khoảng thời gian từ ngày 5-31/10/2023. Tuy nhiên, nếu xem xét bản chất của kênh phân phối, số lượng cài đặt thực tế có thể cao hơn nhiều. Năm quốc gia có số vụ tấn công cao nhất là Azerbaijan, Ả Rập Saudi, Yemen, Thổ Nhĩ Kỳ và Ai Cập.
Hình 5. Danh sách 20 quốc gia hàng đầu bị lây nhiễm mod gián điệp WhatsApp được phát hiện
Kết luận
Các bản mod WhatsApp chủ yếu được phân phối thông qua các cửa hàng ứng dụng Android của bên thứ ba thường thiếu tính năng sàng lọc và không thể gỡ bỏ phần mềm độc hại. Một số tài nguyên, chẳng hạn như cửa hàng ứng dụng của bên thứ ba và kênh Telegram, có mức độ phổ biến đáng kể nhưng điều đó không đảm bảo an toàn. Để tránh mất dữ liệu cá nhân, người dùng chỉ nên sử dụng nền tảng ứng dụng nhắn tin chính thức. Nếu cần các tính năng bổ sung, người dùng chỉ nên sử dụng giải pháp bảo mật đáng tin cậy có thể phát hiện và ngăn chặn phần mềm độc hại nếu bản mod đã chọn được xác định là bị nhiễm.