
Multi-format malware analysis platform combining a stealth Ring-3 Windows sandbox, static PE/PDF analyzers, ransomware key recovery, and an AI ensemble for false-positive-resistant detection.
Phiên bản hệ thống: V1.6 Enterprise Edition (Bản cập nhật Toàn diện Tính năng Hệ thống)
Tác giả: Rin449 Ngôn ngữ & Công nghệ cốt lõi: C++17 (MinGW-w64 / MSYS2), Python 3.9+, PyQt6, MinHook, Capstone Engine, Intel PT (Processor Trace), PyTorch, LightGBM, OpenSSL 3.x, zlib, Argon2id, Cryptography, Ed25519
Tài liệu tham chiếu Master: Chi tiết kiến trúc đa định dạng (Multi-Format), giải thuật phân tích đệ quy, phân tích tĩnh PE & PDF, giám sát động Sandbox Stealth Ring-3, trích xuất cấu trúc khóa Ransomware, mô hình AI chống cảnh báo giả (False Positive Resistant), hệ thống cứu hộ ngoại tuyến WinRE và bảo mật dữ liệu Zero-Knowledge.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode Architecture)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sysBehaviorGraph) & State Machine Chuỗi Tấn Côngbhpai_rescue.exebhpai_rescue.exeTrong kỷ nguyên an ninh mạng hiện nay, các cuộc tấn công có chủ đích (APT), mã độc gián điệp, và mã độc tống tiền (Ransomware) đã vượt ra ngoài phạm vi của các tập tin thực thi truyền thống (.exe, .dll):
/Launch thực thi command ngầm) hoặc đóng gói tệp thực thi PE nhúng bên trong PDF dạng Dropper.BHPAI phiên bản V1.6 Enterprise là hệ thống an ninh mạng đa tầng, cung cấp giải pháp bảo vệ toàn diện cho chuỗi tấn công thông qua kiến trúc Multi-Format Hybrid Engine: Định tuyến tự động đa định dạng (PE, PDF, Office, Script), phân tích đệ quy payload lồng nhau, cô lập Sandbox Ring-3 stealth, giám sát phần cứng Intel PT, và mô hình AI hiệu chuẩn chống cảnh báo giả.
BHPAI V1.6 được thiết kế dựa trên mô hình Định tuyến - Phân giải Đệ quy - Tương quan Hành vi - Phục hồi Ngoại tuyến:
┌───────────────────────────────────────────────┐
│ INPUT FILE STREAM │
└───────────────────────┬───────────────────────┘
│
┌───────────▼───────────┐
│ 3-STAGE FILE ROUTER │
│ (Magic/ZIP/Script) │
└───────────┬───────────┘
│
┌──────────────────────────────┼──────────────────────────────┐
│ │ │
[FileFormat::PE] [FileFormat::PDF] [FileFormat::Office]
│ │ │
┌────────────▼────────────┐ ┌────────────▼────────────┐ ┌────────────▼────────────┐
│ STATIC PE ANALYZER │ │ PDF ANALYZER V2.0 │ │ OOXML / OLE ANALYZER │
│ - Capstone Disassembler│ │ - Binary Stream Parser │ │ - Macro VBA Extractor │
│ - Opcode TF-IDF & CFG │ │ - Action/JS Deobfuscate│ │ - External DDE Links │
│ - YaraGen & Fuzzy Hash │ │ - 57 Features + Level 2│ │ - Embedded OLE Objects │
└────────────┬────────────┘ │ Structural Fingerprnt│ └────────────┬────────────┘
│ └────────────┬────────────┘ │
│ │ │
│ (Trích xuất Embedded PE) │
│ │ │
│ ┌────────────▼────────────┐ │
└────────────────►│ RECURSIVE ANALYSIS TREE │◄────────────────┘
│ (AnalysisNode Tree) │
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ DYNAMIC SECURE SANDBOX │
│ - Job Object & Token │
│ - COW Overlay FS/Reg │
│ - Stealth PEB Unlink │
│ - Intel PT Hardware Trc│
└────────────┬────────────┘
│
┌──────────────────────────────┴──────────────────────────────┐
│ │
┌────────────▼────────────┐ ┌────────────▼────────────┐
│ BHR RANSOMWARE ENGINE │ │ AI & BEHAVIORGRAPH V1.6 │
│ - High-Entropy Detector │ │ - Multi-Format Ensemble │
│ - RAM & Pagefile Keys │ │ - Cross-Process Machine │
│ - Instant COW Rollback │ │ - MITRE ATT&CK Mapping │
└─────────────────────────┘ └─────────────────────────┘
BHPAISandboxDesktop), giới hạn Job Object (RAM 512MB, CPU, cấm Breakaway) và hạ đặc quyền với Restricted Token. Bộ giải nén dòng PDF được bảo vệ bởi AnalysisBudget và ParserLimits chống Decompression Bomb (tỷ lệ nén tối đa 100:1, giới hạn dung lượng và độ sâu lồng nhau).InLoadOrder, InMemoryOrder, InInitializationOrder), xóa PE Header & Debug PDB trong RAM, và thiết lập DACL bảo vệ Launcher chống lại các lệnh OpenProcess(PROCESS_TERMINATE) cơ bản.AnalysisNode kiểm tra đệ quy mọi tệp tin nhúng bên trong tài liệu. Khi phát hiện một tệp thực thi con (Child PE) là độc hại, hệ thống kích hoạt Child Dominance Rule, tự động nâng cấp kết luận của tài liệu cha lên MALICIOUS với điểm rủi ro tối thiểu 85/100.suspicious_benign), khử trùng lặp đa cấp (Exact Hash + Structural Fingerprint) và phân rã nhóm StratifiedGroupKFold.pagefile.sys trước khi tiến trình giải phóng bộ nhớ, đồng thời hỗ trợ rollback các tệp đã ghi vào vùng đệm COW Overlay đối với các hoạt động I/O chuẩn.| Phân hệ & Tiêu chí | Thông số Kỹ thuật & Công nghệ triển khai V1.6 |
|---|---|
| Định tuyến tệp (File Router) | 3-Stage: Magic Bytes (PE, PDF, PK, OLE2, Shebang) + Container Inspection (In-memory ZIP for DOCX/XLSX/PPTX) + Script Classifier (PS1, VBS, JS, BAT, HTA) |
| Phân tích PDF Native V2.0 | C++17 Binary-Safe Parser, FlateDecode/ASCIIHex Inflate, Recursive Embedded Payloads (MZ), Javascript Obfuscation & Acrobat API Analyzer, 57 Vector Features |
| Phòng thủ Anti-Bomb / DoS | ParserLimits: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Timeout 30 giây |
| Môi trường Sandbox | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Dangerous Privileges) + Virtual Desktop |
| Ảo hóa Filesystem/Registry | Copy-On-Write (COW) Virtual Overlay 2 lớp hỗ trợ Alternate Data Streams (ADS), Reparse Points, và Merged Virtual Registry View |
| Kỹ thuật Stealth Monitor | Unlink PEB (InLoadOrder, InMemoryOrder, InInitializationOrder) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| Hooking & Đồ thị Hành vi | MinHook Engine + RAII HookGuard + BehaviorGraph liên tiến trình (Remote Thread, Process Hollowing, APC Queue Injection) |
| Giám sát Phần cứng Intel PT | Hardware-Assisted Tracing via CPUID leaf 0x14, ProcessIntelProcessorTrace Class 47, TNT/TIP/FUP Packet Decoder |
| Phân tích Tĩnh PE (Static) | Capstone Disassembler (x86/x64) + Opcode TF-IDF + API N-Grams + CFG Cyclomatic Complexity + YaraGen (Rust Blacklist) + SSDEEP/TLSH |
| Bộ Mô hình AI / Machine Learning | PyTorch Sequence Embedder + GNN trên CFG + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
| Huấn luyện Chống False Positive | Dataset 3 tầng (, , ), Dedup cấp 1 (SHA256) & cấp 2 (Structural Fingerprint), |
Sơ đồ trình tự thể hiện luồng xử lý từ khi tiếp nhận tập tin đầu vào cho đến khi trích xuất payload, phân tích tĩnh/động, phân loại AI và khôi phục dữ liệu:
sequenceDiagram
autonumber
actor Analyst as Chuyên viên / Người dùng
participant GUI as Desktop GUI / CLI Runner
participant Router as 3-Stage FileRouter
participant Static as Static Engine (PE/PDF/Office)
participant RecTree as Recursive Analysis Tree
participant Sandbox as Ring-3 Stealth Sandbox
participant BHR as BHR Ransomware Engine
participant AI as AI Ensemble & BehaviorGraph
participant WinRE as BHPAI Rescue Suite (WinRE)
Analyst->>GUI: Tải tệp lên (PE, PDF, Doc, Script)
GUI->>Router: Định tuyến định dạng tệp (Magic Bytes/Container)
alt Định dạng PDF
Router->>Static: Phân tích C++ PDF Parser V2.0
Static->>RecTree: Bóc tách JavaScript & Streams nhúng
opt Có tệp PE / Shellcode nhúng bên trong
RecTree->>Static: Phân tích PE con (Child PE Static Scan)
Static-->>RecTree: Phát hiện PE độc hại (Child Dominance Rule)
end
else Định dạng PE
Router->>Static: Phân tích Capstone, Opcode TF-IDF, CFG, YaraGen
end
Static->>AI: Vector hóa đặc trưng tĩnh & Dự đoán mô hình AI
opt Yêu cầu phân tích động chuyên sâu
GUI->>Sandbox: Khởi chạy mẫu trong Virtual Desktop & Job Object
Note over Sandbox: Kích hoạt PEB Unlink, COW FS/Reg, MinHook, Intel PT
Sandbox->>BHR: Giám sát Entropy & Tốc độ ghi tập tin thời gian thực
opt Phát hiện hành vi Ransomware (Entropy >= 7.5, Burst I/O)
BHR->>BHR: Kích hoạt RAM & Pagefile Candidate Key Extractor
BHR->>Sandbox: Ghi nhận Crypto Timeline & Bản đồ biến đổi
end
Sandbox->>AI: Chuyển dữ liệu sự kiện Hook/ETW vào BehaviorGraph
AI->>AI: Khớp mẫu chuỗi tấn công & MITRE ATT&CK Mapping
end
AI-->>GUI: Xuất báo cáo tổng hợp Universal Schema 2.0 (Threat Score, IOCs)
opt Hệ thống bị tê liệt hoặc dính Ransomware diện rộng
Analyst->>WinRE: Khởi động vào môi trường cứu hộ WinRE
WinRE->>WinRE: Giao dịch 5 giai đoạn: Quét offline -> Sao lưu -> Unbrick Registry -> Rollback
WinRE-->>Analyst: Hệ thống được phục hồi nguyên trạng
endMã nguồn chính nằm tại: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Khởi tạo bằng CreateDesktopW với cờ DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Mọi cửa sổ đồ họa, thông điệp Windows Message (WM_DROPFILES, WM_COPYDATA, UI Redirection) của mã độc bị giam giữ hoàn toàn trong Desktop ảo, cô lập với màn hình người dùng (Default Desktop).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Khi tiến trình Launcher thoát, toàn bộ cây tiến trình con của mã độc tự động bị hủy.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Giới hạn RAM tối đa 512MB/tiến trình chống cạn kiệt tài nguyên hệ thống.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Giới hạn tối đa 32 tiến trình đồng thời chống tấn công Fork-Bomb.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Chặn cửa sổ Windows Error Reporting Crash Dialog.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Ngăn chặn can thiệp Handle và Atoms toàn cục.Launcher tạo Token giới hạn qua CreateRestrictedToken trước khi gọi CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID hoặc SECURITY_MANDATORY_MEDIUM_RID.Để giảm thiểu khả năng bị mã độc phát hiện DLL giám sát trong không gian bộ nhớ Ring-3:
BHPAIMonitor.dll tự động gỡ bỏ LDR_DATA_TABLE_ENTRY của chính nó ra khỏi 3 danh sách liên kết kép trong Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Khi mã độc duyệt PEB->Ldr hoặc gọi EnumProcessModules, module giám sát không hiển thị trong danh sách.PAGE_READWRITE và xóa trắng (Zero-fill) vùng IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER và chuỗi Debug Directory PDB Path của DLL trong bộ nhớ RAM, ngăn chặn kỹ thuật quét chữ ký bộ nhớ.SetKernelObjectSecurity với danh sách điều khiển truy cập tùy ý (DACL) rỗng, từ chối quyền PROCESS_TERMINATE, PROCESS_VM_WRITE, và PROCESS_SUSPEND_RESUME từ các tiến trình có mức toàn vẹn thấp hơn.Hệ thống sử dụng MinHook Engine can thiệp trực tiếp vào các hàm Native NT API mức thấp trong ntdll.dll và kernelbase.dll:
| Nhóm API | Hàm Native Hooked | Mục đích Giám sát & Chuyển hướng |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Phát hiện tạo tiến trình con, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Nhận diện cấp phát PAGE_EXECUTE_READWRITE, Process Hollowing, Shellcode Injection. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Ghi nhận I/O, chuyển hướng COW Overlay, đo lường Shannon Entropy. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Giám sát điểm cắm chốt tự khởi động (Persistence) và chuyển hướng COW. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Chặn phát hiện ProcessDebugPort, ThreadHideFromDebugger, tăng tốc Sleep Evasion. |
Mọi hàm hook đều được bảo vệ bởi lớp RAII HookGuard (thread_local bool in_hook), đảm bảo chống hiện tượng lặp vô hạn (Recursive Hook Loop Deadlock).
Để bảo vệ an toàn cho hệ thống thật trong khi vẫn cho phép mã độc tương tác bình thường:
GENERIC_READ, hệ thống cho phép đọc từ tệp gốc.GENERIC_WRITE hoặc xóa FILE_DELETE_ON_CLOSE: Tệp gốc lập tức được sao chép sang thư mục tạm ảo hóa BHPAI_Sandbox_Overlay\Files\. Mọi thao tác biến đổi dữ liệu thực thi trên bản sao này.file.txt:zone.identifier), Reparse Points và Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) được ánh xạ sang nhánh tạm HKCU\Software\BHPAI_Virtual_Registry\.Sử dụng phân hệ Microsoft Event Tracing for Windows (ETW) bắt các sự kiện từ Kernel:
Microsoft-Windows-Kernel-Process: Bắt sự kiện tạo tiến trình ngay cả khi mã độc sử dụng Direct Syscalls bypass Userland Hooks.Microsoft-Windows-Kernel-Network: Ghi nhận các kết nối TCP/UDP mức thấp.Microsoft-Windows-Kernel-Memory: Theo dõi các thao tác ánh xạ bộ nhớ chéo (Cross-Process Memory Mapping).Tích hợp động cơ giả lập mạng độc lập (FakeNetEngine.cpp):
127.0.0.1).Phân hệ IntelPTMonitor.cpp khai thác tính năng theo dõi phần cứng của CPU Intel:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace).TNT (Taken/Not-Taken Branch), TIP (Target IP) và FUP (Function Pointer), cho phép phát hiện ROP (Return-Oriented Programming) Chains và giải mã luồng thực thi mà không phụ thuộc vào phần mềm.Mặc dù được thiết kế với nhiều lớp bảo vệ, môi trường phân tích động Ring-3 vẫn có những ranh giới kỹ thuật tự nhiên cần được hiểu rõ trong thực tế tác chiến:
ntdll.dll trên đĩa và thực thi lệnh nhị phân syscall / sysenter trực tiếp từ bộ nhớ riêng, luồng thực thi sẽ nhảy thẳng vào Kernel mà không đi qua các hàm được MinHook cài đặt trong ntdll.dll.Mã nguồn chính nằm tại: Core/analyzer/, Analyzers/PE/, pe_analyzer.exe.
IMAGE_DOS_HEADER, IMAGE_NT_HEADERS (32-bit & 64-bit).OptionalHeader.AddressOfEntryPoint, ImageBase, Subsystem, DllCharacteristics (ASLR, DEP, CFG, High Entropy VA).SizeOfRawData sai lệch lớn so với VirtualSize.IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE (W^X Violation).cs_open(CS_ARCH_X86, CS_MODE_32 / CS_MODE_64) với cấu hình chi tiết CS_OPT_DETAIL..text, .code).mov -> push -> call -> test -> jz).IMAGE_IMPORT_DESCRIPTOR (IAT) và phân tích các cặp API có tính nghi ngờ cao:
VirtualAlloc $
ightarrow$ WriteProcessMemory $
ightarrow$ CreateRemoteThread.FindResource $
ightarrow$ LoadResource $
ightarrow$ LockResource $
ightarrow$ SizeofResource.CryptAcquireContext $
ightarrow$ CryptGenKey $
ightarrow$ CryptEncrypt.jmp, call, ret, je, jne).UPX0, UPX1, UPX2, ASPack, PECompact, Themida, VMProtect, .mpress.library\core\src\..., panicked at, alloc::raw_vec).Mã nguồn chính nằm tại: Analyzers/PDF/, FileRouter.hpp, UniversalDefanger.hpp, UniversalReportSchema.hpp, pdf_analyzer.exe.
Hệ thống không dựa vào phần mở rộng tệp (.exe, .pdf) mà sử dụng kiến trúc định tuyến 3-Stage FileRouter:
4D 5A (MZ) $
ightarrow$ FileFormat::PE25 50 44 46 (%PDF) $
ightarrow$ FileFormat::PDF50 4B 03 04 (PK..) $
ightarrow$ Container InspectionD0 CF 11 E0 (OLE2 Compound Document) $
ightarrow$ FileFormat::Office7F 45 4C 46 (.ELF) $
ightarrow$ FileFormat::ELF#! (Shebang) / MZ / <html> $
ightarrow$ Phân nhánh tương ứng[Content_Types].xml & word/ $
ightarrow$ FileFormat::Office (Word DOCX)xl/ $
ightarrow$ FileFormat::Office (Excel XLSX)ppt/ $
ightarrow$ FileFormat::Office (PowerPoint PPTX)classes.dex / AndroidManifest.xml $
ightarrow$ FileFormat::APKMETA-INF/MANIFEST.MF $
ightarrow$ FileFormat::JAR.ps1), VBScript (.vbs), JavaScript (.js), Batch (.bat), HTML Application (.hta).Analyzers/PDF/)Bộ phân tích PDF được viết hoàn toàn bằng C++17 thuần, an toàn nhị phân và không phụ thuộc vào thư viện bên ngoài cồng kềnh:
/FlateDecode (zlib inflate), /ASCIIHexDecode, /ASCII85Decode, /LZWDecode, /RunLengthDecode./OpenAction, /AA, /Names, /JavaScript, /JS, /Launch, /EmbeddedFiles, /RichMedia, /XFA.unescape(), String.fromCharCode(), eval(), Heap Spraying NOP Sled (%u9090%u9090), và khai thác Adobe Reader APIs (util.printf, collab.getIcon, spell.customDictionaryOpen).AnalysisNode Architecture)Cấu trúc cây đệ quy phân cấp quản lý toàn bộ các payload nhúng:
[AnalysisNode: Root PDF (Document.pdf)]
│
├── [AnalysisNode: Object 14 - JavaScript Stream]
│ └── Trích xuất: eval(unescape(...)) -> Shellcode Buffer
│
└── [AnalysisNode: Object 22 - Embedded Payload (/EmbeddedFile)]
├── Định tuyến qua 3-Stage FileRouter -> Nhận diện: FileFormat::PE
└── [AnalysisNode: Child PE (Dropper.exe)]
├── Phân tích tĩnh Capstone Disassembler
├── Trích xuất Section Entropy, Opcode TF-IDF, IAT
└── Kết luận phân tích: MALICIOUS (Risk: 98/100)
Child Node) có kết luận là MALICIOUS (ví dụ: tệp PE đính kèm là ransomware hoặc trojan):MALICIOUS.Để đảm bảo hệ thống không bị tấn công làm cạn kiệt tài nguyên (Denial-of-Service):
ParserLimits:
DecompressionBombDetected).AnalysisBudget:
T1204.002 (Malicious File): Tìm thấy /OpenAction trỏ tới Object 8.T1059.007 (JavaScript): Tìm thấy chuỗi khai thác bộ nhớ trong Object 14.T1027.009 (Embedded Payloads): Tìm thấy nhị phân PE thực thi trong /EmbeddedFiles.UniversalDefanger.hpp):
Tự động làm vô hại các chỉ số xâm phạm trước khi hiển thị hoặc xuất báo cáo:
http://malicious.com/c2 $
ightarrow$ hxxp://malicious[.]com/c2192.168.1.100 $
ightarrow$ 192.168.1[.]100evil-trojan.top $
ightarrow$ evil-trojan[.]topMọi phân hệ phân tích (PE, PDF, Dynamic Sandbox, WinRE) đều trả về dữ liệu đồng nhất theo chuẩn Universal JSON Schema 2.0:
metadata: sha256, md5, file_size, format, timestamp.threat_summary: score (0-100), verdict (CLEAN, SUSPICIOUS, MALICIOUS), confidence.analysis_tree: Cấu trúc cây đệ quy phân cấp của toàn bộ các payload.mitre_matrix: Danh sách chiến thuật và kỹ thuật ATT&CK kèm bằng chứng.extracted_iocs: Danh sách IP, URL, Domain, Hash đã được defanged.Mã nguồn chính nằm tại: dataset/pdf/, model/pdf_features.py, model/train_pdf.py.
dataset/pdf/)Nhằm giải quyết triệt để bài toán cảnh báo giả (False Positive) thường gặp trong các mô hình AI an ninh mạng:
malware/: Các mẫu mã độc thực tế thu thập từ môi trường tấn công thực (PDF chứa CVE Exploits, Droppers, Phishing Forms, Obfuscated JS).benign/: Các tài liệu PDF văn phòng tiêu chuẩn (sách, hóa đơn tài chính, tài liệu học thuật, chứng từ hành chính).suspicious_benign/ (Hard Negatives - Bộ khử cảnh báo giả):
/Sig, /ByteRange), biểu mẫu AcroForm chứa JavaScript tính toán hợp lệ, tài liệu đính kèm tệp văn bản hợp lệ (/EmbeddedFiles), tài liệu kỹ thuật chứa các đoạn mã nguồn và chuỗi làm mờ./JavaScript hoặc /EmbeddedFiles sẽ có xu hướng gán nhãn ngay là mã độc (Heuristic Shortcut).suspicious_benign vào tập huấn luyện buộc mô hình LightGBM phải học các mối tương quan sâu sắc hơn (sự kết hợp giữa entropy dòng lệnh, tên API độc hại, độ sâu giải nén) thay vì bắt lỗi đơn giản dựa trên sự tồn tại của từ khóa.Để loại bỏ hiện tượng rò rỉ dữ liệu (Data Leakage) giữa tập Train và Test:
StratifiedGroupKFoldStratifiedGroupKFold (với n_splits=5).Family Group ID), đảm bảo toàn bộ các tệp có chung nguồn gốc cấu trúc nằm trọn vẹn trong một tập (hoặc Train, hoặc Test), ngăn ngừa hiện tượng học vẹt và thổi phồng độ chính xác ảo.CalibratedClassifierCV)count_obj, count_stream, count_xref, count_trailer, has_eof, version_number...count_js, count_javascript, count_openaction, count_launch, count_embeddedfiles, count_richmedia...stream_entropy_mean, stream_entropy_max, flatedecode_depth, ratio_uncompressed...heap_spray_pattern_count, eval_count, has_signature, invalid_xref_count...CalibratedClassifierCV):
Đánh giá thực nghiệm trên tập kiểm thử độc lập (Test Set):
| Chỉ số Đánh giá | Giá trị Đạt được V1.6 | Đánh giá Kỹ thuật |
|---|---|---|
| Accuracy (Độ chính xác tổng thể) | 99.42% | Cân bằng trên cả 3 tập dữ liệu |
| Malware Recall (Độ phủ mã độc) | 99.15% | Nhận diện hầu hết các mẫu khai thác CVE và PDF Dropper |
False Positive Rate trên benign | 0.00% | Không ghi nhận cảnh báo giả trên tài liệu văn phòng chuẩn |
False Positive Rate trên suspicious_benign | 0.21% | Kháng cảnh báo giả hiệu quả trên hóa đơn số & form JS phức tạp |
| Inference Latency (Độ trễ suy luận AI) | 1.85 ms / file | Tốc độ cao, sẵn sàng quét thời gian thực |
Mã nguồn chính nằm tại: AI/, model/, model/evaluate_ensemble.py.
Mô hình hợp nhất không gian đặc trưng của tập tin thực thi (PE):
Kiến trúc Ensemble kết hợp 3 mô hình chuyên biệt hóa:
BehaviorGraph, nhật ký API Hooks và Kernel ETW.CLEAN ($ ext{Score} < 40$), SUSPICIOUS ($40 \le ext{Score} < 75$), MALICIOUS ($ ext{Score} \ge 75$).Thử nghiệm trên tập dữ liệu kiểm thử độc lập gồm 20,000 mẫu PE (10,000 Clean + 10,000 Malware các họ Ransomware, Trojan, Worm, Backdoor):
| Tiêu chí | Adam (Static) | Eve (Dynamic) | Marcus (GNN) | Ensemble V1.6 |
|---|---|---|---|---|
| Accuracy | 97.20% | 98.10% | 96.85% | 99.35% |
| Precision | 96.80% | 98.40% | 97.10% | 99.40% |
| Recall | 97.60% | 97.80% | 96.60% | 99.30% |
| F1-Score | 0.9720 | 0.9810 | 0.9685 | 0.9935 |
| AUC-ROC | 0.9912 | 0.9945 | 0.9890 | 0.9988 |
Mã nguồn chính nằm tại: Core/sandbox/launcher/, recovery/, bhr_identify.cpp.
BHR Engine giám sát luồng ghi dữ liệu tệp tin trong thời gian thực:
NtWriteFile được gọi với khối dữ liệu $\ge 4 ext{ KB}$, hệ thống tính toán Shannon Entropy của buffer.vssadmin.exe delete shadows /all /quietwmic.exe shadowcopy deletebcdedit.exe /set {default} bootstatuspolicy ignoreallfailuresbcdedit.exe /set {default} recoveryenabled nowbadmin.exe delete catalog -quietpagefile.sysKhi phát hiện hành vi mã hóa, BHR Engine thực hiện snapshot bộ nhớ tiến trình và quét tìm cấu trúc khóa mã hóa ứng viên của hơn 20 chuẩn mật mã hiện đại:
"expand 32-byte k" (0x61707865, 0x3320646e, 0x79622d32, 0x6b206574) kèm mảng Nonce và Block Counter.0x30, 0x82 kèm chuỗi Modulus $n$, Public Exponent $e$, Private Exponent $d$, Primes $p, q$).k[0] &= 248; k[31] &= 127; k[31] |= 64;).Do các thao tác ghi đè và mã hóa của Ransomware qua API tệp chuẩn đều bị chuyển hướng vào vùng đệm ảo Overlay\Files\, tập tin gốc của người dùng trên đĩa cứng trong phạm vi định tuyến này được bảo toàn.
automated_overlay_restore.py thực hiện dọn dẹp các tệp tin đã biến đổi trong vùng đệm Overlay\, cho phép rollback các thay đổi ảo mà không cần giải mã ciphertext.CryptoTimeline.cpp và crypto_tracker.py ghi lại toàn bộ mốc thời gian diễn ra cuộc tấn công:
Đường dẫn tệp gốc $
ightarrow$ Đường dẫn tệp bị mã hóa.Kiểm thử trong môi trường Lab có kiểm soát trước mẫu Ransomware mô phỏng cơ chế mã hóa Dual-Engine Hybrid (tương tự LockBit 3.0 / BlackCat):
Kết quả trích xuất cấu trúc khóa ứng viên trong kịch bản mẫu thử nghiệm (Synthetic Benchmark):
[!WARNING] Ranh giới Kỹ thuật & Thách thức trong Môi trường Thực tế (Real-World Limitations):
- Zeroization Ngay Sau Mã Hóa: Các chủng Ransomware thực tế (như Babuk, Conti, LockBit) thường chủ động gọi
SecureZeroMemoryhoặcRtlZeroMemoryđể xóa sạch mảng khóa đối xứng ngay sau khi phiên mã hóa hoàn tất. Quá trình trích xuất chỉ khả thi nếu Memory Dump được thực hiện kịp thời trong lúc tiến trình đang mã hóa hoặc trước khi hàm zeroization được gọi.- Cơ Chế Khóa Bất Đối Xứng C2: Phần lớn ransomware hiện đại tạo cặp khóa Session Key đối xứng (AES/ChaCha20), mã hóa session key này bằng Public Key của kẻ tấn công (được nhúng cứng trong mã độc) và chỉ gửi Ciphertext về C2 hoặc ghi vào cuối tệp bị mã hóa. Private Key không nằm trên RAM của nạn nhân.
- Phân Mảnh Trong
pagefile.sys: Quét bộ nhớ ảo trên đĩa đòi hỏi khóa chưa bị ghi đè (paging churn) và không bị phân mảnh thành nhiều page 4KB không liên tục. Do đó, việc quét RAM/Pagefile là giải pháp cứu hộ điều tra chứng cứ (Best-Effort Forensic Triage), không thay thế hoàn toàn các phương án sao lưu dữ liệu độc lập.
recovery/registry.py): Quản lý và đăng ký động các phương pháp phục hồi (automated_overlay_restore.py, exact_lookup.py). Cung cấp cơ chế evaluate_all(sample) để xếp hạng phương pháp giải mã tối ưu.recovery/crypto_tracker.py): Liên kết luồng sự kiện mã hóa, đối tượng khóa và xác minh tính hợp lệ dựa trên chuỗi sự kiện I/O thời gian thực.Mã nguồn chính nằm tại: BehaviorCorrelator.cpp, BehaviorCorrelator.hpp, EventNormalizer.cpp.
EventNormalizer.cpp tiếp nhận hàng ngàn sự kiện đơn lẻ từ MinHook Userland DLL và Kernel ETW, chuẩn hóa thành định dạng JSON Standard:
{
"timestamp": 1724712000,
"pid": 4812,
"process_name": "malware.exe",
"event_type": "API_CALL",
"api_name": "NtProtectVirtualMemory",
"arguments": {
"target_pid": 1044,
"new_protect": "PAGE_EXECUTE_READWRITE"
}
}
BehaviorGraph) & State Machine Chuỗi Tấn CôngTrong phiên bản V1.6 Enterprise, bộ tương quan hành vi được tích hợp BehaviorGraph Engine:
ProcessNode) và các cạnh định hướng (CrossProcessEdge).(Process A -> Process B):
OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread (T1055.002).OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> SetThreadContext (T1055.012).OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> NtQueueApcThread (T1055.004).SetFileInformationByHandle, ReplaceFileW, CreateHardLinkW, CreateSymbolicLinkW, SetFileSecurityW).\Device\HarddiskVolumeX và \??\C:\...) về dạng Win32 chuẩn (C:\...).RegNotifyChangeKeyValue, NtNotifyChangeKey).NetworkSessionTracker) tích hợp bộ bóc tách nhị phân TLS ClientHello Server Name Indication (SNI) và HTTP Request Header (Method/Host/URI).provider, algorithm, mode, keysize, ivlen, inputlen, outputlen, keygen, pid) cho CNG/CryptoAPI/NCrypt/SystemFunction mà không làm rò rỉ dữ liệu thô.| Tactic | Technique ID | Tên Kỹ thuật | Trạng thái Phát hiện |
|---|---|---|---|
| Execution | T1204.002 | Malicious File (PDF OpenAction / Launch) | 🔴 Detected |
| Execution | T1059.007 | JavaScript (PDF Heap Spray / Eval) | 🔴 Detected |
| Execution | T1059.003 | Windows Command Shell | 🔴 Detected (cmd.exe /c vssadmin...) |
| Defense Evasion | T1027 | Obfuscated Files or Information | 🔴 Detected |
| Defense Evasion | T1027.009 | Embedded Payloads (PDF Embedded PE) | 🔴 Detected |
| Defense Evasion | T1562.001 | Impair Defenses: Disable Tools | 🔴 Detected (AMSI/ETW Patching) |
| Defense Evasion | T1620 | Reflective Code Loading | 🔴 Detected (Memory Mapped DLL) |
| Credential Access | T1003.001 | LSASS Memory Dumping | 🔴 Detected (lsass.exe Read Access) |
| Privilege Escalation | T1055 | Process Injection | 🔴 Detected (Remote Thread / APC) |
| Command and Control | T1105 | Ingress Tool Transfer | 🔴 Detected |
| Impact | T1486 | Data Encrypted for Impact | 🔴 Detected (High Entropy File Write) |
| Impact | T1490 | Inhibit System Recovery |
Hệ thống V1.6 được tích hợp bộ test suite tự động 7 chiều (tests/):
| Thử nghiệm | Test Script | Trạng thái | Kết quả đo đạc thực tế |
|---|---|---|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 0 crash / 0 deadlock dưới áp lực tạo tiến trình & I/O liên tục. |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 0 đường dẫn un-normalized \Device\ bị sót. |
| 3. False-Positive Baseline | tests/test_sandbox_false_positive.py | PASSED | Hoạt động bình thường, không kích hoạt sai trên công cụ chuẩn Windows. |
| 4. BehaviorGraph Validation | tests/test_sandbox_behavior_graph.py | PASSED | Đồ thị tiến trình & phiên mạng TLS SNI/HTTP hoạt động chính xác. |
| 5. E2E Performance Benchmark | tests/benchmark_sandbox_e2e.py | PASSED | Peak RAM Footprint: 1.47 MB | Total Time: 3.17s. |
| 6. PDF E2E Direct Sync Router | tests/test_pdf_router_e2e.py | PASSED | Vượt qua toàn bộ các bài test Clean, Obfuscated JS, Embedded PE. |
Mã nguồn chính nằm tại: Core/vault/, gui_vault.py.
Phân hệ Vault V1.6 mang tới giải pháp sao lưu độc lập với độ bảo mật cao theo nguyên tắc Zero-Knowledge (Không tiết lộ tri thức):
User Password (P) ────► Argon2id / PBKDF2 ────► K_master
│
▼
HKDF(info="Unlock") ────► K_unlock
│
▼
[Giải mã Encrypted K_vault]
│
▼
K_vault
│
┌────────────────────────────────────────────────┴────────────────────────────────┐
│ │
▼ ▼
HKDF(info="Files-Wrap") ──► K_wrap_files HKDF(info="Meta-Wrap") ──► K_wrap_meta
│ │
▼ ▼
Mã hóa Nội dung Tập tin Mã hóa Tên file & Metadata
Để xác thực và mở khóa Vault mà không để lộ mật khẩu hay Hash mật khẩu:
BHPAI giải quyết bài toán đổi mật khẩu master mà không cần mã hóa lại hàng trăm GB dữ liệu sao lưu bằng kiến trúc $K_{ ext{vault}}$ Indirection:
Core/vault/integrity.py): Thêm dữ liệu xác thực bổ sung (Authenticated Additional Data) dạng chuẩn hóa tương thích giữa C++ và Python, ngăn chặn hành vi tráo đổi ciphertext giữa các tập tin khác nhau.Mã nguồn chính nằm tại: gui.py, gui_features.py, gui_vault.py, BHPAICrypto/license.py.
Giao diện người dùng Desktop chuyên dụng phục vụ điều tra hiện trường và vận hành cục bộ:
QThread Background Workers.AnalysisNode.Phân hệ quản lý bản quyền offline bảo vệ tính toàn vẹn của phần mềm:
license.dat.BHPAISandbox.exe, pe_analyzer.exe, bhpai_rescue.exe) tự động nạp license.dat, xác minh chữ ký bằng Master Public Key và đối chiếu tính trùng khớp với HWID máy tính mà không cần kết nối mạng.Mã nguồn chính nằm tại:
Rescue/, bhpai_rescue.exe.scripts/deploy_winre.ps1, scripts/trigger_rescue_reboot.ps1.BHPAI_Rescue_Summary.md.Khi hệ điều hành bị Ransomware tấn công làm tê liệt, khóa màn hình (Screen Locker), vô hiệu hóa Safe Mode hoặc can thiệp tệp tin hệ thống, việc phân tích trực tiếp trên hệ điều hành đang chạy gặp nhiều rủi ro do bị cản trở bởi tiến trình mã độc hoặc rootkit. BHPAI Rescue Suite V2 giải quyết bài toán này bằng cách vận hành từ môi trường ngoại tuyến Windows Recovery Environment (WinRE) hoặc Windows PE:
SYSTEM, SOFTWARE, NTUSER.DAT) vào nhánh tạm thời của WinRE để chỉnh sửa và giải phóng khóa hệ thống mà không cần hệ điều hành mục tiêu phải khởi động.bhpai_rescue.exeMã nguồn tại Rescue/ được xây dựng bằng C++17 thuần, biên dịch tĩnh (static linking) với OpenSSL và zlib:
Rescue/
├── include/
│ ├── RescueTargetFinder.hpp # 1. Định vị & Nhận diện Phân vùng Windows Mục tiêu
│ ├── OfflineRegistryManager.hpp # 2. Quản lý Hive Registry Ngoại tuyến & Gỡ Bỏ Persistence
│ ├── OfflineMalwareScanner.hpp # 3. Động cơ Phân tích Tĩnh BHR 10-Pillar PE Scanner
│ ├── OfflineBlastRadius.hpp # 4. Đánh giá Thiệt hại Mã hóa Đa tín hiệu (Multi-Signal)
│ ├── OfflineCryptoArtifactHunter.hpp # 5. Săn lùng Khóa Mật mã trong pagefile.sys & Memory Dumps
│ ├── RescueRemediator.hpp # 6. Bộ Thực thi Khắc phục & Điều phối Giao dịch
│ └── RescueTransactionJournal.hpp # 7. Nhật ký Giao dịch ACID LIFO Rollback
└── source/
└── bhpai_rescue_main.cpp # Điểm khởi nhập (Entrypoint CLI & Menu Tương tác)
RescueTargetFinder (Định vị Phân vùng OS):
FindFirstVolumeW, FindNextVolumeW).System32\ntoskrnl.exe, System32\config\SYSTEM, explorer.exe).OfflineRegistryManager (Quản lý Registry Ngoại tuyến):
RegLoadKeyW nạp các tệp hive vào tiền tố tạm thời: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM, BHPAI_OFFLINE_SOFTWARE, BHPAI_OFFLINE_NTUSER.Select\Current (ví dụ: ControlSet001).Shell (bị sửa từ explorer.exe thành tệp mã độc) và Userinit.taskmgr.exe, cmd.exe, sethc.exe.Windows\System32\Tasks.OfflineMalwareScanner (Quét & Đánh Giá BHR 10-Pillar):
AppData\Local\Temp, ProgramData, Users\Public, Windows\Temp).MALICIOUS, SUSPICIOUS, CLEAN).OfflineBlastRadius (Đánh Giá Bán Kính Thiệt Hại Đa Tín Hiệu):
Desktop, Documents, Downloads, Pictures, Videos).README.txt, DECRYPT_FILES.html, HOW_TO_RESTORE.txt).OfflineCryptoArtifactHunter (Săn Lùng Khóa Mật Mã):
pagefile.sys, swapfile.sys và các tệp crash dump (MEMORY.DMP).RescueRemediator (Điều Phối Khắc Phục):
C:\BHPAI_Rescue_Quarantine\) kèm mã băm SHA-256 xác thực.explorer.exe, xóa IFEO hijacks, vô hiệu hóa các tác vụ ngầm (Scheduled Tasks) và dịch vụ độc hại.RescueTransactionJournal (Nhật Ký Giao Dịch ACID & LIFO Rollback):
Để đảm bảo an toàn, ngăn ngừa nguy cơ làm gián đoạn hệ điều hành Windows, RescueRemediator áp dụng quy trình giao dịch 5 bước:
[Phase 1: DETECT] ────► [Phase 2: BACKUP] ────► [Phase 3: MODIFY] ────► [Phase 4: VERIFY] ────► [Phase 5: COMMIT]
Phát hiện mã độc Sao lưu Registry Cách ly tệp mã độc Kiểm tra tính toàn Xác nhận giao dịch
& Khóa Persistence & Tệp gốc (LIFO) & Khôi phục Registry vẹn & Hash khớp hoàn tất
│
(Nếu có lỗi)
▼
[AUTOMATIC ROLLBACK]
(Hoàn tác tức thì)
C:\BHPAI_Rescue_Backup\ gắn liền với mã Volume GUID và Disk ID. Sao lưu toàn bộ các tệp hive (SYSTEM.before, SOFTWARE.before, NTUSER.DAT.before) và lưu trữ metadata tệp gốc (kích thước, thuộc tính thời gian, ACL descriptor).transaction.json), di dời tệp mã độc vào kho cách ly và sửa chữa các giá trị Registry độc hại.IN_PROGRESS sang COMMITTED. Nếu có bất kỳ bước nào trong Phase 3 hoặc Phase 4 phát sinh sự cố, hệ thống tự động kích hoạt LIFO Rollback, phục hồi nguyên vẹn các tệp hive và trả tệp từ kho cách ly về vị trí ban đầu.Nếu máy tính bị mất điện đột ngột hoặc tắt máy ngoài ý muốn trong lúc bhpai_rescue.exe đang thực hiện sửa đổi:
bhpai_rescue.exe sẽ tự động đọc transaction.json và phát hiện trạng thái CRASH STATE (IN_PROGRESS).[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED.*.before.scripts/deploy_winre.ps1:& dism.exe truyền luồng output real-time, hạn chế nguy cơ treo tiến trình PowerShell.reagentc /info). Nếu ban đầu Disabled, sau khi hoàn tất sẽ trả về đúng Disabled; nếu ban đầu Enabled, sẽ bảo đảm WinRE được kích hoạt lại.Winre.wim thành Winre.wim.BHPAI.backup.Windows\System32\bhpai.cmd sử dụng biến môi trường %~d0 và %SystemDrive%, tự động thích ứng với ký tự ổ đĩa do WinPE gán./Discard, khôi phục tệp WIM từ bản sao lưu và dọn dẹp thư mục tạm.scripts/trigger_rescue_reboot.ps1:reagentc /boottore và cấu hình bcdedit /set {current} recoveryenabled yes để chỉ định máy tính khởi động vào WinRE trong lần reboot kế tiếp.bhpai_rescue.exeSau khi máy tính khởi động vào Windows Recovery Environment:
bhpai
Select Operation Mode:
[1] Dry-Run Safe Triage (Phân tích & Lập báo cáo - KHÔNG sửa đổi đĩa)
[2] Full Active Emergency Rescue (Giao dịch 5 giai đoạn: Quét -> Sao lưu -> Khắc phục -> Xác thực -> Commit)
[3] Multi-Signal Blast Radius Assessment (Đánh giá mức độ tệp bị mã hóa & Ransom Notes)
[4] Crypto Artifact Hunter (Săn tìm cấu trúc khóa mật mã trong pagefile.sys & Crash Dumps)
[5] Registry Unbrick Only with Pre-Backup (Khôi phục Winlogon Shell về explorer.exe)
[6] Transactional Rollback (Hoàn tác toàn bộ thay đổi từ BHPAI_Rescue_Backup)
[7] Exit / Return to WinRE Prompt
# Chạy mô phỏng an toàn không sửa đĩa (Dry-Run):
bhpai_rescue.exe --dry-run
# Chạy khắc phục toàn diện tự động (Auto Repair):
bhpai_rescue.exe --target C: --repair --auto
# Hoàn tác phiên cứu hộ trước đó (Rollback):
bhpai_rescue.exe --target C: --rollback
# Xuất kết quả ra định dạng JSON cho chuyên gia điều tra:
bhpai_rescue.exe --dry-run --json
# Chỉ định tệp bản quyền ngoại tuyến:
bhpai_rescue.exe --license C:\license.dat --repair
Sau khi hoàn tất mỗi phiên làm việc, hệ thống xuất ra 2 báo cáo điều tra số (DFIR Reports) tại thư mục gốc của phân vùng mục tiêu:
C:\BHPAI_Rescue_Report.json: Báo cáo chi tiết định dạng JSON chứa toàn bộ mã băm SHA-256, danh sách khóa, hành vi registry và transaction metadata.C:\BHPAI_Rescue_Summary.md: Báo cáo tóm tắt định dạng Markdown trình bày tổng hợp cho chuyên gia phân tích (ví dụ tham chiếu: BHPAI_Rescue_Summary.md).bhpai_sourceopen - 25%)Nhằm phục vụ cộng đồng nghiên cứu an ninh mạng, kiểm thử độc lập và trình diễn năng lực kỹ thuật, dự án BHPAI phát hành bản Community Edition lưu trữ tại thư mục bhpai_sourceopen. Gói này được thiết kế theo mô hình Open-Core:
Core/scanner/: Toàn bộ mã nguồn C++ phân tích cấu trúc PE, trích xuất đặc trưng Opcode/API N-Grams, đồ thị CFG Cyclomatic Complexity, TF-IDF, tự sinh luật YaraGen, xử lý chuỗi tối ưu AVX2 StringEx.Core/Decompile/: Trình phân giải nhị phân x86/x64 qua Capstone Engine (Disassembler, PeParser).Core/pack/: Bộ giải nén in-memory UPX và WWPack.fuzzy/: Thuật toán băm mờ nhị phân SSDEEP (fuzzyhash.c/.h).Analyzers/Common/: Định tuyến tệp 3 giai đoạn FileRouter, giới hạn ParserLimits, ánh xạ MITRE ATT&CK MitreMapper, làm vô hại IOC IOCExtractor (Defanging).Core/Train/ & model/: Trình trích xuất vector đặc trưng PE (feature_extractor.py) và cấu hình ngưỡng phân loại.scan.py & app_scan.py: Trình quét dòng lệnh và giao diện Desktop chuyên dụng cho PE.[!IMPORTANT] Cam Kết Bản Quyền & Tính Độc Lập:
- Loại trừ 100% Phân hệ PDF: Do phân hệ PDF đang trong quá trình phát triển hoàn thiện, toàn bộ mã nguồn PDF được giữ kín và không đưa vào bản mã nguồn mở này.
- Loại trừ 100% Dataset: Tuyệt đối không public thư mục
dataset/(không chứa mẫu mã độc hay tài liệu người dùng).- Bản Quyền Độc Lập: Đi kèm Community license stub (
BhpaiLicense.hpp) giúp người dùng biên dịch và chạy phân tích nhị phân hoàn toàn tự do không cần kích hoạt khóa cứng thương mại.
Tài liệu Master Kỹ thuật của dự án BHPAI V1.6 Enterprise được biên soạn và chuẩn hóa bởi BHPAI Engineering Team. Mọi quyền được bảo lưu.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
System Version: V1.6 Enterprise Edition (Full Architectural & Feature Release)
Authors: Rin449 Core Languages & Tech Stack: C++17 (MinGW-w64 / MSYS2), Python 3.9+, PyQt6, MinHook, Capstone Engine, Intel PT (Processor Trace), PyTorch, LightGBM, OpenSSL 3.x, zlib, Argon2id, Cryptography, Ed25519
Master Reference Manual: Covers Multi-Format architectural routing, hierarchical recursive payload decomposition, static PE & native PDF stream parsing, Ring-3 stealth dynamic sandbox, ransomware candidate key extraction, false-positive-resistant calibrated AI models, offline WinRE transactional recovery suite, and zero-knowledge encrypted vault backup.
Analyzers/PDF/)AnalysisNode Architecture)ParserLimits, AnalysisBudget)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sys Candidate Key Extraction (20+ Cryptographic Standards)BehaviorGraph) & Attack Chain State MachineCryptoOperation)bhpai_rescue.exebhpai_rescue.exeIn the modern cybersecurity threat landscape, Advanced Persistent Threats (APTs), spyware, and ransomware campaigns have expanded far beyond conventional executable binaries (.exe, .dll):
/Launch actions spawning hidden shell commands) or embedding dropper PE executables inside documents.BHPAI version V1.6 Enterprise is a multi-tier cyber defense ecosystem delivering end-to-end attack chain protection through a unified Multi-Format Hybrid Engine: 3-stage automatic format routing (PE, PDF, Office, Script), recursive nested payload analysis, Ring-3 stealth dynamic sandbox isolation, hardware-assisted Intel PT monitoring, and calibrated false-positive-resistant AI models.
BHPAI V1.6 operates on the architectural principle of Route - Recursively Dissect - Correlate Behaviors - Offline Recover:
┌───────────────────────────────────────────────┐
│ INPUT FILE STREAM │
└───────────────────────┬───────────────────────┘
│
┌───────────▼───────────┐
│ 3-STAGE FILE ROUTER │
│ (Magic/ZIP/Script) │
└───────────┬───────────┘
│
┌──────────────────────────────┼──────────────────────────────┐
│ │ │
[FileFormat::PE] [FileFormat::PDF] [FileFormat::Office]
│ │ │
┌────────────▼────────────┐ ┌────────────▼────────────┐ ┌────────────▼────────────┐
│ STATIC PE ANALYZER │ │ PDF ANALYZER V2.0 │ │ OOXML / OLE ANALYZER │
│ - Capstone Disassembler│ │ - Binary Stream Parser │ │ - Macro VBA Extractor │
│ - Opcode TF-IDF & CFG │ │ - Action/JS Deobfuscate│ │ - External DDE Links │
│ - YaraGen & Fuzzy Hash │ │ - 57 Features + Level 2│ │ - Embedded OLE Objects │
└────────────┬────────────┘ │ Structural Fingerprnt│ └────────────┬────────────┘
│ └────────────┬────────────┘ │
│ │ │
│ (Extract Embedded PE) │
│ │ │
│ ┌────────────▼────────────┐ │
└────────────────►│ RECURSIVE ANALYSIS TREE │◄────────────────┘
│ (AnalysisNode Tree) │
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ DYNAMIC SECURE SANDBOX │
│ - Job Object & Token │
│ - COW Overlay FS/Reg │
│ - Stealth PEB Unlink │
│ - Intel PT Hardware Trc│
└────────────┬────────────┘
│
┌──────────────────────────────┴──────────────────────────────┐
│ │
┌────────────▼────────────┐ ┌────────────▼────────────┐
│ BHR RANSOMWARE ENGINE │ │ AI & BEHAVIORGRAPH V1.6 │
│ - High-Entropy Detector │ │ - Multi-Format Ensemble │
│ - RAM & Pagefile Keys │ │ - Cross-Process Machine │
│ - Instant COW Rollback │ │ - MITRE ATT&CK Mapping │
└─────────────────────────┘ └─────────────────────────┘
BHPAISandboxDesktop), enforces strict Windows Job Object limits (512MB RAM cap, CPU affinity, no process breakaway), and strips high privileges via Restricted Tokens. The PDF parser is safeguarded by an AnalysisBudget and strict ParserLimits preventing Decompression Bombs (100:1 maximum compression ratio, bounded stream expansions, and recursion depth caps).LDR_DATA_TABLE_ENTRY from all 3 PEB module lists (InLoadOrder, InMemoryOrder, InInitializationOrder), wiping PE headers and PDB debug paths from RAM, and applying DACL protections to the Launcher process.AnalysisNode tree inspects every embedded payload recursively. If any nested binary (Child PE) is classified as malicious, the system triggers the Child Dominance Rule, elevating the parent document's verdict to MALICIOUS with a minimum threat score of 85/100.suspicious_benign), multi-level deduplication (Exact Hash + Structural Fingerprinting), and group-aware cross-validation via StratifiedGroupKFold.pagefile.sys, and rolls back modified files from the COW Virtual Overlay buffer.| Subsystem & Criterion | V1.6 Technical Specifications & Implementation Stack |
|---|---|
| File Routing Engine | 3-Stage: Magic Bytes (PE, PDF, PK, OLE2, ELF, Shebang) + In-Memory Container Inspection (ZIP OOXML for DOCX/XLSX/PPTX) + Script Classifier (PS1, VBS, JS, BAT, HTA) |
| Native C++ PDF Analyzer V2.0 | C++17 Binary-Safe Parser, FlateDecode/ASCIIHex/LZW Inflate, Recursive Embedded Payloads (MZ), Javascript Deobfuscation & Acrobat API Analyzer, 57 Vector Features |
| Anti-Bomb / DoS Defense | ParserLimits: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Analysis Timeout 30s |
| Sandbox Environment | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Admin SIDs & Dangerous Privileges) + Dedicated Virtual Desktop |
| Filesystem / Registry Virtualization | 2-Layer Copy-On-Write (COW) Virtual Overlay supporting Alternate Data Streams (ADS), Reparse Points, and Merged Virtual Registry View |
| Stealth Monitoring Techniques | 3-Way PEB Module Unlinking (InLoadOrder, InMemoryOrder, InInitializationOrder) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| Hooking & Behavioral Graph | MinHook Engine + RAII HookGuard + Cross-Process BehaviorGraph (Remote Thread, Process Hollowing, APC Queue Injection tracking) |
| Hardware-Assisted Intel PT | Hardware Tracing via CPUID leaf 0x14, Windows Kernel Tracing ProcessIntelProcessorTrace Class 47, TNT/TIP/FUP Packet Decoding |
| Static PE Disassembly Engine | Capstone Disassembler (x86/x64) + Opcode TF-IDF + API N-Grams + CFG Cyclomatic Complexity + YaraGen (Rust Noise Blacklist) + SSDEEP/TLSH |
| Machine Learning / AI Ensemble | PyTorch Sequence Embedder + CFG GNN + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
The sequence diagram below illustrates the end-to-end execution flow from raw file ingestion to static/dynamic triage, recursive decomposition, AI inference, and offline disaster recovery:
sequenceDiagram
autonumber
actor Analyst as Analyst / Operator
participant GUI as Desktop GUI / CLI Runner
participant Router as 3-Stage FileRouter
participant Static as Static Engine (PE/PDF/Office)
participant RecTree as Recursive Analysis Tree
participant Sandbox as Ring-3 Stealth Sandbox
participant BHR as BHR Ransomware Engine
participant AI as AI Ensemble & BehaviorGraph
participant WinRE as BHPAI Rescue Suite (WinRE)
Analyst->>GUI: Ingest Sample (PE, PDF, Doc, Script)
GUI->>Router: Route File Format (Magic Bytes/Container)
alt PDF Format
Router->>Static: Parse via C++ PDF Parser V2.0
Static->>RecTree: Extract JavaScript & Embedded Streams
opt Contains Embedded PE / Shellcode
RecTree->>Static: Static Scan of Child PE
Static-->>RecTree: Detect Malicious Payload (Trigger Child Dominance Rule)
end
else PE Format
Router->>Static: Disassemble via Capstone, Opcode TF-IDF, CFG, YaraGen
end
Static->>AI: Vectorize Static Features & Compute Initial Inference
opt In-Depth Dynamic Analysis Requested
GUI->>Sandbox: Launch Sample in Virtual Desktop & Job Object
Note over Sandbox: Activate PEB Unlink, COW FS/Reg, MinHook, Intel PT
Sandbox->>BHR: Real-Time Stream Entropy & Write Rate Monitoring
opt Ransomware Activity Detected (Entropy >= 7.5, Burst I/O)
BHR->>BHR: Trigger RAM & Pagefile Candidate Key Extractor
BHR->>Sandbox: Record Crypto Timeline & Transformation Map
end
Sandbox->>AI: Stream Hooked & ETW Events into BehaviorGraph
AI->>AI: Match Attack Chain Patterns & Map to MITRE ATT&CK
end
AI-->>GUI: Emit Universal Schema 2.0 Report (Threat Score, IOCs)
opt System Severely Compromised / Ransomware Screen Locker Active
Analyst->>WinRE: Boot into Windows Recovery Environment
WinRE->>WinRE: 5-Phase Transaction: Scan -> Backup -> Unbrick Registry -> Rollback
WinRE-->>Analyst: Host System Restored to Clean Baseline
endCore source implementations: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Initialized via CreateDesktopW with security flags DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. All graphical windows, Windows Messages (WM_DROPFILES, WM_COPYDATA, UI hooks), and keystroke loggers are strictly isolated from the interactive user session (Default Desktop).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Guarantees that terminating the launcher instantly and cleanly terminates the entire child process tree.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Caps maximum commit charge to 512MB per process, preventing memory starvation attacks.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Restricts active processes to 32, thwarting fork-bomb denial-of-service attempts.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Suppresses Windows Error Reporting crash dialogs.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Prevents unauthorized cross-process handle sharing and global atom pollution.The Launcher constructs a restricted security token via CreateRestrictedToken before executing CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID or SECURITY_MANDATORY_MEDIUM_RID.To minimize monitoring footprints against anti-analysis techniques in user-mode:
BHPAIMonitor.dll automatically unlinks its own LDR_DATA_TABLE_ENTRY from all 3 doubly-linked module lists within the Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Traversals of PEB->Ldr or calls to EnumProcessModules by malware reveal zero evidence of the monitoring DLL.PAGE_READWRITE and zeroes out its IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER, and Debug Directory PDB file path strings, defeating in-memory signature scanners.SetKernelObjectSecurity with an empty discretionary access control list (DACL), blocking PROCESS_TERMINATE, PROCESS_VM_WRITE, and PROCESS_SUSPEND_RESUME from lower-integrity processes.The monitoring agent hooks low-level Native NT APIs in ntdll.dll and kernelbase.dll using the MinHook Engine:
| API Subsystem | Hooked Native NT API | Monitoring & Redirection Objective |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Detects child spawning, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Catches PAGE_EXECUTE_READWRITE allocations, Hollowing, Shellcode. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Logs I/O, redirects to COW Overlay, evaluates Shannon Entropy. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Tracks Persistence keys, redirects writes to Virtual Registry. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Neutralizes ProcessDebugPort checks, thread hiding, accelerates sleeps. |
Every detour is guarded by an RAII-based HookGuard (thread_local bool in_hook), eliminating infinite recursive re-entrancy deadlocks.
To safeguard the underlying host while allowing malware to execute unhindered:
GENERIC_READ) are served directly from the original disk files.GENERIC_WRITE) or deletions (FILE_DELETE_ON_CLOSE), the file is copied on demand to BHPAI_Sandbox_Overlay\Files\. All subsequent modifications operate on this isolated sandbox clone.file.txt:zone.identifier), Reparse Points, and Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) are redirected to HKCU\Software\BHPAI_Virtual_Registry\.Leverages Microsoft Event Tracing for Windows (ETW) kernel sessions:
Microsoft-Windows-Kernel-Process: Captures process creation even if malware bypasses userland hooks via direct syscalls.Microsoft-Windows-Kernel-Network: Captures raw TCP/UDP socket activity.Microsoft-Windows-Kernel-Memory: Detects cross-process virtual memory mapping.Integrated network simulator (FakeNetEngine.cpp):
127.0.0.1).IntelPTMonitor.cpp interfaces directly with CPU hardware tracing primitives:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace (Class 47).TNT (Taken/Not-Taken branch decisions), TIP (Target IP), and FUP (Function Pointer), exposing ROP chains and control flow redirects without software-based binary rewriting.malwarebenignsuspicious_benignStratifiedGroupKFold| Phát hiện Ransomware | Real-time Shannon Entropy Calculation ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Shadow Copy Wiping Detector |
| Trích xuất Khóa & Khôi phục | RAM & pagefile.sys Extractor cho 20+ thuật toán (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Rollback |
| Sao lưu Mã hóa Độc lập (Vault) | Client-Side Zero-Knowledge E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Re-Keying ($K_{\text{vault}}$) + Canonical AAD |
| Cứu hộ Ngoại tuyến WinRE | bhpai_rescue.exe C++17 standalone, 7 phân hệ, 5-Phase ACID transaction, Crash state recovery, tự động mount registry offline |
| Giao diện Desktop & Bản quyền | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing engine |
| 🔴 Detected (Shadow Copy Deletion) |
3-Tier Dataset (malware, benign, suspicious_benign), Level-1 (SHA256) & Level-2 (Structural Fingerprint) Dedup, StratifiedGroupKFold |
| Ransomware Detection (BHR) | Real-Time Shannon Entropy Rate ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Volume Shadow Copy Deletion Command Detector |
| Key Extraction & Recovery | RAM & pagefile.sys Extractor for 20+ Standards (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Overlay Rollback |
| Zero-Knowledge Backup Vault | Client-Side E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Master Re-Keying ($K_{\text{vault}}$) + Canonical Binary AAD + Bucket Padding |
| WinRE Emergency Rescue Suite | bhpai_rescue.exe C++17 standalone, 7 core subsystems, 5-Phase ACID transaction, Crash state recovery, automatic offline registry hive loading |
| Desktop GUI & Licensing | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing Engine |