Giới thiệu dự án

Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã đưa các thiết bị di động thông minh (smartphone, tablet) trở thành phương tiện thiết yếu trong đời sống và công việc. Theo thống kê từ International Data Corporation (IDC) và StatCounter, hệ điều hành Android chiếm hơn 72,83% thị phần thương mại toàn cầu, phục vụ hàng tỷ thiết bị với hàng chục tỷ lượt tải ứng dụng từ Google Play Store. Tuy nhiên, tính chất mã nguồn mở và sự phổ biến rộng rãi này đã biến Android thành mục tiêu hàng đầu của các cuộc tấn công mạng, mã độc tống tiền (ransomware), phần mềm gián điệp (spyware) và trojan ngân hàng (banking trojans).

+-----------------------------------------------------------------------+
|  Thị phần Hệ điều hành Di động Toàn cầu (StatCounter / IDC)           |
|  - Android OS: ~72.83% - 85.00% (Chiếm ưu thế tuyệt đối)              |
|  - iOS:        ~26.35%                                                |
|  - Khác:       < 1.00% (KaiOS, Windows Phone, Tizen, etc.)            |
+-----------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Các phương pháp phân tích bảo mật truyền thống đang đối mặt với nhiều rào cản nghiêm trọng:

  1. Hạn chế của Phân tích tĩnh (Static Analysis): Kỹ thuật làm rối mã nguồn (Code Obfuscation), đóng gói nhị phân (Packing/Protectors) và mã hóa chuỗi khiến việc dịch ngược (Decompilation) gặp nhiều bế tắc. Phân tích tĩnh chỉ dừng lại ở mức kiểm tra khai báo quyền (Permissions) và chữ ký API, không thể trích xuất dữ liệu phát sinh tại thời gian thực (chẳng hạn: URL máy chủ C2 được giải mã động, nội dung tin nhắn SMS OTP hay số điện thoại đích).
  2. Hạn chế của Phân tích động truyền thống (Dynamic Analysis in Sandbox): Các dòng mã độc hiện đại tích hợp kỹ thuật chống môi trường ảo hóa (Anti-VM, Anti-Emulator), tự động vô hiệu hóa hành vi độc hại khi phát hiện đang chạy trong hộp cát kiểm thử.
  3. Nguy cơ rò rỉ dữ liệu cá nhân: Ứng dụng độc hại có thể âm thầm khai thác bộ nhớ tạm (Clipboard), gửi tin nhắn ngầm tới đầu số tính cước, kích hoạt Camera hoặc khởi chạy ngầm các tiến trình đánh cắp phiên đăng nhập ngân hàng mà người dùng không hề hay biết.

Mục tiêu của đồ án

Đề tài "Xây dựng giải pháp giám sát hành vi ứng dụng trên điện thoại Android" được triển khai nhằm đạt các mục tiêu cụ thể sau:

  1. Nghiên cứu và làm chủ kỹ thuật can thiệp hàm (Function Call Hooking) trên hệ điều hành Android.
  2. Xây dựng hệ thống giám sát hành vi động dựa trên hai nền tảng cốt lõi: Frida Framework (phục vụ chuyên viên kiểm thử xâm nhập - Pentester) và Xposed/EdXposed Framework (phục vụ giám sát và cảnh báo thời gian thực cho người dùng cuối).
  3. Triển khai hook và kiểm soát các nhóm API hệ thống trọng yếu: Khởi chạy Activity (startActivity), gửi tin nhắn SMS (sendTextMessage), truy xuất bộ nhớ đệm (ClipboardManager), kết nối mạng URL (HttpURLConnection/WebView), truy cập phần cứng (Camera, Calendar, Alarm).
  4. Thiết lập cơ chế tương tác đa tầng: Cho phép người dùng lựa chọn phản hồi theo thời gian thực đối với các hành vi nghi vấn (Allow / Block / Warning), đồng thời trích xuất nhật ký hoạt động (Logs) chi tiết.

Phạm vi và giới hạn nghiên cứu

  • Môi trường thực nghiệm: Hệ điều hành Android 11 (Red Velvet Cake - API Level 30) và các phiên bản tương thích từ Android 5.0 (API 21) đến Android 10 (API 29).
  • Phần cứng thử nghiệm: Thiết bị ảo hóa Google Nexus 5X (AVD x86_64) và thiết bị vật lý đã được mở khóa Bootloader và Root thông qua Magisk.
  • Giới hạn kỹ thuật: Đề tài tập trung vào kỹ thuật Hooking ở tầng người dùng (User-space / Application Framework), không can thiệp sâu vào tầng nhân hệ điều hành (Kernel-space / System Call Hooking).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Để lựa chọn giải pháp tối ưu cho việc giám sát hành vi, nhóm nghiên cứu đã tiến hành đánh giá so sánh giữa các phương pháp tiếp cận an toàn thông tin trên di động:

Tiêu chí Phân tích tĩnh (Static Analysis) Phân tích động truyền thống (Sandbox / VM) Giải pháp Hooking tại Runtime (Đề tài)
Khả năng đối phó Obfuscation Kém (Bị che giấu luồng thực thi) Khá (Quan sát được hành vi) Xuất sắc (Bắt chính xác API tại thời điểm gọi)
Vượt cơ chế Anti-VM Không áp dụng Kém (Dễ bị mã độc phát hiện và ẩn mình) Xuất sắc (Triển khai trực tiếp trên thiết bị thật)
Trích xuất dữ liệu động Không thể (Dữ liệu chưa sinh ra) Hạn chế (Dựa vào pcap, strace tổng thể) Rất cao (Bắt trọn vẹn đối số và giá trị trả về)
Khả năng can thiệp/Ngăn chặn Không có (Chỉ phát hiện sau khi quét) Không có (Chỉ ghi nhận thụ động) Chủ động (Hỗ trợ sửa tham số, Block tức thì)
Tác động đến file thực thi Không Không Không cần dịch ngược/đóng gói lại APK

Ma trận yêu cầu hệ thống theo mô hình MoSCoW

  • Must-Have (Bắt buộc phải có):
    • Hook thành công các API: startActivity, sendTextMessage, ClipboardManager, sự kiện onClick.
    • Cơ chế hiển thị cảnh báo dạng Pop-up/Dialog thời gian thực khi phát hiện hành vi nguy hiểm.
    • Khả năng can thiệp hủy bỏ hoặc thay thế kết quả thực thi của hàm mục tiêu (Active Hooking).
    • Giao diện quản lý cấu hình và ghi nhận nhật ký (Log viewer).
  • Should-Have (Nên có):
    • Script tự động hóa kiểm thử xâm nhập bằng Frida CLI (frida-trace, JavaScript injection).
    • Mô phỏng tấn công xác thực mã PIN và Brute-force trên ứng dụng Mobile Banking giả lập.
  • Could-Have (Có thể mở rộng):
    • Cơ chế cập nhật danh sách đen (Blacklist URLs/Phishing domains) từ xa.
  • Won't-Have (Không triển khai trong giai đoạn này):
    • Giám sát ở tầng nhân Linux Kernel không cần Root thiết bị.

Thiết kế hệ thống

Hệ thống giám sát hành vi ứng dụng hoạt động dựa trên cơ chế nạp mã can thiệp vào tiến trình gốc Zygote – tiến trình nền tảng khởi sinh tất cả các ứng dụng Android.

+----------------------------------------------------------------------------+
|                         APPLICATION LAYER (Tầng ứng dụng)                  |
|   +--------------------------+        +--------------------------------+   |
|   | Target Apps / Malware    |        | Monitoring & Logging UI (App) |   |
|   +------------+-------------+        +---------------+----------------+   |
+----------------|--------------------------------------|--------------------+
                 | API Calls                            | User Actions / Logs
+----------------v--------------------------------------v--------------------+
|                FRAMEWORK HOOKING ENGINE (Tầng can thiệp)                   |
|   +--------------------------------------------------------------------+   |
|   | XposedBridge.jar / EdXposed Runtime (Hook Callbacks)               |   |
|   |  - beforeHookedMethod(MethodHookParam param)                       |   |
|   |  - afterHookedMethod(MethodHookParam param)                        |   |
|   |  - replaceHookedMethod (XC_MethodReplacement)                      |   |
|   +--------------------------------------------------------------------+   |
|   | Frida Gadget / Frida-Server (Dynamic JS Injection Engine)          |   |
+----------------------------------------------------------------------------+
|                         ANDROID RUNTIME & OS LAYER                         |
|   +------------------------------------+-------------------------------+   |
|   | Android Runtime (ART) / Dalvik VM  | Zygote Process (app_process)  |   |
|   +------------------------------------+-------------------------------+   |
|   | Linux Kernel (Drivers, IPC/Binder, Memory Management, SELinux)     |   |
+----------------------------------------------------------------------------+

Technology Stack và phiên bản sử dụng

  • Ngôn ngữ phát triển: Java (JDK 8/11) cho Android Application & Xposed Module; JavaScript (ECMAScript 6) cho Frida Scripts; Python 3.8 cho Frida Automation Runner.
  • Android Target SDK: Android 11.0 (Red Velvet Cake - API Level 30), hỗ trợ tương thích ngược API 21+.
  • Hooking Engines:
    • Xposed Framework: XposedBridge API de.robv.android.xposed:api:82, Xposed Installer v89/v90.
    • EdXposed Framework: EdXposed v0.5.2.2 (Master 4683 - YAHFA Engine) kết hợp Magisk v23.0 và Riru Core v25.3+.
    • Frida Framework: Frida Core & Frida-tools v14.2+.
  • Hệ quản trị cơ sở dữ liệu: SQLite 3 tích hợp sẵn trong Android.

Thiết kế cấu trúc cơ sở dữ liệu (logs_info)

Để lưu trữ nhật ký giám sát cục bộ, hệ thống sử dụng bảng logs_info với lược đồ cấu trúc chi tiết:

Tên trường (Field) Kiểu dữ liệu (Data Type) Ràng buộc (Constraints) Ý nghĩa nghiệp vụ
id INTEGER PRIMARY KEY AUTOINCREMENT Định danh bản ghi duy nhất
package_name TEXT NOT NULL Tên gói của ứng dụng bị giám sát (e.g. com.victim.app)
class_name TEXT NOT NULL Tên Class chứa phương thức bị hook
method_name TEXT NOT NULL Tên phương thức/API bị can thiệp
params_dump TEXT NULLABLE Nội dung tham số bị bắt (Số điện thoại, URL, Chuỗi clipboard)
action_taken TEXT NOT NULL Hành động xử lý: ALLOW, BLOCK, WARNED
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP Thời gian thực thi hành vi

Phương pháp nghiên cứu và triển khai (Methodology)

Dự án áp dụng mô hình phát triển phần mềm lặp linh hoạt (Iterative Agile) chia làm 4 giai đoạn chính:

[ Giai đoạn 1: Khảo sát & Thiết kế ] 
  ---> Phân tích cấu trúc ART Runtime & cơ chế Zygote
[ Giai đoạn 2: Xây dựng Target App & Frida Testing ] 
  ---> Viết App mô phỏng các lỗ hổng/hành vi nhạy cảm
[ Giai đoạn 3: Hiện thực hóa Xposed Module ] 
  ---> Cài đặt Engine Hooking, Dialog cảnh báo, Ghi log SQLite
[ Giai đoạn 4: Đánh giá & Kiểm thử xâm nhập ] 
  ---> Bypass PIN, đánh chặn SMS/Clipboard, tối ưu hiệu năng

Quản trị rủi ro kỹ thuật (Risk Assessment & Mitigation)

  1. Rủi ro xung đột SELinux (Security-Enhanced Linux): Android 11 áp dụng cơ chế SELinux Enforcing rất nghiêm ngặt.
    • Giải pháp: Sử dụng Magisk kết hợp Riru Core để nạp EdXposed thông qua kỹ thuật nạp mã bộ nhớ ẩn (Memory Injection), bảo đảm không vi phạm chính sách SELinux.
  2. Rủi ro ứng dụng bị treo (ANR - Application Not Responding): Việc xử lý dialog cảnh báo chặn đứng main UI thread quá lâu sẽ khiến hệ thống tự động tắt ứng dụng.
    • Giải pháp: Tách biệt luồng xử lý Hooking sang Worker Thread độc lập và đồng bộ hóa trạng thái lựa chọn của người dùng qua cơ chế CountDownLatch hoặc Handler.

Implementation và kết quả

Development Process & Mã nguồn kỹ thuật

1. Triển khai Xposed Module đánh chặn gửi tin nhắn SMS (sendTextMessage)

Module can thiệp vào lớp android.telephony.SmsManager để phát hiện số điện thoại đích và nội dung tin nhắn trước khi được gửi qua mạng viễn thông. Nếu nội dung chứa từ khóa nhạy cảm (mật khẩu, mã OTP), module sẽ hiển thị cảnh báo và hủy bỏ tiến trình gửi.

package com.kltn.security.hook;

import android.telephony.SmsManager;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

public class SmsHookModule implements IXposedHookLoadPackage {
    @Override
    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
        // Loại trừ các ứng dụng hệ thống không cần giám sát
        if (lpparam.packageName.equals("com.android.systemui")) return;

        XposedHelpers.findAndHookMethod(
            "android.telephony.SmsManager",
            lpparam.classLoader,
            "sendTextMessage",
            String.class,         // destinationAddress
            String.class,         // scAddress
            String.class,         // text
            "android.app.PendingIntent", // sentIntent
            "android.app.PendingIntent", // deliveryIntent
            new XC_MethodHook() {
                @Override
                protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                    String destinationAddress = (String) param.args[0];
                    String messageText = (String) param.args[2];

                    XposedBridge.log("[SMS_INTERCEPT] Package: " + lpparam.packageName);
                    XposedBridge.log("[SMS_INTERCEPT] Gửi tới: " + destinationAddress);
                    XposedBridge.log("[SMS_INTERCEPT] Nội dung: " + messageText);

                    // Kiểm tra nếu nội dung chứa thông tin nhạy cảm
                    if (messageText.toLowerCase().contains("password") || 
                        messageText.toLowerCase().contains("otp")) {
                        XposedBridge.log("[ALERT] Phát hiện tin nhắn chứa dữ liệu nhạy cảm!");
                        
                        // Chặn hành vi gửi tin nhắn bằng cách gán kết quả null và hủy thực thi
                        param.setResult(null);
                    }
                }

                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    XposedBridge.log("[SMS_INTERCEPT] Hoàn tất quá trình giám sát sendTextMessage.");
                }
            }
        );
    }
}

2. Kỹ thuật Dynamic Hooking bằng Frida trích xuất luồng xác thực Mobile Banking

Trong môi trường kiểm thử xâm nhập, chuyên viên bảo mật sử dụng mã JavaScript tiêm trực tiếp vào tiến trình ứng dụng Mobile Banking để ghi đè hàm xác thực mã PIN và liệt kê các lớp động:

// frida_pin_bypass.js
Java.perform(function () {
    console.log("[*] Bat dau hook he thong xac thuc Mobile Banking...");

    // Hooking Activity chuyen huong
    var Activity = Java.use("android.app.Activity");
    Activity.startActivity.overload('android.content.Intent').implementation = function (intent) {
        console.log("[*] Phat hien goi startActivity: " + intent.toString());
        this.startActivity(intent);
    };

    // Hooking ham kiem tra PIN trong ung dung dich
    var BankingAuthClass = Java.use("com.victim.mobilebank.AuthManager");
    BankingAuthClass.verifyPin.implementation = function (inputPin) {
        console.log("[!] Target verifyPin() duoc goi voi ma PIN thu nghiem: " + inputPin);
        
        // Ghi de ket qua tra ve: Luon tra ve true de bypass xac thuc
        console.log("[+] Dang thuc hien Bypass xac thuc thanh cong!");
        return true; 
    };
});

Chạy script thông qua lệnh Frida CLI:

frida -U -f com.victim.mobilebank -l frida_pin_bypass.js --no-pause

Kiểm thử và Đánh giá thực nghiệm

Hệ thống đã trải qua các kịch bản kiểm thử toàn diện trên cả thiết bị ảo và thiết bị vật lý với các tham số đo lường chuẩn hóa:

STT Kịch bản kiểm thử (Test Scenario) API/Thành phần can thiệp Kết quả giám sát Độ trễ xử lý (Latency) Trạng thái (Status)
1 Ứng dụng đọc trộm dữ liệu bộ nhớ tạm ClipboardManager.getPrimaryClip Bắt thành công chuỗi copy, hiện Dialog cảnh báo 18 ms PASSED (100%)
2 Gửi SMS chứa mật khẩu tài khoản ngầm SmsManager.sendTextMessage Trích xuất SĐT + Nội dung, Chặn gửi thành công 24 ms PASSED (100%)
3 Truy cập URL độc hại trong Blacklist WebView.loadUrl / HttpURLConnection Đối soát DB Blacklist, Khóa kết nối mạng 31 ms PASSED (100%)
4 Kích hoạt Activity chụp ảnh lén Activity.startActivityForResult Phát hiện Intent khởi chạy Camera ngầm 15 ms PASSED (100%)
5 Tấn công Brute-force mã PIN 4 chữ số AuthManager.verifyPin (Frida Hook) Thử nghiệm 10.000 mẫu PIN trong 3.2s, bypass thành công 0.32 ms/request PASSED (100%)
+-------------------------------------------------------------------------+
|                  HIỆU NĂNG VÀ TÀI NGUYÊN HỆ THỐNG                       |
|  - CPU Overhead khi Hooking hoạt động:      +1.8% - 3.2%                |
|  - Dung lượng RAM sử dụng bổ sung:         ~14.5 MB                     |
|  - Tỷ lệ bắt chính xác API nhạy cảm:        100% (Không bỏ sót sự kiện) |
|  - Tỷ lệ lỗi xung đột tiến trình (Crash):  0.00% trong 500 chu kỳ test  |
+-------------------------------------------------------------------------+

Đổi mới và đóng góp

  1. Mô hình bảo vệ Hybrid hai tầng: Kết hợp linh hoạt giữa phương pháp Dynamic Function Hooking (Frida) phục vụ nghiên cứu, bóc tách mã độc chuyên sâu và System-level Framework Hooking (EdXposed) hoạt động thường trực, cung cấp cơ chế bảo vệ chủ động cho người dùng.
  2. Can thiệp Zero-Modification (Không sửa đổi APK): Khác biệt hoàn toàn với kỹ thuật chèn mã (Smalicode Injection) yêu cầu giải nén và ký lại file APK (vốn sẽ bị phá hủy bởi các cơ chế kiểm tra toàn vẹn chữ ký - Signature Verification), giải pháp của đề tài tác động trực tiếp tại tầng nạp thư viện app_process của tiến trình Zygote, giữ nguyên vẹn 100% mã nguồn ứng dụng gốc.
  3. Cơ chế ra quyết định tại thời gian thực (Interactive Runtime Enforcement): Thay vì chỉ ghi log thụ động như các hệ thống IDS truyền thống, module cung cấp giao diện phản hồi 3 trạng thái (Allow - Chấp nhận, Block - Chặn đứng, Warning - Cảnh báo nguy cơ), trao lại quyền kiểm soát dữ liệu thực tế cho người sở hữu thiết bị.
  4. Tối ưu hóa thời gian phân tích: Giúp giảm hơn 70% thời gian phân tích hành vi của một ứng dụng đáng ngờ so với phương pháp phân tích tĩnh và dịch ngược mã truyền thống.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Trung tâm Phân tích Mã độc Di động (Mobile SOC / Malware Labs): Tự động hóa trích xuất luồng hành vi của các mẫu mã độc mới xuất hiện (Zero-day Mobile Malware) mà không cần can thiệp gỡ rối mã thủ công.
  • Kiểm thử An toàn Ứng dụng Doanh nghiệp (Mobile Application Penetration Testing): Đánh giá mức độ an toàn của ứng dụng tài chính, ngân hàng đối với các nguy cơ rò rỉ dữ liệu qua Clipboard, Logcat hay Intent Spoofing.
  • Bảo vệ người dùng cuối nâng cao: Ngăn chặn các ứng dụng gian lận tự động gửi tin nhắn SMS trừ tiền trong tài khoản hoặc âm thầm gửi danh bạ về máy chủ từ xa.

Hướng dẫn quy trình cài đặt và triển khai

+----------------------------------------------------------------------------+
| QUY TRÌNH TRIỂN KHAI HỆ THỐNG TRÊN THIẾT BỊ ANDROID (API Level 21 - 30)   |
+----------------------------------------------------------------------------+
  Bước 1: Root thiết bị sử dụng Magisk (v23.0+) -> Đảm bảo có quyền Superuser.
  Bước 2: Cài đặt Module Riru Core từ kho lưu trữ Magisk Modules.
  Bước 3: Cài đặt Module EdXposed (YAHFA variant) tương thích với Android ART.
  Bước 4: Cài đặt file APK EdXposed Manager và khởi động lại thiết bị (Reboot).
  Bước 5: Cài đặt APK Module Giám sát (`AppBehaviorMonitor.apk`).
  Bước 6: Kích hoạt Module trong giao diện EdXposed Manager và Reboot lần cuối.
+----------------------------------------------------------------------------+

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Yêu cầu đặc quyền Root: Để nạp được XposedBridge vào tiến trình Zygote, thiết bị bắt buộc phải được Root. Điều này gây khó khăn cho việc tiếp cận nhóm người dùng phổ thông không am hiểu kỹ thuật.
  • Phụ thuộc vào kiến trúc phiên bản Android: Mỗi phiên bản Android mới (từ Android 12 trở lên) thay đổi sâu sắc cấu trúc bảo mật của ART Runtime, đòi hỏi framework hook phải liên tục cập nhật để tương thích.

Hướng phát triển trong tương lai

  1. Mở rộng môi trường Không cần Root (Non-Root Environment): Tích hợp kỹ thuật ảo hóa không gian người dùng (Containerization / SandHook / VirtualXposed) cho phép chạy ứng dụng cần giám sát trong một môi trường cô lập mà không cần can thiệp hệ điều hành gốc.
  2. Ứng dụng Trí tuệ Nhân tạo (AI/Machine Learning) trong phân loại hành vi: Tích hợp mô hình học máy cục bộ (TensorFlow Lite) ngay trên điện thoại để tự động chấm điểm độ nguy hiểm của chuỗi API bắt được (API Call Sequence Anomaly Detection), giảm thiểu tối đa các cảnh báo giả (False Positives).

Đối tượng hưởng lợi

  • Sinh viên & Giảng viên ngành An toàn Thông tin / CNTT: Cung cấp tài liệu tham khảo chi tiết, trực quan về cấu trúc tầng sâu của Android OS (Zygote, Binder IPC, ART Runtime) và kỹ thuật Function Hooking.
  • Lập trình viên ứng dụng di động (Android Developers): Nắm vững các kỹ thuật phòng chống lộ lọt dữ liệu qua Clipboard, Intent Leakage và kiểm thử độ bền vững của ứng dụng trước các công cụ can thiệp bộ nhớ.
  • Chuyên viên Đánh giá An toàn Thông tin (Pentesters / Security Researchers): Sở hữu bộ công cụ và phương pháp luận rõ ràng để khai thác, kiểm tra cơ chế xác thực và mã hóa của ứng dụng di động.
  • Doanh nghiệp & Tổ chức: Định hình giải pháp phát triển các phần mềm phòng chống mã độc thế hệ mới (Mobile Threat Defense - MTD) cho thiết bị nhân viên.

Câu hỏi thường gặp

1. Yêu cầu phần cứng và phần mềm tối thiểu để triển khai giải pháp này là gì?

Thiết bị cần chạy hệ điều hành Android phiên bản từ 5.0 (Lollipop - API 21) đến Android 11.0 (Red Velvet Cake - API 30), có tối thiểu 2 GB RAM và 16 GB bộ nhớ trong. Thiết bị phải được mở khóa Bootloader, cài đặt thành công Magisk v20+ và framework EdXposed/Xposed.

2. Kỹ thuật Hooking bằng Xposed khác gì so với Frida?

Xposed can thiệp vào tầng hệ thống khi khởi động thiết bị (thông qua tiến trình Zygote), chạy nền thường trực và cung cấp giao diện trực tiếp cho người dùng cuối trên thiết bị di động. Ngược lại, Frida là công cụ Dynamic Instrumentation hoạt động theo mô hình Client-Server (máy tính điều khiển thiết bị di động qua adb), phục vụ việc tiêm mã JavaScript linh hoạt trong quá trình kiểm thử xâm nhập chuyên sâu.

3. Giải pháp này có làm chậm hiệu năng hoạt động của điện thoại không?

Thực nghiệm đo lường cho thấy độ trễ phát sinh khi gọi các API bị hook chỉ dao động từ 15 ms đến 31 ms, và mức tiêu hao CPU bổ sung dưới 3,2%. Mức ảnh hưởng này là không đáng kể và không gây ra hiện tượng giật lag đối với trải nghiệm thông thường của người dùng.

4. Hệ thống có phát hiện được mã độc khi không có kết nối Internet không?

Có. Toàn bộ logic can thiệp API, đối soát quy tắc an toàn, chặn gửi SMS độc hại và cơ sở dữ liệu nhật ký SQLite đều được thực thi cục bộ (On-device) trên thiết bị, bảo đảm khả năng tự vệ độc lập hoàn toàn mà không phụ thuộc vào máy chủ đám mây.

5. Nếu ứng dụng độc hại sử dụng mã nguồn C/C++ (Native Code / JNI), giải pháp có bắt được không?

Hiện tại, module Xposed trong đề tài tập trung vào việc hook các API ở tầng Java Framework. Đối với các thư viện Native C/C++ (.so files), chuyên viên có thể sử dụng công cụ Frida tích hợp sẵn trong nghiên cứu để hook trực tiếp vào các hàm nhị phân thông qua cơ chế Interceptor.attach() của Frida C-Module API.


Kết luận

Khóa luận tốt nghiệp "Xây dựng giải pháp giám sát hành vi ứng dụng trên điện thoại Android" của nhóm tác giả thuộc Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM đã giải quyết trọn vẹn và chuyên sâu bài toán giám sát an toàn thông tin trên nền tảng di động phổ biến nhất hiện nay. Bằng việc kết hợp nhuần nhuyễn giữa nền tảng lý thuyết vững chắc về kiến trúc Android OS và kỹ thuật thực thi Function Call Hooking tiên tiến (Xposed & Frida), đề tài đã chứng minh tính khả thi vượt trội trong việc phát hiện, cảnh báo và ngăn chặn kịp thời các nguy cơ rò rỉ dữ liệu cá nhân, gian lận cước viễn thông và tấn công ứng dụng tài chính tại thời gian thực. Đây là tiền đề học thuật và kỹ thuật giá trị, mở ra tiềm năng thương mại hóa thành các giải pháp phòng thủ mối đe dọa di động toàn diện trong tương lai.