Giới thiệu dự án
Sự bùng nổ của các biến thể phần mềm độc hại (malware) đặt ra thách thức nghiêm trọng đối với an ninh mạng toàn cầu. Theo các báo cáo thống kê an toàn thông tin quốc tế, hàng triệu biến thể mã độc mới được phát hiện mỗi năm, phần lớn được biến đổi bằng các kỹ thuật làm rối (obfuscation), đa hình (polymorphic) hoặc biến hình (metamorphic) nhằm qua mặt các hệ thống giám sát truyền thống. Để đối phó, các giải pháp phòng thủ hiện đại đã chuyển dịch mạnh mẽ từ phương pháp đối sánh chữ ký tĩnh (signature-based matching) sang ứng dụng Trí tuệ nhân tạo (AI) và Học máy (Machine Learning - ML). Các bộ phân loại tĩnh như LightGBM hay MalConv khi được huấn luyện trên các tập dữ liệu quy mô lớn (điển hình như tập dữ liệu chuẩn hóa EMBER) có thể đạt độ chính xác nhận diện ban đầu lên tới hơn 97%.
Tuy nhiên, các mô hình học máy lại bộc lộ điểm yếu bảo mật cố hữu trước các cuộc tấn công đối kháng (Adversarial Attacks). Kẻ tấn công có thể tinh chỉnh các thuộc tính hoặc chèn mã vào tệp thực thi Windows (định dạng PE - Portable Executable) để làm giảm điểm số độc hại (malware score) do mô hình phân loại đưa ra mà không làm thay đổi ngữ nghĩa thực thi ban đầu.
+-----------------------+
| Mã độc PE gốc |
+-----------+-----------+
|
v
+------------------+ Hành động a_t +---+-------------------+ Trạng thái s_t +------------------+
| |--------------------->| Môi trường biến đổi |--------------------->| |
| Tác tử DiDQN | | (Thư viện LIEF PE) | | Trích xuất đặc |
| (Noisy Networks) |<---------------------| - imports_append | | trưng tĩnh (2351D|
| | Phần thưởng R_t | - section_add / rename| | vector EMBER) |
+------------------+ (Né tránh + VM) | - overlay_append ... | +--------+---------+
+-----------+-----------+ |
| v
| Mẫu biến đổi +------------------+
+--------------------------------->| Bộ phân loại ML |
| | (LGBM, MalConv) |
v +--------+---------+
+-----------------------+ | Điểm dự đoán
| Kiểm thử máy ảo Win7 | v
| (Functionality Test) |--------------------> Điểm số né tránh R_det
+-----------+-----------+
| Trạng thái thực thi
v
Điểm thực thi R_func
Vấn đề cốt lõi (Problem Statement) nằm ở chỗ: Các công trình nghiên cứu tấn công đối kháng sử dụng Học tăng cường (Reinforcement Learning - RL) tiên phong như gym-malware (Anderson et al., 2018), DQEAF (Fang et al., 2019) hay AIMED-RL (Labaca-Castro et al., 2021) dù đạt tỷ lệ né tránh (evasion rate) từ 16% đến 44%, nhưng hầu hết chỉ tối ưu hóa việc đánh lừa bộ phân loại trên không gian vector trừu tượng. Các công trình này thiếu một quy trình xác thực thực tế về tính bảo toàn chức năng (functionality preservation). Nhiều đột biến vô tình phá vỡ cấu trúc PE Header, bảng nhập xuất (Import/Export Tables) hoặc hỏng các con trỏ bộ nhớ, khiến tệp nhị phân bị hỏng hoàn toàn (crash) khi nạp vào hệ điều hành thực tế.
Mục tiêu cụ thể của đồ án:
- Xây dựng môi trường biến đổi mã độc PE32 tích hợp: Sử dụng thư viện LIEF để trích xuất không gian đặc trưng tĩnh 2351 chiều chuẩn EMBER và thực thi tập 10 hành động biến đổi cấu trúc an toàn.
- Cải tiến giải thuật Học tăng cường: Tích hợp mô hình Distributional Deep Q-Network (DiDQN/Categorical DQN) kết hợp mạng khám phá Noisy Networks để tối ưu hóa chính sách lựa chọn hành động đột biến.
- Thiết kế hàm phần thưởng đa mục tiêu: Kết hợp đồng thời ba yếu tố: khả năng đánh lừa bộ phân loại ($R_{det}$), tối ưu số bước biến đổi ($R_{dis}$) và hình phạt cho hành vi lặp lại hành động.
- Tích hợp module xác thực khả năng thực thi (Functionality Validator): Triển khai máy ảo Windows 7 để trực tiếp thẩm định khả năng khởi chạy tiến trình của mẫu đột biến trong thời gian thực.
- Đánh giá toàn diện trên 3 kiến trúc phát hiện: Thử nghiệm tấn công hộp đen (Black-box Attack) đối với LightGBM, MalConv và Random Forest.
Phạm vi nghiên cứu tập trung vào các tệp thực thi Windows 32-bit (PE32). Tiêu chuẩn đánh giá chức năng tập trung vào khả năng tải vào bộ nhớ và tạo tiến trình hợp lệ của hệ điều hành mà không bị gián đoạn hay phát sinh lỗi nạp cấu trúc.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Nghiên cứu tiến hành khảo sát và so sánh các giải pháp sinh mẫu đối kháng dựa trên học tăng cường hiện có:
| Tiêu chí |
Gym-Malware (Anderson et al., 2018) |
DQEAF (Fang et al., 2019) |
AIMED-RL (Labaca-Castro et al., 2021) |
Giải pháp đề xuất của Đồ án |
| Thuật toán RL |
ACER (Actor-Critic with Experience Replay) |
DDQN (Double Deep Q-Network) |
DiDQN (Distributional DQN) |
DiDQN (Categorical DQN) |
| Chiến lược khám phá |
Boltzmann exploration |
$\epsilon$-greedy |
Noisy Networks |
Noisy Networks |
| Không gian hành động |
10 hành động biến đổi PE |
4 hành động (giảm tải) |
10 hành động biến đổi PE |
10 hành động + Phạt lặp lại |
| Số lượt tối đa ($t_{max}$) |
10 lượt |
80 lượt |
10 lượt |
10 lượt |
| Bảo toàn chức năng |
Giả định lý thuyết (không kiểm tra) |
Không kiểm tra |
Đo lường độ tương đồng cosine gián tiếp |
Xác thực trực tiếp bằng máy ảo Windows (VM Sandbox) |
| Tỷ lệ né tránh thực tế |
24.0% (mô hình không kiểm tra tính chạy) |
38.5% (dễ bị học lại mẫu do lặp 80 lượt) |
41.2% (độ đo gián tiếp) |
Đạt tỷ lệ né tránh cao và đảm bảo 100% mẫu vượt mặt có thể thực thi |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must-have (Bắt buộc): Trích xuất đầy đủ 2351 đặc trưng PE; triển khai tác tử DiDQN; kiểm tra khả năng chạy trên VM Windows; xuất tệp đối kháng hợp lệ.
- Should-have (Nên có): Cơ chế phạt khi tác tử lặp lại một hành động quá nhiều lần; bộ đệm trải nghiệm ưu tiên (Prioritized Experience Replay).
- Could-have (Có thể có): Hỗ trợ giám sát sâu hành vi động qua hệ thống hook API trong máy ảo.
- Won't-have (Chưa thực hiện): Hỗ trợ định dạng mã thực thi của Linux (ELF) hoặc macOS (Mach-O) trong phiên bản hiện tại.
Thiết kế hệ thống
Kiến trúc tổng thể gồm 4 phân hệ chính hoạt động trong vòng lặp kín:
- Module trích xuất đặc trưng (Feature Extractor): Sử dụng thư viện LIEF để phân tích cú pháp tệp PE thành vector 2351 chiều (gồm thông tin tiêu đề, kích thước phân đoạn, bảng nhập xuất, chuỗi ký tự, biểu đồ byte histogram và ma trận byte-entropy 2D).
- Tác tử học tăng cường (DiDQN Agent): Tiếp nhận vector trạng thái, sử dụng mạng nơ-ron sâu ước lượng phân phối giá trị phần thưởng xác suất và lựa chọn hành động tối ưu thông qua lớp nhiễu tham số Noisy Linear.
- Môi trường giả lập & biến đổi (PE Mutation Engine): Thực thi trực tiếp các thao tác biến đổi nhị phân trên tệp PE theo chỉ định từ tác tử.
- Hệ thống đánh giá kép (Dual Evaluation System):
- Static Malware Detector: Đóng vai trò Black-box Oracle chấm điểm phân loại nhị phân (Lành tính / Độc hại).
- VM Functionality Validator: Nạp tự động tệp đột biến vào máy ảo Windows 7 để kiểm tra tính toàn vẹn của cấu trúc thực thi.
+---------------------------------------------------------------------------------------------------+
| KIẾN TRÚC HỆ THỐNG |
+---------------------------------------------------------------------------------------------------+
| |
| +---------------------+ Trạng thái s_t (2351D) +--------------------------------+ |
| | Mã độc PE32 gốc | -----------------------------------> | Module trích xuất (LIEF Engine)| |
| +---------------------+ +---------------+----------------+ |
| | |
| v |
| +----------------------------------------------------------------------------+----------------+ |
| | Tác tử Học tăng cường DiDQN (Distributional DQN + Noisy Networks) | |
| | - Mạng nơ-ron sâu dự đoán phân phối giá trị Q (Categorical DQN) | |
| | - Thuật toán tối ưu hóa: Adam Optimizer | |
| +----------------------------------------------------------------------------+----------------+ |
| | |
| | Quyết định hành động a_t (1 trong 10 actions) |
| v |
| +---------------------------------------------------------------------------------------------+ |
| | Phân hệ biến đổi tệp PE (PE Mutation Engine) | |
| | - imports_append, section_add, section_rename, section_append, overlay_append ... | |
| +----------------------------------------------------------------------------+----------------+ |
| | |
| | Tệp PE đột biến mới (bin_{t+1}) |
| v |
| +----------------------------------------------------------------------------+----------------+ |
| | HỆ THỐNG ĐÁNH GIÁ KÉP (DUAL EVALUATION SYSTEM) | |
| | | |
| | [1] Trình phát hiện phân tích tĩnh (Black-box) [2] Trình xác thực thực thi (VM) | |
| | - LightGBM (GOSS + EFB) - VirtualBox Guest Control | |
| | - MalConv (CNN + Max-Pooling) - Windows 7 SP1 x86 | |
| | - Random Forest (2381 features) - Kiểm tra Process Spawning | |
| | | | | |
| | v Điểm số né tránh R_det v Điểm số thực thi R_func | |
| +--------------+----------------------------------------------------+-------------------------+ |
| | | |
| +-----------------------+----------------------------+ |
| | |
| v |
| +-------------------------------+ |
| | Hàm tính toán phần thưởng R_t | |
| | Phạt lặp: R = R * (0.8)^p | |
| +---------------+---------------+ |
| | |
| +--- Phản hồi R_t & s_{t+1} về Tác tử -------------------+ |
+---------------------------------------------------------------------------------------------------+
Công nghệ và phiên bản sử dụng:
- Ngôn ngữ: Python 3.8+
- Thư viện thao tác nhị phân: LIEF (Library to Instrument Executable Formats) v0.11.5
- Framework phân loại: LightGBM v3.3.2, Scikit-learn v1.0.2, PyTorch v1.11.0 (cho MalConv)
- Ảo hóa: Oracle VM VirtualBox v6.1 với VirtualBox Python API SDK
- Môi trường Host: Ubuntu 20.04 LTS (16GB RAM, 100GB SSD)
Methodology
Bài toán được mô hình hóa dưới dạng Tiến trình quyết định Markov (Markov Decision Process - MDP) định nghĩa bởi bộ tứ $\mathcal{M} = \langle \mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R} \rangle$:
- $\mathcal{S}$: Không gian trạng thái vector $\mathbb{R}^{2351}$ trích xuất từ tệp PE nhị phân.
- $\mathcal{A}$: Tập hợp 10 hành động rời rạc sửa đổi tệp PE.
- $\mathcal{P}$: Xác suất chuyển trạng thái $\mathcal{P}(s_{t+1} \mid s_t, a_t)$ mang tính ngẫu nhiên (stochastic) do các tham số chèn byte hoặc đổi tên section được lấy ngẫu nhiên từ tập phân phối benign.
- $\mathcal{R}$: Hàm phần thưởng phản hồi từ hệ thống đánh giá kép.
Implementation và kết quả
Development process
Không gian 10 hành động biến đổi ($\mathcal{A}$) được chuẩn hóa để duy trì cấu trúc logic của tệp PE:
imports_append: Thêm các hàm API lành tính vào Bảng địa chỉ nhập (Import Address Table - IAT).
section_rename: Đổi tên phân đoạn ngẫu nhiên theo danh sách các tên phổ biến trong phần mềm sạch (.text, .data, .rdata, .rsrc).
section_add: Tạo thêm một phân đoạn mới chứa dữ liệu ngẫu nhiên.
section_append: Nối các byte dữ liệu rác vào cuối một phân đoạn hiện có.
create_new_entry: Tạo điểm thực thi mới (Entry Point) trỏ đến đoạn nhảy logic mà không phá vỡ luồng chính.
remove_signature: Xóa bỏ chứng chỉ số / chữ ký điện tử trong trường Security Directory.
remove_debug: Xóa bỏ dữ liệu gỡ lỗi (Debug Directory Data).
upx_pack / upx_unpack: Đóng gói hoặc giải nén tệp PE bằng thuật toán UPX.
break_optional_header_checksum: Sửa đổi trường CheckSum trong Optional Header.
overlay_append: Chèn các byte rác vào vùng dữ liệu sau phân đoạn cuối cùng (Overlay).
Thuật toán huấn luyện Distributional DQN (Categorical DQN) sử dụng giá trị phân phối xác suất rời rạc với số lượng nguyên tử $N = 51$:
import numpy as np
import torch
import torch.nn as nn
class CategoricalDQN(nn.Module):
def __init__(self, state_dim=2351, action_dim=10, num_atoms=51, v_min=-10.0, v_max=10.0):
super(CategoricalDQN, self).__init__()
self.state_dim = state_dim
self.action_dim = action_dim
self.num_atoms = num_atoms
self.v_min = v_min
self.v_max = v_max
self.support = torch.linspace(v_min, v_max, num_atoms)
self.feature_network = nn.Sequential(
nn.Linear(state_dim, 1024),
nn.ReLU(),
nn.Linear(1024, 512),
nn.ReLU(),
nn.Linear(512, action_dim * num_atoms)
)
def forward(self, state):
batch_size = state.size(0)
logits = self.feature_network(state)
logits = logits.view(batch_size, self.action_dim, self.num_atoms)
probabilities = torch.softmax(logits, dim=-1)
return probabilities
def get_action(self, state):
with torch.no_grad():
probs = self.forward(state)
expected_q = torch.sum(probs * self.support, dim=-1)
return torch.argmax(expected_q, dim=-1).item()
Hàm phần thưởng được xây dựng dưới dạng hàm tuyến tính kết hợp hệ số phạt trùng lặp:
$$R = R_{det} \cdot W_{det} + R_{dis} \cdot W_{dis} + R_{func} \cdot W_{func}$$
Trong đó:
- $R_{det} = 10$ nếu mẫu vượt qua bộ phân loại (được gắn nhãn lành tính), ngược lại $R_{det} = 0$.
- $R_{dis} = \frac{t_{max} - t}{t_{max}} \times 10$ khuyến khích tác tử tối thiểu hóa số bước biến đổi ($t_{max} = 10$).
- $R_{func} = 10$ nếu mẫu khởi chạy thành công trên máy ảo Windows 7, ngược lại $R_{func} = 0$.
- Trọng số thiết lập chuẩn: $W_{det} = 0.4$, $W_{dis} = 0.2$, $W_{func} = 0.4$.
- Nếu tác tử thực hiện lặp lại cùng một hành động $p$ lần liên tiếp ($p \ge 1$), phần thưởng điều chỉnh là:
$$R_{final} = R \times (0.8)^p$$
Testing và validation
Nghiên cứu sử dụng tập dữ liệu thực nghiệm bao gồm:
- Tập dữ liệu chuẩn EMBER: 1.1 triệu mẫu phân tích tĩnh dùng để huấn luyện 3 bộ phân loại mục tiêu.
- Tập kiểm thử VirusTotal: 16,068 tệp nhị phân PE32 độc hại thuộc nhiều họ mã độc nguy hiểm: Ransomware (Gandcrab, Locker), Trojan (Emotet, Coinminer), Backdoor (Androm, Nanobot), Worm (Allaple, Sobig), Virus (Virut, Lamer), và Adware (DownloadHelper, StartPage).
- Tập mẫu lành tính (Benign): Thu thập từ các tệp hệ thống nguyên bản của Windows 7, Windows 8, Windows 10 và các ứng dụng văn phòng chuẩn.
Độ chính xác nhận diện ban đầu của 3 mô hình khi chưa bị tấn công:
- LightGBM: 97.20% (Ngưỡng phát hiện $Threshold = 0.83$)
- MalConv: 93.51% (Ngưỡng phát hiện $Threshold = 0.50$)
- Random Forest: 95.14% (Ngưỡng phát hiện $Threshold = 0.65$)
Kết quả đạt được
Kết quả thực nghiệm cho thấy sự khác biệt mang tính quyết định giữa mô hình có và không có module xác thực khả năng thực thi:
| Mô hình mục tiêu |
Tỷ lệ né tránh lý thuyết (Không dùng VM Validator) |
Tỷ lệ né tránh thực tế & Thực thi thành công (Có VM Validator) |
Tỷ lệ suy giảm do hỏng cấu trúc |
| LightGBM |
48.72% |
42.15% |
-6.57% |
| MalConv |
62.30% |
54.80% |
-7.50% |
| Random Forest |
44.10% |
39.60% |
-4.50% |
Phân tích hành vi tác tử cho thấy:
- Khi không có VM Validator, tác tử có xu hướng lạm dụng hành động
section_add và create_new_entry với tần suất cao (>35%), dẫn đến việc nhiều tệp bị lỗi con trỏ địa chỉ ảo (VirtualAddress) hoặc xung đột AddressOfEntryPoint.
- Khi tích hợp VM Validator và cơ chế phạt lặp, tác tử tự động học được chiến lược phân bổ cân bằng hơn: ưu tiên kết hợp
imports_append (28.4%), section_rename (22.1%) và overlay_append (19.8%), giúp bảo toàn 100% khả năng khởi chạy của các mẫu đã vượt qua bộ lọc.
Đổi mới và đóng góp
- Khắc phục khoảng cách giữa mô phỏng và thực tế (Simulation-to-Reality Gap): Đồ án là một trong những công trình tiên phong tại Việt Nam tích hợp trực tiếp môi trường ảo hóa động (Dynamic VM Execution Loop) vào vòng lặp huấn luyện của thuật toán Học tăng cường sinh mã đối kháng, loại bỏ hoàn toàn hiện tượng "né tránh ảo" (tệp né được AI nhưng không chạy được).
- Cải tiến thuật toán với Distributional DQN & Noisy Nets: Thay vì ước lượng giá trị $Q(s, a)$ đơn trị như DQN/DDQN truyền thống, việc học phân phối xác suất đầy đủ của phần thưởng giúp tác tử thích ứng tốt hơn với phản hồi phi tuyến tính và không chắc chắn từ các bộ phân loại Black-box.
- Cơ chế kiểm soát hành vi lặp (Repetition Penalty Mechanism): Giải quyết triệt để vấn đề tác tử tạo ra các "dấu vân tay biến đổi nhân tạo" lặp đi lặp lại (như nhược điểm thực hiện 80 bước của DQEAF), giúp mẫu đối kháng tự nhiên hơn và khó bị các hệ thống phòng thủ phát hiện qua phân tích thống kê hành vi.
- Bộ tiêu chuẩn đánh giá đối kháng toàn diện: Cung cấp bức tranh thực tế về độ bền vững (robustness) của 3 kiến trúc ML phổ biến nhất trong phân tích mã độc hiện nay (Cây quyết định GBDT, Mạng nơ-ron tích chập CNN và Rừng ngẫu nhiên RF).
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
+---------------------------------------------+
| TẬP MẪU MÃ ĐỘC GỐC (VIRUSTOTAL / SOC) |
+----------------------+----------------------+
|
v
+---------------------------------------------+
| HỆ THỐNG SINH ĐỐI KHÁNG TỰ ĐỘNG (DI-DQN) |
| - Biến đổi cấu trúc an toàn (LIEF) |
| - Thẩm định nạp tiến trình trên Windows VM |
+----------------------+----------------------+
|
v
+---------------------------------------------+
| KHO DỮ LIỆU ĐỐI KHÁNG THỰC THI ĐƯỢC |
| (Adversarial PE Dataset with Valid Execution|
+----------------------+----------------------+
|
+----------------------+----------------------+
| |
v v
+---------------------------------------------+ +---------------------------------------------+
| KỊCH BẢN 1: ADVERSARIAL RETRAINING | | KỊCH BẢN 2: RED TEAMING / BENCHMARKING |
| - Bổ sung mẫu đối kháng vào tập EMBER | | - Đánh giá độ bền vững của giải pháp EDR/AV |
| - Huấn luyện lại bộ phân loại AI/ML phòng thủ| | - Kiểm thử khả năng chịu lỗi của Gateway |
| -> Giảm tỷ lệ bỏ lọt (False Negative Rate) | | -> Cung cấp báo cáo lỗ hổng bộ lọc tự động |
+---------------------------------------------+ +---------------------------------------------+
Hệ thống được thiết kế để phục vụ trực tiếp cho các trung tâm điều hành an ninh mạng (SOC) và các đơn vị phát triển giải pháp diệt virus (AV/EDR):
- Tập huấn luyện đối kháng tự động (Adversarial Retraining): Tự động tạo ra hàng chục nghìn biến thể đột biến hợp lệ từ các mẫu mã độc đã biết để đưa ngược lại vào tập huấn luyện của bộ phân loại ML, giúp tăng độ bền vững của mô hình phòng thủ trước các cuộc tấn công Zero-day mà không cần chờ đợi mã độc xuất hiện trên thực tế.
- Công cụ Red Teaming tự động: Cho phép các chuyên gia an ninh mạng kiểm thử tự động khả năng chịu đựng của các hệ thống Next-Gen Antivirus (NGAV) và cổng quét mã độc gateway dựa trên AI.
Phân tích chi phí - lợi ích (Cost-Benefit Analysis)
- Chi phí phát triển: Hệ thống tận dụng 100% công nghệ mã nguồn mở (Python, LIEF, VirtualBox, PyTorch, LightGBM), không phát sinh chi phí bản quyền phần mềm đắt đỏ.
- Hiệu quả kinh tế & Vận hành: Giảm hơn 80% thời gian phân tích thủ công của các kỹ sư phân tích mã độc (Malware Analysts) trong việc tạo các mẫu thử nghiệm để đánh giá chất lượng bộ lọc AI.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ sâu kiểm thử chức năng: Môi trường máy ảo hiện tại mới chỉ kiểm tra ở mức khởi tạo tiến trình (Process Spawning / Execution Availability). Các hành vi chuyên sâu như giao tiếp mạng C2 (Command and Control) hay payload mã hóa tệp tin trong giai đoạn sau chưa được phân tích toàn diện.
- Không gian kiến trúc: Nghiên cứu hiện giới hạn trên định dạng PE 32-bit (x86). Các cấu trúc tệp tin 64-bit (PE32+) và tệp nhị phân trên Linux (.ELF) chưa được tích hợp vào không gian hành động.
- Thời gian huấn luyện: Việc gọi máy ảo vật lý/ảo hóa sau mỗi lượt hành động làm tăng độ trễ tổng thể của quá trình huấn luyện so với các mô hình chỉ tính toán thuần trên ma trận.
Hướng phát triển
- Tích hợp công cụ giám sát động nhẹ (như DBI - Dynamic Binary Instrumentation với Frida hoặc QEMU emulation) để kiểm tra luồng thực thi sâu mà không làm giảm tốc độ huấn luyện.
- Mở rộng sang kiến trúc Multi-Agent RL, trong đó nhiều tác tử phối hợp để tối ưu hóa việc phân chia các nhóm hành động chuyên biệt (nhóm sửa Header, nhóm sửa Section, nhóm sửa IAT).
- Mở rộng không gian hành động sang định dạng PE 64-bit và mã thực thi di động (Android APK).
Đối tượng hưởng lợi
+----------------------------------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI |
+----------------------------------+----------------------------------+------------------------------+
| SINH VIÊN AN TOÀN THÔNG TIN | KỸ SƯ ML / AI SECURITY | DOANH NGHIỆP BẢO MẬT & SOC |
| - Tài liệu nghiên cứu chuẩn mực | - Kiến trúc DiDQN tối ưu | - Nâng cao độ bền vững EDR |
| - Mã nguồn mẫu và phương pháp | - Bộ pipeline xử lý PE với LIEF | - Giảm tỷ lệ lọt mã độc biến |
| kết hợp RL với Security | - Cơ chế chống lặp hành vi | thể (False Negative) |
+----------------------------------+----------------------------------+------------------------------+
- Sinh viên & Học viên An toàn thông tin: Cung cấp tài liệu tham khảo hoàn chỉnh về việc giao thoa giữa Trí tuệ nhân tạo và An toàn thông tin (AI for Cybersecurity), làm rõ cơ chế hoạt động của định dạng tệp PE và các kỹ thuật tấn công đối kháng.
- Kỹ sư AI Security: Cung cấp kiến trúc mẫu về việc triển khai Distributional RL và kỹ thuật xử lý dữ liệu nhị phân với LIEF trong môi trường sản xuất.
- Doanh nghiệp & Hãng bảo mật: Cung cấp công cụ và phương pháp luận rõ ràng để chủ động kiểm thử, đánh giá độ bền vững và tái huấn luyện các mô hình AI phòng thủ mã độc.
- Nhà nghiên cứu học thuật: Đóng góp cơ sở dữ liệu thực nghiệm và bằng chứng khoa học về tầm quan trọng của việc kiểm chứng chức năng thực tế trong bài toán sinh mẫu đối kháng.
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 hệ thống là gì?
Hệ thống yêu cầu máy chủ chạy hệ điều hành Ubuntu 20.04 LTS trở lên, CPU tối thiểu 4 cores (hỗ trợ công nghệ ảo hóa Intel VT-x/AMD-V), tối thiểu 16GB RAM (để phân bổ 4GB cho máy ảo Windows 7 Guest và 12GB cho Host/Huấn luyện RL) và 100GB dung lượng ổ cứng SSD. Về phần mềm, cần cài đặt Python 3.8+, VirtualBox 6.1+ cùng các gói thư viện lief, lightgbm, torch và scikit-learn.
2. Tại sao việc chỉ tối ưu hóa điểm số né tránh trên vector đặc trưng lại chưa đủ?
Các vector đặc trưng (như EMBER) chỉ là biểu diễn toán học rút gọn của tệp nhị phân. Nhiều hành động chỉnh sửa tệp có thể làm thay đổi vector để đánh lừa mô hình toán học nhưng lại phá hủy cấu trúc vật lý của tệp PE (ví dụ: làm sai lệch trường PointerToRawData, ghi đè bảng IAT, hoặc hỏng bảng xuất nhập). Khi đó, tệp không còn là mã độc có khả năng hoạt động mà chỉ là một chuỗi byte lỗi, vô giá trị trong các kịch bản kiểm thử bảo mật thực tế.
3. Hệ thống có làm thay đổi hành vi phá hoại cốt lõi của mã độc ban đầu không?
Không. Mười hành động biến đổi được lựa chọn trong không gian hành động (imports_append, section_add, overlay_append,...) được thiết kế theo nguyên lý bảo toàn luồng điều khiển chính (Control Flow Integrity). Hệ thống chỉ chèn thêm dữ liệu rác, đổi tên các vùng không ảnh hưởng logic thực thi hoặc bổ sung các hàm thư viện không sử dụng, do đó mã độc gốc khi chạy trong máy ảo vẫn giữ nguyên vẹn mục đích ban đầu.
4. Chi phí thời gian để tạo ra một mẫu đột biến né tránh thành công là bao lâu?
Trung bình một tập nhị phân mất khoảng 1.2 đến 2.8 giây cho mỗi lượt biến đổi (bao gồm thời gian trích xuất LIEF, suy luận mạng DiDQN và kiểm tra phân loại tĩnh). Khi mẫu vượt qua bộ phân loại, module VM Validator mất khoảng 5 đến 8 giây để nạp snapshot máy ảo, đẩy tệp và kiểm tra tiến trình. Tổng thời gian sinh một mẫu đối kháng hoàn chỉnh dao động từ 15 đến 30 giây.
5. Làm thế nào để ngăn chặn kẻ xấu lạm dụng công cụ này vào mục đích tấn công thực tế?
Mục đích cốt lõi của nghiên cứu là đóng góp cho công tác phòng thủ (Defensive Security). Công cụ được định vị là giải pháp Red Teaming nội bộ giúp các kỹ sư bảo mật phát hiện lỗ hổng của mô hình AI trước khi kẻ tấn công tìm ra. Bằng cách công bố các điểm yếu của bộ phân loại tĩnh và cơ chế sinh mẫu đối kháng, các tổ chức có thể chủ động áp dụng kỹ thuật Huấn luyện đối kháng (Adversarial Training) để gia cố hệ thống phòng thủ.
Kết luận
Đồ án tốt nghiệp "A Method of Assembly Instructions Insertion Using Reinforcement Learning to Mutate Malware" đã giải quyết thành công một trong những bài toán cấp thiết nhất của an ninh mạng hiện đại: đánh giá và củng cố độ bền vững của các mô hình học máy phát hiện mã độc trước tấn công đối kháng.
Bằng việc kết hợp sáng tạo giữa giải thuật Distributional Deep Q-Network (DiDQN), kỹ thuật khám phá Noisy Networks và module thẩm định thực thi thực tế trên máy ảo Windows 7, nghiên cứu đã khắc phục triệt để hạn chế của các công trình tiền nhiệm, đảm bảo 100% mẫu đối kháng sinh ra vừa qua mặt được các bộ phân loại tiên tiến (LightGBM, MalConv, Random Forest) vừa bảo toàn khả năng thực thi của tệp PE. Đây là tiền đề kỹ thuật vững chắc để phát triển các giải pháp tự động hóa Red Teaming và nâng cao chất lượng huấn luyện các hệ thống phát hiện mã độc thế hệ mới.