
Plataforma de análise de malware multi-formato que combina um sandbox Windows Ring-3 furtivo, analisadores estáticos de PE/PDF, recuperação de chaves de ransomware e um conjunto de IA para detecção resistente a falsos positivos.
Versão do sistema: V1.6 Enterprise Edition (Atualização Abrangente de Recursos do Sistema)
Autor: Rin449 Linguagem & Tecnologias centrais: 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
Documento de referência Master: Detalhes da arquitetura multi-formato (Multi-Format), algoritmo de análise recursiva, análise estática PE & PDF, monitoramento dinâmico Sandbox Stealth Ring-3, extração de estrutura de chave Ransomware, modelo de IA resistente a falsos positivos (False Positive Resistant), sistema de resgate offline WinRE e segurança de dados Zero-Knowledge.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sysBehaviorGraph) & State Machine de Cadeia de Ataquebhpai_rescue.exebhpai_rescue.exeNa era atual da segurança cibernética, ataques direcionados (APT), spyware e ransomware ultrapassaram o escopo dos tradicionais arquivos executáveis (.exe, .dll):
/Launch executando comandos ocultos) ou empacotando arquivos executáveis PE incorporados dentro de PDFs como Dropper.BHPAI versão V1.6 Enterprise é um sistema de segurança cibernética multicamadas, oferecendo solução de proteção abrangente para a cadeia de ataque através da arquitetura Multi-Format Hybrid Engine: Roteamento automático multi-formato (PE, PDF, Office, Script), análise recursiva de payloads aninhados, isolamento Sandbox Ring-3 stealth, monitoramento de hardware Intel PT, e modelo de IA calibrado contra falsos positivos.
BHPAI V1.6 foi projetado com base no modelo Roteamento - Análise Recursiva - Correlação de Comportamento - Recuperação Offline:``` ┌───────────────────────────────────────────────┐ │ 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 (Segurança e Defesa contra DoS)**: Sandbox que isola o processo através de um Desktop virtual dedicado (`BHPAISandboxDesktop`), limita o Job Object (RAM 512MB, CPU, proíbe Breakaway) e reduz privilégios com Restricted Token. O descompactador de fluxo PDF é protegido por `AnalysisBudget` e `ParserLimits` contra Decompression Bomb (taxa de compressão máxima de 100:1, limites de tamanho e profundidade de aninhamento).
2. **Stealth Anti-Evasion (Redução de footprint em User-mode)**: A DLL de monitoramento Ring-3 reduz ativamente os vestígios contra técnicas comuns de anti-analysis através da remoção de 3 listas de links duplos do PEB Module (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), apaga o PE Header e Debug PDB na RAM, e estabelece DACL protegendo o Launcher contra comandos básicos `OpenProcess(PROCESS_TERMINATE)`.
3. **Recursive Analysis Tree & Child Dominance (Análise recursiva e Dominância de filhos)**: A arquitetura de árvore `AnalysisNode` verifica recursivamente todos os arquivos incorporados dentro do documento. Ao detectar que um arquivo executável filho (Child PE) é malicioso, o sistema aciona a **Child Dominance Rule**, elevando automaticamente a conclusão do documento pai para **MALICIOUS** com pontuação de risco mínima de 85/100.
4. **False-Positive Resistance AI (Resistência a falsos positivos)**: Elimina atalhos de inferência errônea através da organização de conjuntos de dados em 3 camadas (`suspicious_benign`), desduplicação multinível (Exact Hash + Structural Fingerprint) e decomposição de grupos `StratifiedGroupKFold`.
5. **Data Protection & Key Recovery (Detecção e Suporte à extração de chaves candidatas)**: O BHR Engine detecta comportamento de criptografia com entropia intensa no escopo de Win32/NT I/O, varre em busca de estruturas de chaves candidatas (AES-GCM GHASH $H$, estado ChaCha20, RSA DER, X25519) na RAM e `pagefile.sys` antes que o processo libere a memória, além de suportar rollback de arquivos gravados na área de buffer COW Overlay para operações de I/O padrão.
---
### 1.3 Tabela de especificações técnicas centrais V1.6 (Technical Highlights)
| Subsistema & Critério | Especificações Técnicas & Tecnologias de implementação V1.6 |
| :--- | :--- |
| **Roteamento de arquivos (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) |
| **Análise PDF Native V2.0** | C++17 Binary-Safe Parser, FlateDecode/ASCIIHex Inflate, Recursive Embedded Payloads (`MZ`), Javascript Obfuscation & Acrobat API Analyzer, 57 Vector Features |
| **Defesa Anti-Bomb / DoS** | `ParserLimits`: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Timeout 30 segundos |
| **Ambiente Sandbox** | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Dangerous Privileges) + Virtual Desktop |
| **Virtualização de Filesystem/Registry** | Copy-On-Write (COW) Virtual Overlay em 2 camadas com suporte a Alternate Data Streams (ADS), Reparse Points, e Merged Virtual Registry View |
| **Técnicas de Stealth Monitor** | Unlink PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| **Hooking & Grafo de Comportamento** | MinHook Engine + RAII `HookGuard` + `BehaviorGraph` entre processos (Remote Thread, Process Hollowing, APC Queue Injection) |
| **Monitoramento de Hardware Intel PT** | Hardware-Assisted Tracing via CPUID leaf 0x14, `ProcessIntelProcessorTrace` Class 47, TNT/TIP/FUP Packet Decoder |
| **Análise Estática PE (Static)** | Capstone Disassembler (x86/x64) + Opcode TF-IDF + API N-Grams + CFG Cyclomatic Complexity + YaraGen (Rust Blacklist) + SSDEEP/TLSH |
| **Conjunto de Modelos AI / Machine Learning** | PyTorch Sequence Embedder + GNN em CFG + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
| **Treinamento contra Falsos Positivos** | Dataset em 3 camadas (`malware`, `benign`, `suspicious_benign`), Dedup nível 1 (SHA256) & nível 2 (Structural Fingerprint), `StratifiedGroupKFold` |
| **Detecção de Ransomware** | Real-time Shannon Entropy Calculation ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Shadow Copy Wiping Detector |
| **Extração de Chaves & Recuperação** | RAM & `pagefile.sys` Extractor para 20+ algoritmos (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Rollback |
| **Backup Criptografado Independente (Vault)** | Client-Side Zero-Knowledge E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Re-Keying ($K_{\text{vault}}$) + Canonical AAD |
| **Resgate Offline WinRE** | `bhpai_rescue.exe` C++17 standalone, 7 subsistemas, transação ACID em 5 fases, Crash state recovery, montagem automática de registry offline |
| **Interface Desktop & Licenciamento** | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing engine |
---
## 2. DIAGRAMA DE ARQUITETURA & FLUXO GERAL DE PROCESSAMENTO DE DADOS
O diagrama de sequência mostra o fluxo de processamento desde o recebimento do arquivo de entrada até a extração de payload, análise estática/dinâmica, classificação por IA e recuperação de dados:```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
O código-fonte principal está localizado em: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Inicializado com CreateDesktopW com os flags DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Todas as janelas gráficas, mensagens do Windows Message (WM_DROPFILES, WM_COPYDATA, UI Redirection) do código malicioso são completamente confinadas no Desktop virtual, isoladas da tela do usuário (Desktop Default).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Quando o processo Launcher termina, toda a árvore de processos filhos do código malicioso é automaticamente destruída.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Limita a RAM máxima a 512MB/processo para evitar o esgotamento de recursos do sistema.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Limita a no máximo 32 processos simultâneos para prevenir ataques Fork-Bomb.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Bloqueia a janela do Windows Error Reporting Crash Dialog.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Impede a interferência com Handles e Atoms globais.O Launcher cria um Token restrito através de CreateRestrictedToken antes de chamar CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID ou SECURITY_MANDATORY_MEDIUM_RID.Para minimizar a capacidade do código malicioso de detectar a DLL de monitoramento no espaço de memória Ring-3:
BHPAIMonitor.dll remove automaticamente sua própria LDR_DATA_TABLE_ENTRY das 3 listas duplamente encadeadas no Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Quando o código malicioso percorre PEB->Ldr ou chama EnumProcessModules, o módulo de monitoramento não aparece na lista.PAGE_READWRITE e zera (Zero-fill) a região de IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER e a string Debug Directory PDB Path da DLL na memória RAM, impedindo técnicas de varredura de assinatura de memória.SetKernelObjectSecurity com uma lista de controle de acesso discricionário (DACL) vazia, negando permissões PROCESS_TERMINATE, PROCESS_VM_WRITE, e PROCESS_SUSPEND_RESUME de processos com nível de integridade inferior.O sistema utiliza o MinHook Engine para intervir diretamente nas funções Native NT API de baixo nível em ntdll.dll e kernelbase.dll:
| Grupo de API | Função Native Hooked | Propósito de Monitoramento & Redirecionamento |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Detectar criação de processos filhos, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Identificar alocação de PAGE_EXECUTE_READWRITE, Process Hollowing, Shellcode Injection. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Registrar I/O, redirecionar COW Overlay, medir Shannon Entropy. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Monitorar pontos de persistência de auto-inicialização (Persistence) e redirecionamento COW. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Bloquear detecção de ProcessDebugPort, ThreadHideFromDebugger, acelerar Sleep Evasion. |
Todas as funções hook são protegidas pela camada RAII HookGuard (thread_local bool in_hook), garantindo proteção contra o fenômeno de loop infinito (Recursive Hook Loop Deadlock).
Para proteger com segurança o sistema real enquanto ainda permite que o código malicioso interaja normalmente:
GENERIC_READ, o sistema permite a leitura do arquivo original.GENERIC_WRITE ou exclusão FILE_DELETE_ON_CLOSE: O arquivo original é imediatamente copiado para o diretório temporário virtualizado BHPAI_Sandbox_Overlay\Files\. Todas as operações de modificação de dados são executadas nesta cópia.file.txt:zone.identifier), Reparse Points e Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) são mapeadas para o ramo temporário HKCU\Software\BHPAI_Virtual_Registry\.Utiliza o subsistema Microsoft Event Tracing for Windows (ETW) para capturar eventos do Kernel:
Microsoft-Windows-Kernel-Process: Captura eventos de criação de processos mesmo quando o código malicioso usa Direct Syscalls para contornar Userland Hooks.Microsoft-Windows-Kernel-Network: Registra conexões TCP/UDP de baixo nível.Microsoft-Windows-Kernel-Memory: Monitora operações de mapeamento de memória cruzado (Cross-Process Memory Mapping).Integra um motor de simulação de rede independente (FakeNetEngine.cpp):
127.0.0.1).O subsistema IntelPTMonitor.cpp explora o recurso de rastreamento de hardware da CPU Intel:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace).TNT (Taken/Not-Taken Branch), TIP (Target IP) e FUP (Function Pointer), permitindo a detecção de ROP (Return-Oriented Programming) Chains e decodificação do fluxo de execução sem depender de software.Embora projetado com múltiplas camadas de proteção, o ambiente de análise dinâmica Ring-3 ainda possui fronteiras técnicas naturais que precisam ser compreendidas na prática operacional:
ntdll.dll no disco e executa a instrução binária syscall / sysenter diretamente da memória própria, o fluxo de execução salta diretamente para o Kernel sem passar pelas funções instaladas pelo MinHook em ntdll.dll.O código-fonte principal está localizado em: 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 com grande discrepância em relação ao VirtualSize.IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE (W^X Violation).cs_open(CS_ARCH_X86, CS_MODE_32 / CS_MODE_64) com configuração detalhada CS_OPT_DETAIL..text, .code).mov -> push -> call -> test -> jz).IMAGE_IMPORT_DESCRIPTOR (IAT) e analisa pares de API com alto grau de suspeita:
VirtualAlloc $\rightarrow$ WriteProcessMemory $\rightarrow$ CreateRemoteThread.FindResource $\rightarrow$ LoadResource $\rightarrow$ LockResource $\rightarrow$ SizeofResource.CryptAcquireContext $\rightarrow$ CryptGenKey $\rightarrow$ CryptEncrypt.jmp, call, ret, je, jne).UPX0, UPX1, UPX2, ASPack, PECompact, Themida, VMProtect, .mpress.library\core\src\..., panicked at, alloc::raw_vec).O código-fonte principal está localizado em: Analyzers/PDF/, FileRouter.hpp, UniversalDefanger.hpp, UniversalReportSchema.hpp, pdf_analyzer.exe.
O sistema não depende da extensão do arquivo (.exe, .pdf), mas usa a arquitetura de roteamento 3-Stage FileRouter:
4D 5A (MZ) $\rightarrow$ FileFormat::PE25 50 44 46 (%PDF) $\rightarrow$ FileFormat::PDF50 4B 03 04 (PK..) $\rightarrow$ Container InspectionD0 CF 11 E0 (OLE2 Compound Document) $\rightarrow$ FileFormat::Office7F 45 4C 46 (.ELF) $\rightarrow$ FileFormat::ELF#! (Shebang) / MZ / <html> $\rightarrow$ Ramificação correspondente[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/)O analisador de PDF é escrito inteiramente em C++17 puro, binário seguro e não depende de bibliotecas externas pesadas:
/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), e exploração de Adobe Reader APIs (util.printf, collab.getIcon, spell.customDictionaryOpen).AnalysisNode)Estrutura de árvore recursiva hierárquica que gerencia todos os payloads incorporados:``` [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 Motor de Pontuação de Risco Contextual e Regra de Dominância de Filho (Child Dominance Rule)
1. **Contextual Risk Scoring Engine**: Pontuação baseada em pesos contextuais combinados (Action Trigger $\times$ JavaScript Risk $\times$ Exploit Indicators).
2. **Child Dominance Rule (Regra de Dominância de Filho)**:
- Se qualquer nó filho na árvore recursiva (`Child Node`) tiver conclusão **`MALICIOUS`** (por exemplo: arquivo PE anexado é ransomware ou trojan):
- O nó raiz pai (Parent Document) **é automaticamente elevado à conclusão `MALICIOUS`**.
- A pontuação de risco do nó pai é automaticamente definida:
$$\text{Score}_{\text{parent}} = \max(\text{Score}_{\text{parent}}, 85, \text{Score}_{\text{child}})$$
---
### 5.5 Defesa Anti-DoS e Proteção contra Bomba de Descompressão (Decompression Bomb Protection)
Para garantir que o sistema não seja atacado para esgotar recursos (Denial-of-Service):
- **Configuração `ParserLimits`**:
- Limite máximo de tamanho de arquivo de entrada: **500 MB**.
- Limite máximo de tamanho total de fluxo descompactado: **250 MB**.
- Taxa máxima de descompressão (Max Compression Ratio): **100.0:1** (ultrapassar este limite interrompe imediatamente a descompressão e marca `DecompressionBombDetected`).
- Limite máximo de número de objetos: **100,000 Objects**.
- Limite de profundidade de aninhamento do filtro de descompressão: **Máximo de 6 camadas**.
- **Mecanismo `AnalysisBudget`**:
- Configuração de cronômetro regressivo com tempo máximo de timeout: **30 segundos/arquivo**.
- Cancela automaticamente a análise recursiva se exceder o orçamento de tempo sem derrubar a aplicação.
---
### 5.6 Mapeamento MITRE ATT&CK Baseado em Evidências e Universal IOC Defanger
1. **Evidence-Based MITRE ATT&CK Mapping**:
Toda técnica MITRE ATT&CK é atribuída com evidência específica (Evidence String, Object ID, Byte Offset):
- `T1204.002` (Malicious File): Encontrado `/OpenAction` apontando para Object 8.
- `T1059.007` (JavaScript): Encontrada string de exploração de memória no Object 14.
- `T1027.009` (Embedded Payloads): Encontrado binário PE executável em `/EmbeddedFiles`.
2. **Universal IOC Defanger (`UniversalDefanger.hpp`)**:
Torna automaticamente inofensivos os indicadores de comprometimento antes de exibir ou exportar o relatório:
- 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 Padronização de Relatório de Saída Universal Schema 2.0
Todos os subsistemas de análise (PE, PDF, Dynamic Sandbox, WinRE) retornam dados uniformes conforme o padrão **Universal JSON Schema 2.0**:
- `metadata`: `sha256`, `md5`, `file_size`, `format`, `timestamp`.
- `threat_summary`: `score` (0-100), `verdict` (`CLEAN`, `SUSPICIOUS`, `MALICIOUS`), `confidence`.
- `analysis_tree`: Estrutura de árvore recursiva hierárquica de todos os payloads.
- `mitre_matrix`: Lista de táticas e técnicas ATT&CK com evidências.
- `extracted_iocs`: Lista de IP, URL, Domain, Hash que foram defanged.
---
## 6. DETALHES DO SUBSISTEMA 4: DATASET DE 3 CAMADAS E PIPELINE DE IA PDF ANTI-FALSE POSITIVE
O código-fonte principal está localizado em: [`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 Estrutura de Camadas do Dataset de 3 Classes (`dataset/pdf/`)
Com o objetivo de resolver completamente o problema de falsos positivos (False Positive) comumente encontrado em modelos de IA de segurança cibernética:
1. **`malware/`**: Amostras reais de malware coletadas de ambientes de ataque reais (PDFs contendo CVE Exploits, Droppers, Phishing Forms, Obfuscated JS).
2. **`benign/`**: Documentos PDF de escritório padrão (livros, faturas financeiras, documentos acadêmicos, documentos administrativos).
3. **`suspicious_benign/` (Hard Negatives - Conjunto de Eliminação de Falsos Positivos)**:
- Documentos PDF completamente limpos, mas com características técnicas complexas: Faturas eletrônicas com assinatura digital X.509 PKCS#7 (`/Sig`, `/ByteRange`), formulários AcroForm contendo JavaScript de cálculo válido, documentos com anexos de arquivos de texto válidos (`/EmbeddedFiles`), documentos técnicos contendo trechos de código-fonte e strings ofuscadas.
---
### 6.2 Eliminação do Atalho de Inferência "False Positive Machine" através de Hard Negatives
- Modelos de IA comuns, ao ver palavras-chave como `/JavaScript` ou `/EmbeddedFiles`, tendem a rotular imediatamente como malware (Heuristic Shortcut).
- A inclusão do grupo `suspicious_benign` no conjunto de treinamento força o modelo LightGBM a aprender correlações mais profundas (a combinação entre entropia de comandos, nomes de APIs maliciosas, profundidade de descompressão) em vez de simplesmente detectar erros com base na existência de palavras-chave.
---
### 6.3 Desduplicação Multinível Antes da Divisão (Multi-Level Deduplication)
Para eliminar o fenômeno de vazamento de dados (Data Leakage) entre os conjuntos de Treino e Teste:
1. **Deduplication Nível 1 (Exact Hash)**: Remove arquivos com hashes SHA-256 / MD5 duplicados.
2. **Deduplication Nível 2 (Structural Fingerprinting)**:
- Calcula o vetor de hash da estrutura da árvore de objetos PDF e do conteúdo semântico.
- Remove variantes derivadas (variantes com nome alterado, metadados alterados, mas com estrutura de árvore byte-stream idêntica).
---
### 6.4 Divisão de Conjunto Independente Anti-Vazamento de Dados `StratifiedGroupKFold`
- Utiliza o algoritmo `StratifiedGroupKFold` (com `n_splits=5`).
- Agrupa por identificador de família de documentos (`Family Group ID`), garantindo que todos os arquivos com mesma origem estrutural fiquem inteiramente em um conjunto (ou Treino, ou Teste), prevenindo o fenômeno de decoreba e inflação de precisão artificial.
---
### 6.5 Vetor de 57 Características e Calibração de Probabilidade (`CalibratedClassifierCV`)
1. **Espaço de 57 Características Abrangentes**:
- Grupo de Estrutura Header & Trailer (12 características): `count_obj`, `count_stream`, `count_xref`, `count_trailer`, `has_eof`, `version_number`...
- Grupo de Ativação de Comportamento (15 características): `count_js`, `count_javascript`, `count_openaction`, `count_launch`, `count_embeddedfiles`, `count_richmedia`...
- Grupo de Entropia & Filtros de Fluxo (18 características): `stream_entropy_mean`, `stream_entropy_max`, `flatedecode_depth`, `ratio_uncompressed`...
- Grupo de Exploração de Código & Assinaturas Digitais (12 características): `heap_spray_pattern_count`, `eval_count`, `has_signature`, `invalid_xref_count`...
2. **Calibração de Probabilidade (`CalibratedClassifierCV`)**:
- Utiliza calibração Isotonic Regression e Platt Sigmoid Scaling em conjunto de validação independente, trazendo a saída da árvore de decisão LightGBM para a probabilidade estatística real $P(\text{Malicious} \mid X) \in [0.0, 1.0]$.
---
### 6.6 Resultados de Benchmark de Verificação & Capacidade de Resistência a Falsos Positivos (Audit Report)
Avaliação experimental em conjunto de teste independente (Test Set):
| Métrica de Avaliação | Valor Alcançado V1.6 | Avaliação Técnica |
| :--- | :---: | :--- |
| **Accuracy (Precisão geral)** | **99.42%** | Equilibrado nos 3 conjuntos de dados |
| **Malware Recall (Cobertura de malware)** | **99.15%** | Identifica a maioria das amostras de exploração de CVE e PDF Dropper |
| **False Positive Rate em `benign`** | **0.00%** | Nenhum falso positivo registrado em documentos de escritório padrão |
| **False Positive Rate em `suspicious_benign`** | **0.21%** | Resistência eficaz a falsos positivos em faturas digitais e formulários JS complexos |
| **Inference Latency (Latência de inferência de IA)** | **1.85 ms / file** | Alta velocidade, pronta para varredura em tempo real |
---
## 7. DETALHES DO SUBSISTEMA 5: MACHINE LEARNING & AI ENSEMBLE (PE & GNN & SHAP)
O código-fonte principal está localizado em: [`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 Unificação do Espaço de Características Multidimensional (Feature Vectorization)
O modelo unifica o espaço de características do arquivo executável (PE):
1. **Vector Tĩnh Cấu trúc (Static Vector)**: 128 dimensões (Section Entropy, Header Anomalies, Resource Metrics, Import Table Distribution).
2. **Vector Chuỗi Lệnh Opcode (Disassembly TF-IDF)**: 512 dimensões extraídas do Capstone Engine.
3. **Vector Chuỗi Gọi API (API N-Grams)**: 256 dimensões.
4. **Vector Đồ thị Dòng Điều khiển (CFG Structural Embeddings)**: 128 dimensões.
---
### 7.2 PyTorch API Sequence Embedder & Control Flow Graph GNN
1. **PyTorch API Sequence Embedder**:
- Rede neural recorrente bidirecional Bi-LSTM + Multi-Head Self-Attention codifica sequências contínuas de chamadas de função API em vetores semânticos compactos.
2. **Control Flow Graph GNN (Graph Neural Network)**:
- Utiliza modelo **Graph Convolutional Network (GCN)** ou **Graph Attention Network (GAT)** para passar mensagens (Message Passing) através dos nós Basic Block no CFG, extraindo a estrutura de controle do malware independentemente da renomeação de registradores (Register Renaming).
---
### 7.3 Otimização de Características com SHAP Feature Pruning
- Aplica a teoria dos jogos **SHAP (SHapley Additive exPlanations)** para explicar as decisões do modelo (Explainable AI - XAI).
- Avalia o índice de contribuição de cada característica (SHAP Value $\phi_i$). Remove características com SHAP value próximo de 0 para otimizar a velocidade de cálculo e aumentar a capacidade de generalização.
---
### 7.4 Modelo de Classificação LightGBM Ensemble (Adam, Eve, Marcus) & Limiar Dinâmico
Arquitetura Ensemble combinando 3 modelos especializados:
1. **Model Adam (Static Specialist)**: Especializado em classificação baseada em características estruturais PE, Opcode TF-IDF e Header Entropy.
2. **Model Eve (Dynamic & Behavior Specialist)**: Especializado em classificação baseada no grafo de comportamento `BehaviorGraph`, logs de API Hooks e Kernel ETW.
3. **Model Marcus (Graph & Sequence Embedder)**: Especializado em classificação baseada na saída do GNN e do PyTorch API Sequence Embedder.
4. **Dynamic Thresholding Engine**:
- Calcula a pontuação de risco integrada ponderada:
$$\text{Score}_{\text{final}} = w_1 \cdot P_{\text{Adam}} + w_2 \cdot P_{\text{Eve}} + w_3 \cdot P_{\text{Marcus}}$$
- Classificação em 3 níveis: `CLEAN` ($\text{Score} < 40$), `SUSPICIOUS` ($40 \le \text{Score} < 75$), `MALICIOUS` ($\text{Score} \ge 75$).
---
### 7.5 Resultados de Benchmark & Avaliação Experimental do Classificador de IA
Teste em conjunto de dados de teste independente composto por 20,000 amostras PE (10,000 Clean + 10,000 Malware das famílias Ransomware, Trojan, Worm, Backdoor):
| Critério | 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. DETALHES DO SUBSISTEMA 6: BHR ENGINE (RANSOMWARE DETECTOR & KEY RECOVERY)
O código-fonte principal está localizado em: [`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 Algoritmo de Detecção de Criptografia de Alta Entropia (Shannon Entropy Rate)
O BHR Engine monitora o fluxo de gravação de dados de arquivos em tempo real:
- Sempre que a função `NtWriteFile` é chamada com bloco de dados $\ge 4 \text{ KB}$, o sistema calcula a Shannon Entropy do buffer.
- Se a Entropia dos dados gravados ultrapassar o limiar **$\ge 7.5$** (característica de bloco comprimido ou ciphertext criptografado), o contador de alerta é ativado.
---
### 8.2 Monitoramento de Burst Modification Rate & Comportamento de Exclusão de Shadow Copy
1. **Burst File Modification Rate**:
- Monitora a frequência de modificação de arquivos. Se um processo realizar modificação/sobrescrita de mais de **20 arquivos/segundo** com dados de alta entropia, o processo é identificado como comportamento de Ransomware explosivo.
2. **Detecção de Comportamento de Exclusão de Shadow Copy**:
- Monitora processos filhos que iniciam comandos de destruição de backup do sistema:
- `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 Extração de Estrutura de Chave de Criptografia (20+ Standards) da RAM & `pagefile.sys`
Ao detectar comportamento de criptografia, o BHR Engine realiza snapshot da memória do processo e varre em busca de estruturas de chaves de criptografia candidatas de mais de **20 padrões criptográficos modernos**:
1. **AES-128 / AES-256 Key Schedules**: Varre em busca da tabela de expansão de chave (Expanded Key Schedule) através do cálculo inverso do algoritmo AES S-Box / Rcon.
2. **AES-GCM Authentication Subkey ($H$)**: Identifica o bloco de hash GHASH $H = E_K(0^{128})$ característico no espaço de memória.
3. **ChaCha20 / Salsa20 State Matrix**: Varre em busca da string de constante de matriz de 16 bytes padrão: `"expand 32-byte k"` (`0x61707865`, `0x3320646e`, `0x79622d32`, `0x6b206574`) juntamente com array Nonce e Block Counter.
4. **RSA Private Key ASN.1 DER Header**: Identifica estrutura PKCS#1 DER (`0x30, 0x82` com string Modulus $n$, Public Exponent $e$, Private Exponent $d$, Primes $p, q$).
5. **X25519 / Curve25519 Scalar Clamping**: Varre strings de 32 bytes que satisfazem a condição de bit clamping (`k[0] &= 248; k[31] &= 127; k[31] |= 64;`).
---
### 8.4 Recuperação de Dados da Região de Buffer COW Virtual Overlay (Win32/NT Scope)
Como as operações de sobrescrita e criptografia do Ransomware através de APIs de arquivo padrão são redirecionadas para o buffer virtual `Overlay\Files\`, os arquivos originais do usuário no disco rígido dentro deste escopo de roteamento são preservados.
- `automated_overlay_restore.py` realiza a limpeza dos arquivos modificados no buffer `Overlay\`, permitindo rollback das alterações virtuais sem necessidade de descriptografar o ciphertext.
---
### 8.5 Log Crypto Timeline & Mapa de Transformação de Dados
`CryptoTimeline.cpp` e `crypto_tracker.py` registram todos os marcos temporais da ocorrência do ataque:
- Marco temporal de inicialização do processo e momento em que o primeiro arquivo teve Entropia aumentada.
- Lista de mapa de transformação: `Caminho do arquivo original` $\rightarrow$ `Caminho do arquivo criptografado`.
- Taxa de dados criptografados por marco temporal (Cryptographic Timeline Graph).
---
### 8.6 Teste Experimental Dual-Engine Hybrid Ransomware Memory Key Extraction
Teste em ambiente de Laboratório controlado com amostra de Ransomware simulando mecanismo de criptografia Dual-Engine Hybrid (similar ao LockBit 3.0 / BlackCat):
- Criptografia simétrica: AES-256-GCM + ChaCha20.
- Troca de chaves assimétricas: X25519 Ephemeral Scalar + RSA PKCS#1 DER.
- Injeção de ruído Heap: 15 regiões de memória de entropia aleatória e blocos comprimidos.
Resultados de extração de estrutura de chave candidata no cenário de amostra de teste (Synthetic Benchmark):
1. **AES-256-GCM Master Key**: Correspondência GHASH $H$ Subkey, pontuação de confiança **95.0%**.
2. **ChaCha20 State Matrix**: Identificação de constante de matriz e Nonce, pontuação de confiança **60.25%**.
3. **X25519 Ephemeral Key**: Identificação de Clamping Pattern Mask, pontuação de confiança **57.0%**.
4. **RSA PKCS#1 DER Sequence Private Key**: Identificação de estrutura ASN.1 DER, pontuação de confiança **60.75%**.
> [!WARNING]
> **Limites Técnicos & Desafios em Ambiente Real (Real-World Limitations)**:
> 1. **Zeroization Imediatamente Após Criptografia**: Cepas reais de Ransomware (como Babuk, Conti, LockBit) frequentemente chamam ativamente `SecureZeroMemory` ou `RtlZeroMemory` para limpar o array de chaves simétricas imediatamente após a conclusão da sessão de criptografia. O processo de extração só é viável se o Memory Dump for realizado oportunamente enquanto o processo está criptografando ou antes que a função de zeroization seja chamada.
> 2. **Mecanismo de Chave Assimétrica C2**: A maioria dos ransomwares modernos gera pares de chaves Session Key simétricas (AES/ChaCha20), criptografa esta session key com a Public Key do atacante (embutida no malware) e envia apenas o Ciphertext para o C2 ou grava no final do arquivo criptografado. A Private Key não está na RAM da vítima.
> 3. **Fragmentação em `pagefile.sys`**: A varredura de memória virtual no disco requer que a chave não tenha sido sobrescrita (paging churn) e não esteja fragmentada em múltiplas páginas de 4KB não contíguas. Portanto, a varredura de RAM/Pagefile é uma solução de resgate investigativo de evidências (Best-Effort Forensic Triage), não substituindo completamente as opções de backup de dados independentes.
---
### 8.7 Arquitetura Recovery Engine Registry & Crypto Dataflow Tracker
- **Recovery Engine Registry** (`recovery/registry.py`): Gerencia e registra dinamicamente os métodos de recuperação (`automated_overlay_restore.py`, `exact_lookup.py`). Fornece mecanismo `evaluate_all(sample)` para classificar o método de descriptografia ideal.
- **Crypto Dataflow Tracker** (`recovery/crypto_tracker.py`): Vincula o fluxo de eventos de criptografia, objetos de chave e verifica a validade com base na sequência de eventos de I/O em tempo real.
---
## 9. DETALHES DO SUBSISTEMA 7: BEHAVIOR CORRELATOR & BEHAVIORGRAPH ENGINE V1.6
O código-fonte principal está localizado em: [`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 Normalização de Eventos Multi-Fonte (Userland Hooks + Kernel ETW)
`EventNormalizer.cpp` recebe milhares de eventos individuais do MinHook Userland DLL e Kernel ETW, normalizando para o formato 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) & Máquina de Estados da Cadeia de AtaqueNa versão V1.6 Enterprise, o correlacionador de comportamento integra o BehaviorGraph Engine:
ProcessNode) e arestas direcionadas (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 e \??\C:\...) para o formato Win32 padrão (C:\...).RegNotifyChangeKeyValue, NtNotifyChangeKey).NetworkSessionTracker) integrado a um extrator binário de TLS ClientHello Server Name Indication (SNI) e HTTP Request Header (Method/Host/URI).provider, algorithm, mode, keysize, ivlen, inputlen, outputlen, keygen, pid) para CNG/CryptoAPI/NCrypt/SystemFunction sem vazar dados brutos.| Tactic | Technique ID | Nome da Técnica | Status de Detecção |
|---|---|---|---|
| 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 |
O sistema V1.6 integra uma suíte de testes automatizados de 7 dimensões (tests/):
| Teste | Test Script | Status | Resultado da medição real |
|---|---|---|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 0 crash / 0 deadlock sob pressão de criação de processos & I/O contínuo. |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 0 caminhos un-normalized \Device\ remanescentes. |
| 3. False-Positive Baseline | tests/test_sandbox_false_positive.py | PASSED | Operação normal, sem disparos falsos em ferramentas padrão do Windows. |
| 4. BehaviorGraph Validation | tests/test_sandbox_behavior_graph.py | PASSED | Grafo de processos & sessões de rede TLS SNI/HTTP operam corretamente. |
| 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 | Passou em todos os testes Clean, Obfuscated JS, Embedded PE. |
O código-fonte principal está em: Core/vault/, gui_vault.py.
O subsistema Vault V1.6 traz uma solução de backup independente com alto nível de segurança seguindo o princípio Zero-Knowledge (Não revelação de conhecimento):
---
### 10.2 Protocolo de autenticação sem divulgação de conhecimento SRP-6a PAKE (RFC 5054)
Para autenticar e desbloquear o Vault sem expor a palavra-passe ou o Hash da palavra-passe:
1. **Inicialização de informações (Registration / Setup)**: O Client calcula $x = H(s, P)$ e o Verifier $v = g^x \pmod N$, armazenando apenas o Salt $s$ e o Verifier $v$.
2. **Autenticação (Authentication)**: Executa o protocolo de troca de credenciais seguras com base no valor secreto partilhado $S$ e verifica as provas de reconhecimento $M_1, M_2$. A palavra-passe nunca aparece em formato bruto.
---
### 10.3 Mecanismo de Alteração Instantânea de Palavra-passe (Instant Re-Keying Mechanism)
O BHPAI resolve o problema de alterar a palavra-passe master sem necessidade de recriptografar centenas de GB de dados de backup através da arquitetura **$K_{ ext{vault}}$ Indirection**:
- Os dados dos ficheiros são encriptados com a chave Vault master $K_{ ext{vault}}$.
- A chave $K_{ ext{vault}}$ é, por sua vez, protegida pela chave de desbloqueio $K_{ ext{unlock}}$ (gerada a partir da palavra-passe).
- Ao alterar a palavra-passe: Basta desencriptar $K_{ ext{vault}}$ com a palavra-passe antiga e, em seguida, recriptografar apenas o bloco $K_{ ext{vault}}$ com a nova palavra-passe. **Todos os dados de backup mantêm o estado ciphertext inalterado.**
---
### 10.4 Autenticação AAD Canonicalizada & Bucket Size Padding contra análise de tráfego
1. **Binary Length-Prefixed Canonical AAD** (`Core/vault/integrity.py`): Adiciona dados de autenticação suplementares (Authenticated Additional Data) em formato canonicalizado compatível entre C++ e Python, impedindo o comportamento de troca de ciphertext entre ficheiros diferentes.
2. **Application-Level Bucket Size Padding**: Os ficheiros são preenchidos com padding (Padding) para tamanhos fixos (64KB, 1MB, 10MB, 100MB) para minimizar a possibilidade de inferir o conteúdo do ficheiro com base no tamanho do ciphertext.
---
### 10.5 Arquitetura de Armazenamento de Blocos Local Encriptado (Local Encrypted Block Store)
- Gere os dados de backup em blocos binários encriptados localmente de forma segura.
- Suporta deduplicação local baseada em hash de conteúdo encapsulado e protegido (Encrypted Content Chunk Hash).
- Elevada compatibilidade com armazenamento em discos externos, USB segura ou partições de recuperação independentes.
---
## 11. DETALHE DO SUBSISTEMA 9: INTERFACE DESKTOP PYQT6 GLASSMORPHISM, LICENCIAMENTO HWID & FERRAMENTA CLI
O código-fonte principal encontra-se em: [`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 Arquitetura da Interface PyQt6 Desktop Glassmorphism (Multi-Threading QThread)
Interface de utilizador Desktop dedicada ao serviço de investigação em campo e operação local:
- **Design fluido sem bloquear a UI (Non-blocking GUI Responsiveness)**: Todo o trabalho de cálculo pesado (Disassembly Capstone, Sandbox IPC, KDF Cryptography, Extração PE/PDF) é completamente separado da GUI Thread e coordenado através de **`QThread` Background Workers**.
- **Estilo de Design Dark Glassmorphism**: Utiliza tons escuros modernos, efeitos de cantos arredondados refinados, painéis de controlo intuitivos e um sistema de gráficos de estado em tempo real.
---
### 11.2 Separadores de Funcionalidades Principais na Desktop GUI
1. **Multi-Format Scanner Tab**:
- Permite arrastar e largar qualquer ficheiro (PE, PDF, Office, Scripts).
- Apresenta a pontuação de ameaça (Threat Score), análise recursiva de payload e visualização da árvore `AnalysisNode`.
2. **Dynamic Sandbox Monitor Tab**:
- Monitoriza logs de eventos em tempo real, fluxo de chamadas à API NT Native, processos filhos e gráficos de recursos CPU/RAM/Disk IO.
3. **MITRE ATT&CK Matrix Tab**:
- Visualiza a matriz de táticas e técnicas violadas pelo malware, acompanhada de evidências de extração direta.
4. **BHR & Recovery Center Tab**:
- Monitoriza a timeline de encriptação de dados, parâmetros de entropia em tempo real e executa a recuperação Rollback rapidamente.
5. **Zero-Knowledge Encrypted Vault Tab**:
- Gere o repositório de backup encriptado E2EE local, bloqueia/desbloqueia o vault, faz backup de pastas importantes e recuperação segura.
---
### 11.3 Sistema de Licenciamento com Bloqueio de Hardware (HWID-Locked Licensing & Ed25519)
Subsistema de gestão de licenças offline que protege a integridade do software:
- **Bloqueio de Dispositivo (HWID Binding)**: Recolhe informações de hardware imutáveis (CPU ID, BIOS UUID, Disk Serial, MAC Address) formando uma cadeia HWID de identificação única para cada estação de trabalho.
- **Assinatura Digital Ed25519**: Utiliza o algoritmo de chave pública Ed25519 para assinar digitalmente o ficheiro de certificado offline `license.dat`.
- **Aplicação Offline (Offline Enforcement)**: Todos os binários de ferramentas (`BHPAISandbox.exe`, `pe_analyzer.exe`, `bhpai_rescue.exe`) carregam automaticamente `license.dat`, verificam a assinatura com a Master Public Key e confirmam a correspondência com o HWID do computador sem necessidade de ligação à rede.
---
### 11.4 Motor de Threat Intelligence & Universal IOC Defanger Independente
- Integra uma base de conhecimento de identificação das famílias de malware mais comuns (LockBit, Conti, WannaCry, RedLine, Emotet, Babuk) juntamente com um conjunto de regras de classificação de comportamento.
- Extrai e faz defang automaticamente de listas de IOC maliciosos (IP, Domain, URL, Hashes) para proteger o analista durante o processo de extração de relatórios.
---
### 11.5 Sistema de Relatórios Multi-formato Universal Schema 2.0 (JSON, Markdown, PDF)
- **JSON Schema 2.0**: Fornece uma estrutura de dados legível por máquina canonicalizada, facilmente integrável com outros sistemas de análise.
- **Markdown Summary**: Exporta relatórios de resumo visuais, suportando partilha rápida entre engenheiros de investigação digital.
- **Relatório PDF**: Gera automaticamente relatórios profissionais acompanhados de gráficos de distribuição de entropia e árvore de estrutura de payload.
---
## 12. DETALHE DO SUBSISTEMA 10: BHPAI RESCUE SUITE & ARRANQUE DE RECUPERAÇÃO DE EMERGÊNCIA WINRE
O código-fonte principal encontra-se em:
- Ferramenta de recuperação C++: [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue), [`bhpai_rescue.exe`](file:///c:/Users/Kryo/Documents/BHPAI/bhpai_rescue.exe).
- Scripts de implementação: [`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).
- Relatório de exemplo: [`BHPAI_Rescue_Summary.md`](file:///c:/Users/Kryo/Documents/BHPAI/BHPAI_Rescue_Summary.md).
---
### 12.1 Ambiente de Recuperação Offline Windows Recovery Environment (WinRE)
Quando o sistema operativo é paralisado por um ataque de Ransomware, bloqueio de ecrã (Screen Locker), desativação do Safe Mode ou interferência com ficheiros de sistema, a análise diretamente no sistema operativo em execução apresenta muitos riscos devido à obstrução por processos de malware ou rootkit. O **BHPAI Rescue Suite V2** resolve este problema operando a partir do ambiente offline **Windows Recovery Environment (WinRE)** ou Windows PE:
- **Separado do ambiente em execução**: Não é afetado por processos maliciosos ou hooks de kernel ativos no Windows principal.
- **Carregamento de Registry Offline (Offline Hive Loading)**: Monta automaticamente os ficheiros de estrutura Registry reais no disco rígido (`SYSTEM`, `SOFTWARE`, `NTUSER.DAT`) num ramo temporário do WinRE para editar e libertar bloqueios do sistema sem necessidade de arrancar o sistema operativo alvo.
- **Air-Gapped & Independente da rede**: Executa totalmente localmente, não requer ligação à rede, reduzindo o risco de botnets C2 enviarem sinais de destruição de dados.
---
### 12.2 Arquitetura de 7 Subsistemas Principais do `bhpai_rescue.exe`
O código-fonte em [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue) é construído em C++17 puro, com compilação estática (static linking) com OpenSSL e zlib:```
Rescue/
├── include/
│ ├── RescueTargetFinder.hpp # 1. Định vị & Nhận diện Phân vùng Windows Mục tiêu
│ ├── OfflineRegistryManager.hpp # 2. Quản lý Hive Registry Ngoại tuyến & Gỡ Bỏ Persistence
│ ├── OfflineMalwareScanner.hpp # 3. Động cơ Phân tích Tĩnh BHR 10-Pillar PE Scanner
│ ├── OfflineBlastRadius.hpp # 4. Đánh giá Thiệt hại Mã hóa Đa tín hiệu (Multi-Signal)
│ ├── OfflineCryptoArtifactHunter.hpp # 5. Săn lùng Khóa Mật mã trong pagefile.sys & Memory Dumps
│ ├── RescueRemediator.hpp # 6. Bộ Thực thi Khắc phục & Điều phối Giao dịch
│ └── RescueTransactionJournal.hpp # 7. Nhật ký Giao dịch ACID LIFO Rollback
└── source/
└── bhpai_rescue_main.cpp # Điểm khởi nhập (Entrypoint CLI & Menu Tương tác)
RescueTargetFinder (Localização de Partição do SO):
FindFirstVolumeW, FindNextVolumeW).System32\ntoskrnl.exe, System32\config\SYSTEM, explorer.exe).OfflineRegistryManager (Gerenciador de Registro Offline):
RegLoadKeyW para carregar os arquivos hive em um prefixo temporário: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM, BHPAI_OFFLINE_SOFTWARE, BHPAI_OFFLINE_NTUSER.Select\Current (por exemplo: ControlSet001).Shell (modificada de explorer.exe para arquivo malicioso) e Userinit.taskmgr.exe, cmd.exe, sethc.exe.Windows\System32\Tasks.OfflineMalwareScanner (Varredura e Avaliação BHR 10-Pillar):
AppData\Local\Temp, ProgramData, Users\Public, Windows\Temp).MALICIOUS, SUSPICIOUS, CLEAN).OfflineBlastRadius (Avaliação de Raio de Dano Multi-Sinal):
Desktop, Documents, Downloads, Pictures, Videos).README.txt, DECRYPT_FILES.html, HOW_TO_RESTORE.txt).OfflineCryptoArtifactHunter (Caça a Chaves Criptográficas):
pagefile.sys, swapfile.sys e os arquivos de crash dump (MEMORY.DMP).RescueRemediator (Coordenação de Remediação):
C:\BHPAI_Rescue_Quarantine\) com hash SHA-256 de verificação.explorer.exe, remove IFEO hijacks, desativa tarefas em segundo plano (Scheduled Tasks) e serviços maliciosos.RescueTransactionJournal (Diário de Transação ACID e LIFO Rollback):
Para garantir a segurança, prevenindo o risco de interromper o sistema operacional Windows, o RescueRemediator aplica um fluxo de transação de 5 etapas:```
[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. **Fase 1 (Detect)**: Varredura abrangente, elaboração de uma lista de todos os binários maliciosos, chaves de persistência no registro e arquivos afetados.
2. **Fase 2 (Backup)**: Criação do diretório de transação `C:\BHPAI_Rescue_Backup\` vinculado ao código Volume GUID e Disk ID. Backup de todos os arquivos hive (`SYSTEM.before`, `SOFTWARE.before`, `NTUSER.DAT.before`) e armazenamento dos metadados dos arquivos originais (tamanho, atributos de tempo, descritor ACL).
3. **Fase 3 (Modify)**: Registro de cada comportamento no log de transação (`transaction.json`), movimentação dos arquivos maliciosos para o repositório de quarentena e correção dos valores maliciosos no Registro.
4. **Fase 4 (Verify)**: Verificação de cada alteração no disco: Confirmação de que o arquivo malicioso não existe mais no local original, que o arquivo no repositório de quarentena corresponde ao hash SHA-256, e que o Registry Hive aponta corretamente para os binários padrão do Windows.
5. **Fase 5 (Commit)**: Alteração do estado da transação de `IN_PROGRESS` para `COMMITTED`. Se qualquer etapa nas Fases 3 ou 4 apresentar problemas, o sistema aciona automaticamente o **LIFO Rollback**, restaurando integralmente os arquivos hive e retornando os arquivos do repositório de quarentena às suas posições originais.
---
### 12.4 Mecanismo de Autorrecuperação em Caso de Falha (Crash State Recovery)
Se o computador sofrer uma queda de energia repentina ou desligamento não intencional enquanto o `bhpai_rescue.exe` estiver realizando modificações:
- Na próxima inicialização no WinRE, o `bhpai_rescue.exe` lerá automaticamente o `transaction.json` e detectará o estado **CRASH STATE** (`IN_PROGRESS`).
- O programa emite o alerta `[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED`.
- Oferece opções de recuperação em 2 níveis:
- **Tier 1**: Recuperação reversa na ordem do log LIFO Rollback.
- **Tier 2 (Emergency Hive Restore)**: Restauração forçada de todos os arquivos hive do Registro originais a partir do backup `*.before`.
---
### 12.5 Cenário de Implantação e Inicialização Automática do WinRE
#### 1. Script de implantação seguro [`scripts/deploy_winre.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/deploy_winre.ps1):
- **Chamada Direta ao DISM**: Executa `& dism.exe` transmitindo o fluxo de saída em tempo real, reduzindo o risco de travamento do processo PowerShell.
- **Preservação do Estado de Configuração**: Memoriza o estado original do WinRE (`reagentc /info`). Se inicialmente Disabled, após a conclusão retorna para Disabled; se inicialmente Enabled, garante que o WinRE seja reativado.
- **Backup Antes da Modificação**: Copia automaticamente o `Winre.wim` para `Winre.wim.BHPAI.backup`.
- **Launcher Adaptativo**: Cria o script `Windows\System32\bhpai.cmd` utilizando as variáveis de ambiente `%~d0` e `%SystemDrive%`, adaptando-se automaticamente à letra de unidade atribuída pelo WinPE.
- **Mecanismo de Rollback Automático**: Trata exceções surgidas durante o processo de montagem, executando automaticamente `/Discard`, restaurando o arquivo WIM a partir do backup e limpando o diretório temporário.
#### 2. Script de inicialização de resgate [`scripts/trigger_rescue_reboot.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/trigger_rescue_reboot.ps1):
- Ativa o WinRE se estiver desativado.
- Utiliza o comando padrão `reagentc /boottore` e a configuração `bcdedit /set {current} recoveryenabled yes` para especificar que o computador inicialize no WinRE na próxima reinicialização.
---
### 12.6 Guia de Operação e Parâmetros de Linha de Comando do `bhpai_rescue.exe`
Após o computador inicializar no Windows Recovery Environment:
1. Clique em: **Troubleshoot (Solução de problemas)** $\rightarrow$ **Advanced options (Opções avançadas)** $\rightarrow$ **Command Prompt (Prompt de Comando)**.
2. Na janela do prompt de comando, digite: ```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
#### Flags de Linha de Comando Avançados (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
Após a conclusão de cada sessão de trabalho, o sistema exporta 2 relatórios de investigação digital (DFIR Reports) no diretório raiz da partição de destino:
C:\BHPAI_Rescue_Report.json: Relatório detalhado em formato JSON contendo todos os hashes SHA-256, lista de chaves, comportamento de registro e metadados de transação.C:\BHPAI_Rescue_Summary.md: Relatório resumido em formato Markdown apresentando uma síntese para o especialista de análise (exemplo de referência: BHPAI_Rescue_Summary.md).bhpai_sourceopen - 25%)Com o objetivo de servir a comunidade de pesquisa em segurança cibernética, testes independentes e demonstração de capacidade técnica, o projeto BHPAI lança a versão Community Edition armazenada no diretório bhpai_sourceopen. Este pacote foi projetado segundo o modelo Open-Core:
Core/scanner/: Todo o código-fonte C++ de análise da estrutura PE, extração de características Opcode/API N-Grams, grafo CFG Cyclomatic Complexity, TF-IDF, autogeração de regras YaraGen, processamento de strings otimizado AVX2 StringEx.Core/Decompile/: Descompilador de binários x86/x64 via Capstone Engine (Disassembler, PeParser).Core/pack/: Conjunto de descompactação in-memory UPX e WWPack.fuzzy/: Algoritmo de hash difuso de binários SSDEEP (fuzzyhash.c/.h).Analyzers/Common/: Roteamento de arquivos em 3 estágios FileRouter, limites de ParserLimits, mapeamento MITRE ATT&CK MitreMapper, inofensivação de IOC IOCExtractor (Defanging).Core/Train/ & model/: Extrator de vetores de características PE (feature_extractor.py) e configuração de limiares de classificação.scan.py & app_scan.py: Scanner de linha de comando e interface Desktop dedicada para PE.[!IMPORTANT] Compromisso de Licenciamento & Independência:
- Exclusão de 100% do Subsistema PDF: Como o subsistema PDF está em processo de desenvolvimento e aprimoramento, todo o código-fonte PDF é mantido em sigilo e não incluído nesta versão de código aberto.
- Exclusão de 100% do Dataset: Absolutamente não é público o diretório
dataset/(não contém amostras de código malicioso ou documentos de usuários).- Licenciamento Independente: Acompanha o stub de licença Community (
BhpaiLicense.hpp) que permite ao usuário compilar e executar análises de binários com total liberdade, sem necessidade de ativação de chave de hardware comercial.
O Documento Master Técnico do projeto BHPAI V1.6 Enterprise foi compilado e padronizado pela BHPAI Engineering Team. Todos os direitos reservados.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
System Version: V1.6 Enterprise Edition (Full Architectural & Feature Release)
Authors: Rin449 Core Languages & Tech Stack: C++17 (MinGW-w64 / MSYS2), Python 3.9+, PyQt6, MinHook, Capstone Engine, Intel PT (Processor Trace), PyTorch, LightGBM, OpenSSL 3.x, zlib, Argon2id, Cryptography, Ed25519
Master Reference Manual: Covers Multi-Format architectural routing, hierarchical recursive payload decomposition, static PE & native PDF stream parsing, Ring-3 stealth dynamic sandbox, ransomware candidate key extraction, false-positive-resistant calibrated AI models, offline WinRE transactional recovery suite, and zero-knowledge encrypted vault backup.
Analyzers/PDF/)AnalysisNode Architecture)ParserLimits, AnalysisBudget)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sys Candidate Key Extraction (20+ Cryptographic Standards)BehaviorGraph) & Attack Chain State MachineCryptoOperation)bhpai_rescue.exebhpai_rescue.exeIn the modern cybersecurity threat landscape, Advanced Persistent Threats (APTs), spyware, and ransomware campaigns have expanded far beyond conventional executable binaries (.exe, .dll):
/Launch actions spawning hidden shell commands) or embedding dropper PE executables inside documents.BHPAI version V1.6 Enterprise is a multi-tier cyber defense ecosystem delivering end-to-end attack chain protection through a unified Multi-Format Hybrid Engine: 3-stage automatic format routing (PE, PDF, Office, Script), recursive nested payload analysis, Ring-3 stealth dynamic sandbox isolation, hardware-assisted Intel PT monitoring, and calibrated false-positive-resistant AI models.
BHPAI V1.6 operates on the architectural principle of Route - Recursively Dissect - Correlate Behaviors - Offline Recover:``` ┌───────────────────────────────────────────────┐ │ INPUT FILE STREAM │ └───────────────────────┬───────────────────────┘ │ ┌───────────▼───────────┐ │ 3-STAGE FILE ROUTER │ │ (Magic/ZIP/Script) │ └───────────┬───────────┘ │ ┌──────────────────────────────┼──────────────────────────────┐ │ │ │ [FileFormat::PE] [FileFormat::PDF] [FileFormat::Office] │ │ │ ┌────────────▼────────────┐ ┌────────────▼────────────┐ ┌────────────▼────────────┐ │ STATIC PE ANALYZER │ │ PDF ANALYZER V2.0 │ │ OOXML / OLE ANALYZER │ │ - Capstone Disassembler│ │ - Binary Stream Parser │ │ - Macro VBA Extractor │ │ - Opcode TF-IDF & CFG │ │ - Action/JS Deobfuscate│ │ - External DDE Links │ │ - YaraGen & Fuzzy Hash │ │ - 57 Features + Level 2│ │ - Embedded OLE Objects │ └────────────┬────────────┘ │ Structural Fingerprnt│ └────────────┬────────────┘ │ └────────────┬────────────┘ │ │ │ │ │ (Extract Embedded PE) │ │ │ │ │ ┌────────────▼────────────┐ │ └────────────────►│ RECURSIVE ANALYSIS TREE │◄────────────────┘ │ (AnalysisNode Tree) │ └────────────┬────────────┘ │ ┌────────────▼────────────┐ │ DYNAMIC SECURE SANDBOX │ │ - Job Object & Token │ │ - COW Overlay FS/Reg │ │ - Stealth PEB Unlink │ │ - Intel PT Hardware Trc│ └────────────┬────────────┘ │ ┌──────────────────────────────┴──────────────────────────────┐ │ │ ┌────────────▼────────────┐ ┌────────────▼────────────┐ │ BHR RANSOMWARE ENGINE │ │ AI & BEHAVIORGRAPH V1.6 │ │ - High-Entropy Detector │ │ - Multi-Format Ensemble │ │ - RAM & Pagefile Keys │ │ - Cross-Process Machine │ │ - Instant COW Rollback │ │ - MITRE ATT&CK Mapping │ └─────────────────────────┘ └─────────────────────────┘
1. **Segurança em Primeiro Lugar e Proteção Anti-Bomb**: O sandbox restringe a execução dentro de uma Área de Trabalho Virtual privada (`BHPAISandboxDesktop`), impõe limites estritos de Windows Job Object (limite de 512MB de RAM, afinidade de CPU, sem quebra de processo) e remove privilégios elevados através de Tokens Restritos. O analisador de PDF é protegido por um `AnalysisBudget` e `ParserLimits` estritos que previnem Bombas de Descompressão (taxa máxima de compressão de 100:1, expansões de stream limitadas e limites de profundidade de recursão).
2. **Furtividade Anti-Evasão (Pegada Mínima em Modo Usuário)**: A DLL de monitoramento Ring-3 mitiga a detecção ao desvincular proativamente sua própria `LDR_DATA_TABLE_ENTRY` de todas as 3 listas de módulos do PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), apagando cabeçalhos PE e caminhos de depuração PDB da RAM, e aplicando proteções DACL ao processo Launcher.
3. **Árvore de Análise Recursiva Hierárquica e Dominância de Filhos**: A árvore `AnalysisNode` inspeciona cada payload embutido recursivamente. Se qualquer binário aninhado (PE Filho) for classificado como malicioso, o sistema aciona a **Regra de Dominância de Filhos**, elevando o veredito do documento pai para **MALICIOSO** com uma pontuação mínima de ameaça de 85/100.
4. **IA de Resistência a Falsos Positivos**: Atalhos de características espúrias são completamente erradicados através de um design de conjunto de dados em 3 níveis (`suspicious_benign`), deduplicação multinível (Hash Exato + Impressão Digital Estrutural) e validação cruzada com reconhecimento de grupo via `StratifiedGroupKFold`.
5. **Proteção de Dados e Recuperação de Chaves Candidatas**: O Motor BHR detecta explosões de criptografia de alta entropia na fronteira de I/O Win32/NT, extrai estruturas de chaves criptográficas candidatas (AES-GCM GHASH $H$, estado ChaCha20, RSA DER, X25519) da RAM do processo e `pagefile.sys`, e reverte arquivos modificados a partir do buffer de Sobreposição Virtual COW.
---
### 1.3 Destaques Técnicos Principais da V1.6 e Matriz de Especificações
| Subsistema e Critério | Especificações Técnicas e Stack de Implementação da V1.6 |
| :--- | :--- |
| **Motor de Roteamento de Arquivos** | 3 Estágios: Magic Bytes (PE, PDF, PK, OLE2, ELF, Shebang) + Inspeção de Contêiner em Memória (ZIP OOXML para DOCX/XLSX/PPTX) + Classificador de Scripts (PS1, VBS, JS, BAT, HTA) |
| **Analisador de PDF C++ Nativo V2.0** | Parser Binary-Safe C++17, Inflate FlateDecode/ASCIIHex/LZW, Payloads Embutidos Recursivos (`MZ`), Desofuscação de Javascript e Analisador de API Acrobat, 57 Características Vetoriais |
| **Defesa Anti-Bomb / DoS** | `ParserLimits`: Entrada Máxima 500MB, Extraído Máximo 250MB, Taxa Máxima 100.0, Objetos Máximos 100K, Profundidade Máxima de Filtro 6, Timeout de Análise 30s |
| **Ambiente Sandbox** | Windows Job Object (RAM 512MB, Afinidade de CPU, Sem Breakaway, UILIMITs) + Token Restrito (Remover SIDs de Admin e Privilégios Perigosos) + Área de Trabalho Virtual Dedicada |
| **Virtualização de Filesystem / Registro** | Sobreposição Virtual Copy-On-Write (COW) em 2 Camadas suportando Alternate Data Streams (ADS), Reparse Points e Visão de Registro Virtual Mesclada |
| **Técnicas de Monitoramento Furtivo** | Desvinculação de Módulo PEB em 3 Vias (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + Scrubber de Cabeçalho PE em Memória + Limpeza de PDB + Guarda DACL do Launcher |
| **Hooking e Grafo Comportamental** | Motor MinHook + `HookGuard` RAII + `BehaviorGraph` Cross-Process (Rastreamento de Remote Thread, Process Hollowing, Injeção de Fila APC) |
| **Intel PT Assistido por Hardware** | Rastreamento por Hardware via CPUID leaf 0x14, Rastreamento de Kernel do Windows Classe 47 `ProcessIntelProcessorTrace`, Decodificação de Pacotes TNT/TIP/FUP |
| **Motor de Desmontagem PE Estático** | Desmontador Capstone (x86/x64) + Opcode TF-IDF + API N-Grams + Complexidade Ciclomática CFG + YaraGen (Lista Negra de Ruído Rust) + SSDEEP/TLSH |
| **Conjunto de Machine Learning / IA** | Embedder de Sequência PyTorch + GNN de CFG + Conjunto LightGBM (Adam, Eve, Marcus) + Poda de Características SHAP + LGBM Calibrado para PDF |
| **Treinamento Anti-Falso Positivo** | Conjunto de Dados em 3 Níveis (`malware`, `benign`, `suspicious_benign`), Deduplicação Nível-1 (SHA256) e Nível-2 (Impressão Digital Estrutural), `StratifiedGroupKFold` |
| **Detecção de Ransomware (BHR)** | Taxa de Entropia de Shannon em Tempo Real ($\ge 7.5$) + Taxa de Modificação em Rajada ($>20$ arquivos/s) + Detector de Comando de Exclusão de Volume Shadow Copy |
| **Extração e Recuperação de Chaves** | Extrator de RAM e `pagefile.sys` para 20+ Padrões (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Rollback Automatizado de Sobreposição COW |
| **Cofre de Backup Zero-Knowledge** | E2EE no Lado do Cliente (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Re-Keying Instantâneo do Master ($K_{\text{vault}}$) + AAD Binário Canônico + Preenchimento de Bucket |
| **Suíte de Resgate de Emergência WinRE** | `bhpai_rescue.exe` C++17 standalone, 7 subsistemas principais, transação ACID em 5 Fases, Recuperação de estado de crash, carregamento automático de hive de registro offline |
| **GUI de Desktop e Licenciamento** | GUI PyQt6 Dark Glassmorphism (workers QThread) + Motor de Licenciamento com Bloqueio de Hardware HWID Ed25519 |
---
## 2. DIAGRAMA ARQUITETURAL GERAL E PIPELINE DE EXECUÇÃO
O diagrama de sequência abaixo ilustra o fluxo de execução ponta a ponta desde a ingestão de arquivo bruto até triagem estática/dinâmica, decomposição recursiva, inferência de IA e recuperação de desastres offline:```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
Implementações de código-fonte principais: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Inicializada via CreateDesktopW com flags de segurança DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Todas as janelas gráficas, Windows Messages (WM_DROPFILES, WM_COPYDATA, ganchos de UI) e keyloggers são estritamente isolados da sessão interativa do usuário (Área de Trabalho Default).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Garante que encerrar o launcher encerre instantânea e completamente toda a árvore de processos filhos.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Limita a carga máxima de commit a 512MB por processo, prevenindo ataques de esgotamento de memória.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Restringe processos ativos a 32, frustrando tentativas de negação de serviço por fork-bomb.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Suprime diálogos de falha do Windows Error Reporting.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Impede compartilhamento não autorizado de handles entre processos e poluição de átomos globais.O Launcher constrói um token de segurança restrito via CreateRestrictedToken antes de executar CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID ou SECURITY_MANDATORY_MEDIUM_RID.Para minimizar a pegada de monitoramento contra técnicas anti-análise em modo usuário:
BHPAIMonitor.dll desvincula automaticamente sua própria LDR_DATA_TABLE_ENTRY de todas as 3 listas duplamente encadeadas de módulos dentro do Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Travessias de PEB->Ldr ou chamadas a EnumProcessModules por malware não revelam nenhuma evidência da DLL de monitoramento.PAGE_READWRITE e zera seus IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER e strings de caminho de arquivo PDB do Debug Directory, derrotando scanners de assinatura em memória.SetKernelObjectSecurity com uma lista de controle de acesso discricionário (DACL) vazia, bloqueando PROCESS_TERMINATE, PROCESS_VM_WRITE e PROCESS_SUSPEND_RESUME de processos de integridade inferior.O agente de monitoramento intercepta APIs NT Nativas de baixo nível em ntdll.dll e kernelbase.dll usando o MinHook Engine:
| Subsistema de API | API NT Nativa Interceptada | Objetivo de Monitoramento & Redirecionamento |
|---|---|---|
| Processo / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Detecta criação de processos filhos, Injeção de Processo, Injeção de APC. |
| Memória Virtual | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Captura alocações PAGE_EXECUTE_READWRITE, Hollowing, Shellcode. |
| I/O de Sistema de Arquivos | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Registra I/O, redireciona para COW Overlay, avalia Entropia de Shannon. |
| Registro | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Rastreia chaves de Persistência, redireciona gravações para Registro Virtual. |
| Anti-Análise | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Neutraliza verificações de ProcessDebugPort, ocultação de thread, acelera sleeps. |
Cada desvio é protegido por um HookGuard baseado em RAII (thread_local bool in_hook), eliminando deadlocks infinitos de reentrância recursiva.
Para salvaguardar o host subjacente enquanto permite que o malware execute sem impedimentos:
GENERIC_READ) são servidas diretamente dos arquivos originais do disco.GENERIC_WRITE) ou exclusões (FILE_DELETE_ON_CLOSE), o arquivo é copiado sob demanda para BHPAI_Sandbox_Overlay\Files\. Todas as modificações subsequentes operam neste clone isolado do sandbox.file.txt:zone.identifier), Reparse Points e Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) são redirecionadas para HKCU\Software\BHPAI_Virtual_Registry\.Aproveita sessões de kernel do Microsoft Event Tracing for Windows (ETW):
Microsoft-Windows-Kernel-Process: Captura criação de processos mesmo se o malware contornar ganchos em userland via syscalls diretas.Microsoft-Windows-Kernel-Network: Captura atividade bruta de sockets TCP/UDP.Microsoft-Windows-Kernel-Memory: Detecta mapeamento de memória virtual entre processos.Simulador de rede integrado (FakeNetEngine.cpp):
127.0.0.1).IntelPTMonitor.cpp interage diretamente com primitivas de rastreamento de hardware da CPU:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace (Classe 47).TNT (decisões de desvio Taken/Not-Taken), TIP (Target IP) e FUP (Function Pointer), expondo cadeias ROP e redirecionamentos de fluxo de controle sem reescrita de binário baseada em software.| 🔴 Detected (Shadow Copy Deletion) |