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.
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&C (Command and Control) ở giai đoạn đầu, bằng cách mã hóa một request HTTP POST với giá trị của appConf.
Hàm GetData() giao tiếp với máy chủ C&C.
Request và respone với máy chủ được thể hiện trong hình dưới đây, trong đó tham số “d” là bản mã được mã hóa của appConf.
Giao tiếp mạng với máy chủ C&C giai đoạn đầu.
Sau đó, ứng dụng nhận được response dưới dạng mã hóa. Response này sẽ được giải mã bằng AES để thu thập URL C&C trong giai đoạn 2 và thực hiện GET request bằng cách sử dụng chức năng “InAppBrowser” của Cordova để phát hiện ra một URL ở giai đoạn thứ 3. Tiếp đó, ứng dụng bắt đầu gửi thông báo cho người dùng về giải thưởng.
Nội dung được giải mã của POST request tới máy chủ C&C giai đoạn đầu.
Nội dung được giải mã của response từ máy chủ C&C giai đoạn đầu.
Như vậy cứ sau mỗi giờ, sẽ có 5 lần thông báo được hiển thị trên màn hình thiết bị. Mục đích của hành động lặp đi lặp lại này là nhắc nhở sự chú ý của người dùng để đồng ý tham gia giải thưởng và từ đó điều hướng đến ứng dụng.
Thông báo từ ứng dụng thu hút sự chú ý của người dùng.
Tên miền C&C trong giai đoạn 2 luôn giống nhau bất kể ứng dụng hay vị trí địa lý của nạn nhân và request GET tới máy chủ này để điều hướng trình duyệt đến URL giai đoạn 3, cũng là giai đoạn cuối cùng. URL giai đoạn thứ 3 sẽ hiển thị trang cuối cùng, yêu cầu nhập số điện thoại của người dùng và đăng ký một số dịch vụ trả phí.
Giao tiếp với máy chủ C&C giai đoạn 2.
Có 2 kiểu hình thức trên ứng dụng để tương tác với người dùng:
Ví dụ về URL cuối cùng khi được xem từ trình duyệt.
Các chuyên gia cho biết thêm, mã JavaScript được viết nhúng trong trang web chịu trách nhiệm về hành vi độc hại của ứng dụng. Sự tương tác giữa WebPage và các chức năng trong ứng dụng được hỗ trợ bởi JavaScript Interface, cho phép mã JavaScript bên trong WebView kích hoạt các hành động trong native code. Điều này có thể bao gồm việc thu thập dữ liệu về thiết bị, ví dụ như số IMEI (International Mobile Equipment Identity) và IMSI (International Mobile Subscriber Identity).
Để tránh nguy cơ trở thành nạn nhân của GriftHorse, Zimperium cho biết khách hàng của Zimperium zIPS sẽ được bảo vệ với công cụ z9 Mobile Threate Defense. Bên cạnh đó, hãng bảo mật này cũng khuyến cáo người dùng nên thực hiện giải pháp phân tích ứng dụng nâng cao z3A để đánh giá rủi ro và các mối đe dọa bảo mật. Bất kỳ ứng dụng nào có liên quan đến mã độc GriftHorse sẽ bị gắn cờ là “Suspicious App Threat” trên thiết bị và trong zConsole.
Bích Thủy
- Hồng Đạt
13:00 | 14/09/2021
15:00 | 18/10/2021
10:00 | 25/10/2021
14:00 | 05/10/2022
17:00 | 19/11/2021
10:00 | 16/01/2020
16:00 | 17/09/2020
09:00 | 22/10/2021
09:00 | 28/04/2024
Trong một chiến dịch tấn công gần đây, các tác nhân đe dọa đã lạm dụng chức năng tìm kiếm của GitHub và sử dụng các kho lưu trữ được thiết kế đặc biệt để phát tán phần mềm độc hại nhằm đánh cắp các khoản thanh toán bằng tiền điện tử.
08:00 | 17/04/2024
Các chuyên gia bảo mật cảnh báo rằng thế giới đang phải đối mặt với sự phát triển của những công nghệ mới, mối đe dọa đang ngày càng gia tăng cả về phạm vi, lẫn cường độ của các cuộc tấn công.
16:00 | 15/04/2024
Cisco đã chia sẻ một bộ hướng dẫn dành cho khách hàng nhằm giảm thiểu các cuộc tấn công password spray đang nhắm mục tiêu vào các dịch vụ VPN truy cập từ xa (RAVPN) được cấu hình trên các thiết bị tường lửa bảo mật của Cisco.
09:00 | 01/04/2024
Vừa qua, công ty bảo mật đám mây Akamai (Mỹ) đã đưa ra cảnh báo về việc khai thác lỗ hổng Kubernetes ở mức độ nghiêm trọng cao, có thể dẫn đến việc thực thi mã tùy ý với các đặc quyền hệ thống trên tất cả các điểm cuối Windows trong một cụm (cluster).
Một lỗ hổng nghiêm trọng ảnh hưởng đến nhiều ngôn ngữ lập trình cho phép kẻ tấn công chèn lệnh vào các ứng dụng Windows.
09:00 | 03/05/2024