GriftHorse: mã độc nguy hiểm lây nhiễm trên 10 triệu smartphone Android

Mới đây, các nhà nghiên cứu tạicông ty chuyên về bảo mật di động Zimperium (Mỹ) phát hiện mã độc có tên gọiGriftHorse lây nhiễm hơn 10 triệu smartphone Android tại hơn 70 quốc gia trêntoàn cầu, trong đó có cả Việt Nam.

Mã độc lây nhiễm hơn 10 triệu smartphone trên toàn cầu, có cả Việt Nam

GriftHorse có khả năng ngụy trang mạnh mẽ, mạo danh các ứng dụng bình thường được chia sẻ trên kho ứng dụng CH Play dành cho nền tảng Android để qua mặt cơ chế kiểm duyệt của Google. Các công cụ diệt virus trên smartphone cũng không thể phát hiện được mã độc tồn tại bên trong các ứng dụng.

Bản đồ các quốc gia đã có thiết bị bị lây nhiễm GriftHorse, trong đó có cả Việt Nam.

Sau khi ứng dụng chứa mã độc được cài đặt lên thiết bị, các ứng dụng này sẽ thường xuyên hiển thị quảng cáo về những quà tặng hay chương trình khuyến mãi trên smartphone. Nếu người dùng nhấn vào các quảng cáo này sẽ được yêu cầu cung cấp số điện thoại của họ để nhận giải thưởng. Những người dùng nhẹ dạ cả tin điền số điện thoại sẽ vô tình đăng ký vào một dịch vụ nhắn tin với phí sử dụng lên đến 35 USD/tháng hoặc có thể cao hơn. Số tiền này sẽ được chuyển trực tiếp cho nhóm tin tặc đứng sau mã độc GriftHorse.

Danh sách các ứng dụng có chứa mã độc GriftHorse.

Các chuyên gia ước tính hiện đã có hơn 10 triệu smartphone trên 70 quốc gia bị nhiễm mã độc GriftHorse. Các ứng dụng này thuộc nhiều danh mục khác nhau, từ các ứng dụng giải đố, nhắn tin, hẹn hò, game hay các ứng dụng chăm sóc sức khỏe… trong đó có những ứng dụng đã có hơn một triệu lượt tải.

Danh sách các ứng dụng có chứa mã độc GriftHorse.

Để tránh bị phát hiện, tin tặc sử dụng hardcode URL hoặc sử dụng lại các tên miền giống nhau và lọc, phân phối payload độc hại dựa trên vị trí địa lý của địa chỉ IP nạn nhân. Phương pháp này cho phép các tin tặc nhắm mục tiêu vào các quốc gia khác nhau theo những cách riêng.

Biểu đồ danh mục của các ứng dụng mã độc GriftHorse trên CH Play.

Đáng chú ý, các loại mã độc này đã bắt đầu được phát tán từ tháng 11/2020, nhưng đến nay mới được phát hiện. Điều này cho thấy có một lỗ hổng trong việc kiểm duyệt cũng như kiểm tra các loại ứng dụng tồn tại mã độc trên CH Play của Google.

Cách thức hoạt động của GriftHorse

Theo Zimperium, Trojan GriftHorse được xây dựng bằng khung phát triển ứng dụng Apache Cordova. Khung này cho phép các nhà phát triển sử dụng các công nghệ web tiêu chuẩn như HTML5, CSS3 và JavaScript để phát triển ứng dụng trên điện thoại di động với đa nền tảng. Đặc biệt, công nghệ này cho phép nhà phát triển có thể đưa ra các bản cập nhật cho ứng dụng mà không yêu cầu sự tương tác từ người dùng. Tuy nhiên, tính năng này có thể bị lạm dụng để lưu trữ mã độc trên máy chủ và phát triển một ứng dụng thực thi mã trong thời gian thực.

Khi cài đặt và khởi chạy một ứng dụng, các tệp được mã hóa, lưu trữ trong thư mục asset/www của APK và sẽ được giải mã bằng AES/CBC/PKCS5Padding. Sau khi giải mã, tệp index.html được load bằng WebView.

Mã nguồn ứng dụng chứa Key, IV và các loại tệp để giải mã động.

Nội dung của file index.html trước và sau khi giải mã.

Mã nguồn chức năng sẽ nằm trong tệp js/index.js, gọi hàm onDeviceReady bổ sung Google Advertising ID for Android Devices (AAID) vào appConf. Cấu trúc dữ liệu appConf thực hiện bằng AppsFlyerUID được thu thập sau khi khởi chạy AppsFlyer (React Native AppsFlyer plugin) bằng devKey.

Mã nguồn tệp index.js gọi hàm GetData().

Sau đó, mã nguồn sử dụng hàm GetData() để thiết lập giao tiếp giữa ứng dụng và máy chủ C