
Multi-Format-Malware-Analyseplattform, die eine stealth Ring-3 Windows-Sandbox, statische PE/PDF-Analysatoren, Ransomware-Schlüsselwiederherstellung und ein KI-Ensemble für falsch-positiv-resistente Erkennung kombiniert.
Systemversion: V1.6 Enterprise Edition (Umfassendes Update der Systemfunktionen)
Autor: Rin449 Kernsprachen & -technologien: 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-Referenzdokument: Details zur Multi-Format-Architektur, rekursiven Analysalgorithmen, statischen PE- & PDF-Analyse, dynamischer Sandbox-Stealth-Ring-3-Überwachung, Extraktion von Ransomware-Schlüsselstrukturen, KI-Modell zur Vermeidung von Fehlalarmen (False Positive Resistant), WinRE-Offline-Rettungssystem und Zero-Knowledge-Datensicherheit.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode Architecture)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sysBehaviorGraph) & State Machine der Angriffskettebhpai_rescue.exebhpai_rescue.exeIm heutigen Zeitalter der Cybersicherheit gehen gezielte Angriffe (APT), Spyware und Ransomware über den Bereich traditioneller ausführbarer Dateien (.exe, .dll) hinaus:
/Launch-Aktionen zur Ausführung versteckter Befehle enthalten) oder verpackt eingebettete PE-Ausführungsdateien in Form von Droppern innerhalb von PDFs.BHPAI in der Version V1.6 Enterprise ist ein mehrschichtiges Cybersicherheitssystem, das eine umfassende Schutzlösung für die Angriffskette durch die Multi-Format Hybrid Engine-Architektur bietet: Automatisches Multi-Format-Routing (PE, PDF, Office, Script), rekursive Analyse verschachtelter Payloads, Isolation der Sandbox Ring-3 Stealth, Hardware-Überwachung Intel PT und kalibriertes KI-Modell zur Vermeidung von Fehlalarmen.
BHPAI V1.6 wurde auf Basis des Modells Routing - Rekursive Auflösung - Verhaltenskorrelation - Offline-Wiederherstellung entwickelt:``` ┌───────────────────────────────────────────────┐ │ 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 (Sicherheit zuerst & Anti-Bomb)**: Sandbox isoliert Prozesse über einen separaten virtuellen Desktop (`BHPAISandboxDesktop`), begrenzt Job Objects (RAM 512MB, CPU, Breakaway verboten) und senkt Privilegien mit Restricted Token. Der PDF-Stream-Decompressor wird durch `AnalysisBudget` und `ParserLimits` gegen Decompression Bombs geschützt (maximales Kompressionsverhältnis 100:1, Begrenzung von Größe und Verschachtelungstiefe).
2. **Stealth Anti-Evasion (Minimierung des User-Mode-Footprints)**: Die Ring-3-Überwachungs-DLL minimiert proaktiv Spuren gegenüber gängigen Anti-Analysis-Techniken durch Entfernen aus den 3 doppelt verketteten PEB-Modullisten (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), Löschen von PE-Header & Debug-PDB im RAM und Einrichten einer DACL zum Schutz des Launchers gegen grundlegende `OpenProcess(PROCESS_TERMINATE)`-Befehle.
3. **Recursive Analysis Tree & Child Dominance (Rekursive Analyse & Kind-Dominanz)**: Die `AnalysisNode`-Baumarchitektur prüft rekursiv jede in das Dokument eingebettete Datei. Wenn eine untergeordnete ausführbare Datei (Child PE) als bösartig erkannt wird, aktiviert das System die **Child Dominance Rule** und stuft die Schlussfolgerung des übergeordneten Dokuments automatisch auf **MALICIOUS** mit einem Mindestrisikowert von 85/100 hoch.
4. **False-Positive Resistance AI (Widerstand gegen Fehlalarme)**: Eliminierung falscher Inferenz-Abkürzungen durch Organisation des Datensatzes in 3 Ebenen (`suspicious_benign`), mehrstufige Deduplizierung (Exact Hash + Structural Fingerprint) und Aufteilung der `StratifiedGroupKFold`-Gruppe.
5. **Data Protection & Key Recovery (Erkennung & Unterstützung bei der Extraktion von Kandidatenschlüsseln)**: Die BHR Engine erkennt plötzliche Entropie-Verschlüsselungsaktivitäten im Win32/NT-I/O-Bereich, scannt nach Kandidatenschlüsselstrukturen (AES-GCM GHASH $H$, ChaCha20 State, RSA DER, X25519) im RAM und `pagefile.sys`, bevor der Prozess den Speicher freigibt, und unterstützt zudem das Rollback von Dateien, die in den COW-Overlay-Puffer geschrieben wurden, bei standardmäßigen I/O-Operationen.
---
### 1.3 Tabelle der technischen Kernparameter V1.6 (Technical Highlights)
| Subsystem & Kriterium | Technische Parameter & Implementierungstechnologie V1.6 |
| :--- | :--- |
| **Datei-Routing (File Router)** | 3-Stage: Magic Bytes (PE, PDF, PK, OLE2, Shebang) + Container Inspection (In-memory ZIP für DOCX/XLSX/PPTX) + Script Classifier (PS1, VBS, JS, BAT, HTA) |
| **Native PDF-Analyse 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-Abwehr** | `ParserLimits`: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Timeout 30 Sekunden |
| **Sandbox-Umgebung** | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Dangerous Privileges) + Virtual Desktop |
| **Filesystem-/Registry-Virtualisierung** | Copy-On-Write (COW) Virtual Overlay mit 2 Ebenen, Unterstützung für Alternate Data Streams (ADS), Reparse Points und Merged Virtual Registry View |
| **Stealth-Monitor-Technik** | Unlink PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| **Hooking & Verhaltensgraph** | MinHook Engine + RAII `HookGuard` + `BehaviorGraph` prozessübergreifend (Remote Thread, Process Hollowing, APC Queue Injection) |
| **Intel PT Hardware-Überwachung** | Hardware-Assisted Tracing via CPUID leaf 0x14, `ProcessIntelProcessorTrace` Class 47, TNT/TIP/FUP Packet Decoder |
| **Statische PE-Analyse (Static)** | Capstone Disassembler (x86/x64) + Opcode TF-IDF + API N-Grams + CFG Cyclomatic Complexity + YaraGen (Rust Blacklist) + SSDEEP/TLSH |
| **AI-/Machine-Learning-Modell-Suite** | PyTorch Sequence Embedder + GNN auf CFG + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
| **Training gegen False Positives** | 3-Ebenen-Datensatz (`malware`, `benign`, `suspicious_benign`), Dedup Ebene 1 (SHA256) & Ebene 2 (Structural Fingerprint), `StratifiedGroupKFold` |
| **Ransomware-Erkennung** | Echtzeit-Shannon-Entropie-Berechnung ($\ge 7.5$) + Burst Modification Rate ($>20$ Dateien/s) + Shadow Copy Wiping Detector |
| **Schlüsselextraktion & Wiederherstellung** | RAM- & `pagefile.sys`-Extractor für 20+ Algorithmen (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Rollback |
| **Unabhängiges verschlüsseltes Backup (Vault)** | Client-Side Zero-Knowledge E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Re-Keying ($K_{\text{vault}}$) + Canonical AAD |
| **Offline-Wiederherstellung WinRE** | `bhpai_rescue.exe` C++17 standalone, 7 Subsysteme, 5-Phase ACID-Transaktion, Crash State Recovery, automatisches Mounten der Offline-Registry |
| **Desktop-Oberfläche & Lizenzierung** | PyQt6 Dark Glassmorphism GUI (QThread Workers) + Ed25519 HWID Hardware-Locked Licensing Engine |
---
## 2. ARCHITEKTURDIAGRAMM & GESAMTER DATENVERARBEITUNGSFLUSS
Das Sequenzdiagramm zeigt den Verarbeitungsfluss von der Annahme der Eingabedatei bis zur Extraktion der Payload, statischen/dynamischen Analyse, KI-Klassifizierung und Datenwiederherstellung:```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
Der Hauptquellcode befindet sich unter: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Initialisierung mittels CreateDesktopW mit den Flags DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Alle grafischen Fenster, Windows-Nachrichten (WM_DROPFILES, WM_COPYDATA, UI Redirection) der Malware werden vollständig im virtuellen Desktop eingesperrt und vom Benutzerbildschirm (Default Desktop) isoliert.SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Wenn der Launcher-Prozess beendet wird, wird der gesamte untergeordnete Prozessbaum der Malware automatisch zerstört.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Begrenzung des maximalen RAM auf 512MB/Prozess, um die Erschöpfung der Systemressourcen zu verhindern.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Begrenzung auf maximal 32 gleichzeitige Prozesse, um Fork-Bomb-Angriffe abzuwehren.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Blockiert das Windows Error Reporting Crash Dialog-Fenster.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Verhindert die Manipulation von Handles und globalen Atoms.Der Launcher erstellt ein eingeschränktes Token über CreateRestrictedToken, bevor CreateProcessAsUserW aufgerufen wird:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID oder SECURITY_MANDATORY_MEDIUM_RID.Um die Wahrscheinlichkeit zu minimieren, dass die Malware die Überwachungs-DLL im Ring-3-Speicherbereich erkennt:
BHPAIMonitor.dll entfernt automatisch ihren eigenen LDR_DATA_TABLE_ENTRY aus den 3 doppelt verketteten Listen im Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Wenn die Malware PEB->Ldr durchläuft oder EnumProcessModules aufruft, erscheint das Überwachungsmodul nicht in der Liste.PAGE_READWRITE und Null-Füllung (Zero-fill) der Bereiche IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER und der Debug Directory PDB Path-Zeichenkette der DLL im RAM, um Speichersignatur-Scanning-Techniken zu verhindern.SetKernelObjectSecurity mit einer leeren discretionary access control list (DACL) ein und verweigert die Rechte PROCESS_TERMINATE, PROCESS_VM_WRITE und PROCESS_SUSPEND_RESUME von Prozessen mit niedrigerer Integritätsstufe.Das System verwendet die MinHook Engine, um direkt in die Low-Level Native NT API-Funktionen in ntdll.dll und kernelbase.dll einzugreifen:
| API-Gruppe | Native Hooked-Funktion | Zweck der Überwachung & Umleitung |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Erkennung der Erstellung von Unterprozessen, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Identifizierung von PAGE_EXECUTE_READWRITE-Allokation, Process Hollowing, Shellcode Injection. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Aufzeichnung von I/O, Umleitung des COW Overlay, Messung der Shannon-Entropie. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Überwachung von Autostart-Persistenzpunkten und COW-Umleitung. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Blockierung der Erkennung von ProcessDebugPort, ThreadHideFromDebugger, Beschleunigung der Sleep Evasion. |
Alle Hook-Funktionen sind durch die RAII HookGuard-Klasse (thread_local bool in_hook) geschützt, um eine Endlosschleife (Recursive Hook Loop Deadlock) zu verhindern.
Um das echte System sicher zu schützen, während die Malware normal interagieren kann:
GENERIC_READ öffnet, erlaubt das System das Lesen aus der Originaldatei.GENERIC_WRITE oder Löschen FILE_DELETE_ON_CLOSE: Die Originaldatei wird sofort in das virtualisierte temporäre Verzeichnis BHPAI_Sandbox_Overlay\Files\ kopiert. Alle datenverändernden Operationen werden auf dieser Kopie ausgeführt.file.txt:zone.identifier), Reparse Points und Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) werden auf den temporären Zweig HKCU\Software\BHPAI_Virtual_Registry\ abgebildet.Verwendung des Microsoft Event Tracing for Windows (ETW)-Submoduls zur Erfassung von Kernel-Ereignissen:
Microsoft-Windows-Kernel-Process: Erfasst Prozesserstellungsereignisse, selbst wenn die Malware Direct Syscalls verwendet, um Userland Hooks zu umgehen.Microsoft-Windows-Kernel-Network: Zeichnet Low-Level TCP/UDP-Verbindungen auf.Microsoft-Windows-Kernel-Memory: Überwacht Cross-Process Memory Mapping-Operationen.Integration einer unabhängigen Netzwerksimulations-Engine (FakeNetEngine.cpp):
127.0.0.1).Das Submodul IntelPTMonitor.cpp nutzt die Hardware-Tracing-Funktion von Intel-CPUs:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace).TNT (Taken/Not-Taken Branch), TIP (Target IP) und FUP (Function Pointer), was die Erkennung von ROP (Return-Oriented Programming) Chains und die Dekodierung des Ausführungsflusses ohne Software-Abhängigkeit ermöglicht.Obwohl mit mehreren Schutzschichten entworfen, hat die dynamische Ring-3-Analyseumgebung natürliche technische Grenzen, die in der praktischen Einsatzrealität klar verstanden werden müssen:
ntdll.dll-Datei auf der Festplatte extrahiert und den Binärbefehl syscall / sysenter direkt aus ihrem eigenen Speicher ausführt, springt der Ausführungsfluss direkt in den Kernel, ohne die von MinHook in ntdll.dll installierten Funktionen zu durchlaufen.Der Hauptquellcode befindet sich unter: 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 weicht stark von VirtualSize ab.IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE (W^X Violation).cs_open(CS_ARCH_X86, CS_MODE_32 / CS_MODE_64) mit detaillierter Konfiguration CS_OPT_DETAIL..text, .code).mov -> push -> call -> test -> jz).IMAGE_IMPORT_DESCRIPTOR (IAT) und Analyse hochverdächtiger API-Paare:
VirtualAlloc $\rightarrow$ WriteProcessMemory $\rightarrow$ CreateRemoteThread.FindResource $\rightarrow$ LoadResource $\rightarrow$ LockResource $\rightarrow$ SizeofResource.CryptAcquireContext $\rightarrow$ CryptGenKey $\rightarrow$ CryptEncrypt.jmp, call, ret, je, jne abgeschlossen werden).UPX0, UPX1, UPX2, ASPack, PECompact, Themida, VMProtect, .mpress.library\core\src\..., panicked at, alloc::raw_vec).Der Hauptquellcode befindet sich unter: Analyzers/PDF/, FileRouter.hpp, UniversalDefanger.hpp, UniversalReportSchema.hpp, pdf_analyzer.exe.
Das System verlässt sich nicht auf die Dateierweiterung (.exe, .pdf), sondern verwendet eine 3-Stage FileRouter-Routing-Architektur:
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$ Entsprechende Verzweigung[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/)Der PDF-Analysator ist vollständig in reinem C++17 geschrieben, binärsicher und ohne Abhängigkeit von sperrigen externen Bibliotheken:
/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) und Ausnutzung von Adobe Reader APIs (util.printf, collab.getIcon, spell.customDictionaryOpen).AnalysisNode Architecture)Hierarchische rekursive Baumstruktur zur Verwaltung aller eingebetteten Payloads:``` [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 Kontextuelle Risikobewertungs-Engine & Child-Dominance-Regel
1. **Contextual Risk Scoring Engine**: Bewertung basierend auf kombinierten Kontextgewichten (Action Trigger $\times$ JavaScript Risk $\times$ Exploit Indicators).
2. **Child Dominance Rule (Regel der Kind-Dominanz)**:
- Wenn ein beliebiger Kindknoten im rekursiven Baum (`Child Node`) die Schlussfolgerung **`MALICIOUS`** hat (z. B. eine angehängte PE-Datei ist Ransomware oder ein Trojaner):
- Wird der übergeordnete Wurzelknoten (Parent Document) **automatisch auf die Schlussfolgerung `MALICIOUS` hochgestuft**.
- Der Risikowert des Elternknotens wird automatisch festgelegt:
$$\text{Score}_{\text{parent}} = \max(\text{Score}_{\text{parent}}, 85, \text{Score}_{\text{child}})$$
---
### 5.5 Anti-DoS-Verteidigung & Schutz gegen Dekomprimierungsbomben (Decompression Bomb Protection)
Um sicherzustellen, dass das System nicht durch Ressourcenerschöpfungsangriffe (Denial-of-Service) angegriffen wird:
- **Konfiguration von `ParserLimits`**:
- Maximale Größe der Eingabedatei: **500 MB**.
- Maximale Gesamtgröße des dekomprimierten Streams: **250 MB**.
- Maximales Kompressionsverhältnis (Max Compression Ratio): **100.0:1** (bei Überschreitung dieser Schwelle wird die Dekomprimierung sofort gestoppt und `DecompressionBombDetected` markiert).
- Maximale Anzahl von Objekten: **100,000 Objects**.
- Maximale Verschachtelungstiefe der Dekomprimierungsfilter: **Maximal 6 Ebenen**.
- **Mechanismus `AnalysisBudget`**:
- Einrichtung eines Countdown-Timers mit maximaler Timeout-Zeit: **30 Sekunden/Datei**.
- Automatischer Abbruch der rekursiven Analyse bei Überschreitung des Zeitbudgets, ohne die Anwendung zum Absturz zu bringen.
---
### 5.6 Evidenzbasierte MITRE ATT&CK-Zuordnung & Universal IOC Defanger
1. **Evidence-Based MITRE ATT&CK Mapping**:
Jede MITRE ATT&CK-Technik wird mit konkreten Belegen versehen (Evidence String, Object ID, Byte Offset):
- `T1204.002` (Malicious File): `/OpenAction` gefunden, das auf Object 8 verweist.
- `T1059.007` (JavaScript): Exploit-String im Speicher in Object 14 gefunden.
- `T1027.009` (Embedded Payloads): Ausführbare PE-Binärdatei in `/EmbeddedFiles` gefunden.
2. **Universal IOC Defanger (`UniversalDefanger.hpp`)**:
Automatische Entschärfung von Indicators of Compromise vor der Anzeige oder dem Export von Berichten:
- 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 Standardisierung der Ausgabeberichte Universal Schema 2.0
Alle Analysemodule (PE, PDF, Dynamic Sandbox, WinRE) liefern einheitliche Daten nach dem Standard **Universal JSON Schema 2.0**:
- `metadata`: `sha256`, `md5`, `file_size`, `format`, `timestamp`.
- `threat_summary`: `score` (0-100), `verdict` (`CLEAN`, `SUSPICIOUS`, `MALICIOUS`), `confidence`.
- `analysis_tree`: Hierarchische rekursive Baumstruktur aller Payloads.
- `mitre_matrix`: Liste der ATT&CK-Taktiken und -Techniken mit Belegen.
- `extracted_iocs`: Liste der entschärften IPs, URLs, Domains, Hashes.
---
## 6. DETAILS ZU MODUL 4: 3-SCHICHTIGES DATASET & AI-PDF-PIPELINE GEGEN FALSE POSITIVES
Der Hauptquellcode befindet sich unter: [`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 Struktur des 3-schichtigen Datasets (`dataset/pdf/`)
Um das Problem der in KI-Sicherheitsmodellen häufig auftretenden Fehlalarme (False Positives) grundlegend zu lösen:
1. **`malware/`**: Reale Malware-Proben, die aus echten Angriffsumgebungen gesammelt wurden (PDFs mit CVE-Exploits, Droppern, Phishing-Formularen, obfuskiertem JS).
2. **`benign/`**: Standard-Büro-PDF-Dokumente (Bücher, Finanzrechnungen, wissenschaftliche Dokumente, Verwaltungsdokumente).
3. **`suspicious_benign/` (Hard Negatives - Fehlalarm-Unterdrückungsset)**:
- Vollständig saubere PDF-Dokumente mit komplexen technischen Merkmalen: Elektronische Rechnungen mit X.509-PKCS#7-Signaturen (`/Sig`, `/ByteRange`), AcroForm-Formulare mit gültigem Berechnungs-JavaScript, Dokumente mit gültigen Textdateianhängen (`/EmbeddedFiles`), technische Dokumente mit Quellcodeausschnitten und verschleierten Zeichenketten.
---
### 6.2 Beseitigung des Inferenz-Kurzschlusses "False Positive Machine" durch Hard Negatives
- Herkömmliche KI-Modelle neigen dazu, beim Auftreten der Schlüsselwörter `/JavaScript` oder `/EmbeddedFiles` sofort eine Malware-Klassifizierung vorzunehmen (Heuristic Shortcut).
- Die Einbeziehung der Gruppe `suspicious_benign` in das Trainingsset zwingt das LightGBM-Modell, tiefere Korrelationen zu erlernen (die Kombination aus Befehlszeilen-Entropie, schädlichen API-Namen, Dekomprimierungstiefe), anstatt einfache Fehler basierend auf der bloßen Existenz von Schlüsselwörtern zu begehen.
---
### 6.3 Mehrstufige Deduplizierung vor der Aufteilung (Multi-Level Deduplication)
Zur Beseitigung von Datenlecks (Data Leakage) zwischen Trainings- und Testsets:
1. **Deduplizierung Stufe 1 (Exact Hash)**: Entfernung von Dateien mit identischem SHA-256-/MD5-Hash.
2. **Deduplizierung Stufe 2 (Structural Fingerprinting)**:
- Berechnung des Struktur-Hash-Vektors des PDF-Objektbaums und des semantischen Inhalts.
- Entfernung von abgeleiteten Varianten (Varianten mit geändertem Namen, geänderten Metadaten, aber identischer Byte-Stream-Baumstruktur).
---
### 6.4 Aufteilung in unabhängige Sets mittels `StratifiedGroupKFold` gegen Datenlecks
- Verwendung des Algorithmus `StratifiedGroupKFold` (mit `n_splits=5`).
- Gruppierung nach Dokumentenfamilien-Identifikator (`Family Group ID`), um sicherzustellen, dass alle Dateien mit gemeinsamer struktureller Herkunft vollständig in einem Set (entweder Train oder Test) verbleiben, wodurch Auswendiglernen und künstliche Aufblähung der Genauigkeit verhindert werden.
---
### 6.5 57-Feature-Vektor & Wahrscheinlichkeitskalibrierung (`CalibratedClassifierCV`)
1. **Umfassender 57-Feature-Raum**:
- Gruppe Header- & Trailer-Struktur (12 Features): `count_obj`, `count_stream`, `count_xref`, `count_trailer`, `has_eof`, `version_number`...
- Gruppe Verhaltensauslöser (15 Features): `count_js`, `count_javascript`, `count_openaction`, `count_launch`, `count_embeddedfiles`, `count_richmedia`...
- Gruppe Entropie & Stream-Filter (18 Features): `stream_entropy_mean`, `stream_entropy_max`, `flatedecode_depth`, `ratio_uncompressed`...
- Gruppe Code-Exploits & Digitale Signaturen (12 Features): `heap_spray_pattern_count`, `eval_count`, `has_signature`, `invalid_xref_count`...
2. **Wahrscheinlichkeitskalibrierung (`CalibratedClassifierCV`)**:
- Verwendung von Isotonic Regression und Platt Sigmoid Scaling auf einem unabhängigen Validierungsset, um die Ausgabe des LightGBM-Entscheidungsbaums in eine echte statistische Wahrscheinlichkeit $P(\text{Malicious} \mid X) \in [0.0, 1.0]$ umzuwandeln.
---
### 6.6 Benchmark-Ergebnisse der Prüfung & Widerstandsfähigkeit gegen Fehlalarme (Audit Report)
Experimentelle Bewertung auf einem unabhängigen Testset:
| Bewertungsmetrik | Erreichter Wert V1.6 | Technische Bewertung |
| :--- | :---: | :--- |
| **Accuracy (Gesamtgenauigkeit)** | **99.42%** | Ausgewogen über alle 3 Datensets |
| **Malware Recall (Malware-Abdeckung)** | **99.15%** | Erkennung der meisten CVE-Exploit- und PDF-Dropper-Proben |
| **False Positive Rate auf `benign`** | **0.00%** | Keine Fehlalarme bei Standard-Bürodokumenten festgestellt |
| **False Positive Rate auf `suspicious_benign`** | **0.21%** | Effektiver Fehlalarm-Widerstand bei digitalen Rechnungen & komplexen JS-Formularen |
| **Inference Latency (KI-Inferenzlatenz)** | **1.85 ms / file** | Hohe Geschwindigkeit, bereit für Echtzeit-Scans |
---
## 7. DETAILS ZU MODUL 5: MACHINE LEARNING & AI ENSEMBLE (PE & GNN & SHAP)
Der Hauptquellcode befindet sich unter: [`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 Zusammenführung mehrdimensionaler Feature-Räume (Feature Vectorization)
Das Modell vereint die Feature-Räume ausführbarer Dateien (PE):
1. **Statischer Struktur-Vektor (Static Vector)**: 128 Dimensionen (Section Entropy, Header Anomalies, Resource Metrics, Import Table Distribution).
2. **Opcode-Befehlssequenz-Vektor (Disassembly TF-IDF)**: 512 Dimensionen, extrahiert aus der Capstone Engine.
3. **API-Aufrufsequenz-Vektor (API N-Grams)**: 256 Dimensionen.
4. **Control-Flow-Graph-Struktur-Vektor (CFG Structural Embeddings)**: 128 Dimensionen.
---
### 7.2 PyTorch API Sequence Embedder & Control Flow Graph GNN
1. **PyTorch API Sequence Embedder**:
- Bidirektionales rekurrentes neuronales Netz Bi-LSTM + Multi-Head Self-Attention, das kontinuierliche API-Aufrufsequenzen in kompakte semantische Vektoren kodiert.
2. **Control Flow Graph GNN (Graph Neural Network)**:
- Verwendung eines **Graph Convolutional Network (GCN)** oder **Graph Attention Network (GAT)** mit Message Passing über die Basic-Block-Knoten im CFG, um die Kontrollstruktur der Malware unabhängig von Register-Renaming zu extrahieren.
---
### 7.3 Feature-Optimierung durch SHAP Feature Pruning
- Anwendung der Spieltheorie **SHAP (SHapley Additive exPlanations)** zur Erklärung der Modellentscheidungen (Explainable AI - XAI).
- Bewertung des Beitrags jedes Features (SHAP Value $\phi_i$). Entfernung von Features mit SHAP-Werten nahe 0 zur Optimierung der Rechengeschwindigkeit und Verbesserung der Generalisierungsfähigkeit.
---
### 7.4 LightGBM Ensemble-Klassifikationsmodell (Adam, Eve, Marcus) & Dynamische Schwellenwerte
Ensemble-Architektur, die 3 spezialisierte Modelle kombiniert:
1. **Model Adam (Static Specialist)**: Spezialisiert auf Klassifikation basierend auf PE-Strukturmerkmalen, Opcode TF-IDF und Header-Entropie.
2. **Model Eve (Dynamic & Behavior Specialist)**: Spezialisiert auf Klassifikation basierend auf dem Verhaltensgraphen `BehaviorGraph`, API-Hook-Protokollen und Kernel ETW.
3. **Model Marcus (Graph & Sequence Embedder)**: Spezialisiert auf Klassifikation basierend auf den Ausgaben des GNN und des PyTorch API Sequence Embedders.
4. **Dynamic Thresholding Engine**:
- Berechnung des gewichteten integrierten Risikowerts:
$$\text{Score}_{\text{final}} = w_1 \cdot P_{\text{Adam}} + w_2 \cdot P_{\text{Eve}} + w_3 \cdot P_{\text{Marcus}}$$
- 3-stufige Klassifikation: `CLEAN` ($\text{Score} < 40$), `SUSPICIOUS` ($40 \le \text{Score} < 75$), `MALICIOUS` ($\text{Score} \ge 75$).
---
### 7.5 Benchmark-Ergebnisse & Experimentelle Bewertung des AI-Klassifikators
Test auf einem unabhängigen Testdatenset mit 20.000 PE-Proben (10.000 Clean + 10.000 Malware aus den Familien Ransomware, Trojaner, Wurm, Backdoor):
| Kriterium | 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. DETAILS ZU MODUL 6: BHR ENGINE (RANSOMWARE DETECTOR & KEY RECOVERY)
Der Hauptquellcode befindet sich unter: [`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 Algorithmus zur Erkennung von Verschlüsselung mit hoher Entropie (Shannon Entropy Rate)
Die BHR Engine überwacht Dateischreibvorgänge in Echtzeit:
- Jedes Mal, wenn die Funktion `NtWriteFile` mit einem Datenblock $\ge 4 \text{ KB}$ aufgerufen wird, berechnet das System die Shannon-Entropie des Buffers.
- Wenn die Entropie der geschriebenen Daten den Schwellenwert **$\ge 7.5$** überschreitet (charakteristisch für komprimierte Blöcke oder verschlüsselten Ciphertext), wird der Alarmzähler aktiviert.
---
### 8.2 Überwachung der Burst Modification Rate & Shadow-Copy-Löschverhalten
1. **Burst File Modification Rate**:
- Überwachung der Dateiänderungsfrequenz. Wenn ein Prozess mehr als **20 Dateien/Sekunde** mit Daten hoher Entropie ändert/überschreibt, wird der Prozess als aufgetretenes Ransomware-Verhalten identifiziert.
2. **Erkennung von Shadow-Copy-Löschverhalten**:
- Überwachung von Kindprozessen, die Befehle zur Zerstörung von Backup-Systemen initiieren:
- `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 Extraktion von Verschlüsselungsschlüsselstrukturen (20+ Standards) aus RAM & `pagefile.sys`
Bei Erkennung von Verschlüsselungsverhalten erstellt die BHR Engine einen Speicher-Snapshot des Prozesses und scannt nach Kandidaten-Verschlüsselungsschlüsselstrukturen von über **20 modernen kryptografischen Standards**:
1. **AES-128 / AES-256 Key Schedules**: Scan nach der erweiterten Schlüsseltabelle (Expanded Key Schedule) durch inverse Berechnung des AES S-Box / Rcon-Algorithmus.
2. **AES-GCM Authentication Subkey ($H$)**: Identifikation des charakteristischen GHASH-Hashblocks $H = E_K(0^{128})$ im Speicherraum.
3. **ChaCha20 / Salsa20 State Matrix**: Scan nach der standardmäßigen 16-Byte-Matrixkonstantenfolge: `"expand 32-byte k"` (`0x61707865`, `0x3320646e`, `0x79622d32`, `0x6b206574`) zusammen mit Nonce-Array und Block Counter.
4. **RSA Private Key ASN.1 DER Header**: Identifikation der PKCS#1-DER-Struktur (`0x30, 0x82` mit Modulus $n$, Public Exponent $e$, Private Exponent $d$, Primes $p, q$).
5. **X25519 / Curve25519 Scalar Clamping**: Scan nach 32-Byte-Sequenzen, die die Bit-Clamping-Bedingungen erfüllen (`k[0] &= 248; k[31] &= 127; k[31] |= 64;`).
---
### 8.4 Datenwiederherstellung aus dem COW Virtual Overlay-Puffer (Win32/NT Scope)
Da alle Überschreib- und Verschlüsselungsvorgänge von Ransomware über Standard-Datei-APIs in den virtuellen Puffer `Overlay\Files\` umgeleitet werden, bleibt die Originaldatei des Benutzers auf der Festplatte innerhalb dieses Routing-Bereichs erhalten.
- `automated_overlay_restore.py` bereinigt die veränderten Dateien im `Overlay\`-Puffer und ermöglicht ein Rollback der virtuellen Änderungen ohne Entschlüsselung des Ciphertexts.
---
### 8.5 Crypto Timeline-Protokoll & Datenänderungskarte
`CryptoTimeline.cpp` und `crypto_tracker.py` zeichnen alle Zeitpunkte des Angriffs auf:
- Zeitpunkt des Prozessstarts und Zeitpunkt der ersten Entropieerhöhung einer Datei.
- Liste der Änderungskarte: `Pfad der Originaldatei` $\rightarrow$ `Pfad der verschlüsselten Datei`.
- Anteil der verschlüsselten Daten nach Zeitpunkt (Cryptographic Timeline Graph).
---
### 8.6 Experimenteller Test der Dual-Engine Hybrid Ransomware Memory Key Extraction
Test in einer kontrollierten Laborumgebung mit einer Ransomware-Probe, die den Dual-Engine-Hybrid-Verschlüsselungsmechanismus simuliert (ähnlich LockBit 3.0 / BlackCat):
- Symmetrische Verschlüsselung: AES-256-GCM + ChaCha20.
- Asymmetrischer Schlüsselaustausch: X25519 Ephemeral Scalar + RSA PKCS#1 DER.
- Heap-Rauschen: 15 zufällige Speicherbereiche mit hoher Entropie und komprimierte Blöcke.
Ergebnisse der Extraktion von Kandidatenschlüsselstrukturen im synthetischen Testszenario (Synthetic Benchmark):
1. **AES-256-GCM Master Key**: GHASH $H$ Subkey übereinstimmend, Konfidenz **95.0%**.
2. **ChaCha20 State Matrix**: Matrixkonstanten und Nonce identifiziert, Konfidenz **60.25%**.
3. **X25519 Ephemeral Key**: Clamping Pattern Mask identifiziert, Konfidenz **57.0%**.
4. **RSA PKCS#1 DER Sequence Private Key**: ASN.1-DER-Struktur identifiziert, Konfidenz **60.75%**.
> [!WARNING]
> **Technische Grenzen & Herausforderungen in der realen Umgebung (Real-World Limitations)**:
> 1. **Zeroization unmittelbar nach der Verschlüsselung**: Reale Ransomware-Stämme (wie Babuk, Conti, LockBit) rufen häufig aktiv `SecureZeroMemory` oder `RtlZeroMemory` auf, um das symmetrische Schlüsselarray unmittelbar nach Abschluss der Verschlüsselungssitzung zu löschen. Die Extraktion ist nur möglich, wenn der Memory Dump rechtzeitig während der Verschlüsselung durch den Prozess oder vor dem Aufruf der Zeroization-Funktion durchgeführt wird.
> 2. **Asymmetrischer C2-Schlüsselmechanismus**: Die meisten modernen Ransomware-Programme erzeugen ein symmetrisches Session-Key-Paar (AES/ChaCha20), verschlüsseln diesen Session Key mit dem Public Key des Angreifers (fest in die Malware eingebettet) und senden den Ciphertext nur an C2 oder schreiben ihn an das Ende der verschlüsselten Datei. Der Private Key befindet sich nicht im RAM des Opfers.
> 3. **Fragmentierung in `pagefile.sys`**: Das Scannen des virtuellen Speichers auf der Festplatte erfordert, dass der Schlüssel nicht überschrieben (Paging Churn) und nicht in mehrere nicht zusammenhängende 4KB-Seiten fragmentiert wurde. Daher ist das Scannen von RAM/Pagefile eine Best-Effort-Forensic-Triage-Lösung und ersetzt nicht vollständig unabhängige Datensicherungsstrategien.
---
### 8.7 Architektur der Recovery Engine Registry & Crypto Dataflow Tracker
- **Recovery Engine Registry** (`recovery/registry.py`): Verwaltet und registriert dynamisch Wiederherstellungsmethoden (`automated_overlay_restore.py`, `exact_lookup.py`). Bietet den Mechanismus `evaluate_all(sample)` zur Rangfolge der optimalen Entschlüsselungsmethode.
- **Crypto Dataflow Tracker** (`recovery/crypto_tracker.py`): Verknüpft den Verschlüsselungsereignisstrom, Schlüsselobjekte und verifiziert die Gültigkeit basierend auf Echtzeit-I/O-Ereignissequenzen.
---
## 9. DETAILS ZU MODUL 7: BEHAVIOR CORRELATOR & BEHAVIORGRAPH ENGINE V1.6
Der Hauptquellcode befindet sich unter: [`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 Normalisierung von Ereignissen aus mehreren Quellen (Userland Hooks + Kernel ETW)
`EventNormalizer.cpp` empfängt Tausende einzelner Ereignisse von MinHook Userland DLL und Kernel ETW und normalisiert sie in das JSON-Standardformat:```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) & State Machine für AngriffskettenIn der Version V1.6 Enterprise ist die Verhaltenskorrelations-Engine BehaviorGraph Engine integriert:
ProcessNode) und gerichteten Kanten (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 und \??\C:\...) in das standardmäßige Win32-Format (C:\...).RegNotifyChangeKeyValue, NtNotifyChangeKey).NetworkSessionTracker) mit integriertem Binär-Extraktor für TLS ClientHello Server Name Indication (SNI) und HTTP Request Header (Method/Host/URI).provider, algorithm, mode, keysize, ivlen, inputlen, outputlen, keygen, pid) für CNG/CryptoAPI/NCrypt/SystemFunction ohne Preisgabe von Rohdaten.| Tactic | Technique ID | Technikname | Erkennungsstatus |
|---|---|---|---|
| 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 |
Das V1.6-System ist mit einer automatischen 7-dimensionalen Testsuite (tests/) integriert:
| Test | Test Script | Status | Tatsächliches Messergebnis |
|---|---|---|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 0 Abstürze / 0 Deadlocks unter kontinuierlichem Prozess- und I/O-Druck. |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 0 un-normalisierte \Device\-Pfade übersehen. |
| 3. False-Positive Baseline | tests/test_sandbox_false_positive.py | PASSED | Normaler Betrieb, keine Fehlauslösung bei Standard-Windows-Tools. |
| 4. BehaviorGraph Validation | tests/test_sandbox_behavior_graph.py | PASSED | Prozessgraph & TLS-SNI/HTTP-Netzwerksitzungen funktionieren präzise. |
| 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 | Bestehen aller Tests Clean, Obfuscated JS, Embedded PE. |
Der Hauptquellcode befindet sich unter: Core/vault/, gui_vault.py.
Die Vault-Teilkomponente V1.6 bietet eine eigenständige Backup-Lösung mit hoher Sicherheit nach dem Prinzip Zero-Knowledge (Keine Preisgabe von Wissen):
---
### 10.2 SRP-6a PAKE Zero-Knowledge-Authentifizierungsprotokoll (RFC 5054)
Zur Authentifizierung und Entsperrung des Vaults, ohne das Passwort oder den Passwort-Hash preiszugeben:
1. **Initialisierung der Informationen (Registration / Setup)**: Der Client berechnet $x = H(s, P)$ und den Verifier $v = g^x \pmod N$, es werden nur der Salt $s$ und der Verifier $v$ gespeichert.
2. **Authentifizierung (Authentication)**: Durchführung eines sicheren Austauschprotokolls für Nachweise basierend auf dem gemeinsamen geheimen Wert $S$ und Verifikation der Nachweise $M_1, M_2$. Das Passwort erscheint niemals im Klartext.
---
### 10.3 Mechanismus zur sofortigen Passwortänderung (Instant Re-Keying Mechanism)
BHPAI löst das Problem der Änderung des Master-Passworts, ohne Hunderte GB an Backup-Daten neu verschlüsseln zu müssen, durch die Architektur **$K_{\text{vault}}$ Indirection**:
- Dateidaten werden mit dem Vault-Master-Schlüssel $K_{\text{vault}}$ verschlüsselt.
- Der Schlüssel $K_{\text{vault}}$ wiederum wird durch den Unlock-Schlüssel $K_{\text{unlock}}$ (generiert aus dem Passwort) geschützt.
- Bei einer Passwortänderung: Es muss lediglich $K_{\text{vault}}$ mit dem alten Passwort entschlüsselt und anschließend nur der Block $K_{\text{vault}}$ mit dem neuen Passwort neu verschlüsselt werden. **Alle Backup-Daten behalten ihren Ciphertext-Zustand bei.**
---
### 10.4 Standardisierte AAD-Authentifizierung & Bucket-Size-Padding gegen Verkehrsanalyse
1. **Binary Length-Prefixed Canonical AAD** (`Core/vault/integrity.py`): Hinzufügen von zusätzlichen authentifizierten Daten (Authenticated Additional Data) in standardisierter, zwischen C++ und Python kompatibler Form, um das Vertauschen von Ciphertext zwischen verschiedenen Dateien zu verhindern.
2. **Application-Level Bucket Size Padding**: Dateien werden mit Padding auf feste Größen (64KB, 1MB, 10MB, 100MB) aufgefüllt, um die Möglichkeit zu verringern, auf Dateiinhalte anhand der Ciphertext-Größe zu schließen.
---
### 10.5 Architektur des lokalen verschlüsselten Block-Speichers (Local Encrypted Block Store)
- Verwaltung von Backup-Daten als sichere, lokal verschlüsselte Binärblöcke.
- Unterstützung lokaler Deduplication basierend auf geschützten verschlüsselten Inhalts-Chunk-Hashes (Encrypted Content Chunk Hash).
- Hohe Kompatibilität mit der Speicherung auf externen Laufwerken, sicheren USB-Sticks oder unabhängigen Rettungspartitionen.
---
## 11. DETAILS ZU SUBMODUL 9: PYQT6-GLASSMORPHISM-DESKTOP-OBERFLÄCHE, HWID-LIZENZIERUNG & CLI-WERKZEUGE
Der Hauptquellcode befindet sich unter: [`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 Architektur der PyQt6-Desktop-Glassmorphism-Oberfläche (Multi-Threading QThread)
Eine spezialisierte Desktop-Benutzeroberfläche für Vor-Ort-Untersuchungen und lokalen Betrieb:
- **Flüssiges Design ohne UI-Blockierung (Non-blocking GUI Responsiveness)**: Alle rechenintensiven Aufgaben (Capstone-Disassembly, Sandbox-IPC, KDF-Kryptographie, PE/PDF-Extraktion) werden vollständig vom GUI-Thread getrennt und über **`QThread` Background Workers** koordiniert.
- **Dark-Glassmorphism-Designstil**: Verwendung moderner dunkler Farbtöne, feiner abgerundeter Ecken, intuitiver Bedienfelder und eines Echtzeit-Statusdiagrammsystems.
---
### 11.2 Zentrale Funktions-Tabs der Desktop-GUI
1. **Multi-Format Scanner Tab**:
- Ermöglicht Drag-and-Drop beliebiger Dateien (PE, PDF, Office, Scripts).
- Anzeige des Bedrohungswerts (Threat Score), rekursive Payload-Analyse und Visualisierung des `AnalysisNode`-Baums.
2. **Dynamic Sandbox Monitor Tab**:
- Echtzeit-Überwachung von Ereignisprotokollen, NT-Native-API-Aufrufströmen, untergeordneten Prozessen und Diagrammen der Ressourcen CPU/RAM/Disk IO.
3. **MITRE ATT&CK Matrix Tab**:
- Visualisierung der Matrix der von der Malware verletzten Taktiken und Techniken, zusammen mit direkten Extraktionsnachweisen.
4. **BHR & Recovery Center Tab**:
- Überwachung der Datenverschlüsselungs-Timeline, Echtzeit-Entropieparameter und Durchführung schneller Rollback-Wiederherstellungen.
5. **Zero-Knowledge Encrypted Vault Tab**:
- Verwaltung des lokalen E2EE-verschlüsselten Backup-Speichers, Sperren/Entsperren des Vaults, Sicherung wichtiger Ordner und sichere Wiederherstellung.
---
### 11.3 Hardwaregebundenes Lizenzsystem (HWID-Locked Licensing & Ed25519)
Submodul zur Verwaltung von Offline-Lizenzen zum Schutz der Softwareintegrität:
- **Gerätebindung (HWID Binding)**: Erfassung unveränderlicher Hardwareinformationen (CPU ID, BIOS UUID, Disk Serial, MAC Address) zur Bildung einer eindeutigen HWID-Identifikationskette für jede Workstation.
- **Ed25519-Digitale Signatur**: Verwendung des Ed25519-Public-Key-Algorithmus zur digitalen Signierung der Offline-Zertifikatsdatei `license.dat`.
- **Offline-Durchsetzung (Offline Enforcement)**: Alle Binärwerkzeuge (`BHPAISandbox.exe`, `pe_analyzer.exe`, `bhpai_rescue.exe`) laden automatisch `license.dat`, verifizieren die Signatur mit dem Master Public Key und gleichen die Übereinstimmung mit der HWID des Computers ab, ohne dass eine Netzwerkverbindung erforderlich ist.
---
### 11.4 Threat-Intelligence-Engine & Unabhängiger Universal IOC Defanger
- Integrierte Wissensbasis zur Erkennung gängiger Malware-Familien (LockBit, Conti, WannaCry, RedLine, Emotet, Babuk) zusammen mit einem Regelwerk zur Verhaltensklassifizierung.
- Automatische Extraktion und Defang von Listen schädlicher IOCs (IP, Domain, URL, Hashes) zum Schutz des Analysten während der Berichtserstellung.
---
### 11.5 Multiformat-Berichtssystem Universal Schema 2.0 (JSON, Markdown, PDF)
- **JSON Schema 2.0**: Bereitstellung einer standardisierten, maschinenlesbaren Datenstruktur, die sich leicht in andere Analysesysteme integrieren lässt.
- **Markdown Summary**: Export eines übersichtlichen Zusammenfassungsberichts, der einen schnellen Austausch zwischen Forensik-Ingenieuren ermöglicht.
- **PDF-Bericht**: Automatische Erstellung professioneller Berichte mit Entropieverteilungsdiagrammen und Payload-Strukturbäumen.
---
## 12. DETAILS ZU SUBMODUL 10: BHPAI RESCUE SUITE & NOTFALL-RETTUNGSSTART WINRE
Der Hauptquellcode befindet sich unter:
- C++-Rettungswerkzeug: [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue), [`bhpai_rescue.exe`](file:///c:/Users/Kryo/Documents/BHPAI/bhpai_rescue.exe).
- Bereitstellungsskripte: [`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).
- Beispielbericht: [`BHPAI_Rescue_Summary.md`](file:///c:/Users/Kryo/Documents/BHPAI/BHPAI_Rescue_Summary.md).
---
### 12.1 Offline-Rettungsumgebung Windows Recovery Environment (WinRE)
Wenn das Betriebssystem durch einen Ransomware-Angriff lahmgelegt, durch einen Screen Locker gesperrt, der abgesicherte Modus deaktiviert oder Systemdateien manipuliert wurden, ist die direkte Analyse auf dem laufenden Betriebssystem mit erheblichen Risiken verbunden, da sie durch Malware-Prozesse oder Rootkits behindert wird. **BHPAI Rescue Suite V2** löst dieses Problem, indem es aus der Offline-Umgebung **Windows Recovery Environment (WinRE)** oder Windows PE heraus arbeitet:
- **Trennung von der laufenden Umgebung**: Keine Beeinträchtigung durch schädliche Prozesse oder aktive Kernel-Hooks im Haupt-Windows.
- **Offline-Hive-Laden (Offline Hive Loading)**: Automatisches Einhängen (Mounten) der tatsächlichen Registry-Strukturdateien auf der Festplatte (`SYSTEM`, `SOFTWARE`, `NTUSER.DAT`) in temporäre Zweige von WinRE, um Systemeinstellungen zu ändern und Sperren aufzuheben, ohne dass das Zielbetriebssystem gestartet werden muss.
- **Air-Gapped & Netzwerkunabhängig**: Vollständig lokale Ausführung, keine Netzwerkverbindung erforderlich, wodurch das Risiko verringert wird, dass ein C2-Botnetz ein Signal zur Datenzerstörung sendet.
---
### 12.2 Architektur der 7 Kern-Submodule von `bhpai_rescue.exe`
Der Quellcode unter [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue) wurde in reinem C++17 erstellt und statisch (static linking) mit OpenSSL und zlib kompiliert:```
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 (Lokalisierung der OS-Partition):
FindFirstVolumeW, FindNextVolumeW).System32\ntoskrnl.exe, System32\config\SYSTEM, explorer.exe).OfflineRegistryManager (Verwaltung der Offline-Registrierung):
RegLoadKeyW, um Hive-Dateien in temporäre Präfixe zu laden: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM, BHPAI_OFFLINE_SOFTWARE, BHPAI_OFFLINE_NTUSER.Select\Current (z. B. ControlSet001).Shell (geändert von explorer.exe zu einer Malware-Datei) und Userinit.taskmgr.exe, cmd.exe, sethc.exe.Windows\System32\Tasks.OfflineMalwareScanner (Scan & Bewertung BHR 10-Pillar):
AppData\Local\Temp, ProgramData, Users\Public, Windows\Temp).MALICIOUS, SUSPICIOUS, CLEAN).OfflineBlastRadius (Bewertung des Schadensradius mit mehreren Signalen):
Desktop, Documents, Downloads, Pictures, Videos).README.txt, DECRYPT_FILES.html, HOW_TO_RESTORE.txt).OfflineCryptoArtifactHunter (Jagd nach kryptografischen Schlüsseln):
pagefile.sys, swapfile.sys und der Crash-Dump-Dateien (MEMORY.DMP).RescueRemediator (Koordination der Wiederherstellung):
C:\BHPAI_Rescue_Quarantine\) mit verifizierendem SHA-256-Hash.explorer.exe, Entfernen von IFEO-Hijacks, Deaktivieren von Scheduled Tasks und bösartigen Diensten.RescueTransactionJournal (ACID-Transaktionsprotokoll & LIFO-Rollback):
Um die Sicherheit zu gewährleisten und das Risiko einer Unterbrechung des Windows-Betriebssystems zu vermeiden, wendet RescueRemediator einen 5-stufigen Transaktionsprozess an:```
[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)**: Umfassende Überprüfung, Erstellung einer Liste aller bösartigen Binärdateien, Registry-Persistenzschlüssel und betroffenen Dateien.
2. **Phase 2 (Backup)**: Erstellung des Transaktionsverzeichnisses `C:\BHPAI_Rescue_Backup\`, verknüpft mit der Volume-GUID und Disk-ID. Sicherung aller Hive-Dateien (`SYSTEM.before`, `SOFTWARE.before`, `NTUSER.DAT.before`) und Speicherung der Metadaten der Originaldateien (Größe, Zeitattribute, ACL-Deskriptor).
3. **Phase 3 (Modify)**: Protokollierung jedes Vorgangs im Transaktionsprotokoll (`transaction.json`), Verschieben der Schadcode-Dateien in die Quarantäne und Bereinigung der bösartigen Registry-Werte.
4. **Phase 4 (Verify)**: Erneute Überprüfung jeder Änderung auf dem Datenträger: Bestätigung, dass die bösartige Datei am ursprünglichen Speicherort nicht mehr existiert, die Datei in der Quarantäne mit dem SHA-256-Hash übereinstimmt und die Registry-Hive korrekt auf die Standard-Windows-Binärdateien verweist.
5. **Phase 5 (Commit)**: Änderung des Transaktionsstatus von `IN_PROGRESS` zu `COMMITTED`. Sollte in Phase 3 oder Phase 4 ein Problem auftreten, aktiviert das System automatisch ein **LIFO-Rollback**, stellt die Hive-Dateien vollständig wieder her und verschiebt die Dateien aus der Quarantäne an ihren ursprünglichen Speicherort zurück.
---
### 12.4 Mechanismus zur Selbstwiederherstellung bei Störungen (Crash State Recovery)
Wenn der Computer während der Ausführung von `bhpai_rescue.exe` plötzlich stromlos wird oder unerwartet herunterfährt:
- Beim nächsten Start in WinRE liest `bhpai_rescue.exe` automatisch `transaction.json` und erkennt den Status **CRASH STATE** (`IN_PROGRESS`).
- Das Programm gibt die Warnung `[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED` aus.
- Es werden Optionen zur Wiederherstellung auf zwei Ebenen angeboten:
- **Tier 1**: Umgekehrte Wiederherstellung gemäß der LIFO-Rollback-Protokollreihenfolge.
- **Tier 2 (Emergency Hive Restore)**: Erzwungene Wiederherstellung aller ursprünglichen Registry-Hive-Dateien aus der `*.before`-Sicherung.
---
### 12.5 Bereitstellungs- und automatisches WinRE-Startskript
#### 1. Sicheres Einbettungsskript [`scripts/deploy_winre.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/deploy_winre.ps1):
- **Direkter DISM-Aufruf**: Ausführung von `& dism.exe` mit Echtzeit-Output-Streaming, um das Risiko eines Hängens des PowerShell-Prozesses zu minimieren.
- **Beibehaltung des Konfigurationszustands**: Der ursprüngliche WinRE-Zustand (`reagentc /info`) wird gespeichert. War er anfangs Disabled, wird er nach Abschluss wieder auf Disabled gesetzt; war er anfangs Enabled, wird sichergestellt, dass WinRE wieder aktiviert wird.
- **Sicherung vor Änderung**: Automatisches Kopieren von `Winre.wim` nach `Winre.wim.BHPAI.backup`.
- **Adaptiver Launcher**: Erstellung des Skripts `Windows\System32\bhpai.cmd` unter Verwendung der Umgebungsvariablen `%~d0` und `%SystemDrive%`, das sich automatisch an den von WinPE zugewiesenen Laufwerksbuchstaben anpasst.
- **Automatischer Rollback-Mechanismus**: Behandlung von Ausnahmen während des Mount-Vorgangs, automatische Ausführung von `/Discard`, Wiederherstellung der WIM-Datei aus der Sicherung und Bereinigung des temporären Verzeichnisses.
#### 2. Rettungsstartskript [`scripts/trigger_rescue_reboot.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/trigger_rescue_reboot.ps1):
- Aktivierung von WinRE, falls es sich im deaktivierten Zustand befindet.
- Verwendung des Standardbefehls `reagentc /boottore` und Konfiguration von `bcdedit /set {current} recoveryenabled yes`, um festzulegen, dass der Computer beim nächsten Neustart in WinRE startet.
---
### 12.6 Betriebsanleitung & Kommandozeilenparameter von `bhpai_rescue.exe`
Nachdem der Computer in die Windows Recovery Environment gestartet wurde:
1. Klicken Sie auf: **Troubleshoot (Problembehandlung)** $\rightarrow$ **Advanced options (Erweiterte Optionen)** $\rightarrow$ **Command Prompt (Eingabeaufforderung)**.
2. Geben Sie im Befehlszeilenfenster ein: ```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
#### Erweiterte Kommandozeilenparameter (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
Nach Abschluss jeder Arbeitssitzung exportiert das System 2 DFIR-Berichte (Digital Forensics and Incident Response) im Stammverzeichnis der Zielpartition:
C:\BHPAI_Rescue_Report.json: Detaillierter Bericht im JSON-Format, der alle SHA-256-Hashes, Schlüssellisten, Registry-Verhalten und Transaktionsmetadaten enthält.C:\BHPAI_Rescue_Summary.md: Zusammenfassender Bericht im Markdown-Format, der eine Übersicht für Analysten präsentiert (Beispielreferenz: BHPAI_Rescue_Summary.md).bhpai_sourceopen - 25%)Um der Cybersicherheits-Forschungsgemeinschaft, unabhängigen Tests und der Demonstration technischer Fähigkeiten zu dienen, veröffentlicht das BHPAI-Projekt die Community Edition, die im Verzeichnis bhpai_sourceopen gespeichert ist. Dieses Paket ist nach dem Open-Core-Modell konzipiert:
Core/scanner/: Der gesamte C++-Quellcode zur Analyse der PE-Struktur, Extraktion von Opcode/API-N-Gramm-Merkmalen, CFG-Cyclomatic-Complexity-Graphen, TF-IDF, automatischen Generierung von YaraGen-Regeln, optimierter AVX2-StringEx-Stringverarbeitung.Core/Decompile/: x86/x64-Binärdekompilierer über Capstone Engine (Disassembler, PeParser).Core/pack/: In-Memory-Dekomprimierungstool für UPX und WWPack.fuzzy/: SSDEEP-Binär-Fuzzy-Hashing-Algorithmus (fuzzyhash.c/.h).Analyzers/Common/: 3-stufiger Datei-Router FileRouter, ParserLimits-Begrenzungen, MITRE ATT&CK-Mapping MitreMapper, IOC-Extraktor IOCExtractor (Defanging).Core/Train/ & model/: PE-Merkmalsvektor-Extraktor (feature_extractor.py) und Klassifizierungsschwellen-Konfiguration.scan.py & app_scan.py: Kommandozeilen-Scanner und Desktop-GUI speziell für PE.[!IMPORTANT] Urheberrechtsverpflichtung & Unabhängigkeit:
- 100% Ausschluss des PDF-Subsystems: Da sich das PDF-Subsystem noch in der Entwicklung befindet, wird der gesamte PDF-Quellcode vertraulich behandelt und nicht in diese Open-Source-Version aufgenommen.
- 100% Ausschluss des Datasets: Das Verzeichnis
dataset/wird unter keinen Umständen veröffentlicht (enthält keine Malware-Muster oder Benutzerdokumente).- Unabhängige Lizenzierung: Im Lieferumfang enthalten ist ein Community-Lizenz-Stub (
BhpaiLicense.hpp), der es Benutzern ermöglicht, Binärdateien völlig frei zu kompilieren und auszuführen, ohne einen kommerziellen Hardwareschlüssel aktivieren zu müssen.
Das technische Master-Dokument des Projekts BHPAI V1.6 Enterprise wurde vom BHPAI Engineering Team erstellt und standardisiert. Alle Rechte vorbehalten.
Sprache / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Systemversion: V1.6 Enterprise Edition (Vollständige Architektur- und Funktionsveröffentlichung)
Autoren: Rin449 Kernsprachen & 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-Referenzhandbuch: Deckt Multi-Format-Architektur-Routing, hierarchische rekursive Payload-Zerlegung, statisches PE- & natives PDF-Stream-Parsing, Ring-3-Stealth-Dynamic-Sandbox, Ransomware-Kandidatenschlüssel-Extraktion, falsch-positiv-resistente kalibrierte KI-Modelle, Offline-WinRE-Transaktionswiederherstellungssuite und Zero-Knowledge-verschlüsseltes Vault-Backup ab.
Analyzers/PDF/)AnalysisNode-Architektur)ParserLimits, AnalysisBudget)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sys-Kandidatenschlüssel-Extraktion (20+ Kryptographische Standards)BehaviorGraph) & Attack-Chain-State-MachineCryptoOperation)bhpai_rescue.exebhpai_rescue.exeIn der modernen Cybersicherheits-Bedrohungslandschaft haben sich Advanced Persistent Threats (APTs), Spyware und Ransomware-Kampagnen weit über herkömmliche ausführbare Binärdateien (.exe, .dll) hinaus entwickelt:
/Launch-Aktionen, die versteckte Shell-Befehle starten) oder durch Einbetten von Dropper-PE-Executables in Dokumente.BHPAI Version V1.6 Enterprise ist ein mehrstufiges Cyberverteidigungs-Ökosystem, das End-to-End-Angriffsketten-Schutz durch eine einheitliche Multi-Format-Hybrid-Engine bietet: 3-stufiges automatisches Format-Routing (PE, PDF, Office, Script), rekursive verschachtelte Payload-Analyse, Ring-3-Stealth-Dynamic-Sandbox-Isolation, hardware-unterstützte Intel PT-Überwachung und kalibrierte falsch-positiv-resistente KI-Modelle.
BHPAI V1.6 arbeitet nach dem Architekturprinzip 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 │ └─────────────────────────┘ └─────────────────────────┘
1. **Safety First & Anti-Bomb Protection**: Die Sandbox beschränkt die Ausführung auf einen privaten virtuellen Desktop (`BHPAISandboxDesktop`), erzwingt strikte Windows Job Object-Limits (512 MB RAM-Obergrenze, CPU-Affinität, kein Prozess-Breakaway) und entfernt hohe Privilegien über Restricted Tokens. Der PDF-Parser wird durch ein `AnalysisBudget` und strikte `ParserLimits` abgesichert, die Decompression Bombs verhindern (maximales Kompressionsverhältnis 100:1, begrenzte Stream-Expansionen und Obergrenzen für die Rekursionstiefe).
2. **Stealth Anti-Evasion (Minimal User-Mode Footprint)**: Die Ring-3-Überwachungs-DLL mindert die Erkennung, indem sie proaktiv ihren eigenen `LDR_DATA_TABLE_ENTRY` aus allen 3 PEB-Modullisten (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) entlinkt, PE-Header und PDB-Debug-Pfade aus dem RAM löscht und DACL-Schutz auf den Launcher-Prozess anwendet.
3. **Hierarchical Recursive Analysis Tree & Child Dominance**: Der `AnalysisNode`-Baum untersucht jede eingebettete Payload rekursiv. Wenn eine verschachtelte Binärdatei (Child PE) als bösartig eingestuft wird, löst das System die **Child Dominance Rule** aus und hebt das Urteil des übergeordneten Dokuments auf **MALICIOUS** mit einem Mindest-Bedrohungswert von 85/100 an.
4. **False-Positive Resistance AI**: Falsche Feature-Shortcuts werden vollständig durch ein 3-stufiges Dataset-Design (`suspicious_benign`), mehrstufige Deduplizierung (Exact Hash + Structural Fingerprinting) und gruppenbewusste Kreuzvalidierung via `StratifiedGroupKFold` eliminiert.
5. **Data Protection & Candidate Key Recovery**: Die BHR Engine erkennt High-Entropy-Verschlüsselungsbursts an der Win32/NT-I/O-Grenze, extrahiert Kandidaten für kryptografische Schlüsselstrukturen (AES-GCM GHASH $H$, ChaCha20-Status, RSA DER, X25519) aus dem Prozess-RAM und `pagefile.sys` und rollt geänderte Dateien aus dem COW Virtual Overlay-Puffer zurück.
---
### 1.3 V1.6 Core Technical Highlights & Specification Matrix
| 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 |
| **Anti-False Positive Training** | 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 |
---
## 2. OVERALL ARCHITECTURAL DIAGRAM & EXECUTION PIPELINE
Das folgende Sequenzdiagramm veranschaulicht den End-to-End-Ausführungsablauf von der Rohdatei-Aufnahme über statische/dynamische Triage, rekursive Zerlegung und AI-Inferenz bis hin zur Offline-Notfallwiederherstellung:```mermaid
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
end
Kern-Quellimplementierungen: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Initialisiert über CreateDesktopW mit den Sicherheitsflags DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Alle grafischen Fenster, Windows-Nachrichten (WM_DROPFILES, WM_COPYDATA, UI-Hooks) und Tastaturlogger sind strikt von der interaktiven Benutzersitzung (Default-Desktop) isoliert.SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Garantiert, dass das Beenden des Launchers sofort und sauber den gesamten untergeordneten Prozessbaum beendet.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Begrenzt die maximale Commit-Größe auf 512MB pro Prozess und verhindert so Angriffe zur Speichererschöpfung.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Beschränkt aktive Prozesse auf 32 und vereitelt so Fork-Bomb-Denial-of-Service-Versuche.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Unterdrückt Windows-Fehlerberichterstattungs-Absturzdialoge.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Verhindert unbefugtes prozessübergreifendes Handle-Sharing und globale Atom-Verschmutzung.Der Launcher erstellt über CreateRestrictedToken ein eingeschränktes Sicherheitstoken, bevor CreateProcessAsUserW ausgeführt wird:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID oder SECURITY_MANDATORY_MEDIUM_RID.Um die Überwachungsspuren gegenüber Anti-Analyse-Techniken im User-Mode zu minimieren:
BHPAIMonitor.dll entfernt automatisch ihren eigenen LDR_DATA_TABLE_ENTRY aus allen 3 doppelt verketteten Modullisten innerhalb des Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Durchläufe von PEB->Ldr oder Aufrufe von EnumProcessModules durch Malware zeigen keinerlei Hinweise auf die Überwachungs-DLL.PAGE_READWRITE an und überschreibt ihren IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER und die Debug-Directory-PDB-Dateipfad-Strings mit Nullen, wodurch In-Memory-Signaturscanner vereitelt werden.SetKernelObjectSecurity einen expliziten Sicherheitsdeskriptor mit einer leeren discretionary access control list (DACL), wodurch PROCESS_TERMINATE, PROCESS_VM_WRITE und PROCESS_SUSPEND_RESUME von Prozessen mit niedrigerer Integrität blockiert werden.Der Überwachungsagent hookt Low-Level Native NT-APIs in ntdll.dll und kernelbase.dll unter Verwendung der MinHook-Engine:
| API-Subsystem | Gehookte Native NT-API | Überwachungs- & Umleitungsziel |
|---|---|---|
| Prozess / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Erkennt Child-Spawning, Process Injection, APC Injection. |
| Virtueller Speicher | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Fängt PAGE_EXECUTE_READWRITE-Allokationen, Hollowing, Shellcode ab. |
| Dateisystem-I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Protokolliert I/O, leitet auf COW-Overlay um, bewertet Shannon-Entropie. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Verfolgt Persistenz-Schlüssel, leitet Schreibvorgänge auf virtuelle Registry um. |
| Anti-Analyse | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Neutralisiert ProcessDebugPort-Prüfungen, Thread-Hiding, beschleunigt Sleeps. |
Jeder Detour ist durch einen RAII-basierten HookGuard (thread_local bool in_hook) geschützt, wodurch unendliche rekursive Re-Entrancy-Deadlocks eliminiert werden.
Um den zugrunde liegenden Host zu schützen, während Malware ungehindert ausgeführt werden kann:
GENERIC_READ) werden direkt von den Original-Dateien auf der Festplatte bedient.GENERIC_WRITE) oder Löschungen (FILE_DELETE_ON_CLOSE) wird die Datei bei Bedarf nach BHPAI_Sandbox_Overlay\Files\ kopiert. Alle nachfolgenden Änderungen erfolgen auf diesem isolierten Sandbox-Klon.file.txt:zone.identifier), Reparse Points und Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) werden nach HKCU\Software\BHPAI_Virtual_Registry\ umgeleitet.Nutzt Microsoft Event Tracing for Windows (ETW)-Kernel-Sitzungen:
Microsoft-Windows-Kernel-Process: Erfasst Prozesserstellung, selbst wenn Malware Userland-Hooks über direkte Syscalls umgeht.Microsoft-Windows-Kernel-Network: Erfasst rohe TCP/UDP-Socket-Aktivität.Microsoft-Windows-Kernel-Memory: Erkennt prozessübergreifendes virtuelles Speicher-Mapping.Integrierter Netzwerksimulator (FakeNetEngine.cpp):
127.0.0.1) auf.IntelPTMonitor.cpp kommuniziert direkt mit CPU-Hardware-Tracing-Primitiven:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace (Class 47).TNT (Taken/Not-Taken-Branch-Entscheidungen), TIP (Target IP) und FUP (Function Pointer), wodurch ROP-Chains und Control-Flow-Umleitungen ohne softwarebasiertes Binary-Rewriting offengelegt werden.| 🔴 Detected (Shadow Copy Deletion) |