
Многоформатная платформа анализа вредоносного ПО, объединяющая стелс-песочницу Ring-3 для Windows, статические анализаторы PE/PDF, восстановление ключей программ-вымогателей и ансамбль ИИ для обнаружения с устойчивостью к ложным срабатываниям.
Версия системы: V1.6 Enterprise Edition (Комплексное обновление функций системы)
Автор: Rin449 Языки и ключевые технологии: 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
Справочный мастер-документ: Детали мультиформатной архитектуры (Multi-Format), алгоритмы рекурсивного анализа, статический анализ PE и PDF, динамический мониторинг Sandbox Stealth Ring-3, извлечение структур ключей Ransomware, модель ИИ, устойчивая к ложным срабатываниям (False Positive Resistant), система офлайн-восстановления WinRE и защита данных Zero-Knowledge.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sysBehaviorGraph) и State Machine цепочки атакbhpai_rescue.exebhpai_rescue.exeВ эпоху современной кибербезопасности целевые атаки (APT), шпионское ПО и программы-вымогатели (Ransomware) вышли за рамки традиционных исполняемых файлов (.exe, .dll):
/Launch для скрытого выполнения команд) или упаковка встроенных PE-исполняемых файлов внутри PDF в виде Dropper.BHPAI версии V1.6 Enterprise — это многоуровневая система кибербезопасности, обеспечивающая комплексную защиту цепочки атак через архитектуру Multi-Format Hybrid Engine: автоматическая мультиформатная маршрутизация (PE, PDF, Office, Script), рекурсивный анализ вложенных payload, изоляция Sandbox Ring-3 stealth, аппаратный мониторинг Intel PT и модель ИИ с калибровкой против ложных срабатываний.
BHPAI V1.6 разработан на основе модели Маршрутизация - Рекурсивное разложение - Корреляция поведения - Офлайн-восстановление:``` ┌───────────────────────────────────────────────┐ │ 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 │ └─────────────────────────┘ └─────────────────────────┘
1. **Safety First & Anti-Bomb (Безопасность прежде всего и защита от бомб)**: Изоляция процессов через отдельный виртуальный рабочий стол (`BHPAISandboxDesktop`), ограничение Job Object (RAM 512MB, CPU, запрет Breakaway) и понижение привилегий с помощью Restricted Token. Модуль распаковки PDF-потоков защищён `AnalysisBudget` и `ParserLimits` от Decompression Bomb (максимальный коэффициент сжатия 100:1, ограничения размера и глубины вложенности).
2. **Stealth Anti-Evasion (Минимизация footprint в User-mode)**: DLL-монитор Ring-3 активно минимизирует следы против обычных техник анти-анализа путём удаления из 3 двусвязных списков PEB Module (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), очистки PE Header и Debug PDB в RAM, а также установки DACL для защиты Launcher от базовых вызовов `OpenProcess(PROCESS_TERMINATE)`.
3. **Recursive Analysis Tree & Child Dominance (Рекурсивный анализ и доминирование дочерних узлов)**: Архитектура дерева `AnalysisNode` рекурсивно проверяет каждый встроенный файл внутри документа. При обнаружении вредоносного дочернего исполняемого файла (Child PE) система активирует **Child Dominance Rule**, автоматически повышая вердикт родительского документа до **MALICIOUS** с минимальной оценкой риска 85/100.
4. **False-Positive Resistance AI (Устойчивость к ложным срабатываниям)**: Устранение ошибочных упрощённых выводов благодаря организации трёхуровневого набора данных (`suspicious_benign`), многоуровневой дедупликации (Exact Hash + Structural Fingerprint) и стратифицированному разбиению групп `StratifiedGroupKFold`.
5. **Data Protection & Key Recovery (Обнаружение и поддержка извлечения кандидатных ключей)**: BHR Engine обнаруживает поведение интенсивного энтропийного шифрования в рамках Win32/NT I/O, сканирует структуры кандидатных ключей (AES-GCM GHASH $H$, ChaCha20 state, RSA DER, X25519) в RAM и `pagefile.sys` до освобождения памяти процессом, а также поддерживает откат файлов, записанных в буфер COW Overlay, для стандартных операций I/O.
---
### 1.3 Таблица ключевых технических характеристик V1.6 (Technical Highlights)
| Подсистема и критерий | Технические характеристики и технологии реализации V1.6 |
| :--- | :--- |
| **Маршрутизация файлов (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) |
| **Нативный анализ PDF V2.0** | C++17 Binary-Safe Parser, FlateDecode/ASCIIHex Inflate, Recursive Embedded Payloads (`MZ`), Javascript Obfuscation & Acrobat API Analyzer, 57 Vector Features |
| **Защита Anti-Bomb / DoS** | `ParserLimits`: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Timeout 30 секунд |
| **Среда Sandbox** | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Dangerous Privileges) + Virtual Desktop |
| **Виртуализация Filesystem/Registry** | Copy-On-Write (COW) Virtual Overlay 2 уровня с поддержкой Alternate Data Streams (ADS), Reparse Points и Merged Virtual Registry View |
| **Техника Stealth Monitor** | Unlink PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| **Hooking и граф поведения** | MinHook Engine + RAII `HookGuard` + `BehaviorGraph` межпроцессный (Remote Thread, Process Hollowing, APC Queue Injection) |
| **Мониторинг аппаратного Intel PT** | Hardware-Assisted Tracing via CPUID leaf 0x14, `ProcessIntelProcessorTrace` Class 47, TNT/TIP/FUP Packet Decoder |
| **Статический анализ PE (Static)** | Capstone Disassembler (x86/x64) + Opcode TF-IDF + API N-Grams + CFG Cyclomatic Complexity + YaraGen (Rust Blacklist) + SSDEEP/TLSH |
| **Набор моделей AI / Machine Learning** | PyTorch Sequence Embedder + GNN на CFG + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
| **Обучение с защитой от False Positive** | Набор данных 3 уровней (`malware`, `benign`, `suspicious_benign`), Dedup уровня 1 (SHA256) и уровня 2 (Structural Fingerprint), `StratifiedGroupKFold` |
| **Обнаружение Ransomware** | Real-time Shannon Entropy Calculation ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Shadow Copy Wiping Detector |
| **Извлечение ключей и восстановление** | RAM & `pagefile.sys` Extractor для 20+ алгоритмов (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Rollback |
| **Независимое шифрованное резервное копирование (Vault)** | Client-Side Zero-Knowledge E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Re-Keying ($K_{\text{vault}}$) + Canonical AAD |
| **Офлайн-восстановление WinRE** | `bhpai_rescue.exe` C++17 standalone, 7 подсистем, 5-Phase ACID transaction, Crash state recovery, автоматическое монтирование registry offline |
| **Desktop-интерфейс и лицензирование** | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing engine |
---
## 2. СХЕМА АРХИТЕКТУРЫ И ОБЩИЙ ПОТОК ОБРАБОТКИ ДАННЫХ
Диаграмма последовательности отображает поток обработки от момента приёма входного файла до извлечения payload, статического/динамического анализа, классификации AI и восстановления данных:```mermaid
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
end
Основной исходный код находится в: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Инициализируется через CreateDesktopW с флагами DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Все графические окна, сообщения Windows Message (WM_DROPFILES, WM_COPYDATA, UI Redirection) вредоносного кода полностью изолированы в виртуальном рабочем столе, отделённом от экрана пользователя (Default Desktop).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: При завершении процесса Launcher всё дерево дочерних процессов вредоносного кода автоматически уничтожается.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Ограничение ОЗУ максимум 512MB на процесс для предотвращения исчерпания системных ресурсов.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Ограничение максимум 32 одновременных процессов для защиты от Fork-Bomb атак.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Блокировка окна Windows Error Reporting Crash Dialog.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Предотвращение вмешательства в Handle и глобальные Atoms.Launcher создаёт ограниченный Token через CreateRestrictedToken перед вызовом CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID или SECURITY_MANDATORY_MEDIUM_RID.Для минимизации возможности обнаружения вредоносным кодом DLL мониторинга в адресном пространстве Ring-3:
BHPAIMonitor.dll автоматически удаляет свой LDR_DATA_TABLE_ENTRY из 3 двусвязных списков в Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Когда вредоносный код перебирает PEB->Ldr или вызывает EnumProcessModules, модуль мониторинга не отображается в списке.PAGE_READWRITE и обнуление (Zero-fill) области IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER и строки Debug Directory PDB Path DLL в оперативной памяти, предотвращая техники сканирования сигнатур памяти.SetKernelObjectSecurity с пустым списком управления доступом (DACL), отклоняя права PROCESS_TERMINATE, PROCESS_VM_WRITE и PROCESS_SUSPEND_RESUME от процессов с более низким уровнем целостности.Система использует MinHook Engine для прямого вмешательства в низкоуровневые функции Native NT API в ntdll.dll и kernelbase.dll:
| Группа API | Перехваченная Native-функция | Цель мониторинга и перенаправления |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Обнаружение создания дочерних процессов, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Выявление выделения PAGE_EXECUTE_READWRITE, Process Hollowing, Shellcode Injection. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Регистрация I/O, перенаправление COW Overlay, измерение Shannon Entropy. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Мониторинг точек автозапуска (Persistence) и перенаправление COW. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Блокировка обнаружения ProcessDebugPort, ThreadHideFromDebugger, ускорение Sleep Evasion. |
Все функции-хуки защищены слоем RAII HookGuard (thread_local bool in_hook), обеспечивающим защиту от бесконечного повторения (Recursive Hook Loop Deadlock).
Для безопасной защиты реальной системы при сохранении нормального взаимодействия вредоносного кода:
GENERIC_READ, система разрешает чтение из исходного файла.GENERIC_WRITE или удаления FILE_DELETE_ON_CLOSE: Исходный файл немедленно копируется в виртуализированную временную папку BHPAI_Sandbox_Overlay\Files\. Все операции изменения данных выполняются над этой копией.file.txt:zone.identifier), Reparse Points и Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) отображаются на временную ветвь HKCU\Software\BHPAI_Virtual_Registry\.Используется подсистема Microsoft Event Tracing for Windows (ETW) для перехвата событий из Kernel:
Microsoft-Windows-Kernel-Process: Перехват событий создания процессов даже когда вредоносный код использует Direct Syscalls для обхода Userland Hooks.Microsoft-Windows-Kernel-Network: Регистрация низкоуровневых TCP/UDP соединений.Microsoft-Windows-Kernel-Memory: Отслеживание операций кросс-процессного отображения памяти (Cross-Process Memory Mapping).Интегрирован движок независимой симуляции сети (FakeNetEngine.cpp):
127.0.0.1).Подсистема IntelPTMonitor.cpp использует функцию аппаратного отслеживания процессора Intel:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace).TNT (Taken/Not-Taken Branch), TIP (Target IP) и FUP (Function Pointer), позволяющий обнаруживать ROP (Return-Oriented Programming) Chains и декодировать поток выполнения без зависимости от программного обеспечения.Несмотря на проектирование с множеством уровней защиты, среда динамического анализа Ring-3 имеет естественные технические границы, которые необходимо чётко понимать в реальных боевых условиях:
ntdll.dll на диске и выполняет бинарную команду syscall / sysenter напрямую из собственной памяти, поток выполнения переходит напрямую в Kernel, минуя функции, установленные MinHook в ntdll.dll.Основной исходный код находится в: 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 значительно отличается от VirtualSize.IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE (W^X Violation).cs_open(CS_ARCH_X86, CS_MODE_32 / CS_MODE_64) с детальной конфигурацией CS_OPT_DETAIL..text, .code).mov -> push -> call -> test -> jz).IMAGE_IMPORT_DESCRIPTOR (IAT) и анализ пар API с высокой степенью подозрительности:
VirtualAlloc $\rightarrow$ WriteProcessMemory $\rightarrow$ CreateRemoteThread.FindResource $\rightarrow$ LoadResource $\rightarrow$ LockResource $\rightarrow$ SizeofResource.CryptAcquireContext $\rightarrow$ CryptGenKey $\rightarrow$ CryptEncrypt.jmp, call, ret, je, jne).UPX0, UPX1, UPX2, ASPack, PECompact, Themida, VMProtect, .mpress.library\core\src\..., panicked at, alloc::raw_vec).Основной исходный код находится в: Analyzers/PDF/, FileRouter.hpp, UniversalDefanger.hpp, UniversalReportSchema.hpp, pdf_analyzer.exe.
Система не полагается на расширение файла (.exe, .pdf), а использует архитектуру маршрутизации 3-Stage FileRouter:
4D 5A (MZ) $\rightarrow$ FileFormat::PE25 50 44 46 (%PDF) $\rightarrow$ FileFormat::PDF50 4B 03 04 (PK..) $\rightarrow$ Container InspectionD0 CF 11 E0 (OLE2 Compound Document) $\rightarrow$ FileFormat::Office7F 45 4C 46 (.ELF) $\rightarrow$ FileFormat::ELF#! (Shebang) / MZ / <html> $\rightarrow$ Соответствующая ветвь[Content_Types].xml & word/ $\rightarrow$ FileFormat::Office (Word DOCX)xl/ $\rightarrow$ FileFormat::Office (Excel XLSX)ppt/ $\rightarrow$ FileFormat::Office (PowerPoint PPTX)classes.dex / AndroidManifest.xml $\rightarrow$ FileFormat::APKMETA-INF/MANIFEST.MF $\rightarrow$ FileFormat::JAR.ps1), VBScript (.vbs), JavaScript (.js), Batch (.bat), HTML Application (.hta).Analyzers/PDF/)Анализатор PDF полностью написан на чистом C++17, бинарно безопасен и не зависит от громоздких внешних библиотек:
/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) и эксплуатации Adobe Reader APIs (util.printf, collab.getIcon, spell.customDictionaryOpen).AnalysisNode Architecture)Иерархическая рекурсивная древовидная структура управляет всеми встроенными payload:``` [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)
---
### 5.4 Движок Контекстной Оценки Риска и Правило Доминирования Дочернего Узла (Child Dominance Rule)
1. **Contextual Risk Scoring Engine**: Оценка на основе комбинированных контекстных весов (Action Trigger $\times$ JavaScript Risk $\times$ Exploit Indicators).
2. **Child Dominance Rule (Правило Доминирования Дочернего Узла)**:
- Если любой дочерний узел в рекурсивном дереве (`Child Node`) имеет заключение **`MALICIOUS`** (например: прикреплённый PE-файл является ransomware или trojan):
- Корневой родительский узел (Parent Document) **автоматически повышается в заключении до `MALICIOUS`**.
- Оценка риска родительского узла автоматически устанавливается:
$$\text{Score}_{\text{parent}} = \max(\text{Score}_{\text{parent}}, 85, \text{Score}_{\text{child}})$$
---
### 5.5 Защита от Anti-DoS и Защита от Бомб Декомпрессии (Decompression Bomb Protection)
Для обеспечения того, чтобы система не подверглась атаке истощения ресурсов (Denial-of-Service):
- **Конфигурация `ParserLimits`**:
- Ограничение максимального размера входного файла: **500 MB**.
- Ограничение максимального суммарного объёма распакованного потока: **250 MB**.
- Максимальный коэффициент сжатия (Max Compression Ratio): **100.0:1** (при превышении этого порога распаковка немедленно останавливается и помечается `DecompressionBombDetected`).
- Ограничение максимального количества объектов: **100,000 Objects**.
- Ограничение глубины вложенности фильтров распаковки: **Максимум 6 уровней**.
- **Механизм `AnalysisBudget`**:
- Установка таймера обратного отсчёта с максимальным временем timeout: **30 секунд/файл**.
- Автоматическая отмена рекурсивного анализа при превышении временного бюджета без краха приложения.
---
### 5.6 Сопоставление MITRE ATT&CK на Основе Доказательств и Universal IOC Defanger
1. **Evidence-Based MITRE ATT&CK Mapping**:
Каждая техника MITRE ATT&CK назначается с конкретным доказательством (Evidence String, Object ID, Byte Offset):
- `T1204.002` (Malicious File): Обнаружен `/OpenAction`, указывающий на Object 8.
- `T1059.007` (JavaScript): Обнаружена строка эксплуатации памяти в Object 14.
- `T1027.009` (Embedded Payloads): Обнаружен исполняемый PE-бинарник в `/EmbeddedFiles`.
2. **Universal IOC Defanger (`UniversalDefanger.hpp`)**:
Автоматическое обезвреживание индикаторов компрометации перед отображением или экспортом отчёта:
- URL: `http://malicious.com/c2` $\rightarrow$ `hxxp://malicious[.]com/c2`
- IPv4 / IPv6: `192.168.1.100` $\rightarrow$ `192.168.1[.]100`
- Domain: `evil-trojan.top` $\rightarrow$ `evil-trojan[.]top`
---
### 5.7 Стандартизация Выходного Отчёта Universal Schema 2.0
Каждый аналитический модуль (PE, PDF, Dynamic Sandbox, WinRE) возвращает унифицированные данные по стандарту **Universal JSON Schema 2.0**:
- `metadata`: `sha256`, `md5`, `file_size`, `format`, `timestamp`.
- `threat_summary`: `score` (0-100), `verdict` (`CLEAN`, `SUSPICIOUS`, `MALICIOUS`), `confidence`.
- `analysis_tree`: Иерархическая рекурсивная древовидная структура всех payload.
- `mitre_matrix`: Список тактик и техник ATT&CK с доказательствами.
- `extracted_iocs`: Список IP, URL, Domain, Hash, прошедших defanged.
---
## 6. ДЕТАЛИ МОДУЛЯ 4: 3-УРОВНЕВЫЙ DATASET И AI PIPELINE PDF ПРОТИВ FALSE POSITIVE
Основной исходный код находится в: [`dataset/pdf/`](file:///c:/Users/Kryo/Documents/BHPAI/dataset/pdf), [`model/pdf_features.py`](file:///c:/Users/Kryo/Documents/BHPAI/model/pdf_features.py), [`model/train_pdf.py`](file:///c:/Users/Kryo/Documents/BHPAI/model/train_pdf.py).
### 6.1 Структура 3-Уровневого Dataset (`dataset/pdf/`)
Для радикального решения проблемы ложных срабатываний (False Positive), часто встречающейся в AI-моделях кибербезопасности:
1. **`malware/`**: Реальные образцы вредоносного ПО, собранные из реальной среды атак (PDF с CVE Exploits, Droppers, Phishing Forms, Obfuscated JS).
2. **`benign/`**: Стандартные офисные PDF-документы (книги, финансовые счета, академические документы, административные бумаги).
3. **`suspicious_benign/` (Hard Negatives - Набор подавления ложных срабатываний)**:
- Полностью чистые PDF-документы, но обладающие сложными техническими характеристиками: электронные счета с цифровой подписью X.509 PKCS#7 (`/Sig`, `/ByteRange`), формы AcroForm, содержащие легитимный вычислительный JavaScript, документы с прикреплёнными легитимными текстовыми файлами (`/EmbeddedFiles`), технические документы, содержащие фрагменты исходного кода и обфусцированные строки.
---
### 6.2 Устранение Логического Ярлыка "False Positive Machine" через Hard Negatives
- Обычные AI-модели при виде ключевого слова `/JavaScript` или `/EmbeddedFiles` склонны немедленно присваивать метку вредоносного ПО (Heuristic Shortcut).
- Включение группы `suspicious_benign` в обучающий набор заставляет модель LightGBM изучать более глубокие корреляции (комбинацию энтропии командных строк, имён вредоносных API, глубины распаковки) вместо простого выявления ошибок на основе наличия ключевого слова.
---
### 6.3 Многоуровневая Дедупликация перед Разделением (Multi-Level Deduplication)
Для устранения явления утечки данных (Data Leakage) между обучающим и тестовым наборами:
1. **Deduplication Уровня 1 (Exact Hash)**: Удаление файлов с совпадающими хеш-суммами SHA-256 / MD5.
2. **Deduplication Уровня 2 (Structural Fingerprinting)**:
- Вычисление вектора структурного хеша дерева объектов PDF и семантического содержимого.
- Удаление производных вариантов (варианты с изменённым именем, изменёнными метаданными, но с идентичной структурой дерева byte-stream).
---
### 6.4 Разделение Независимых Наборов против Утечки Данных `StratifiedGroupKFold`
- Использование алгоритма `StratifiedGroupKFold` (с `n_splits=5`).
- Группировка по идентификатору семейства документов (`Family Group ID`), обеспечивающая нахождение всех файлов с общим структурным происхождением целиком в одном наборе (либо Train, либо Test), предотвращая явление заучивания и завышения ложной точности.
---
### 6.5 Вектор из 57 Признаков и Калибровка Вероятностей (`CalibratedClassifierCV`)
1. **Пространство из 57 Всеобъемлющих Признаков**:
- Группа Структуры Header & Trailer (12 признаков): `count_obj`, `count_stream`, `count_xref`, `count_trailer`, `has_eof`, `version_number`...
- Группа Активации Поведения (15 признаков): `count_js`, `count_javascript`, `count_openaction`, `count_launch`, `count_embeddedfiles`, `count_richmedia`...
- Группа Энтропии и Потоковых Фильтров (18 признаков): `stream_entropy_mean`, `stream_entropy_max`, `flatedecode_depth`, `ratio_uncompressed`...
- Группа Эксплуатации Кода и Цифровых Подписей (12 признаков): `heap_spray_pattern_count`, `eval_count`, `has_signature`, `invalid_xref_count`...
2. **Калибровка Вероятностей (`CalibratedClassifierCV`)**:
- Использование калибровки Isotonic Regression и Platt Sigmoid Scaling на независимом validation-наборе, приводящее выход дерева решений LightGBM к реальной статистической вероятности $P(\text{Malicious} \mid X) \in [0.0, 1.0]$.
---
### 6.6 Результаты Benchmark Валидации и Устойчивость к Ложным Срабатываниям (Audit Report)
Экспериментальная оценка на независимом тестовом наборе (Test Set):
| Метрика Оценки | Достигнутое Значение V1.6 | Техническая Оценка |
| :--- | :---: | :--- |
| **Accuracy (Общая точность)** | **99.42%** | Сбалансированность на всех 3 наборах данных |
| **Malware Recall (Полнота обнаружения вредоносного ПО)** | **99.15%** | Обнаружение большинства образцов эксплуатации CVE и PDF Dropper |
| **False Positive Rate на `benign`** | **0.00%** | Ложные срабатывания на стандартных офисных документах не зафиксированы |
| **False Positive Rate на `suspicious_benign`** | **0.21%** | Эффективная устойчивость к ложным срабатываниям на цифровых счетах и сложных JS-формах |
| **Inference Latency (Задержка AI-инференса)** | **1.85 ms / file** | Высокая скорость, готовность к сканированию в реальном времени |
---
## 7. ДЕТАЛИ МОДУЛЯ 5: MACHINE LEARNING & AI ENSEMBLE (PE & GNN & SHAP)
Основной исходный код находится в: [`AI/`](file:///c:/Users/Kryo/Documents/BHPAI/AI), [`model/`](file:///c:/Users/Kryo/Documents/BHPAI/model), [`model/evaluate_ensemble.py`](file:///c:/Users/Kryo/Documents/BHPAI/model/evaluate_ensemble.py).
### 7.1 Объединение Многомерного Пространства Признаков (Feature Vectorization)
Модель объединяет пространство признаков исполняемого файла (PE):
1. **Вектор Статической Структуры (Static Vector)**: 128 измерений (Section Entropy, Header Anomalies, Resource Metrics, Import Table Distribution).
2. **Вектор Последовательности Opcode (Disassembly TF-IDF)**: 512 измерений, извлечённых из Capstone Engine.
3. **Вектор Последовательности Вызовов API (API N-Grams)**: 256 измерений.
4. **Вектор Графа Потока Управления (CFG Structural Embeddings)**: 128 измерений.
---
### 7.2 PyTorch API Sequence Embedder и Control Flow Graph GNN
1. **PyTorch API Sequence Embedder**:
- Двунаправленная рекуррентная нейронная сеть Bi-LSTM + Multi-Head Self-Attention кодирует последовательность вызовов API в компактный семантический вектор.
2. **Control Flow Graph GNN (Graph Neural Network)**:
- Использование модели **Graph Convolutional Network (GCN)** или **Graph Attention Network (GAT)** для передачи сообщений (Message Passing) через узлы Basic Block на CFG, извлекая структуру управления вредоносного ПО независимо от переименования регистров (Register Renaming).
---
### 7.3 Оптимизация Признаков с Помощью SHAP Feature Pruning
- Применение теории игр **SHAP (SHapley Additive exPlanations)** для объяснения решений модели (Explainable AI - XAI).
- Оценка показателя вклада каждого признака (SHAP Value $\phi_i$). Удаление признаков с SHAP value близким к 0 для оптимизации скорости вычислений и повышения способности к обобщению.
---
### 7.4 Модель Классификации LightGBM Ensemble (Adam, Eve, Marcus) и Динамический Порог
Архитектура Ensemble, объединяющая 3 специализированные модели:
1. **Model Adam (Static Specialist)**: Специализация на классификации по признакам структуры PE, Opcode TF-IDF и Header Entropy.
2. **Model Eve (Dynamic & Behavior Specialist)**: Специализация на классификации по графу поведения `BehaviorGraph`, журналам API Hooks и Kernel ETW.
3. **Model Marcus (Graph & Sequence Embedder)**: Специализация на классификации по выходу GNN и PyTorch API Sequence Embedder.
4. **Dynamic Thresholding Engine**:
- Вычисление интегрированной взвешенной оценки риска:
$$\text{Score}_{\text{final}} = w_1 \cdot P_{\text{Adam}} + w_2 \cdot P_{\text{Eve}} + w_3 \cdot P_{\text{Marcus}}$$
- Классификация по 3 уровням: `CLEAN` ($\text{Score} < 40$), `SUSPICIOUS` ($40 \le \text{Score} < 75$), `MALICIOUS` ($\text{Score} \ge 75$).
---
### 7.5 Результаты Benchmark и Экспериментальная Оценка Классификатора AI
Эксперимент на независимом тестовом наборе данных из 20,000 образцов PE (10,000 Clean + 10,000 Malware семейств Ransomware, Trojan, Worm, Backdoor):
| Критерий | 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** |
---
## 8. ДЕТАЛИ МОДУЛЯ 6: BHR ENGINE (RANSOMWARE DETECTOR & KEY RECOVERY)
Основной исходный код находится в: [`Core/sandbox/launcher/`](file:///c:/Users/Kryo/Documents/BHPAI/Core/sandbox/launcher), [`recovery/`](file:///c:/Users/Kryo/Documents/BHPAI/recovery), [`bhr_identify.cpp`](file:///c:/Users/Kryo/Documents/BHPAI/bhr_identify.cpp).
### 8.1 Алгоритм Обнаружения Высокоэнтропийного Шифрования (Shannon Entropy Rate)
BHR Engine отслеживает поток записи данных файлов в реальном времени:
- Каждый раз, когда функция `NtWriteFile` вызывается с блоком данных $\ge 4 \text{ KB}$, система вычисляет Shannon Entropy буфера.
- Если энтропия записываемых данных превышает порог **$\ge 7.5$** (характерно для сжатого блока или зашифрованного ciphertext), счётчик предупреждений активируется.
---
### 8.2 Мониторинг Burst Modification Rate и Поведения Удаления Shadow Copy
1. **Burst File Modification Rate**:
- Отслеживание частоты модификации файлов. Если процесс выполняет модификацию/перезапись более **20 файлов/секунду** с высокоэнтропийными данными, процесс идентифицируется как вспышка поведения Ransomware.
2. **Обнаружение Поведения Удаления Shadow Copy**:
- Мониторинг дочерних процессов, инициирующих команды уничтожения системы резервного копирования:
- `vssadmin.exe delete shadows /all /quiet`
- `wmic.exe shadowcopy delete`
- `bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures`
- `bcdedit.exe /set {default} recoveryenabled no`
- `wbadmin.exe delete catalog -quiet`
---
### 8.3 Извлечение Структур Ключей Шифрования (20+ Standards) из RAM и `pagefile.sys`
При обнаружении поведения шифрования BHR Engine выполняет snapshot памяти процесса и сканирует в поисках структур ключей-кандидатов более чем **20 современных криптографических стандартов**:
1. **AES-128 / AES-256 Key Schedules**: Поиск таблицы расширения ключа (Expanded Key Schedule) через обратное вычисление алгоритма AES S-Box / Rcon.
2. **AES-GCM Authentication Subkey ($H$)**: Идентификация хеш-блока GHASH $H = E_K(0^{128})$, характерного в пространстве памяти.
3. **ChaCha20 / Salsa20 State Matrix**: Поиск строки стандартной 16-байтовой матричной константы: `"expand 32-byte k"` (`0x61707865`, `0x3320646e`, `0x79622d32`, `0x6b206574`) вместе с массивом Nonce и Block Counter.
4. **RSA Private Key ASN.1 DER Header**: Идентификация структуры PKCS#1 DER (`0x30, 0x82` вместе со строкой Modulus $n$, Public Exponent $e$, Private Exponent $d$, Primes $p, q$).
5. **X25519 / Curve25519 Scalar Clamping**: Поиск 32-байтовых строк, удовлетворяющих условию bit clamping (`k[0] &= 248; k[31] &= 127; k[31] |= 64;`).
---
### 8.4 Восстановление Данных из Буфера COW Virtual Overlay (Win32/NT Scope)
Поскольку операции перезаписи и шифрования Ransomware через стандартные файловые API перенаправляются в виртуальный буфер `Overlay\Files\`, оригинальный файл пользователя на жёстком диске в рамках этого маршрута сохраняется.
- `automated_overlay_restore.py` выполняет очистку изменённых файлов в буфере `Overlay\`, позволяя откатить виртуальные изменения без необходимости расшифровки ciphertext.
---
### 8.5 Журнал Crypto Timeline и Карта Преобразований Данных
`CryptoTimeline.cpp` и `crypto_tracker.py` фиксируют все временные метки хода атаки:
- Временная метка запуска процесса и момент первого повышения энтропии файла.
- Список карты преобразований: `Путь исходного файла` $\rightarrow$ `Путь зашифрованного файла`.
- Доля зашифрованных данных по временным меткам (Cryptographic Timeline Graph).
---
### 8.6 Экспериментальное Тестирование Dual-Engine Hybrid Ransomware Memory Key Extraction
Тестирование в контролируемой лабораторной среде на образце Ransomware, имитирующем механизм шифрования Dual-Engine Hybrid (аналогично LockBit 3.0 / BlackCat):
- Симметричное шифрование: AES-256-GCM + ChaCha20.
- Асимметричный обмен ключами: X25519 Ephemeral Scalar + RSA PKCS#1 DER.
- Внесение Heap-шума: 15 областей случайной энтропии и сжатых блоков.
Результаты извлечения структур ключей-кандидатов в сценарии тестового образца (Synthetic Benchmark):
1. **AES-256-GCM Master Key**: Совпадение GHASH $H$ Subkey, оценка достоверности **95.0%**.
2. **ChaCha20 State Matrix**: Идентификация матричной константы и Nonce, оценка достоверности **60.25%**.
3. **X25519 Ephemeral Key**: Идентификация Clamping Pattern Mask, оценка достоверности **57.0%**.
4. **RSA PKCS#1 DER Sequence Private Key**: Идентификация структуры ASN.1 DER, оценка достоверности **60.75%**.
> [!WARNING]
> **Технические Границы и Вызовы в Реальной Среде (Real-World Limitations)**:
> 1. **Zeroization Сразу После Шифрования**: Реальные штаммы Ransomware (такие как Babuk, Conti, LockBit) часто активно вызывают `SecureZeroMemory` или `RtlZeroMemory` для полной очистки массива симметричных ключей сразу после завершения сеанса шифрования. Извлечение возможно только если Memory Dump выполнен своевременно во время процесса шифрования или до вызова функции zeroization.
> 2. **Механизм Асимметричных Ключей C2**: Большинство современных ransomware генерируют пару симметричных Session Key (AES/ChaCha20), шифруют этот session key открытым ключом атакующего (встроенным в вредоносное ПО) и отправляют только Ciphertext на C2 или записывают в конец зашифрованного файла. Private Key не находится в RAM жертвы.
> 3. **Фрагментация в `pagefile.sys`**: Сканирование виртуальной памяти на диске требует, чтобы ключ не был перезаписан (paging churn) и не был фрагментирован на множество несмежных страниц по 4KB. Поэтому сканирование RAM/Pagefile является решением аварийного криминалистического анализа (Best-Effort Forensic Triage), не полностью заменяющим независимые методы резервного копирования данных.
---
### 8.7 Архитектура Recovery Engine Registry и Crypto Dataflow Tracker
- **Recovery Engine Registry** (`recovery/registry.py`): Управление и динамическая регистрация методов восстановления (`automated_overlay_restore.py`, `exact_lookup.py`). Предоставляет механизм `evaluate_all(sample)` для ранжирования оптимального метода расшифровки.
- **Crypto Dataflow Tracker** (`recovery/crypto_tracker.py`): Связывание потока событий шифрования, объектов ключей и верификация валидности на основе последовательности событий I/O в реальном времени.
---
## 9. ДЕТАЛИ МОДУЛЯ 7: BEHAVIOR CORRELATOR & BEHAVIORGRAPH ENGINE V1.6
Основной исходный код находится в: [`BehaviorCorrelator.cpp`](file:///c:/Users/Kryo/Documents/BHPAI/BehaviorCorrelator.cpp), [`BehaviorCorrelator.hpp`](file:///c:/Users/Kryo/Documents/BHPAI/BehaviorCorrelator.hpp), [`EventNormalizer.cpp`](file:///c:/Users/Kryo/Documents/BHPAI/EventNormalizer.cpp).
### 9.1 Нормализация Событий из Множества Источников (Userland Hooks + Kernel ETW)
`EventNormalizer.cpp` принимает тысячи отдельных событий от MinHook Userland DLL и Kernel ETW, нормализуя их в формат JSON Standard:```json
{
"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) и Конечный Автомат Цепочки АтакВ версии V1.6 Enterprise в модуль корреляции поведения интегрирован BehaviorGraph Engine:
ProcessNode) и направленных рёбер (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 и \??\C:\...) к стандартному виду Win32 (C:\...).RegNotifyChangeKeyValue, NtNotifyChangeKey).NetworkSessionTracker) с интегрированным бинарным извлекателем TLS ClientHello Server Name Indication (SNI) и HTTP Request Header (Method/Host/URI).provider, algorithm, mode, keysize, ivlen, inputlen, outputlen, keygen, pid) для CNG/CryptoAPI/NCrypt/SystemFunction без утечки сырых данных.| Tactic | Technique ID | Название Техники | Статус Обнаружения |
|---|---|---|---|
| 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 |
В систему V1.6 интегрирован автоматический 7-мерный набор тестов (tests/):
| Тест | Test Script | Статус | Фактический Результат Измерений |
|---|---|---|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 0 crash / 0 deadlock под нагрузкой непрерывного создания процессов и I/O. |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 0 пропущенных un-normalized путей \Device\. |
| 3. False-Positive Baseline | tests/test_sandbox_false_positive.py | PASSED | Нормальная работа, отсутствие ложных срабатываний на стандартных инструментах Windows. |
| 4. BehaviorGraph Validation | tests/test_sandbox_behavior_graph.py | PASSED | Граф процессов и сетевые сессии TLS SNI/HTTP работают корректно. |
| 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 | Пройдены все тесты Clean, Obfuscated JS, Embedded PE. |
Основной исходный код находится в: Core/vault/, gui_vault.py.
Подсистема Vault V1.6 предлагает решение для независимого резервного копирования с высоким уровнем безопасности по принципу Zero-Knowledge (Нулевое Знание):
---
### 10.2 Протокол аутентификации без раскрытия знаний SRP-6a PAKE (RFC 5054)
Для аутентификации и разблокировки Vault без раскрытия пароля или хеша пароля:
1. **Инициализация данных (Registration / Setup)**: Клиент вычисляет $x = H(s, P)$ и верификатор $v = g^x \pmod N$, сохраняются только соль $s$ и верификатор $v$.
2. **Аутентификация (Authentication)**: Выполняется протокол обмена учётными данными на основе общего секретного значения $S$ и проверки доказательств $M_1, M_2$. Пароль никогда не появляется в открытом виде.
---
### 10.3 Механизм мгновенной смены пароля (Instant Re-Keying Mechanism)
BHPAI решает задачу смены мастер-пароля без повторного шифрования сотен ГБ резервных данных с помощью архитектуры **$K_{ ext{vault}}$ Indirection**:
- Данные файлов шифруются мастер-ключом Vault $K_{ ext{vault}}$.
- Ключ $K_{ ext{vault}}$ защищён ключом разблокировки $K_{ ext{unlock}}$ (генерируемым из пароля).
- При смене пароля: достаточно расшифровать $K_{ ext{vault}}$ старым паролем, затем повторно зашифровать только блок $K_{ ext{vault}}$ новым паролем. **Все резервные данные остаются в неизменном состоянии ciphertext.**
---
### 10.4 Аутентификация стандартизированного AAD и Bucket Size Padding против анализа трафика
1. **Binary Length-Prefixed Canonical AAD** (`Core/vault/integrity.py`): Добавление аутентифицированных дополнительных данных (Authenticated Additional Data) в стандартизированном формате, совместимом между C++ и Python, предотвращающее подмену ciphertext между различными файлами.
2. **Application-Level Bucket Size Padding**: Файлы дополняются (Padding) до фиксированных размеров (64KB, 1MB, 10MB, 100MB) для минимизации возможности определения содержимого файла по размеру ciphertext.
---
### 10.5 Архитектура локального зашифрованного блочного хранилища (Local Encrypted Block Store)
- Управление резервными данными в виде безопасных локальных зашифрованных бинарных блоков.
- Поддержка локальной дедупликации на основе защищённого хеша содержимого (Encrypted Content Chunk Hash).
- Высокая совместимость с хранением на внешних дисках, защищённых USB-накопителях или независимых аварийных разделах.
---
## 11. ДЕТАЛИ ПОДСИСТЕМЫ 9: ДЕСКТОПНЫЙ ИНТЕРФЕЙС PYQT6 GLASSMORPHISM, ЛИЦЕНЗИРОВАНИЕ HWID И ИНСТРУМЕНТ CLI
Основной исходный код находится в: [`gui.py`](file:///c:/Users/Kryo/Documents/BHPAI/gui.py), [`gui_features.py`](file:///c:/Users/Kryo/Documents/BHPAI/gui_features.py), [`gui_vault.py`](file:///c:/Users/Kryo/Documents/BHPAI/gui_vault.py), [`BHPAICrypto/license.py`](file:///c:/Users/Kryo/Documents/BHPAI/BHPAICrypto/license.py).
### 11.1 Архитектура десктопного интерфейса PyQt6 Glassmorphism (многопоточность QThread)
Специализированный десктопный пользовательский интерфейс для полевых исследований и локальной работы:
- **Плавный дизайн без блокировки UI (Non-blocking GUI Responsiveness)**: Вся тяжёлая вычислительная работа (дизассемблирование Capstone, Sandbox IPC, KDF Cryptography, извлечение PE/PDF) полностью отделена от GUI Thread и координируется через **`QThread` Background Workers**.
- **Стиль дизайна Dark Glassmorphism**: Использование современных тёмных тонов, изящных эффектов скругления углов, интуитивных панелей управления и системы графиков состояния в реальном времени.
---
### 11.2 Основные функциональные вкладки десктопного GUI
1. **Multi-Format Scanner Tab**:
- Позволяет перетаскивать любые файлы (PE, PDF, Office, Scripts).
- Отображает оценку угрозы (Threat Score), рекурсивный анализ payload и визуализацию дерева `AnalysisNode`.
2. **Dynamic Sandbox Monitor Tab**:
- Мониторинг журнала событий в реальном времени, потока вызовов API NT Native, дочерних процессов и графиков ресурсов CPU/RAM/Disk IO.
3. **MITRE ATT&CK Matrix Tab**:
- Визуализация матрицы тактик и техник, нарушенных вредоносным ПО, с прямыми доказательствами извлечения.
4. **BHR & Recovery Center Tab**:
- Мониторинг временной шкалы шифрования данных, параметров энтропии в реальном времени и быстрого выполнения отката Rollback.
5. **Zero-Knowledge Encrypted Vault Tab**:
- Управление локальным хранилищем резервных копий с шифрованием E2EE, блокировка/разблокировка vault, резервное копирование важных папок и безопасное восстановление.
---
### 11.3 Система лицензирования с привязкой к аппаратному обеспечению (HWID-Locked Licensing & Ed25519)
Подсистема управления офлайн-лицензиями, защищающая целостность программного обеспечения:
- **Привязка к устройству (HWID Binding)**: Сбор неизменяемой информации об оборудовании (CPU ID, BIOS UUID, Disk Serial, MAC Address), формирующей уникальную строку HWID для каждой рабочей станции.
- **Цифровая подпись Ed25519**: Использование алгоритма публичного ключа Ed25519 для цифровой подписи офлайн-файла сертификата `license.dat`.
- **Офлайн-принуждение (Offline Enforcement)**: Все бинарные инструменты (`BHPAISandbox.exe`, `pe_analyzer.exe`, `bhpai_rescue.exe`) автоматически загружают `license.dat`, проверяют подпись с помощью Master Public Key и сверяют совпадение с HWID компьютера без необходимости сетевого подключения.
---
### 11.4 Движок Threat Intelligence и независимый Universal IOC Defanger
- Встроенная база знаний для распознавания распространённых семейств вредоносного ПО (LockBit, Conti, WannaCry, RedLine, Emotet, Babuk) вместе с набором правил классификации поведения.
- Автоматическое извлечение и defang списка вредоносных IOC (IP, Domain, URL, Hashes) для защиты аналитика в процессе формирования отчётов.
---
### 11.5 Система отчётов мультиформатного Universal Schema 2.0 (JSON, Markdown, PDF)
- **JSON Schema 2.0**: Предоставляет стандартизированную машиночитаемую структуру данных, легко интегрируемую с другими системами анализа.
- **Markdown Summary**: Экспорт наглядного сводного отчёта, поддерживающего быстрый обмен между специалистами по цифровой криминалистике.
- **Отчёт PDF**: Автоматическая генерация профессионального отчёта с графиками распределения энтропии и деревом структуры payload.
---
## 12. ДЕТАЛИ ПОДСИСТЕМЫ 10: BHPAI RESCUE SUITE И ЗАГРУЗКА ЭКСТРЕННОГО ВОССТАНОВЛЕНИЯ WINRE
Основной исходный код находится в:
- Инструмент восстановления C++: [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue), [`bhpai_rescue.exe`](file:///c:/Users/Kryo/Documents/BHPAI/bhpai_rescue.exe).
- Скрипты развёртывания: [`scripts/deploy_winre.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/deploy_winre.ps1), [`scripts/trigger_rescue_reboot.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/trigger_rescue_reboot.ps1).
- Пример отчёта: [`BHPAI_Rescue_Summary.md`](file:///c:/Users/Kryo/Documents/BHPAI/BHPAI_Rescue_Summary.md).
---
### 12.1 Среда офлайн-восстановления Windows Recovery Environment (WinRE)
Когда операционная система парализована атакой Ransomware, блокировщиком экрана (Screen Locker), отключением Safe Mode или вмешательством в системные файлы, прямой анализ на работающей операционной системе сопряжён с рисками из-за противодействия вредоносных процессов или rootkit. **BHPAI Rescue Suite V2** решает эту задачу путём работы из офлайн-среды **Windows Recovery Environment (WinRE)** или Windows PE:
- **Изоляция от работающей среды**: Не подвержен влиянию вредоносных процессов или активных kernel-хуков в основной Windows.
- **Загрузка реестра в офлайне (Offline Hive Loading)**: Автоматическое монтирование реальных файлов структуры реестра на жёстком диске (`SYSTEM`, `SOFTWARE`, `NTUSER.DAT`) во временную ветвь WinRE для редактирования и снятия системных блокировок без необходимости загрузки целевой операционной системы.
- **Air-Gapped и независимость от сети**: Полностью локальное выполнение, не требующее сетевого подключения, снижающее риск отправки сигнала уничтожения данных со стороны botnet C2.
---
### 12.2 Архитектура 7 основных подсистем `bhpai_rescue.exe`
Исходный код в [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue) построен на чистом C++17, статически скомпилирован (static linking) с OpenSSL и 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 (Определение разделов ОС):
FindFirstVolumeW, FindNextVolumeW).System32\ntoskrnl.exe, System32\config\SYSTEM, explorer.exe).OfflineRegistryManager (Управление автономным реестром):
RegLoadKeyW для загрузки файлов hive во временный префикс: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM, BHPAI_OFFLINE_SOFTWARE, BHPAI_OFFLINE_NTUSER.Select\Current (например: ControlSet001).Shell (изменён с explorer.exe на вредоносный файл) и Userinit.taskmgr.exe, cmd.exe, sethc.exe.Windows\System32\Tasks.OfflineMalwareScanner (Сканирование и оценка BHR 10-Pillar):
AppData\Local\Temp, ProgramData, Users\Public, Windows\Temp).MALICIOUS, SUSPICIOUS, CLEAN).OfflineBlastRadius (Оценка радиуса поражения по множеству сигналов):
Desktop, Documents, Downloads, Pictures, Videos).README.txt, DECRYPT_FILES.html, HOW_TO_RESTORE.txt).OfflineCryptoArtifactHunter (Охота за криптографическими ключами):
pagefile.sys, swapfile.sys и файлов crash dump (MEMORY.DMP).RescueRemediator (Оркестрация восстановления):
C:\BHPAI_Rescue_Quarantine\) с хешем SHA-256 для верификации.explorer.exe, удаление IFEO hijacks, отключение фоновых задач (Scheduled Tasks) и вредоносных служб.RescueTransactionJournal (Журнал ACID-транзакций и LIFO Rollback):
Для обеспечения безопасности и предотвращения риска нарушения работы операционной системы Windows RescueRemediator применяет 5-шаговый транзакционный процесс:```
[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ì)
1. **Phase 1 (Detect)**: Полное сканирование, составление списка всех вредоносных бинарных файлов, ключей реестра persistence и затронутых файлов.
2. **Phase 2 (Backup)**: Создание транзакционной папки `C:\BHPAI_Rescue_Backup\`, привязанной к коду Volume GUID и Disk ID. Резервное копирование всех файлов hive (`SYSTEM.before`, `SOFTWARE.before`, `NTUSER.DAT.before`) и сохранение метаданных исходных файлов (размер, временные атрибуты, ACL descriptor).
3. **Phase 3 (Modify)**: Запись каждого действия в журнал транзакций (`transaction.json`), перемещение файлов вредоносного ПО в карантинное хранилище и исправление вредоносных значений реестра.
4. **Phase 4 (Verify)**: Повторная проверка каждого изменения на диске: Подтверждение отсутствия вредоносного файла в исходном расположении, соответствие файла в карантинном хранилище хешу SHA-256, и корректность ссылок Registry Hive на стандартные бинарные файлы Windows.
5. **Phase 5 (Commit)**: Смена статуса транзакции с `IN_PROGRESS` на `COMMITTED`. Если на любом из этапов Phase 3 или Phase 4 возникает сбой, система автоматически запускает **LIFO Rollback**, восстанавливая файлы hive в исходном виде и возвращая файлы из карантинного хранилища в исходное расположение.
---
### 12.4 Механизм самовосстановления при сбое (Crash State Recovery)
Если компьютер внезапно теряет питание или непреднамеренно выключается во время выполнения `bhpai_rescue.exe`:
- При следующей загрузке в WinRE `bhpai_rescue.exe` автоматически прочитает `transaction.json` и обнаружит состояние **CRASH STATE** (`IN_PROGRESS`).
- Программа выдаст предупреждение `[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED`.
- Предоставляется выбор из двух уровней восстановления:
- **Tier 1**: Обратное восстановление в порядке журнала LIFO Rollback.
- **Tier 2 (Emergency Hive Restore)**: Принудительное восстановление всех исходных файлов hive реестра из резервных копий `*.before`.
---
### 12.5 Сценарий развёртывания и автоматической загрузки WinRE
#### 1. Сценарий безопасного внедрения [`scripts/deploy_winre.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/deploy_winre.ps1):
- **Прямой вызов DISM**: Выполнение `& dism.exe` с передачей потока вывода в реальном времени, снижение риска зависания процесса PowerShell.
- **Сохранение состояния конфигурации**: Запоминание исходного состояния WinRE (`reagentc /info`). Если изначально Disabled, после завершения возвращается в Disabled; если изначально Enabled, гарантируется повторная активация WinRE.
- **Резервное копирование перед изменением**: Автоматическое копирование `Winre.wim` в `Winre.wim.BHPAI.backup`.
- **Адаптивный Launcher**: Создание скрипта `Windows\System32\bhpai.cmd`, использующего переменные среды `%~d0` и `%SystemDrive%`, автоматически адаптирующегося к букве диска, назначенной WinPE.
- **Механизм автоматического отката**: Обработка исключений, возникающих в процессе монтирования, автоматическое выполнение `/Discard`, восстановление файла WIM из резервной копии и очистка временных папок.
#### 2. Сценарий запуска восстановления [`scripts/trigger_rescue_reboot.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/trigger_rescue_reboot.ps1):
- Активация WinRE, если он находится в отключённом состоянии.
- Использование стандартной команды `reagentc /boottore` и настройка `bcdedit /set {current} recoveryenabled yes` для указания загрузки компьютера в WinRE при следующей перезагрузке.
---
### 12.6 Руководство по эксплуатации и параметры командной строки `bhpai_rescue.exe`
После загрузки компьютера в Windows Recovery Environment:
1. Нажмите: **Troubleshoot (Устранение неполадок)** $\rightarrow$ **Advanced options (Дополнительные параметры)** $\rightarrow$ **Command Prompt (Командная строка)**.
2. В окне командной строки введите: ```cmd
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
#### Расширенные параметры командной строки (CLI Flags):```cmd
# 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
После завершения каждого сеанса работы система формирует 2 отчёта цифровой криминалистики (DFIR Reports) в корневом каталоге целевого раздела:
C:\BHPAI_Rescue_Report.json: подробный отчёт в формате JSON, содержащий все хеши SHA-256, список ключей, поведение в реестре и метаданные транзакций.C:\BHPAI_Rescue_Summary.md: сводный отчёт в формате Markdown, представляющий обобщение для аналитика (пример ссылки: BHPAI_Rescue_Summary.md).bhpai_sourceopen - 25%)В целях обслуживания сообщества исследователей кибербезопасности, независимого тестирования и демонстрации технических возможностей проект BHPAI выпускает версию Community Edition, хранящуюся в каталоге bhpai_sourceopen. Этот пакет разработан по модели Open-Core:
Core/scanner/: весь исходный код на C++ для анализа структуры PE, извлечения признаков Opcode/API N-Grams, графа CFG Cyclomatic Complexity, TF-IDF, автогенерации правил YaraGen, оптимизированной обработки строк AVX2 StringEx.Core/Decompile/: дизассемблер бинарных файлов x86/x64 через Capstone Engine (Disassembler, PeParser).Core/pack/: модуль распаковки in-memory UPX и WWPack.fuzzy/: алгоритм нечёткого хеширования бинарных файлов SSDEEP (fuzzyhash.c/.h).Analyzers/Common/: трёхэтапная маршрутизация файлов FileRouter, ограничения ParserLimits, сопоставление MITRE ATT&CK MitreMapper, обезвреживание IOC IOCExtractor (Defanging).Core/Train/ & model/: модуль извлечения векторов признаков PE (feature_extractor.py) и конфигурация порогов классификации.scan.py & app_scan.py: сканер командной строки и специализированный настольный интерфейс для PE.[!IMPORTANT] Гарантия авторских прав и независимости:
- Исключение 100% подсистемы PDF: поскольку подсистема PDF находится в процессе доработки, весь исходный код PDF остаётся закрытым и не включён в эту открытую версию исходного кода.
- Исключение 100% набора данных: категорически не публикуется каталог
dataset/(не содержит образцов вредоносного кода или пользовательских документов).- Независимая лицензия: в комплект входит заглушка Community license (
BhpaiLicense.hpp), позволяющая пользователям компилировать и запускать анализ бинарных файлов полностью свободно без активации коммерческого аппаратного ключа.
Мастер-технический документ проекта BHPAI V1.6 Enterprise составлен и стандартизирован командой BHPAI Engineering Team. Все права защищены.
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)| 🔴 Detected (Shadow Copy Deletion) |