
ステルスRing-3 Windowsサンドボックス、静的PE/PDFアナライザー、ランサムウェア鍵復元、および誤検知耐性のある検出のためのAIアンサンブルを組み合わせたマルチフォーマットマルウェア解析プラットフォーム。
システムバージョン: 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
マスタ参照ドキュメント: マルチフォーマットアーキテクチャの詳細、再帰解析アルゴリズム、PE & PDF 静的解析、Sandbox Stealth Ring-3 動的監視、Ransomware 鍵構造抽出、偽陽性耐性 AI モデル (False Positive Resistant)、WinRE オフライン復旧システム、Zero-Knowledge データセキュリティ。
Language / 言語: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode Architecture)pagefile.sys からの暗号化鍵構造抽出 (20+ Standards)BehaviorGraph) & 攻撃チェーン State Machine現在のサイバーセキュリティ時代において、標的型攻撃 (APT)、スパイウェア、およびランサムウェアは従来の実行ファイル (.exe, .dll) の範囲を超えています:
/Launch アクションを含む) や、PDF 内に埋め込まれた PE 実行ファイルを Dropper として用いて初期侵入します。BHPAI バージョン V1.6 Enterprise は多層サイバーセキュリティシステムであり、Multi-Format Hybrid Engine アーキテクチャを通じて攻撃チェーンに対する包括的な保護ソリューションを提供します:マルチフォーマット自動ルーティング (PE, PDF, Office, Script)、ネストされたペイロードの再帰解析、Sandbox Ring-3 stealth 隔離、Intel PT ハードウェア監視、および偽陽性対策キャリブレーション AI モデル。
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 (安全性とDoS防御)**: 専用の仮想デスクトップ (`BHPAISandboxDesktop`) を介したプロセス分離サンドボックス、Job Object 制限 (RAM 512MB、CPU、Breakaway禁止)、および Restricted Token による特権降格。PDF 解凍ストリームは `AnalysisBudget` と `ParserLimits` によって保護され、Decompression Bomb に対抗する (最大圧縮率 100:1、サイズとネスト深度の制限)。
2. **Stealth Anti-Evasion (ユーザーモードフットプリントの最小化)**: Ring-3 監視 DLL は、PEB Module の3つの二重リンクリスト (`InLoadOrder`、`InMemoryOrder`、`InInitializationOrder`) からの除去、RAM 内の PE Header と Debug PDB の消去、および基本的な `OpenProcess(PROCESS_TERMINATE)` コマンドに対する Launcher 保護 DACL の設定を通じて、一般的な anti-analysis 技術に対する痕跡を積極的に最小化する。
3. **Recursive Analysis Tree & Child Dominance (再帰分析と子プロセスの支配)**: `AnalysisNode` ツリーアーキテクチャは、ドキュメント内に埋め込まれたすべてのファイルを再帰的に検査する。子実行ファイル (Child PE) が悪意があると検出された場合、システムは **Child Dominance Rule** を発動し、親ドキュメントの判定を自動的に **MALICIOUS** に昇格させ、最小リスクスコア 85/100 を付与する。
4. **False-Positive Resistance AI (誤検知耐性)**: 3層データセット (`suspicious_benign`) の編成、多段重複排除 (Exact Hash + Structural Fingerprint)、および `StratifiedGroupKFold` グループ分割により、誤った推論のショートカットを排除する。
5. **Data Protection & Key Recovery (候補キーの検出と抽出支援)**: BHR Engine は Win32/NT I/O 範囲内での急激なエントロピー暗号化行為を検出し、プロセスがメモリを解放する前に RAM および `pagefile.sys` 内の候補キー構造 (AES-GCM GHASH $H$、ChaCha20 state、RSA DER、X25519) をスキャンして探索し、さらに標準的な I/O 操作に対して COW Overlay バッファに書き込まれたファイルのロールバックをサポートする。
---
### 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 Native 分析 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 秒 |
| **サンドボックス環境** | 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 on 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` |
| **ランサムウェア検出** | Real-time Shannon Entropy Calculation ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Shadow Copy Wiping Detector |
| **キー抽出 & 復元** | RAM & `pagefile.sys` Extractor for 20+ algorithms (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 subsystems, 5-Phase ACID transaction, Crash state recovery, オフラインレジストリの自動マウント |
| **デスクトップ UI & ライセンス** | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing engine |
---
## 2. 全体アーキテクチャ図 & データ処理フロー
入力ファイルの受信からペイロードの抽出、静的/動的解析、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メッセージ (WM_DROPFILES, WM_COPYDATA, UIリダイレクション) は仮想デスクトップ内に完全に封じ込められ、ユーザーの画面 (Default デスクトップ) から隔離されます。SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: ランチャープロセスが終了すると、マルウェアの子プロセスツリー全体が自動的に破棄されます。JOB_OBJECT_LIMIT_PROCESS_MEMORY: システムリソース枯渇を防ぐため、プロセスあたりの最大RAMを512MBに制限。JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Fork-Bomb攻撃を防ぐため、同時プロセス数を最大32に制限。JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Windowsエラー報告クラッシュダイアログをブロック。JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: グローバルなハンドルとアトムへの干渉を防止。ランチャーは CreateProcessAsUserW を呼び出す前に、CreateRestrictedToken を介して制限付きトークンを作成します:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid。SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege。SECURITY_MANDATORY_LOW_RID または SECURITY_MANDATORY_MEDIUM_RID に引き下げ。Ring-3メモリ空間内でマルウェアに監視DLLが検出される可能性を最小限に抑えるため:
BHPAIMonitor.dll は、プロセス環境ブロック (PEB) 内の3つの二重リンクリストから自身の LDR_DATA_TABLE_ENTRY を自動的に削除します:
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
マルウェアが PEB->Ldr を走査したり EnumProcessModules を呼び出したりしても、監視モジュールはリストに表示されません。IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER 領域およびデバッグディレクトリPDBパス文字列を PAGE_READWRITE で上書きしゼロフィルすることで、メモリシグネチャスキャン技術を阻止します。SetKernelObjectSecurity を設定し、整合性レベルが低いプロセスからの , , 権限を拒否します。システムは MinHookエンジン を使用して、ntdll.dll および kernelbase.dll 内の低レベルネイティブNT API関数に直接介入します:
すべてのフック関数は RAII HookGuard レイヤー (thread_local bool in_hook) によって保護され、無限再帰 (再帰フックデッドロック) を防止します。
マルウェアに通常の操作を許可しつつ、実際のシステムを安全に保護するため:
GENERIC_READ モードでファイルを開くと、システムは元のファイルからの読み取りを許可します。GENERIC_WRITE 書き込みまたは FILE_DELETE_ON_CLOSE 削除操作が発生した場合: 元のファイルは直ちに仮想化一時ディレクトリ BHPAI_Sandbox_Overlay\Files\ にコピーされます。すべてのデータ変更操作はこのコピーに対して実行されます。file.txt:zone.identifier)、リパースポイント、シンボリックリンク。HKLM\Software\Microsoft\Windows\CurrentVersion\Run) は一時ブランチ HKCU\Software\BHPAI_Virtual_Registry\ にマッピングされます。Microsoft Event Tracing for Windows (ETW) サブシステムを使用してカーネルからイベントをキャプチャ:
Microsoft-Windows-Kernel-Process: マルウェアがDirect Syscallでユーザーランドフックをバイパスした場合でもプロセス作成イベントをキャプチャ。Microsoft-Windows-Kernel-Network: 低レベルのTCP/UDP接続を記録。Microsoft-Windows-Kernel-Memory: クロスプロセスメモリマッピング操作を監視。独立したネットワークシミュレーションエンジン (FakeNetEngine.cpp) を統合:
127.0.0.1) を返します。IntelPTMonitor.cpp サブシステムはIntel CPUのハードウェアトレース機能を活用します:
__cpuidex(0x14, 0) 命令による互換性チェック。ProcessIntelProcessorTrace) を介したToPA (Table of Physical Addresses) の設定。TNT (Taken/Not-Taken Branch)、TIP (Target IP)、FUP (Function Pointer) を収集し、ソフトウェアに依存せずにROP (Return-Oriented Programming) チェーンを検出し実行フローを復号化。多層防御で設計されていますが、Ring-3動的分析環境には、実際の運用において明確に理解すべき自然な技術的境界が存在します:
ntdll.dll ファイルからSyscall番号 (SSN - System Service Number) を自己抽出し、独自のメモリから syscall / sysenter バイナリ命令を直接実行する場合、実行フローは ntdll.dll 内にMinHookで設置された関数を経由せず、カーネルに直接ジャンプします。主要なソースコードは以下にあります: Core/analyzer/, Analyzers/PE/, pe_analyzer.exe.
IMAGE_DOS_HEADER, IMAGE_NT_HEADERS (32ビット & 64ビット)。OptionalHeader.AddressOfEntryPoint, ImageBase, Subsystem, DllCharacteristics (ASLR, DEP, CFG, High Entropy VA) のチェック。SizeOfRawData が VirtualSize と大きく乖離。IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE 属性を同時に持つ (W^X違反)。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, , , で終わる基本命令ブロック) に分割。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$ コンテナ検査D0 CF 11 E0 (OLE2複合ドキュメント) $\rightarrow$ FileFormat::Office7F 45 4C 46 (.ELF) $\rightarrow$ FileFormat::ELF#! (Shebang) / / $\rightarrow$ 対応する分岐Analyzers/PDF/)PDFアナライザーは純粋なC++17のみで書かれ、バイナリセーフで、肥大化した外部ライブラリに依存しません:
/FlateDecode (zlib inflate), /ASCIIHexDecode, /ASCII85Decode, /LZWDecode, /RunLengthDecode による多層自動展開。/OpenAction, /AA, /Names, /JavaScript, /JS, /Launch, /EmbeddedFiles, /RichMedia, /XFA。AnalysisNodeアーキテクチャ)すべての埋め込みペイロードを管理する階層的再帰ツリー構造:``` [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ファイルがランサムウェアまたはトロイの木馬):
- 親ノード(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` メカニズム**:
- 最大タイムアウト時間:**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): Object 8を指す `/OpenAction` を検出。
- `T1059.007` (JavaScript): Object 14内にメモリエクスプロイト文字列を検出。
- `T1027.009` (Embedded Payloads): `/EmbeddedFiles` 内に実行可能PEバイナリを検出。
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`: 全ペイロードの階層的再帰ツリー構造。
- `mitre_matrix`: 証拠付きのATT&CK戦術・技術リスト。
- `extracted_iocs`: defanged済みのIP、URL、Domain、Hashリスト。
---
## 6. 詳細モジュール4:3層データセット & 偽陽性対策AI PDFパイプライン
主要ソースコードは以下に存在する:[`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/pdf/`)
サイバーセキュリティAIモデルで頻発する偽陽性(False Positive)問題を根本的に解決するため:
1. **`malware/`**: 実際の攻撃環境から収集したマルウェアサンプル(CVEエクスプロイト、Dropper、フィッシングフォーム、難読化JSを含むPDF)。
2. **`benign/`**: 標準的なオフィスPDF文書(書籍、財務請求書、学術文書、行政書類)。
3. **`suspicious_benign/`(Hard Negatives - 偽陽性除去セット)**:
- 完全にクリーンだが複雑な技術的特徴を持つPDF文書:X.509 PKCS#7デジタル署名付き電子請求書(`/Sig`、`/ByteRange`)、有効な計算JavaScriptを含むAcroFormフォーム、有効なテキストファイル添付(`/EmbeddedFiles`)、ソースコード断片や難読化文字列を含む技術文書。
---
### 6.2 Hard Negativesによる「False Positive Machine」推論ショートカットの排除
- 通常のAIモデルは `/JavaScript` や `/EmbeddedFiles` というキーワードを見ると、即座にマルウェアと判定する傾向がある(Heuristic Shortcut)。
- `suspicious_benign` グループを訓練セットに含めることで、LightGBMモデルはキーワードの存在に基づく単純な検出ではなく、より深い相関関係(コマンドストリームのエントロピー、悪性API名、解凍深度の組み合わせ)を学習せざるを得なくなる。
---
### 6.3 分割前の多段階重複排除(Multi-Level Deduplication)
TrainセットとTestセット間のデータリーク(Data Leakage)を排除するため:
1. **レベル1重複排除(Exact Hash)**: SHA-256 / MD5ハッシュが重複するファイルを除去。
2. **レベル2重複排除(Structural Fingerprinting)**:
- PDFオブジェクトツリー構造と意味的内容の構造ハッシュベクトルを計算。
- 派生変種(名前変更、メタデータ変更でもバイトストリームツリー構造が同一の変種)を除去。
---
### 6.4 データリーク対策の独立分割 `StratifiedGroupKFold`
- `StratifiedGroupKFold` アルゴリズムを使用(`n_splits=5`)。
- 文書ファミリ識別子(`Family Group ID`)でグループ化し、同一構造的起源を持つ全ファイルが完全に1つのセット(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`)**:
- 独立したvalidationセットでIsotonic RegressionおよびPlatt Sigmoid Scalingキャリブレーションを使用し、LightGBM決定木の出力を実際の統計的確率 $P(\text{Malicious} \mid X) \in [0.0, 1.0]$ に変換。
---
### 6.6 検証ベンチマーク結果 & 偽陽性耐性(Audit Report)
独立テストセット(Test Set)での実験的評価:
| 評価指標 | V1.6達成値 | 技術的評価 |
| :--- | :---: | :--- |
| **Accuracy(総合精度)** | **99.42%** | 3データセットすべてでバランス |
| **Malware Recall(マルウェア検出率)** | **99.15%** | ほとんどのCVEエクスプロイトとPDF Dropperサンプルを検出 |
| **`benign` でのFalse Positive Rate** | **0.00%** | 標準オフィス文書での偽陽性は未確認 |
| **`suspicious_benign` でのFalse Positive Rate** | **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)**: Capstone Engineから抽出した512次元。
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)** モデルを使用し、CFG上のBasic Blockノード間でメッセージパッシング(Message Passing)を行い、レジスタリネーミング(Register Renaming)に依存しないマルウェアの制御構造を抽出。
---
### 7.3 SHAP Feature Pruningによる特徴量最適化
- ゲーム理論 **SHAP(SHapley Additive exPlanations)** を適用し、モデルの決定を説明(Explainable AI - XAI)。
- 各特徴量の寄与指標(SHAP Value $\phi_i$)を評価。SHAP値がほぼ0の特徴量を除去し、計算速度の最適化と汎化能力の向上を図る。
---
### 7.4 LightGBM Ensemble分類モデル(Adam、Eve、Marcus)& 動的閾値
3つの専門化モデルを組み合わせたEnsembleアーキテクチャ:
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 AI分類器のベンチマーク結果 & 実験的評価
20,000サンプル(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ファイル/秒** 以上の変更/上書きを実行した場合、そのプロセスはランサムウェアの爆発的行動として識別される。
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 RAM & `pagefile.sys` からの暗号化キー構造抽出(20+ Standards)
暗号化行動を検出すると、BHR Engineはプロセスメモリのスナップショットを取得し、**20以上の現代暗号標準**の候補キー構造をスキャンする:
1. **AES-128 / AES-256 Key Schedules**: AES S-Box / Rconアルゴリズムの逆算を通じて拡張キースケジュール(Expanded Key Schedule)をスキャン。
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**: ビットクランピング条件(`k[0] &= 248; k[31] &= 127; k[31] |= 64;`)を満たす32バイト列をスキャン。
---
### 8.4 COW Virtual Overlayバッファからのデータ復元(Win32/NT Scope)
標準ファイル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の実験的検証
Dual-Engine Hybrid暗号化メカニズム(LockBit 3.0 / BlackCat類似)を模擬したランサムウェアサンプルを用いた制御されたLab環境での検証:
- 対称暗号化: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**: 実際のランサムウェア株(Babuk、Conti、LockBitなど)は、暗号化セッション完了直後に `SecureZeroMemory` または `RtlZeroMemory` を積極的に呼び出し、対称鍵配列を完全に消去するのが一般的である。抽出は、プロセスが暗号化中のタイミングでMemory Dumpが間に合った場合、またはzeroization関数が呼び出される前にのみ実行可能である。
> 2. **C2非対称鍵メカニズム**: 現代のランサムウェアの大部分は、対称セッション鍵(AES/ChaCha20)を生成し、このセッション鍵を攻撃者のPublic Key(マルウェアにハードコード)で暗号化してC2にCiphertextを送信するか、暗号化ファイルの末尾に書き込む。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)を記録します。V1.6 システムには7次元の自動テストスイート(tests/)が統合されています:
主要なソースコードは以下にあります: 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)$ と Verifier $v = g^x \pmod N$ を計算し、Salt $s$ と Verifier $v$ のみを保存する。
2. **認証(Authentication)**: 共有秘密値 $S$ に基づく安全なチャレンジ応答交換プロトコルを実行し、証明 $M_1, M_2$ で検証する。パスワードが生の形で現れることは決してない。
---
### 10.3 即時パスワード変更メカニズム(Instant Re-Keying Mechanism)
BHPAI は **$K_{ ext{vault}}$ Indirection** アーキテクチャにより、数百 GB のバックアップデータを再暗号化することなくマスターパスワードを変更する課題を解決する:
- ファイルデータは Vault マスターキー $K_{ ext{vault}}$ で暗号化される。
- キー $K_{ ext{vault}}$ はさらにアンロックキー $K_{ ext{unlock}}$(パスワードから生成)によって保護される。
- パスワード変更時:古いパスワードで $K_{ ext{vault}}$ を復号し、その後 $K_{ ext{vault}}$ ブロックのみを新しいパスワードで再暗号化する。**バックアップデータ全体は暗号文の状態のまま維持される。**
---
### 10.4 標準化 AAD 認証 & トラフィック分析対策の Bucket Size Padding
1. **Binary Length-Prefixed Canonical AAD**(`Core/vault/integrity.py`):C++ と Python 間で互換性のある標準化された形式の追加認証データ(Authenticated Additional Data)を付加し、異なるファイル間での暗号文の入れ替え行為を防止する。
2. **Application-Level Bucket Size Padding**:ファイルを固定サイズ(64KB、1MB、10MB、100MB)にパディングすることで、暗号文のサイズに基づくファイル内容の推測可能性を最小限に抑える。
---
### 10.5 ローカル暗号化ブロックストアアーキテクチャ(Local Encrypted Block Store)
- バックアップデータを安全なローカル暗号化バイナリブロックとして管理する。
- 保護された暗号化コンテンツチャンクハッシュ(Encrypted Content Chunk Hash)に基づくローカル重複排除をサポートする。
- 外付けドライブ、セキュア USB、または独立したレスキューパーティションへの保存との高い互換性。
---
## 11. サブシステム 9 の詳細:PYQT6 GLASSMORPHISM デスクトップ GUI、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 GUI アーキテクチャ(マルチスレッディング QThread)
現場調査およびローカル運用に特化したデスクトップユーザーインターフェース:
- **UI をブロックしないスムーズな設計(Non-blocking GUI Responsiveness)**:すべての重い計算処理(Capstone 逆アセンブリ、Sandbox IPC、KDF 暗号処理、PE/PDF 抽出)は GUI スレッドから完全に分離され、**`QThread` バックグラウンドワーカー**を通じて調整される。
- **ダーク Glassmorphism デザインスタイル**:モダンなダークトーン、繊細な角丸効果、直感的なコントロールパネル、リアルタイムステータスチャートシステムを採用。
---
### 11.2 デスクトップ GUI の主要機能タブ
1. **Multi-Format Scanner Tab**:
- 任意のファイル(PE、PDF、Office、Scripts)のドラッグ&ドロップを可能にする。
- 脅威スコア(Threat Score)を表示し、ペイロードの再帰的分析と `AnalysisNode` ツリーの可視化を行う。
2. **Dynamic Sandbox Monitor Tab**:
- リアルタイムイベントログ、NT Native API 呼び出しフロー、子プロセス、CPU/RAM/Disk IO リソースチャートを監視する。
3. **MITRE ATT&CK Matrix Tab**:
- マルウェアが違反した戦術・技術マトリクスを可視化し、直接抽出した証拠を添付する。
4. **BHR & Recovery Center Tab**:
- データ暗号化タイムライン、リアルタイムエントロピーパラメータを監視し、迅速なロールバック復元を実行する。
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)を識別するナレッジベースと、行動分類ルールセットを統合。
- 悪性 IOC リスト(IP、Domain、URL、Hashes)を自動的に抽出・defang し、レポート抽出プロセス中にアナリストを保護する。
---
### 11.5 多形式レポートシステム Universal Schema 2.0(JSON、Markdown、PDF)
- **JSON Schema 2.0**:標準化された機械可読データ構造を提供し、他の分析システムとの統合が容易。
- **Markdown Summary**:視覚的なサマリーレポートを出力し、デジタル調査エンジニア間での迅速な共有をサポート。
- **PDF レポート**:エントロピー分布チャートとペイロード構造ツリーを含むプロフェッショナルなレポートを自動生成。
---
## 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)オフラインレスキュー環境
ランサムウェア攻撃によりオペレーティングシステムが麻痺し、スクリーンロッカー、セーフモードの無効化、またはシステムファイルへの介入が発生した場合、実行中のオペレーティングシステム上での直接分析は、マルウェアプロセスや rootkit によって妨害されるため多くのリスクを伴う。**BHPAI Rescue Suite V2** は、オフライン環境 **Windows Recovery Environment(WinRE)** または Windows PE から動作することでこの課題を解決する:
- **実行中環境からの分離**:メインの Windows で動作している悪性プロセスやカーネルフックの影響を受けない。
- **オフラインレジストリ読み込み(Offline Hive Loading)**:ハードディスク上の実際のレジストリ構造ファイル(`SYSTEM`、`SOFTWARE`、`NTUSER.DAT`)を WinRE の一時ブランチに自動的にマウントし、ターゲット OS を起動することなくシステムロックを修正・解除する。
- **Air-Gapped & ネットワークから独立**:完全にローカルで実行され、ネットワーク接続を必要とせず、C2 ボットネットがデータ破壊信号を送信するリスクを軽減する。
---
### 12.2 `bhpai_rescue.exe` の 7 つのコアサブシステムアーキテクチャ
[`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue) のソースコードは純粋な C++17 で構築され、OpenSSL と zlib を用いて静的リンク(static linking)でコンパイルされている:```
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 (OSパーティションの特定):
FindFirstVolumeW、FindNextVolumeW)。System32\ntoskrnl.exe、System32\config\SYSTEM、explorer.exe)。OfflineRegistryManager (オフラインレジストリ管理):
RegLoadKeyW を使用してハイブファイルを一時プレフィックスにロードします: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM、BHPAI_OFFLINE_SOFTWARE、BHPAI_OFFLINE_NTUSER。Select\Current キーを介してアクティブな ControlSet を解決します (例: )。安全性を確保し、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)**: 包括的なスキャン、すべての悪意のあるバイナリファイル、レジストリの永続化キー、影響を受けたファイルのリストアップ。
2. **Phase 2 (Backup)**: トランザクションディレクトリ `C:\BHPAI_Rescue_Backup\` を Volume GUID と Disk ID に紐付けて作成。すべてのハイブファイル(`SYSTEM.before`、`SOFTWARE.before`、`NTUSER.DAT.before`)をバックアップし、元のファイルメタデータ(サイズ、タイムスタンプ属性、ACL 記述子)を保存。
3. **Phase 3 (Modify)**: 各操作をトランザクションログ(`transaction.json`)に記録し、マルウェアファイルを隔離ストレージに移動し、悪意のあるレジストリ値を修復。
4. **Phase 4 (Verify)**: ディスク上の各変更を再検証:悪意のあるファイルが元の場所に存在しないこと、隔離ストレージ内のファイルが SHA-256 ハッシュと一致すること、レジストリハイブが正しい Windows 標準バイナリを指していることを確認。
5. **Phase 5 (Commit)**: トランザクションの状態を `IN_PROGRESS` から `COMMITTED` に変更。Phase 3 または Phase 4 のいずれかのステップで問題が発生した場合、システムは自動的に **LIFO Rollback** を起動し、ハイブファイルを完全に復元し、隔離ストレージからファイルを元の場所に戻す。
---
### 12.4 障害発生時の自動復旧メカニズム(Crash State Recovery)
`bhpai_rescue.exe` の実行中にコンピュータの電源が突然失われた場合、または意図せずシャットダウンした場合:
- 次回 WinRE での起動時に、`bhpai_rescue.exe` は自動的に `transaction.json` を読み取り、**CRASH STATE**(`IN_PROGRESS`)状態を検出します。
- プログラムは `[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED` という警告を発します。
- 2段階の復旧オプションを提供します:
- **Tier 1**: LIFO Rollback ログの順序に従って逆順に復元。
- **Tier 2 (Emergency Hive Restore)**: バックアップ `*.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` に自動コピー。
- **適応型ランチャー**: 環境変数 `%~d0` と `%SystemDrive%` を使用するスクリプト `Windows\System32\bhpai.cmd` を作成し、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レポート(デジタルフォレンジック・インシデント対応レポート)を出力します:
C:\BHPAI_Rescue_Report.json: SHA-256ハッシュ全体、キー一覧、レジストリ動作、トランザクションメタデータを含むJSON形式の詳細レポート。C:\BHPAI_Rescue_Summary.md: アナリスト向けの総合的な要約をMarkdown形式で提示するサマリーレポート(参照例: BHPAI_Rescue_Summary.md)。bhpai_sourceopen - 25%)サイバーセキュリティ研究コミュニティ、独立した検証、および技術的能力のデモンストレーションに供するため、BHPAIプロジェクトはbhpai_sourceopenディレクトリにCommunity Editionをリリースしています。このパッケージはOpen-Coreモデルに基づいて設計されています:
Core/scanner/: PE構造解析、Opcode/API N-Grams特徴抽出、CFGサイクロマティック複雑度グラフ、TF-IDF、YaraGenルール自動生成、AVX2 StringEx最適化文字列処理を含むC++ソースコード全体。Core/Decompile/: Capstone Engineを介したx86/x64バイナリ逆アセンブラ(Disassembler、PeParser)。Core/pack/: UPXおよびWWPackのインメモリ展開ツール。fuzzy/: バイナリファジーハッシュアルゴリズムSSDEEP(fuzzyhash.c/.h)。Analyzers/Common/: 3段階ファイルルーティングFileRouter、ParserLimits制限、MITRE ATT&CKマッピングMitreMapper、IOC無害化IOCExtractor(Defanging)。Core/Train/ & model/: PE特徴ベクトル抽出器(feature_extractor.py)および分類閾値設定。scan.py & app_scan.py: PE専用のコマンドラインスキャナおよびデスクトップGUI。[!IMPORTANT] ライセンスおよび独立性に関するコミットメント:
- PDFサブシステムの100%除外: PDFサブシステムは現在開発・完成途上にあるため、PDFソースコード全体は非公開とし、本オープンソース版には含まれません。
- データセットの100%除外:
dataset/ディレクトリは絶対に公開しません(マルウェアサンプルやユーザードキュメントは含まれていません)。- 独立ライセンス: Community license stub(
BhpaiLicense.hpp)が付属しており、商用ハードウェアキーのアクティベーションなしで、ユーザーはバイナリ解析を完全に自由にコンパイル・実行できます。
BHPAI V1.6 Enterpriseプロジェクトのマスター技術文書は、BHPAI Engineering Teamによって編纂および標準化されました。All rights reserved.
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.
現代のサイバーセキュリティ脅威環境において、高度標的型攻撃(APT)、スパイウェア、ランサムウェアキャンペーンは従来の実行可能バイナリ(.exe、.dll)の枠をはるかに超えて拡大しています:
/Launchアクション)や、文書内にドロッパーPE実行ファイルを埋め込むことによって獲得されます。BHPAIバージョンV1.6 Enterpriseは、統合されたマルチフォーマットハイブリッドエンジンを通じてエンドツーエンドの攻撃チェーン保護を提供する多層サイバー防御エコシステムです: 3段階自動フォーマットルーティング(PE、PDF、Office、Script)、再帰的ネストペイロード解析、Ring-3ステルス動的サンドボックス分離、ハードウェア支援Intel PT監視、およびキャリブレーションされた偽陽性耐性AIモデル。
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│ └────────────┬────────────┘ │ └────────────┬────────────┘ │ │ │ │ │ (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**: サンドボックスは実行をプライベート仮想デスクトップ(`BHPAISandboxDesktop`)内に閉じ込め、厳格なWindows Job Object制限(512MB RAM上限、CPUアフィニティ、プロセスのブレイクアウェイ禁止)を適用し、Restricted Tokenを介して高権限を剥奪します。PDFパーサーは`AnalysisBudget`と厳格な`ParserLimits`によって保護され、解凍爆弾(最大圧縮率100:1、ストリーム展開の上限、再帰深度の上限)を防止します。
2. **Stealth Anti-Evasion (Minimal User-Mode Footprint)**: Ring-3監視DLLは、自身の`LDR_DATA_TABLE_ENTRY`を3つのPEBモジュールリスト(`InLoadOrder`、`InMemoryOrder`、`InInitializationOrder`)すべてからプロアクティブにアンリンクし、PEヘッダーとPDBデバッグパスをRAMからワイプし、LauncherプロセスにDACL保護を適用することで検出を軽減します。
3. **Hierarchical Recursive Analysis Tree & Child Dominance**: `AnalysisNode`ツリーは、埋め込まれたすべてのペイロードを再帰的に検査します。ネストされたバイナリ(Child PE)がいずれか1つでも悪意ありと分類された場合、システムは**Child Dominance Rule**を発動し、親ドキュメントの判定を**MALICIOUS**に格上げし、脅威スコアを最低85/100とします。
4. **False-Positive Resistance AI**: 偽の特徴ショートカットは、3層データセット設計(`suspicious_benign`)、多段階重複排除(Exact Hash + Structural Fingerprinting)、および`StratifiedGroupKFold`によるグループ対応クロスバリデーションによって完全に排除されます。
5. **Data Protection & Candidate Key Recovery**: BHRエンジンはWin32/NT I/O境界で高エントロピーの暗号化バーストを検出し、プロセスRAMと`pagefile.sys`から候補暗号鍵構造(AES-GCM GHASH $H$、ChaCha20状態、RSA DER、X25519)を抽出し、COW Virtual Overlayバッファから変更されたファイルをロールバックします。
---
### 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
以下のシーケンス図は、生ファイルの取り込みから静的/動的トリアージ、再帰的分解、AI推論、オフライン災害復旧までのエンドツーエンドの実行フローを示しています:```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
コアソース実装: BHPAISandbox.cpp、BHPAIMonitor.cpp、SafeVirtualDesktop.cpp、SafeJobObject.cpp、IntelPTMonitor.cpp、FakeNetEngine.cpp。
BHPAISandboxDesktop): セキュリティフラグ DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS を指定して CreateDesktopW で初期化されます。すべてのグラフィカルウィンドウ、Windows メッセージ (WM_DROPFILES、WM_COPYDATA、UI フック)、およびキーストロークロガーは、対話型ユーザーセッション (Default デスクトップ) から厳密に分離されます。SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: ランチャーを終了すると、子プロセスツリー全体が即座かつクリーンに終了することを保証します。JOB_OBJECT_LIMIT_PROCESS_MEMORY: プロセスあたりの最大コミットチャージを 512MB に制限し、メモリ枯渇攻撃を防止します。JOB_OBJECT_LIMIT_ACTIVE_PROCESS: アクティブプロセスを 32 に制限し、フォークボムによるサービス拒否攻撃を阻止します。JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Windows エラー報告のクラッシュダイアログを抑制します。JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: 不正なプロセス間ハンドル共有とグローバルアトム汚染を防止します。ランチャーは CreateProcessAsUserW を実行する前に、CreateRestrictedToken を介して制限付きセキュリティトークンを構築します:
WinBuiltinAdministratorsSid、WinLocalSystemSid、WinLocalAdminSid。SeDebugPrivilege、SeTcbPrivilege、SeTakeOwnershipPrivilege、SeLoadDriverPrivilege、SeBackupPrivilege、SeRestorePrivilege、SeShutdownPrivilege、SeImpersonatePrivilege。SECURITY_MANDATORY_LOW_RID または SECURITY_MANDATORY_MEDIUM_RID に低下させます。ユーザーモードのアンチ分析技術に対する監視フットプリントを最小化するため:
BHPAIMonitor.dll は、プロセス環境ブロック (PEB) 内の 3 つの双方向リンクリストすべてから自身の LDR_DATA_TABLE_ENTRY を自動的にアンリンクします:
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
マルウェアによる PEB->Ldr の走査や EnumProcessModules の呼び出しでは、監視 DLL の証拠は一切明らかになりません。PAGE_READWRITE を適用し、自身の IMAGE_DOS_HEADER、IMAGE_NT_HEADERS、IMAGE_SECTION_HEADER、およびデバッグディレクトリの PDB ファイルパス文字列をゼロクリアし、インメモリシグネチャスキャナを無効化します。SetKernelObjectSecurity を介して構成し、低整合性プロセスからの 、、および をブロックします。監視エージェントは、MinHook エンジンを使用して ntdll.dll および kernelbase.dll 内の低レベルネイティブ NT API をフックします:
| API サブシステム | フックされるネイティブ NT API | 監視 & リダイレクトの目的 |
|---|---|---|
| プロセス / スレッド | NtCreateProcessEx、NtCreateUserProcess、NtCreateThreadEx、NtQueueApcThread | 子プロセスの生成、プロセスインジェクション、APC インジェクションを検出します。 |
PROCESS_TERMINATEPROCESS_VM_WRITEPROCESS_SUSPEND_RESUME| APIグループ | フックされるネイティブ関数 | 監視 & リダイレクトの目的 |
|---|
| プロセス / スレッド | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | 子プロセス作成、プロセスインジェクション、APCインジェクションの検出。 |
| 仮想メモリ | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | PAGE_EXECUTE_READWRITE 割り当て、プロセスホロウイング、シェルコードインジェクションの識別。 |
| ファイルシステムI/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | I/Oの記録、COWオーバーレイのリダイレクト、Shannonエントロピーの測定。 |
| レジストリ | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | 自動起動永続化ポイント (Persistence) の監視とCOWリダイレクト。 |
| アンチ分析 | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | ProcessDebugPort 検出のブロック、ThreadHideFromDebugger、Sleep回避の高速化。 |
retjejneMZ<html>[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)。unescape(), String.fromCharCode(), eval(), ヒープスプレーNOPスレッド (%u9090%u9090)、およびAdobe Reader API悪用 (util.printf, collab.getIcon, spell.customDictionaryOpen) を識別し復号化。| 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 | 🔴 Detected (Shadow Copy Deletion) |
| テスト | Test Script | 状態 | 実測結果 |
|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 継続的なプロセス生成と I/O 負荷下で 0 crash / 0 deadlock。 |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 未正規化の \Device\ パスの見落とし 0 件。 |
| 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 の全テストを通過。 |
ControlSet001Shell キー (explorer.exe からマルウェアファイルに改変) および Userinit。taskmgr.exe、cmd.exe、sethc.exe に偽のデバッガーを割り当てる手法。Windows\System32\Tasks 内のタスク XML ファイルを直接読み取ります。OfflineMalwareScanner (スキャン & BHR 10-Pillar 評価):
AppData\Local\Temp、ProgramData、Users\Public、Windows\Temp) から抽出された実行可能 PE ファイルのリストを自動的にロードします。MALICIOUS、SUSPICIOUS、CLEAN) を下します。OfflineBlastRadius (マルチシグナル被害範囲評価):
Desktop、Documents、Downloads、Pictures、Videos) をスキャンしてインベントリを作成します。README.txt、DECRYPT_FILES.html、HOW_TO_RESTORE.txt) を自動検出して収集します。OfflineCryptoArtifactHunter (暗号鍵の探索):
pagefile.sys、swapfile.sys、およびクラッシュダンプファイル (MEMORY.DMP) を直接読み取ります。RescueRemediator (修復オーケストレーション):
C:\BHPAI_Rescue_Quarantine\) に隔離するプロセスを制御し、SHA-256 ハッシュによる検証を付与します。explorer.exe に復元、IFEO ハイジャックの削除、スケジュールされたタスク (Scheduled Tasks) および悪意のあるサービスの無効化。RescueTransactionJournal (ACID トランザクションジャーナル & LIFO ロールバック):
Analyzers/PDF/)AnalysisNode Architecture)ParserLimits, AnalysisBudget)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sys Candidate Key Extraction (20+ Cryptographic Standards)BehaviorGraph) & Attack Chain State MachineCryptoOperation)bhpai_rescue.exebhpai_rescue.exePROCESS_TERMINATEPROCESS_VM_WRITEPROCESS_SUSPEND_RESUME