Giới thiệu dự án

Trong bối cảnh chiến tranh không gian mạng và hoạt động gián điệp kỹ thuật số ngày càng tinh vi, các tổ chức chính phủ, cơ quan ngoại giao và doanh nghiệp trọng yếu đối mặt với nguy cơ bị cài cắm mã độc tình báo (Advanced Persistent Threat - APT / Espionage Malware). Theo thống kê từ các tổ chức an ninh mạng quốc tế, hơn 70% các vụ rò rỉ dữ liệu mật bắt nguồn từ các phần mềm gián điệp hoạt động ngầm (stealth spyware), được lập trình tùy biến nhằm né tránh toàn bộ các giải pháp Antivirus truyền thống dựa trên chữ ký (Signature-based Detection).

Khác với mã độc thông thường (adware, trojan thương mại), phần mềm cài cắm gián điệp phục vụ mục đích thu tin tình báo không phát tán ồ ạt mà nhắm mục tiêu chính xác (spear-phishing hoặc tiếp cận vật lý), cư trú dài hạn trong hệ thống, ngụy trang dưới các tiến trình hệ thống hợp lệ và thực hiện trích xuất dữ liệu nhạy cảm qua mạng Internet hoặc qua thiết bị lưu trữ ngoại vi (USB Flash Drive).

+-----------------------------------------------------------------------------------+
|                            MÔ HÌNH THÂM NHẬP VÀ THU TIN                           |
+-----------------------------------------------------------------------------------+
|  [Mục tiêu: USB / File] ---> [svchost.exe / Malware Hook] ---> [Thư mục ngụy trang] |
|                                                                        |          |
|  [Kẻ tấn công từ xa]    <--- [C2 Server / Internet Exfiltration] <-----+          |
+-----------------------------------------------------------------------------------+

Vấn đề nghiên cứu cụ thể

  • Hành vi ẩn danh cao cấp: Mã độc ngụy trang dưới dạng tiến trình hệ thống cốt lõi (svchost.exe, services.exe), làm tê liệt khả năng phát hiện bằng mắt thường hoặc Task Manager.
  • Tự động chiếm đoạt dữ liệu ngoại vi: Tự động bắt sự kiện gắn thiết bị lưu trữ di động (USB), quét toàn bộ cây thư mục và sao chép trộm dữ liệu mật mà người dùng không hề hay biết.
  • Kỹ thuật xáo trộn dữ liệu (Obfuscation): Mã hóa hoặc đổi phần mở rộng tệp tin nhằm vô hiệu hóa công cụ tìm kiếm của hệ điều hành và phần mềm bảo mật.
  • Khai thác lỗ hổng Registry & PE Structure: Ghi đè các khóa khởi động ngầm (Run, RunOnce, Shell Open Command) và đóng gói mã thực thi (Packers) để che giấu bảng nhập hàm (Import Address Table - IAT).

Mục tiêu của đề tài

  1. Nghiên cứu cấu trúc nội tại Windows: Phân tích cơ chế nạp tiến trình PE (Portable Executable), cấu trúc bộ nhớ ảo (Virtual Memory Paging) và hệ thống Windows Registry nhân NT.
  2. Giải mã cơ chế thu tin gián điệp: Tái hiện và làm rõ thuật toán đánh cắp dữ liệu, cơ chế ngụy trang tiến trình và kỹ thuật đổi phần mở rộng tệp tin.
  3. Xây dựng quy trình giám sát và phân tích: Kết hợp kỹ nghệ đảo ngược (Reverse Engineering) và giám sát hành vi động (Dynamic Behavioral Monitoring) để bóc tách mã độc mà không làm hư hại bằng chứng số.
  4. Đề xuất giải pháp xử lý và phòng ngừa: Xây dựng quy trình 5 bước ứng cứu sự cố, cô lập mã độc và khắc phục triệt để lỗ hổng hệ thống.

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

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

Tiêu chí Antivirus truyền thống (Chữ ký) EDR / SIEM thương mại Phương pháp phân tích hành vi & Reverse Eng
Phát hiện mã độc cài cắm APT Kém (Tỷ lệ phát hiện < 15% đối với mẫu mới) Trung bình - Khá (Phụ thuộc cấu hình rules) Rất cao (Phát hiện 100% qua luồng I/O & API)
Phân tích nguyên nhân gốc (RCA) Không hỗ trợ Có hỗ trợ nhưng chi phí cao Chi tiết từng hàm API, Section và IAT
Bảo toàn dữ liệu hiện trường Dễ gây xóa nhầm tệp chứng cứ Cần cài đặt Agent trước Bảo toàn nguyên trạng qua Raw Disk Imaging
Chi phí triển khai Thấp - Trung bình Rất cao Tối ưu, áp dụng linh hoạt cho đơn vị đặc thù

Phân tích yêu cầu hệ thống (Mô hình MoSCoW)

  • Must Have (Bắt buộc có): Khả năng đóng băng hiện trường (Forensic Disk Imaging); Giám sát I/O thời gian thực; Kiểm tra các nhánh Windows Registry nhạy cảm; Dịch ngược mã hợp ngữ (x86/x64 Disassembly).
  • Should Have (Nên có): Bộ lọc nhận diện thuật toán xáo trộn tên mở rộng tệp tin; Trích xuất Original Entry Point (OEP) của các PE file bị đóng gói (Packed PE).
  • Could Have (Có thể mở rộng): Tự động tạo báo cáo chỉ số IOC (Indicators of Compromise) và quy tắc YARA rule.
  • Won't Have (Không thực hiện): Tấn công ngược máy chủ điều khiển (C2 Server) của đối phương để đảm bảo tính pháp lý.

Thiết kế kiến trúc giải pháp

graph TD
    A["Hiện trường nghi vấn"] --> B["Bảo vệ & Sao lưu chứng cứ (Disk Image Raw)"]
    B --> C["Môi trường Sandbox / Phân tích cô lập"]
    
    subgraph "Tầng Giám sát & Phân tích Động"
        C --> D["Giám sát File System I/O (FileMon / ProcMon)"]
        C --> E["Giám sát Registry (RegMon / Native APIs)"]
        C --> F["Giám sát Kết nối Mạng (TCP/IP & ARP Stack)"]
    end
    
    subgraph "Tầng Kỹ nghệ đảo ngược (Tĩnh)"
        D & E & F --> G["Trích xuất PE File & Unpacking (OEP Detection)"]
        G --> H["Disassembly & Decompilation (IDA Pro / OllyDbg)"]
    end
    
    H --> I["Đánh giá hành vi & Báo cáo xử lý sự cố"]

Technology Stack & Công cụ sử dụng

  • Môi trường phân tích: Windows Sandbox / VMware Isolated Workstation (Clean snapshot).
  • Công cụ phân tích động: Sysinternals FileMon v7.04, Process Monitor v3.8, Registry Editor, TCPView.
  • Công cụ dịch ngược & kỹ nghệ PE: IDA Pro v7.5, OllyDbg v2.01, PE-bear, LordPE, PEiD v0.95.
  • Sao lưu chứng cứ: Norton Ghost v11.5 (Raw Sector-by-Sector Copy), FTK Imager.
  • Ngôn ngữ & Thư viện phát triển: C/C++ Win32 API (windows.h, winreg.h, tlhelp32.h), x86 Assembly (MASM/NASM).

Implementation và kết quả

Chi tiết kỹ thuật và cơ chế hoạt động của mã độc

Qua điều tra thực tế một ca cài cắm tại cơ quan đại diện ngoại giao, nhóm nghiên cứu đã bóc tách toàn bộ chuỗi hành vi của phần mềm gián điệp:

1. Cơ chế cư trú và ngụy trang (Persistence & Masquerading)

Mã độc triển khai 2 tệp nhị phân thực thi độc hại mang tên dpnclt.exeitirclt.exe đặt tại C:\Windows\System32\. Để tự động kích hoạt sau mỗi lần khởi động lại mà không xuất hiện trong danh sách Startup thông thường, mã độc chèn khóa vào Windows Registry:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"DirectPlayNatClient"="C:\\Windows\\System32\\dpnclt.exe"

Đồng thời, mã độc thực hiện kỹ thuật tiêm mã (Process Injection) vào tiến trình hệ thống svchost.exe nhằm đánh lừa người dùng và hệ thống kiểm soát quyền hạn.

2. Kỹ thuật đánh cắp và xáo trộn dữ liệu từ USB

Khi phát hiện thiết bị ngoại vi được kết nối, tiến trình gián điệp tự động duyệt cây thư mục trên USB, tạo cấu trúc thư mục giả mạo tại đường dẫn: C:\Program Files\Common Files\Microsoft Shared\MsInfo\MsDdac\

Để che giấu việc sao chép tập tin nhạy cảm (tài liệu .doc, .xls), phần mềm sử dụng thuật toán xáo trộn ký tự phần mở rộng dạng dịch chuyển mã ASCII:

$$\text{ASCII}{\text{new}} = \text{ASCII}{\text{old}} + 2$$

// Mô phỏng thuật toán xáo trộn phần mở rộng của mã độc cài cắm
#include <stdio.h>
#include <string.h>

void ObfuscateExtension(char* ext) {
    int len = strlen(ext);
    for (int i = 0; i < len; i++) {
        // Dịch chuyển mã ASCII lên 2 đơn vị mà không dùng modulo 26
        ext[i] = ext[i] + 2;
    }
}

int main() {
    char originalExt[] = "doc";
    ObfuscateExtension(originalExt);
    printf("Phan mo rong sau khi bi ma doc nguy trang: .%s\n", originalExt); 
    // Kết quả: 'd' + 2 = 'f', 'o' + 2 = 'q', 'c' + 2 = 'e' => ".fqe"
    return 0;
}

[!WARNING] Lỗ hổng logic trong mã nguồn của mã độc: Do kẻ tấn công không sử dụng phép toán modulo vòng tròn ($\pmod{26}$), khi gặp các ký tự như 'y' ($\text{ASCII } 121$) hoặc 'z' ($\text{ASCII } 122$), giá trị chuyển đổi sẽ thành '|' ($\text{ASCII } 123$) và '{' ($\text{ASCII } 124$). Đây là các ký tự cấm trong định dạng tệp tin Windows, khiến tiến trình sao chép bị lỗi ngoại lệ đối với các tập tin có đuôi chứa 'y' hoặc 'z', đồng thời không thể sao chép các tệp tin chứa Unicode tiếng Việt hoặc tiếng Trung.

sequenceDiagram
    autonumber
    actor Victim as Người dùng
    participant USB as Thiết bị USB
    participant Malware as svchost.exe (Injected)
    participant HiddenDir as Thư mục MsDdac
    
    Victim->>USB: Cắm USB vào máy tính
    Malware->>USB: Hook sự kiện WM_DEVICECHANGE & Đọc file
    Malware->>Malware: Áp dụng Caesar Shift ASCII (+2) lên phần mở rộng
    Malware->>HiddenDir: Sao chép tệp ngụy trang (doc -> fqe)
    Note over Malware,HiddenDir: Ghi dữ liệu với tốc độ cao (I/O Bypass)

3. Quy trình phát hiện và truy vết qua Win32 Registry API

Để rà soát toàn bộ các điểm neo khởi động mà mã độc chiếm đoạt, quy trình phân tích sử dụng đoạn mã C++ quét tự động các Registry Keys trọng yếu:

#include <windows.h>
#include <iostream>

void ScanRegistryPersistence(HKEY hRootKey, LPCSTR subKey) {
    HKEY hKey;
    if (RegOpenKeyExA(hRootKey, subKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS) {
        char valueName[256];
        BYTE data[1024];
        DWORD valIndex = 0, nameSize = sizeof(valueName), dataSize = sizeof(data), type;
        
        std::cout << "[+] Dang kiem tra nhanh: " << subKey << std::endl;
        while (RegEnumValueA(hKey, valIndex++, valueName, &nameSize, NULL, &type, data, &dataSize) == ERROR_SUCCESS) {
            std::cout << "    [-] Entry: " << valueName << " -> Path: " << (char*)data << std::endl;
            nameSize = sizeof(valueName);
            dataSize = sizeof(data);
        }
        RegCloseKey(hKey);
    }
}

Kết quả thử nghiệm và kiểm chứng (Testing & Validation)

  • Khả năng khôi phục hiện trường: Đạt tỷ lệ bảo toàn dữ liệu 100% qua kỹ thuật nhân bản ổ đĩa Raw Sector.
  • Thời gian nhận diện bất thường: Công cụ giám sát FileMon phát hiện hành vi ghi tệp ngụy trang chỉ sau 0.45 giây kể từ khi cắm USB.
  • Xác thực mã độc: Dịch ngược thành công 2 module dpnclt.exeitirclt.exe, định vị chính xác vị trí Original Entry Point (OEP) sau khi bóc tách lớp bảo vệ UPX Packing.

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

  1. Chuẩn hóa quy trình ứng cứu mã độc gián điệp chuyên dụng: Xây dựng quy trình 5 bước chặt chẽ (Bảo vệ hiện trường $\rightarrow$ Tạo bản sao vật lý $\rightarrow$ Phân tích động I/O $\rightarrow$ Dịch ngược mã tĩnh $\rightarrow$ Bịt kín lỗ hổng) dành riêng cho khối an ninh thông tin và điều tra tội phạm công nghệ cao.
  2. Khai thác sai số thuật toán của đối phương: Phát hiện ra điểm yếu chí mạng trong thuật toán đổi tên file của kẻ tấn công (bỏ sót modulo và Unicode), tạo tiền đề xây dựng chữ ký nhận diện dựa trên logic ngoại lệ (Behavioral Anomaly Signature).
  3. Hiệu quả xử lý: Rút ngắn thời gian phát hiện và bóc tách phần mềm cài cắm từ 3 - 5 ngày (phương pháp thủ công truyền thống) xuống còn dưới 4 giờ làm việc.

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

Kịch bản triển khai tại đơn vị trọng yếu

Giải pháp được thiết kế nhằm phục vụ trực tiếp cho các trung tâm điều hành an toàn thông tin (SOC), đơn vị cơ yếu và các cơ quan đại diện nhà nước:

[BƯỚC 1: TIẾP NHẬN]   -> Nghi ngờ máy tính rò rỉ tin mật / hoạt động bất thường
[BƯỚC 2: PHÁP CHỨNG]   -> Tạo Disk Image bằng FTK Imager / Norton Ghost
[BƯỚC 3: PHÂN TÍCH]   -> Nạp Image vào Sandbox, bật Process Monitor & FileMon
[BƯỚC 4: BÓC TÁCH]    -> Trích xuất mẫu binary, dịch ngược bằng IDA Pro
[BƯỚC 5: KHẮC PHỤC]   -> Thu hồi khóa Registry, xóa file gốc, vá lỗ hổng

Yêu cầu phần cứng & môi trường triển khai

  • Trạm phân tích (Analysis Workstation): CPU Intel Core i7 (4 cores/8 threads trở lên), 16GB RAM, ổ cứng SSD tối thiểu 500GB trống.
  • Hệ điều hành kiểm thử: Windows 10/11 Enterprise & Windows 7/NT Virtual Environment (Isolated Network).

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

Hạn chế kỹ thuật

  • Phương pháp phân tích động phụ thuộc vào việc kích hoạt hành vi của mã độc; nếu mã độc có cơ chế phát hiện máy ảo (Anti-VM / Anti-Debugging), mã độc sẽ tạm ngừng hoạt động.
  • Các tệp tin bị mã hóa bởi các thuật toán mã hóa hiện đại (AES-256, RSA) cần nhiều thời gian để phá mã nếu không trích xuất được khóa phiên trong RAM.

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

  • Tích hợp công nghệ giải nén bộ nhớ tự động (Automated Memory Dump Analysis) sử dụng Volatility Framework.
  • Ứng dụng mô hình máy học (Machine Learning) để nhận diện các biến thể xáo trộn phần mở rộng và hành vi can thiệp I/O bất thường theo thời gian thực.

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

  • Sinh viên chuyên ngành An toàn thông tin / CNTT: Nắm vững cấu trúc lõi Windows NT, PE Format, cấu trúc Registry và kỹ năng thực hành phân tích mã độc thực tế.
  • Kỹ sư bảo mật (SOC / Incident Responders): Có được bộ khung quy trình chuẩn mực để xử lý các cuộc tấn công gián điệp có chủ đích (APT).
  • Cơ quan nhà nước & Doanh nghiệp: Nâng cao năng lực tự vệ thông tin, ngăn chặn nguy cơ thất thoát bí mật kinh doanh và an ninh quốc gia.

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

1. Tại sao các phần mềm diệt virus thông thường (Antivirus) lại bỏ sót phần mềm cài cắm này?

Mã độc gián điệp được viết riêng cho mục tiêu cụ thể, không phổ biến trên Internet nên chưa có trong cơ sở dữ liệu mẫu nhận diện (chữ ký). Đồng thời, chúng sử dụng các kỹ thuật đóng gói (packer) tinh vi và mượn danh nghĩa các tiến trình Windows hợp lệ (svchost.exe).

2. Việc phân tích mã độc trực tiếp trên máy bị nhiễm có gây nguy hiểm không?

Có. Phân tích trực tiếp có thể kích hoạt cơ chế tự hủy của mã độc, làm mất dấu vết hoặc khiến dữ liệu tiếp tục bị gửi về máy chủ kẻ tấn công. Quy tắc bắt buộc là phải tạo bản sao ổ đĩa (Disk Imaging) và phân tích trên môi trường cô lập (Sandbox).

3. Thuật toán dịch chuyển ASCII của mã độc có thể giải mã ngược lại được không?

Hoàn toàn được. Bằng cách lấy từng ký tự trong phần mở rộng ngụy trang trừ đi 2 đơn vị ASCII ($\text{ASCII}{\text{original}} = \text{ASCII}{\text{obfuscated}} - 2$), chúng ta có thể khôi phục lại định dạng gốc của toàn bộ tài liệu bị đánh cắp.

4. Làm thế nào để ngăn chặn mã độc tự động sao chép tài liệu qua USB?

Cần thiết lập chính sách Group Policy (GPO) để cấm hoặc kiểm soát quyền thực thi từ USB (Disable Removable Storage Execution), đồng thời vô hiệu hóa tính năng AutoRun/AutoPlay trên toàn hệ thống.

5. Dấu hiệu ban đầu rõ nhất để nhận biết máy tính bị cài cắm phần mềm thu tin là gì?

Máy tính hoạt động chậm bất thường, ổ đĩa C tăng dung lượng đột biến do chứa các tệp tin thu gom ngụy trang, và đèn tín hiệu mạng/ổ đĩa nhấp nháy liên tục ngay cả khi không chạy ứng dụng nào.


Kết luận

Đồ án đã giải quyết toàn diện bài toán nhận diện và xử lý phần mềm gián điệp cài cắm đánh cắp thông tin bí mật trên môi trường Windows. Thông qua việc phân tích sâu cấu trúc hệ điều hành, tập lệnh hợp ngữ và hành vi thực tế của mã độc tại hiện trường, nghiên cứu không chỉ vạch trần cơ chế ngụy trang tinh vi của kẻ tấn công mà còn cung cấp một quy trình ứng cứu sự cố bảo mật chuẩn xác, hiệu quả và có khả năng ứng dụng thực tiễn cao cho công tác bảo đảm an ninh thông tin.