Skip to main content

Command Palette

Search for a command to run...

Khi mã độc có “bộ não” AI: RatHat và kỷ nguyên Agentic Malware trên Android

Updated
•12 min read•View as Markdown

Tổng quan

RatHat là trojan Android nhắm vào tài khoản ngân hàng, ví tiền mã hóa, mã OTP và mã khóa màn hình. Nó lây qua tin nhắn lừa đảo, quảng cáo độc hại và các trang giả kho ứng dụng, dụ người dùng cài file APK ngoài Google Play.

Điểm mới là cách nó vận hành: thay vì chạy kịch bản viết sẵn cho từng giao diện, nó nhờ một mô hình AI đọc màn hình và chỉ chỗ cần bấm. Theo đánh giá công khai, cách làm này giúp kẻ tấn công thích nghi nhanh hơn với nhiều dòng máy, và khiến các luật phát hiện dựa trên tên nút hay cấu trúc giao diện cố định khó theo kịp.

Theo Google, hiện chưa thấy ứng dụng chứa mã độc này trên Google Play, và Play Protect đã nhận diện các phiên bản đã biết. Rủi ro tập trung ở thiết bị đã cài ứng dụng ngoài kho chính thức.

Từ chatbot đến agent, rồi đến mã độc

Có thể hình dung cách chúng ta dùng mô hình ngôn ngữ đi qua ba nấc. Nấc đầu là hỏi và đáp. Nấc hai là agent: mô hình nhìn một giao diện, quyết định hành động, thực hiện, rồi nhìn lại kết quả. Nấc ba, như RatHat cho thấy, là kẻ tấn công mượn đúng vòng lặp đó.

Chatbot Agent điều khiển thiết bị hợp pháp Agentic malware (RatHat)
Đầu vào Câu hỏi của người dùng Ảnh chụp hoặc cây giao diện của màn hình Cây giao diện Accessibility dạng XML
Đầu ra Văn bản Hành động: bấm, gõ, cuộn Tọa độ phần tử, văn bản đọc được, lệnh như cuộn xuống
Ai đặt mục tiêu Người dùng Người dùng Kẻ tấn công
Quyền cần có Không Quyền tự động hóa do người dùng chủ động cấp Quyền Trợ năng do nạn nhân bị lừa cấp
Hệ quả khi sai Câu trả lời tệ Thao tác sai Mất tiền, lộ dữ liệu

Vòng lặp của nó có thể vẽ gọn như sau:

   +------------------+      cây giao diện (XML)       +---------------------+
   |  Điện thoại      | -----------------------------> |  Mô hình AI tạo sinh |
   |  nạn nhân        |                                |  (bên ngoài)         |
   |                  | <----------------------------- |                      |
   +------------------+   tọa độ, văn bản, lệnh điều   +---------------------+
        ^        |            hướng (ví dụ: cuộn)
        |        v
     hành động tổng hợp (bấm, cuộn) qua dịch vụ Trợ năng

Để hình dung cho người làm phần mềm: cây Accessibility trên Android đóng vai trò gần như DOM của di động. Nó liệt kê mọi phần tử đang hiện, chữ trên đó, vị trí và khả năng tương tác. Ứng dụng nào có quyền Trợ năng đều đọc được nó. Với một mô hình ngôn ngữ, đó là bản mô tả màn hình hoàn hảo, rẻ hơn nhiều so với phân tích ảnh chụp.

Kiến trúc RatHat Malware

Mô tả công khai cho thấy RatHat tách rõ ba phần, giống cách một đội vận hành chia vai: một phần mặt tiền, một phần chạy việc nặng bên trong, một phần mở đường ra ngoài.

Thành phần Vai trò Ý nghĩa với người phòng thủ
Ứng dụng Android (dropper và giao diện) Dụ người dùng cấp quyền Trợ năng, hiện overlay giả, đọc nội dung màn hình, gọi mô hình AI Là nơi lộ nhiều dấu vết nhất: quyền, dịch vụ Trợ năng, lưu lượng ra dịch vụ AI
Agent viết bằng Go, giả danh thư viện native Chạy lệnh với quyền cao hơn ứng dụng thường, giữ cho mã độc tồn tại, hỗ trợ ghi nhận thao tác chạm Chạy ngoài vòng đời ứng dụng nên gỡ app chưa chắc loại được nó
Client đường hầm ngược (dựa trên công cụ mã nguồn mở) Mở kênh bền vững ra hạ tầng kẻ tấn công, vượt NAT và tường lửa Kết nối đi ra, kéo dài, tới đích lạ

Thứ cần nắm là ba điều kiện tiên quyết mà RatHat đòi hỏi, vì mỗi điều kiện là một điểm có thể giám sát:

  1. Quyền Trợ năng được cấp cho một ứng dụng cài từ ngoài kho chính thức.

  2. Tùy chọn nhà phát triển và gỡ lỗi không dây bị bật, trong khi người dùng không có lý do để làm vậy.

  3. Một kênh đi ra bền vững, cộng với lưu lượng tới dịch vụ AI từ một ứng dụng không liên quan gì đến AI.

Về khả năng bám trụ, có hai chi tiết đáng nhớ. Khi người dùng cố gỡ, mã độc có thể chặn bằng màn hình báo lỗi giả của Google Play. Và thành phần chạy ngầm có thể cài lại ứng dụng nếu nó biến mất. Vì vậy quy trình xử lý sự cố nên mặc định là khôi phục thiết bị, không dừng ở gỡ ứng dụng.

Về IOC (mã băm, tên miền, đường dẫn máy chủ điều khiển), đơn vị phát hiện đã công bố trên một kho IOC công khai riêng. Chúng tôi không sao chép lại ở đây vì chưa tự đối chiếu độc lập. [NEEDS VERIFICATION: nguồn IOC chính thức và trạng thái cập nhật]

AI thay đổi gì, và không thay đổi gì

Trong mọi làn sóng công nghệ, có một lượng hype đi kèm. Chúng tôi thử tách phần thật khỏi phần thổi phồng.

AI thay đổi AI không thay đổi
Mã độc thích nghi với giao diện mới mà không cần sửa kịch bản Vẫn cần nạn nhân tự cài và tự cấp quyền Trợ năng
Chi phí viết và duy trì mã độc cho nhiều dòng máy giảm Vẫn phải để lại thay đổi cấu hình hệ thống mà MDM nhìn thấy được
Luật phát hiện dựa trên tên nút, ID phần tử hay luồng thao tác cố định kém hiệu quả hơn Vẫn cần một kênh ra ngoài, và kênh đó có thể giám sát
Hành vi trên màn hình tự nhiên hơn, khó phân biệt với thao tác thật Mục tiêu vẫn do con người đặt ra, AI chỉ là bộ điều hướng

Dựa trên mô tả công khai, mô hình AI trong RatHat đóng vai bộ điều hướng giao diện, nhận cây màn hình và trả về hành động, còn mục tiêu (lấy thông tin đăng nhập, lấy OTP) vẫn do kẻ tấn công định sẵn. Đây chưa phải mã độc tự chủ biết tự đặt mục tiêu, và gọi nó là "AI tự tấn công" là nói quá.

Có hai hệ quả phụ mà chúng tôi nghĩ phòng thủ có thể tận dụng, đều là suy luận:

  • [Inference] Mã độc phụ thuộc vào một dịch vụ AI bên ngoài, nghĩa là có thêm một điểm nghẽn: lưu lượng tới dịch vụ đó là tín hiệu để phát hiện, và nhà cung cấp dịch vụ có thể thu hồi khóa truy cập khi phát hiện lạm dụng.

  • [Inference] Nội dung màn hình của nạn nhân đi qua một bên thứ ba trước khi tới tay kẻ tấn công, nên bản thân đây cũng là một kênh rò rỉ dữ liệu có thể xuất hiện trong nhật ký của nhà cung cấp.

Kill chain và ánh xạ MITRE ATT&CK Mobile

Bảng dưới đây do chúng tôi tự đối chiếu từ mô tả hành vi công khai sang ma trận Mobile. [Inference] Một số ánh xạ (đánh dấu *) là phán đoán, vì mô tả nguồn không dùng thuật ngữ ATT&CK.

Giai đoạn Kỹ thuật (Mobile) ID Tín hiệu có thể quan sát
Truy cập ban đầu Phishing T1660 SMS chứa link, quảng cáo dẫn tới trang tải APK
Nâng quyền Abuse Elevation Control Mechanism * T1626 Quyền Trợ năng và chế độ gỡ lỗi do ứng dụng tự kích hoạt
Truy cập thông tin xác thực Input Capture T1417 Dịch vụ Trợ năng nhận sự kiện văn bản, overlay đè lên app ngân hàng
Thu thập Access Notifications T1517 Đọc thông báo chứa OTP
Thu thập Protected User Data: SMS Messages T1636.004 Đọc và chuyển tiếp tin nhắn
Thu thập Screen Capture T1513 Ghi hoặc chụp màn hình
Né tránh phòng thủ Obfuscated Files or Information T1406 Gói APK bị làm rối, chống phân tích
Né tránh phòng thủ Virtualization/Sandbox Evasion T1633 Kiểm tra môi trường gỡ lỗi, giả lập, root
Né tránh phòng thủ Prevent Application Removal T1629.001 Thông báo lỗi giả khi gỡ, ứng dụng tự cài lại
Chỉ huy và điều khiển Encrypted Channel T1521 Kết nối mã hóa tới máy chủ lạ
Chỉ huy và điều khiển Proxy Through Victim * T1604 Đường hầm ngược dùng điện thoại làm điểm trung chuyển

Khuyến nghị

Người dùng cá nhân

Chỉ cài ứng dụng từ Google Play. Không bấm link "cập nhật ứng dụng" trong tin nhắn. Kiểm tra mục Trợ năng và Tùy chọn nhà phát triển trong Cài đặt: thấy tên lạ đang bật, hoặc thấy chế độ nhà phát triển đang mở trong khi bạn chưa từng bật, hãy tắt và rà soát lại máy. Android từ bản 13 có cơ chế Restricted settings, mặc định hạn chế cấp một số quyền nhạy cảm (trong đó có Trợ năng) cho ứng dụng cài ngoài kho, nhưng người dùng vẫn gỡ hạn chế được trong cài đặt ứng dụng. Hãy kiểm tra hành vi này theo bản Android và hãng máy của bạn.

Kẻ tấn công có thể dụ nạn nhân tự làm bước gỡ hạn chế đó, nên đừng làm theo hướng dẫn trong tin nhắn hay trang web lạ.

Nếu nghi nhiễm: dùng điện thoại khác gọi ngân hàng để khóa dịch vụ, bật chế độ máy bay, đổi mật khẩu từ thiết bị sạch, sao lưu ảnh và danh bạ rồi khôi phục cài đặt gốc. Không chỉ gỡ ứng dụng.

Ngân hàng, ví điện tử, fintech

Ứng dụng của bạn có thể tự kiểm tra môi trường chạy. Các hướng nên cân nhắc, đều ở mức giảm rủi ro chứ không loại bỏ hoàn toàn:

  • Phát hiện dịch vụ Trợ năng không thuộc danh sách tin cậy và lớp phủ trên màn hình, rồi tăng mức xác thực hoặc giới hạn giao dịch.

  • Đánh dấu các màn hình nhạy cảm (nhập mã PIN, OTP) là không quan trọng với Trợ năng khi phù hợp, và dùng cờ chặn chụp màn hình.

  • Dùng chứng thực toàn vẹn thiết bị của nền tảng (Play Integrity) làm một tín hiệu rủi ro, không phải điều kiện duy nhất.

  • Giảm dần phụ thuộc vào OTP qua SMS. Loại mã độc đọc được tin nhắn và thông báo làm kênh này yếu đi; ưu tiên xác thực trong ứng dụng, khóa truy cập (passkey) hoặc phê duyệt giao dịch gắn thiết bị.

  • Với tính năng AI trong chính ứng dụng của bạn (trợ lý ảo, tự động điền), hãy dựng threat model: nếu màn hình đọc được bởi dịch vụ Trợ năng thì dữ liệu hiển thị ra đó cũng có thể đi tới một mô hình bên ngoài.

Nhận định

Điều chúng tôi lo không phải là bản thân RatHat. Mã độc ngân hàng Android đã xuất hiện từ rất lâu, và các biện pháp cơ bản như chỉ cài từ kho chính thức vẫn là lớp bảo vệ quan trọng. Điều đáng lo là rào cản kỹ năng giảm: khi khâu "nhìn và quyết định" giao được cho một mô hình dùng chung, một nhóm tấn công nhỏ cũng có thể phục vụ nhiều dòng máy, nhiều ngôn ngữ, nhiều ứng dụng ngân hàng.

Với Việt Nam, bối cảnh thuận lợi cho kiểu tấn công này đã có sẵn: tin nhắn giả danh ngân hàng, cơ quan chức năng và dịch vụ công dùng để dụ cài APK ngoài kho; thói quen xác thực bằng OTP qua SMS. Chúng tôi chưa thấy bằng chứng công khai cho thấy RatHat nhắm riêng vào Việt Nam, và danh sách ứng dụng bị nhắm cũng chưa được công bố. [NEEDS VERIFICATION: danh sách ứng dụng ngân hàng bị overlay]

Về nguồn gốc, các dấu vết ngôn ngữ trong câu lệnh gửi cho mô hình AI gợi ý một chủ thể nói tiếng Trung. Đó là manh mối, không đủ để quy kết, và chúng tôi không dùng nó làm kết luận.

[Speculation] Chúng tôi dự đoán trong vòng 12 tháng tới sẽ có thêm các họ mã độc di động dùng mô hình ngôn ngữ ở khâu điều hướng giao diện, và sau đó là khâu tạo kịch bản lừa đảo thích ứng theo từng nạn nhân. Đây là dự báo của chúng tôi, không phải thông tin từ nguồn.

Phía phòng thủ, thông điệp là: đừng chờ chữ ký. Hãy giám sát tổ hợp quyền, cấu hình hệ thống và lưu lượng ra ngoài, vì đó là những thứ AI không giúp kẻ tấn công che giấu được.

Nguồn tham khảo

More from this blog

F

FPT IS Security

1027 posts

Dedicated to providing insightful articles on cybersecurity threat intelligence, aimed at empowering individuals and organizations to navigate the digital landscape safely.