Plataforma de análisis de malware multiformato que combina un sandbox sigiloso de Windows en Ring-3, analizadores estáticos de PE/PDF, recuperación de claves de ransomware y un conjunto de IA para detección resistente a falsos positivos.
Versión del sistema: V1.6 Enterprise Edition (Actualización Integral de Funciones del Sistema)
Autor: Rin449 Lenguajes y Tecnologías Centrales: 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 Referencia Master: Detalles de arquitectura multiformato (Multi-Format), algoritmos de análisis recursivo, análisis estático de PE y PDF, monitoreo dinámico Sandbox Stealth Ring-3, extracción de estructuras de claves de Ransomware, modelo de IA resistente a falsos positivos (False Positive Resistant), sistema de rescate sin conexión WinRE y seguridad de datos Zero-Knowledge.
Language / Ngôn ngữ: 🇻🇳 Tiếng Việt | 🇬🇧 English
Analyzers/PDF/)AnalysisNode)dataset/pdf/)StratifiedGroupKFoldCalibratedClassifierCV)pagefile.sysBehaviorGraph) y State Machine de Cadena de Ataquebhpai_rescue.exebhpai_rescue.exeEn la era actual de la ciberseguridad, los ataques dirigidos (APT), el spyware y el ransomware han superado el ámbito de los archivos ejecutables tradicionales (.exe, .dll):
/Launch que ejecuta comandos encubiertos) o empaqueta archivos ejecutables PE incrustados dentro de PDFs como Dropper.BHPAI versión V1.6 Enterprise es un sistema de ciberseguridad multicapa, que proporciona una solución de protección integral para la cadena de ataque a través de la arquitectura Multi-Format Hybrid Engine: Enrutamiento automático multiformato (PE, PDF, Office, Script), análisis recursivo de payloads anidados, aislamiento Sandbox Ring-3 stealth, monitoreo de hardware Intel PT, y modelo de IA calibrado contra falsos positivos.
BHPAI V1.6 está diseñado basándose en el modelo Enrutamiento - Análisis Recursivo - Correlación de Comportamiento - Recuperación Sin Conexión:``` ┌───────────────────────────────────────────────┐ │ INPUT FILE STREAM │ └───────────────────────┬───────────────────────┘ │ ┌───────────▼───────────┐ │ 3-STAGE FILE ROUTER │ │ (Magic/ZIP/Script) │ └───────────┬───────────┘ │ ┌──────────────────────────────┼──────────────────────────────┐ │ │ │ [FileFormat::PE] [FileFormat::PDF] [FileFormat::Office] │ │ │ ┌────────────▼────────────┐ ┌────────────▼────────────┐ ┌────────────▼────────────┐ │ STATIC PE ANALYZER │ │ PDF ANALYZER V2.0 │ │ OOXML / OLE ANALYZER │ │ - Capstone Disassembler│ │ - Binary Stream Parser │ │ - Macro VBA Extractor │ │ - Opcode TF-IDF & CFG │ │ - Action/JS Deobfuscate│ │ - External DDE Links │ │ - YaraGen & Fuzzy Hash │ │ - 57 Features + Level 2│ │ - Embedded OLE Objects │ └────────────┬────────────┘ │ Structural Fingerprnt│ └────────────┬────────────┘ │ └────────────┬────────────┘ │ │ │ │ │ (Trích xuất Embedded PE) │ │ │ │ │ ┌────────────▼────────────┐ │ └────────────────►│ RECURSIVE ANALYSIS TREE │◄────────────────┘ │ (AnalysisNode Tree) │ └────────────┬────────────┘ │ ┌────────────▼────────────┐ │ DYNAMIC SECURE SANDBOX │ │ - Job Object & Token │ │ - COW Overlay FS/Reg │ │ - Stealth PEB Unlink │ │ - Intel PT Hardware Trc│ └────────────┬────────────┘ │ ┌──────────────────────────────┴──────────────────────────────┐ │ │ ┌────────────▼────────────┐ ┌────────────▼────────────┐ │ BHR RANSOMWARE ENGINE │ │ AI & BEHAVIORGRAPH V1.6 │ │ - High-Entropy Detector │ │ - Multi-Format Ensemble │ │ - RAM & Pagefile Keys │ │ - Cross-Process Machine │ │ - Instant COW Rollback │ │ - MITRE ATT&CK Mapping │ └─────────────────────────┘ └─────────────────────────┘
1. **Safety First & Anti-Bomb (Seguridad ante todo y Anti-Bomb)**: Sandbox aísla el proceso mediante un Escritorio virtual dedicado (`BHPAISandboxDesktop`), limita el Job Object (RAM 512MB, CPU, prohíbe Breakaway) y reduce privilegios con Restricted Token. El conjunto de descompresión de flujo PDF está protegido por `AnalysisBudget` y `ParserLimits` contra Decompression Bomb (tasa de compresión máxima 100:1, límites de tamaño y profundidad de anidamiento).
2. **Stealth Anti-Evasion (Minimización de huella en User-mode)**: La DLL de monitoreo Ring-3 minimiza activamente el rastro frente a técnicas anti-analysis comunes mediante la eliminación de 3 listas de enlace doble del PEB Module (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), borra el PE Header y Debug PDB en RAM, y establece DACL protegiendo el Launcher contra comandos básicos `OpenProcess(PROCESS_TERMINATE)`.
3. **Recursive Analysis Tree & Child Dominance (Análisis recursivo y Dominancia de hijos)**: La arquitectura de árbol `AnalysisNode` verifica recursivamente cada archivo incrustado dentro del documento. Al detectar un archivo ejecutable hijo (Child PE) malicioso, el sistema activa la **Child Dominance Rule**, elevando automáticamente la conclusión del documento padre a **MALICIOUS** con una puntuación de riesgo mínima de 85/100.
4. **False-Positive Resistance AI (Resistencia a falsos positivos)**: Elimina atajos de inferencia erróneos mediante la organización de un conjunto de datos de 3 capas (`suspicious_benign`), deduplicación multinivel (Exact Hash + Structural Fingerprint) y descomposición del grupo `StratifiedGroupKFold`.
5. **Data Protection & Key Recovery (Detección y soporte de extracción de claves candidatas)**: BHR Engine detecta comportamiento de cifrado de entropía intenso dentro del ámbito de Win32/NT I/O, escanea en busca de estructuras de claves candidatas (AES-GCM GHASH $H$, estado ChaCha20, RSA DER, X25519) en RAM y `pagefile.sys` antes de que el proceso libere memoria, y además soporta rollback de archivos escritos en el búfer COW Overlay para operaciones de I/O estándar.
---
### 1.3 Tabla de especificaciones técnicas centrales V1.6 (Technical Highlights)
| Subsistema y Criterio | Especificaciones Técnicas y Tecnología de implementación V1.6 |
| :--- | :--- |
| **Enrutamiento de archivos (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álisis PDF Native V2.0** | C++17 Binary-Safe Parser, FlateDecode/ASCIIHex Inflate, Recursive Embedded Payloads (`MZ`), Javascript Obfuscation & Acrobat API Analyzer, 57 Vector Features |
| **Defensa Anti-Bomb / DoS** | `ParserLimits`: Max Input 500MB, Max Extracted 250MB, Max Ratio 100.0, Max Objects 100K, Max Filter Depth 6, Timeout 30 segundos |
| **Entorno Sandbox** | Windows Job Object (RAM 512MB, CPU Affinity, No Breakaway, UILIMITs) + Restricted Token (Drop Dangerous Privileges) + Virtual Desktop |
| **Virtualización Filesystem/Registry** | Copy-On-Write (COW) Virtual Overlay de 2 capas con soporte para Alternate Data Streams (ADS), Reparse Points, y Merged Virtual Registry View |
| **Técnicas Stealth Monitor** | Unlink PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + In-Memory PE Header Scrubber + PDB Wiping + Launcher DACL Guard |
| **Hooking y Grafo de Comportamiento** | MinHook Engine + RAII `HookGuard` + `BehaviorGraph` entre procesos (Remote Thread, Process Hollowing, APC Queue Injection) |
| **Monitoreo de Hardware Intel PT** | Hardware-Assisted Tracing via CPUID leaf 0x14, `ProcessIntelProcessorTrace` Class 47, TNT/TIP/FUP Packet Decoder |
| **Análisis Estático 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 sobre CFG + LightGBM Ensemble (Adam, Eve, Marcus) + SHAP Feature Pruning + PDF Calibrated LGBM |
| **Entrenamiento Anti False Positive** | Dataset de 3 capas (`malware`, `benign`, `suspicious_benign`), Dedup nivel 1 (SHA256) y nivel 2 (Structural Fingerprint), `StratifiedGroupKFold` |
| **Detección de Ransomware** | Real-time Shannon Entropy Calculation ($\ge 7.5$) + Burst Modification Rate ($>20$ files/s) + Shadow Copy Wiping Detector |
| **Extracción de Claves y Recuperación** | RAM & `pagefile.sys` Extractor para más de 20 algoritmos (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Automated COW Rollback |
| **Respaldo Cifrado Independiente (Vault)** | Client-Side Zero-Knowledge E2EE (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Instant Re-Keying ($K_{\text{vault}}$) + Canonical AAD |
| **Rescate Fuera de Línea WinRE** | `bhpai_rescue.exe` C++17 standalone, 7 subsistemas, 5-Phase ACID transaction, Crash state recovery, montaje automático de registry offline |
| **Interfaz Desktop y Licenciamiento** | PyQt6 Dark Glassmorphism GUI (QThread workers) + Ed25519 HWID Hardware-Locked Licensing engine |
---
## 2. DIAGRAMA DE ARQUITECTURA Y FLUJO GENERAL DE PROCESAMIENTO DE DATOS
El diagrama de secuencia muestra el flujo de procesamiento desde la recepción del archivo de entrada hasta la extracción del payload, análisis estático/dinámico, clasificación por IA y recuperación de datos:```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
El código fuente principal se encuentra en: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Se inicializa mediante CreateDesktopW con los flags DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Todas las ventanas gráficas, mensajes de Windows Message (WM_DROPFILES, WM_COPYDATA, UI Redirection) del código malicioso quedan confinados completamente en el Desktop virtual, aislados de la pantalla del usuario (Desktop Default).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Cuando el proceso Launcher finaliza, todo el árbol de procesos hijos del código malicioso se destruye automáticamente.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Limita la RAM máxima a 512MB por proceso para evitar el agotamiento de recursos del sistema.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Limita a un máximo de 32 procesos simultáneos para prevenir ataques Fork-Bomb.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Bloquea la ventana Windows Error Reporting Crash Dialog.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Impide la interferencia con Handles y Atoms globales.El Launcher crea un Token restringido mediante CreateRestrictedToken antes de invocar CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID o SECURITY_MANDATORY_MEDIUM_RID.Para minimizar la capacidad del código malicioso de detectar la DLL de monitoreo en el espacio de memoria Ring-3:
BHPAIMonitor.dll elimina automáticamente su propia LDR_DATA_TABLE_ENTRY de las 3 listas doblemente enlazadas en el Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Cuando el código malicioso recorre PEB->Ldr o invoca EnumProcessModules, el módulo de monitoreo no aparece en la lista.PAGE_READWRITE y borra (Zero-fill) las regiones IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER y la cadena Debug Directory PDB Path de la DLL en la memoria RAM, impidiendo técnicas de escaneo de firmas en memoria.SetKernelObjectSecurity con una lista de control de acceso discrecional (DACL) vacía, denegando los permisos PROCESS_TERMINATE, PROCESS_VM_WRITE, y PROCESS_SUSPEND_RESUME a procesos con menor nivel de integridad.El sistema utiliza MinHook Engine para intervenir directamente funciones Native NT API de bajo nivel en ntdll.dll y kernelbase.dll:
| Grupo de API | Función Native Hooked | Propósito de Monitoreo & Redirección |
|---|---|---|
| Process / Thread | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Detectar creación de procesos hijos, Process Injection, APC Injection. |
| Virtual Memory | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Identificar asignación de PAGE_EXECUTE_READWRITE, Process Hollowing, Shellcode Injection. |
| Filesystem I/O | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Registrar I/O, redirigir COW Overlay, medir Shannon Entropy. |
| Registry | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Monitorear puntos de anclaje de autoinicio (Persistence) y redirección COW. |
| Anti-Analysis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Bloquear detección de ProcessDebugPort, ThreadHideFromDebugger, acelerar Sleep Evasion. |
Todas las funciones hook están protegidas por la capa RAII HookGuard (thread_local bool in_hook), garantizando la prevención del fenómeno de bucle infinito (Recursive Hook Loop Deadlock).
Para proteger de forma segura el sistema real mientras se permite que el código malicioso interactúe con normalidad:
GENERIC_READ, el sistema permite la lectura desde el archivo original.GENERIC_WRITE o eliminación FILE_DELETE_ON_CLOSE: El archivo original se copia inmediatamente al directorio temporal virtualizado BHPAI_Sandbox_Overlay\Files\. Todas las operaciones de modificación de datos se ejecutan sobre esta copia.file.txt:zone.identifier), Reparse Points y Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) se mapean a la rama temporal HKCU\Software\BHPAI_Virtual_Registry\.Utiliza el subsistema Microsoft Event Tracing for Windows (ETW) para capturar eventos del Kernel:
Microsoft-Windows-Kernel-Process: Captura eventos de creación de procesos incluso cuando el código malicioso utiliza Direct Syscalls para eludir Userland Hooks.Microsoft-Windows-Kernel-Network: Registra conexiones TCP/UDP de bajo nivel.Microsoft-Windows-Kernel-Memory: Monitorea operaciones de mapeo de memoria cruzado (Cross-Process Memory Mapping).Integra un motor de simulación de red independiente (FakeNetEngine.cpp):
127.0.0.1).El subsistema IntelPTMonitor.cpp aprovecha la función de seguimiento por hardware de la CPU Intel:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace).TNT (Taken/Not-Taken Branch), TIP (Target IP) y FUP (Function Pointer), permitiendo la detección de ROP (Return-Oriented Programming) Chains y la decodificación del flujo de ejecución sin depender de software.Aunque está diseñado con múltiples capas de protección, el entorno de análisis dinámico Ring-3 aún tiene fronteras técnicas naturales que deben entenderse claramente en la realidad operativa:
ntdll.dll en disco y ejecuta la instrucción binaria syscall / sysenter directamente desde su propia memoria, el flujo de ejecución salta directamente al Kernel sin pasar por las funciones instaladas por MinHook en ntdll.dll.El código fuente principal se encuentra en: 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 con gran discrepancia respecto a VirtualSize.IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_EXECUTE (W^X Violation).cs_open(CS_ARCH_X86, CS_MODE_32 / CS_MODE_64) con configuración detallada CS_OPT_DETAIL..text, .code).mov -> push -> call -> test -> jz).IMAGE_IMPORT_DESCRIPTOR (IAT) y análisis de pares de API altamente sospechosos:
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).El código fuente principal se encuentra en: Analyzers/PDF/, FileRouter.hpp, UniversalDefanger.hpp, UniversalReportSchema.hpp, pdf_analyzer.exe.
El sistema no se basa en la extensión del archivo (.exe, .pdf) sino que utiliza una arquitectura de enrutamiento 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$ Rama correspondiente[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/)El analizador PDF está escrito completamente en C++17 puro, binariamente seguro y sin dependencia de bibliotecas externas voluminosas:
/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), y explotación de Adobe Reader APIs (util.printf, collab.getIcon, spell.customDictionaryOpen).AnalysisNode)Estructura de árbol recursivo jerárquico que gestiona todos los payloads incrustados:``` [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 Puntuación de Riesgo Contextual y Regla de Dominancia de Hijo (Child Dominance Rule)
1. **Contextual Risk Scoring Engine**: Puntuación basada en pesos contextuales combinados (Action Trigger $\times$ JavaScript Risk $\times$ Exploit Indicators).
2. **Child Dominance Rule (Regla de Dominancia de Hijo)**:
- Si cualquier nodo hijo en el árbol recursivo (`Child Node`) tiene conclusión **`MALICIOUS`** (por ejemplo: archivo PE adjunto es ransomware o troyano):
- El nodo raíz padre (Parent Document) **automáticamente se eleva la conclusión a `MALICIOUS`**.
- La puntuación de riesgo del nodo padre se establece automáticamente:
$$\text{Score}_{\text{parent}} = \max(\text{Score}_{\text{parent}}, 85, \text{Score}_{\text{child}})$$
---
### 5.5 Defensa Anti-DoS y Protección contra Bomba de Descompresión (Decompression Bomb Protection)
Para garantizar que el sistema no sea atacado para agotar recursos (Denial-of-Service):
- **Configuración de `ParserLimits`**:
- Límite de tamaño máximo de archivo de entrada: **500 MB**.
- Límite de capacidad total máxima de flujo descomprimido: **250 MB**.
- Tasa de compresión máxima (Max Compression Ratio): **100.0:1** (superar este umbral detiene inmediatamente la descompresión y marca `DecompressionBombDetected`).
- Límite de número máximo de objetos: **100,000 Objects**.
- Límite de profundidad de anidamiento del filtro de descompresión: **Máximo 6 capas**.
- **Mecanismo `AnalysisBudget`**:
- Establecimiento de temporizador de cuenta regresiva con tiempo de timeout máximo: **30 segundos/archivo**.
- Cancelación automática del análisis recursivo si se excede el presupuesto de tiempo sin colapsar la aplicación.
---
### 5.6 Mapeo MITRE ATT&CK Basado en Evidencia y Universal IOC Defanger
1. **Evidence-Based MITRE ATT&CK Mapping**:
Cada técnica MITRE ATT&CK se asigna con evidencia específica (Evidence String, Object ID, Byte Offset):
- `T1204.002` (Malicious File): Se encontró `/OpenAction` apuntando al Object 8.
- `T1059.007` (JavaScript): Se encontró cadena de explotación de memoria en el Object 14.
- `T1027.009` (Embedded Payloads): Se encontró binario PE ejecutable en `/EmbeddedFiles`.
2. **Universal IOC Defanger (`UniversalDefanger.hpp`)**:
Neutraliza automáticamente los indicadores de compromiso antes de mostrarlos o exportar el informe:
- 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 Estandarización de Informe de Salida Universal Schema 2.0
Todos los subsistemas de análisis (PE, PDF, Dynamic Sandbox, WinRE) devuelven datos uniformes según el estándar **Universal JSON Schema 2.0**:
- `metadata`: `sha256`, `md5`, `file_size`, `format`, `timestamp`.
- `threat_summary`: `score` (0-100), `verdict` (`CLEAN`, `SUSPICIOUS`, `MALICIOUS`), `confidence`.
- `analysis_tree`: Estructura de árbol recursivo jerárquico de todos los payloads.
- `mitre_matrix`: Lista de tácticas y técnicas ATT&CK con evidencia.
- `extracted_iocs`: Lista de IP, URL, Domain, Hash que han sido defanged.
---
## 6. DETALLE DEL SUBSISTEMA 4: DATASET DE 3 CAPAS Y PIPELINE AI PDF ANTI FALSE POSITIVE
El código fuente principal se encuentra en: [`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 Estructura de Estratificación del Dataset de 3 Capas (`dataset/pdf/`)
Con el fin de resolver exhaustivamente el problema de falsas alarmas (False Positive) comúnmente encontrado en los modelos de AI de ciberseguridad:
1. **`malware/`**: Muestras de malware reales recolectadas de entornos de ataque reales (PDF con CVE Exploits, Droppers, Phishing Forms, Obfuscated JS).
2. **`benign/`**: Documentos PDF de oficina estándar (libros, facturas financieras, documentos académicos, documentos administrativos).
3. **`suspicious_benign/` (Hard Negatives - Conjunto de eliminación de falsas alarmas)**:
- Documentos PDF completamente limpios pero con características técnicas complejas: Facturas electrónicas con firma digital X.509 PKCS#7 (`/Sig`, `/ByteRange`), formularios AcroForm que contienen JavaScript de cálculo válido, documentos con archivos de texto válidos adjuntos (`/EmbeddedFiles`), documentos técnicos que contienen fragmentos de código fuente y cadenas ofuscadas.
---
### 6.2 Eliminación del Atajo de Inferencia "False Positive Machine" mediante Hard Negatives
- Los modelos de AI convencionales al ver las palabras clave `/JavaScript` o `/EmbeddedFiles` tienden a etiquetar inmediatamente como malware (Heuristic Shortcut).
- La inclusión del grupo `suspicious_benign` en el conjunto de entrenamiento obliga al modelo LightGBM a aprender correlaciones más profundas (la combinación entre entropía de cadenas de comandos, nombres de API maliciosas, profundidad de descompresión) en lugar de detectar errores simples basados en la existencia de palabras clave.
---
### 6.3 Desduplicación Multinivel antes de la División (Multi-Level Deduplication)
Para eliminar el fenómeno de fuga de datos (Data Leakage) entre el conjunto de Train y Test:
1. **Deduplication Nivel 1 (Exact Hash)**: Eliminación de archivos con hash SHA-256 / MD5 duplicados.
2. **Deduplication Nivel 2 (Structural Fingerprinting)**:
- Cálculo del vector de hash de la estructura del árbol de objetos PDF y contenido semántico.
- Eliminación de variantes derivadas (variantes con nombre cambiado, metadata cambiada pero con estructura de árbol byte-stream idéntica).
---
### 6.4 División de Conjunto Independiente Anti Fuga de Datos `StratifiedGroupKFold`
- Uso del algoritmo `StratifiedGroupKFold` (con `n_splits=5`).
- Agrupación por identificador de familia de documentos (`Family Group ID`), asegurando que todos los archivos con origen estructural común permanezcan completamente en un conjunto (ya sea Train o Test), previniendo el fenómeno de aprendizaje memorístico y el inflado de precisión falsa.
---
### 6.5 Vector de 57 Características y Calibración de Probabilidad (`CalibratedClassifierCV`)
1. **Espacio de 57 Características Integrales**:
- Grupo de Estructura Header & Trailer (12 características): `count_obj`, `count_stream`, `count_xref`, `count_trailer`, `has_eof`, `version_number`...
- Grupo de Activación de Comportamiento (15 características): `count_js`, `count_javascript`, `count_openaction`, `count_launch`, `count_embeddedfiles`, `count_richmedia`...
- Grupo de Entropía y Filtros de Flujo (18 características): `stream_entropy_mean`, `stream_entropy_max`, `flatedecode_depth`, `ratio_uncompressed`...
- Grupo de Explotación de Código y Firmas Digitales (12 características): `heap_spray_pattern_count`, `eval_count`, `has_signature`, `invalid_xref_count`...
2. **Calibración de Probabilidad (`CalibratedClassifierCV`)**:
- Uso de calibración Isotonic Regression y Platt Sigmoid Scaling en un conjunto de validación independiente, llevando la salida del árbol de decisión LightGBM a probabilidad estadística real $P(\text{Malicious} \mid X) \in [0.0, 1.0]$.
---
### 6.6 Resultados de Benchmark de Verificación y Capacidad de Resistencia a Falsas Alarmas (Audit Report)
Evaluación experimental en conjunto de prueba independiente (Test Set):
| Métrica de Evaluación | Valor Alcanzado V1.6 | Evaluación Técnica |
| :--- | :---: | :--- |
| **Accuracy (Precisión general)** | **99.42%** | Equilibrado en los 3 conjuntos de datos |
| **Malware Recall (Cobertura de malware)** | **99.15%** | Identifica la mayoría de muestras de explotación de CVE y PDF Dropper |
| **False Positive Rate en `benign`** | **0.00%** | No se registran falsas alarmas en documentos de oficina estándar |
| **False Positive Rate en `suspicious_benign`** | **0.21%** | Resistencia efectiva a falsas alarmas en facturas digitales y formularios JS complejos |
| **Inference Latency (Latencia de inferencia AI)** | **1.85 ms / file** | Alta velocidad, listo para escaneo en tiempo real |
---
## 7. DETALLE DEL SUBSISTEMA 5: MACHINE LEARNING & AI ENSEMBLE (PE & GNN & SHAP)
El código fuente principal se encuentra en: [`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 Fusión de Espacio de Características Multidimensional (Feature Vectorization)
El modelo fusiona el espacio de características del archivo ejecutable (PE):
1. **Vector Estático Estructural (Static Vector)**: 128 dimensiones (Section Entropy, Header Anomalies, Resource Metrics, Import Table Distribution).
2. **Vector de Secuencia de Opcode (Disassembly TF-IDF)**: 512 dimensiones extraídas del Capstone Engine.
3. **Vector de Secuencia de Llamadas API (API N-Grams)**: 256 dimensiones.
4. **Vector de Grafo de Flujo de Control (CFG Structural Embeddings)**: 128 dimensiones.
---
### 7.2 PyTorch API Sequence Embedder y Control Flow Graph GNN
1. **PyTorch API Sequence Embedder**:
- Red neuronal recurrente bidireccional Bi-LSTM + Multi-Head Self-Attention que codifica secuencias de llamadas a funciones API continuas en vectores semánticos compactos.
2. **Control Flow Graph GNN (Graph Neural Network)**:
- Uso del modelo **Graph Convolutional Network (GCN)** o **Graph Attention Network (GAT)** con paso de mensajes (Message Passing) a través de nodos Basic Block en el CFG, extrayendo la estructura de control del malware independientemente del renombrado de registros (Register Renaming).
---
### 7.3 Optimización de Características mediante SHAP Feature Pruning
- Aplicación de la teoría de juegos **SHAP (SHapley Additive exPlanations)** para explicar las decisiones del modelo (Explainable AI - XAI).
- Evaluación del índice de contribución de cada característica (SHAP Value $\phi_i$). Eliminación de características con SHAP value cercano a 0 para optimizar la velocidad de cálculo y mejorar la capacidad de generalización.
---
### 7.4 Modelo de Clasificación LightGBM Ensemble (Adam, Eve, Marcus) y Umbral Dinámico
Arquitectura Ensemble que combina 3 modelos especializados:
1. **Model Adam (Static Specialist)**: Especializado en clasificación basada en características estructurales PE, Opcode TF-IDF y Header Entropy.
2. **Model Eve (Dynamic & Behavior Specialist)**: Especializado en clasificación basada en el grafo de comportamiento `BehaviorGraph`, registros de API Hooks y Kernel ETW.
3. **Model Marcus (Graph & Sequence Embedder)**: Especializado en clasificación basada en la salida del GNN y PyTorch API Sequence Embedder.
4. **Dynamic Thresholding Engine**:
- Cálculo de puntuación de riesgo integrada ponderada:
$$\text{Score}_{\text{final}} = w_1 \cdot P_{\text{Adam}} + w_2 \cdot P_{\text{Eve}} + w_3 \cdot P_{\text{Marcus}}$$
- Clasificación en 3 niveles: `CLEAN` ($\text{Score} < 40$), `SUSPICIOUS` ($40 \le \text{Score} < 75$), `MALICIOUS` ($\text{Score} \ge 75$).
---
### 7.5 Resultados de Benchmark y Evaluación Experimental del Clasificador AI
Pruebas en conjunto de datos de prueba independiente que comprende 20,000 muestras PE (10,000 Clean + 10,000 Malware de las familias Ransomware, Trojan, Worm, Backdoor):
| Criterio | 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. DETALLE DEL SUBSISTEMA 6: BHR ENGINE (RANSOMWARE DETECTOR & KEY RECOVERY)
El código fuente principal se encuentra en: [`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 Detección de Cifrado de Alta Entropía (Shannon Entropy Rate)
BHR Engine monitorea el flujo de escritura de datos de archivos en tiempo real:
- Cada vez que la función `NtWriteFile` es llamada con un bloque de datos $\ge 4 \text{ KB}$, el sistema calcula la Shannon Entropy del buffer.
- Si la Entropía de los datos escritos supera el umbral **$\ge 7.5$** (característico de bloques comprimidos o ciphertext cifrado), se activa el contador de alerta.
---
### 8.2 Monitoreo de Burst Modification Rate y Comportamiento de Eliminación de Shadow Copy
1. **Burst File Modification Rate**:
- Seguimiento de la frecuencia de modificación de archivos. Si un proceso realiza modificación/sobrescritura de más de **20 archivos/segundo** con datos de alta entropía, el proceso es identificado como comportamiento de Ransomware explosivo.
2. **Detección de Comportamiento de Eliminación de Shadow Copy**:
- Monitoreo de procesos hijos que inician comandos de destrucción del sistema de respaldo:
- `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 Extracción de Estructura de Clave de Cifrado (20+ Standards) de RAM y `pagefile.sys`
Al detectar comportamiento de cifrado, BHR Engine realiza un snapshot de la memoria del proceso y escanea buscando estructuras de claves de cifrado candidatas de más de **20 estándares criptográficos modernos**:
1. **AES-128 / AES-256 Key Schedules**: Escaneo buscando la tabla de expansión de clave (Expanded Key Schedule) mediante cálculo inverso del algoritmo AES S-Box / Rcon.
2. **AES-GCM Authentication Subkey ($H$)**: Identificación del bloque hash GHASH $H = E_K(0^{128})$ característico en el espacio de memoria.
3. **ChaCha20 / Salsa20 State Matrix**: Escaneo buscando la cadena de constantes de matriz de 16 bytes estándar: `"expand 32-byte k"` (`0x61707865`, `0x3320646e`, `0x79622d32`, `0x6b206574`) junto con el array Nonce y Block Counter.
4. **RSA Private Key ASN.1 DER Header**: Identificación de la estructura PKCS#1 DER (`0x30, 0x82` junto con la cadena Modulus $n$, Public Exponent $e$, Private Exponent $d$, Primes $p, q$).
5. **X25519 / Curve25519 Scalar Clamping**: Escaneo de cadenas de 32 bytes que cumplen la condición de bit clamping (`k[0] &= 248; k[31] &= 127; k[31] |= 64;`).
---
### 8.4 Recuperación de Datos desde el Búfer COW Virtual Overlay (Win32/NT Scope)
Dado que las operaciones de sobrescritura y cifrado del Ransomware a través de API de archivos estándar son redirigidas al búfer virtual `Overlay\Files\`, el archivo original del usuario en el disco duro dentro de este ámbito de enrutamiento se preserva.
- `automated_overlay_restore.py` realiza la limpieza de los archivos modificados en el búfer `Overlay\`, permitiendo el rollback de los cambios virtuales sin necesidad de descifrar el ciphertext.
---
### 8.5 Registro Crypto Timeline y Mapa de Transformación de Datos
`CryptoTimeline.cpp` y `crypto_tracker.py` registran todos los hitos temporales del ataque:
- Hito temporal de inicio del proceso y momento en que el primer archivo incrementó su Entropía.
- Lista de mapa de transformación: `Ruta del archivo original` $\rightarrow$ `Ruta del archivo cifrado`.
- Tasa de datos cifrados por hito temporal (Cryptographic Timeline Graph).
---
### 8.6 Prueba Experimental de Extracción de Claves de Memoria de Ransomware Dual-Engine Hybrid
Prueba en entorno de Laboratorio controlado ante una muestra de Ransomware que simula el mecanismo de cifrado Dual-Engine Hybrid (similar a LockBit 3.0 / BlackCat):
- Cifrado simétrico: AES-256-GCM + ChaCha20.
- Intercambio de claves asimétrico: X25519 Ephemeral Scalar + RSA PKCS#1 DER.
- Inserción de ruido Heap: 15 regiones de memoria de entropía aleatoria y bloques comprimidos.
Resultados de extracción de estructuras de claves candidatas en el escenario de muestra de prueba (Synthetic Benchmark):
1. **AES-256-GCM Master Key**: Coincide con GHASH $H$ Subkey, puntuación de confianza **95.0%**.
2. **ChaCha20 State Matrix**: Identificación de constantes de matriz y Nonce, puntuación de confianza **60.25%**.
3. **X25519 Ephemeral Key**: Identificación de Clamping Pattern Mask, puntuación de confianza **57.0%**.
4. **RSA PKCS#1 DER Sequence Private Key**: Identificación de estructura ASN.1 DER, puntuación de confianza **60.75%**.
> [!WARNING]
> **Límites Técnicos y Desafíos en Entornos Reales (Real-World Limitations)**:
> 1. **Zeroization Inmediatamente Después del Cifrado**: Las cepas de Ransomware reales (como Babuk, Conti, LockBit) a menudo llaman activamente a `SecureZeroMemory` o `RtlZeroMemory` para borrar completamente el array de claves simétricas inmediatamente después de que la sesión de cifrado finaliza. El proceso de extracción solo es viable si el Memory Dump se realiza oportunamente mientras el proceso está cifrando o antes de que se llame a la función de zeroization.
> 2. **Mecanismo de Clave Asimétrica C2**: La mayoría del ransomware moderno genera un par de claves Session Key simétricas (AES/ChaCha20), cifra esta session key con la Public Key del atacante (incrustada en el malware) y solo envía el Ciphertext al C2 o lo escribe al final del archivo cifrado. La Private Key no está en la RAM de la víctima.
> 3. **Fragmentación en `pagefile.sys`**: El escaneo de memoria virtual en disco requiere que la clave no haya sido sobrescrita (paging churn) y no esté fragmentada en múltiples páginas de 4KB no contiguas. Por lo tanto, el escaneo de RAM/Pagefile es una solución de rescate de investigación de evidencia (Best-Effort Forensic Triage), no reemplaza completamente las opciones de respaldo de datos independientes.
---
### 8.7 Arquitectura del Recovery Engine Registry y Crypto Dataflow Tracker
- **Recovery Engine Registry** (`recovery/registry.py`): Gestiona y registra dinámicamente los métodos de recuperación (`automated_overlay_restore.py`, `exact_lookup.py`). Proporciona el mecanismo `evaluate_all(sample)` para clasificar el método de descifrado óptimo.
- **Crypto Dataflow Tracker** (`recovery/crypto_tracker.py`): Vincula el flujo de eventos de cifrado, objetos de clave y verifica la validez basándose en la secuencia de eventos de I/O en tiempo real.
---
## 9. DETALLE DEL SUBSISTEMA 7: BEHAVIOR CORRELATOR & BEHAVIORGRAPH ENGINE V1.6
El código fuente principal se encuentra en: [`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 Normalización de Eventos Multi-Fuente (Userland Hooks + Kernel ETW)
`EventNormalizer.cpp` recibe miles de eventos individuales de MinHook Userland DLL y Kernel ETW, normalizándolos a 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) y Máquina de Estados de Cadena de AtaqueEn la versión V1.6 Enterprise, el correlacionador de comportamiento integra el BehaviorGraph Engine:
ProcessNode) y aristas dirigidas (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 y \??\C:\...) al formato Win32 estándar (C:\...).RegNotifyChangeKeyValue, NtNotifyChangeKey).NetworkSessionTracker) integrando un extractor binario de TLS ClientHello Server Name Indication (SNI) y HTTP Request Header (Method/Host/URI).provider, algorithm, mode, keysize, ivlen, inputlen, outputlen, keygen, pid) para CNG/CryptoAPI/NCrypt/SystemFunction sin filtrar datos en bruto.| Tactic | Technique ID | Nombre de la Técnica | Estado de Detección |
|---|---|---|---|
| Execution | T1204.002 | Malicious File (PDF OpenAction / Launch) | 🔴 Detected |
| Execution | T1059.007 | JavaScript (PDF Heap Spray / Eval) | 🔴 Detected |
| Execution | T1059.003 | Windows Command Shell | 🔴 Detected (cmd.exe /c vssadmin...) |
| Defense Evasion | T1027 | Obfuscated Files or Information | 🔴 Detected |
| Defense Evasion | T1027.009 | Embedded Payloads (PDF Embedded PE) | 🔴 Detected |
| Defense Evasion | T1562.001 | Impair Defenses: Disable Tools | 🔴 Detected (AMSI/ETW Patching) |
| Defense Evasion | T1620 | Reflective Code Loading | 🔴 Detected (Memory Mapped DLL) |
| Credential Access | T1003.001 | LSASS Memory Dumping | 🔴 Detected (lsass.exe Read Access) |
| Privilege Escalation | T1055 | Process Injection | 🔴 Detected (Remote Thread / APC) |
| Command and Control | T1105 | Ingress Tool Transfer | 🔴 Detected |
| Impact | T1486 | Data Encrypted for Impact | 🔴 Detected (High Entropy File Write) |
| Impact | T1490 | Inhibit System Recovery |
El sistema V1.6 integra una suite de pruebas automatizadas de 7 dimensiones (tests/):
| Prueba | Test Script | Estado | Resultado de medición real |
|---|---|---|---|
| 1. Stress & Reentrancy | tests/test_sandbox_stress.py | PASSED | 0 crash / 0 deadlock bajo presión de creación de procesos e I/O continuo. |
| 2. API Coverage & Normalization | tests/test_sandbox_coverage.py | PASSED | 0 rutas un-normalized \Device\ omitidas. |
| 3. False-Positive Baseline | tests/test_sandbox_false_positive.py | PASSED | Funcionamiento normal, sin activaciones falsas en herramientas estándar de Windows. |
| 4. BehaviorGraph Validation | tests/test_sandbox_behavior_graph.py | PASSED | El grafo de procesos y las sesiones de red TLS SNI/HTTP funcionan correctamente. |
| 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 | Supera la totalidad de las pruebas Clean, Obfuscated JS, Embedded PE. |
El código fuente principal se encuentra en: Core/vault/, gui_vault.py.
El subsistema Vault V1.6 aporta una solución de respaldo independiente con alta seguridad bajo el principio Zero-Knowledge (Sin revelación de conocimiento):
---
### 10.2 Protocolo de autenticación sin revelación de conocimiento SRP-6a PAKE (RFC 5054)
Para autenticar y desbloquear el Vault sin exponer la contraseña ni el Hash de la contraseña:
1. **Inicialización de información (Registration / Setup)**: El Cliente calcula $x = H(s, P)$ y el Verificador $v = g^x \pmod N$, solo almacena el Salt $s$ y el Verificador $v$.
2. **Autenticación (Authentication)**: Se ejecuta el protocolo de intercambio de credenciales seguro basado en el valor secreto compartido $S$ y se verifican las pruebas de conocimiento $M_1, M_2$. La contraseña nunca aparece en forma cruda.
---
### 10.3 Mecanismo de Cambio de Contraseña Instantáneo (Instant Re-Keying Mechanism)
BHPAI resuelve el problema de cambiar la contraseña maestra sin necesidad de recifrar cientos de GB de datos de respaldo mediante la arquitectura **$K_{ ext{vault}}$ Indirection**:
- Los datos de archivo se cifran con la clave Vault maestra $K_{ ext{vault}}$.
- La clave $K_{ ext{vault}}$ a su vez está protegida por la clave de desbloqueo $K_{ ext{unlock}}$ (generada a partir de la contraseña).
- Al cambiar la contraseña: Solo se necesita descifrar $K_{ ext{vault}}$ con la contraseña antigua, luego recifrar únicamente el bloque $K_{ ext{vault}}$ con la nueva contraseña. **Todos los datos de respaldo permanecen en estado ciphertext.**
---
### 10.4 Autenticación AAD Canónica & Bucket Size Padding contra análisis de tráfico
1. **Binary Length-Prefixed Canonical AAD** (`Core/vault/integrity.py`): Añade datos de autenticación adicionales (Authenticated Additional Data) en forma canónica compatible entre C++ y Python, evitando el comportamiento de intercambio de ciphertext entre distintos archivos.
2. **Application-Level Bucket Size Padding**: Los archivos se rellenan (Padding) a tamaños fijos (64KB, 1MB, 10MB, 100MB) para minimizar la capacidad de inferir el contenido del archivo basándose en el tamaño del ciphertext.
---
### 10.5 Arquitectura de Almacenamiento de Bloques Local Cifrado (Local Encrypted Block Store)
- Gestiona los datos de respaldo en bloques binarios cifrados localmente de forma segura.
- Soporta deduplicación local basada en el hash de contenido cifrado protegido (Encrypted Content Chunk Hash).
- Alta compatibilidad con el almacenamiento en discos externos, USB seguros o particiones de rescate independientes.
---
## 11. DETALLE DEL SUBSISTEMA 9: INTERFAZ DE ESCRITORIO PYQT6 GLASSMORPHISM, LICENCIA HWID & HERRAMIENTA CLI
El código fuente principal se encuentra en: [`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 Arquitectura de Interfaz PyQt6 Desktop Glassmorphism (Multi-Threading QThread)
Interfaz de usuario de escritorio dedicada para investigación in situ y operación local:
- **Diseño fluido sin bloquear la UI (Non-blocking GUI Responsiveness)**: Todo el trabajo de cálculo pesado (Disassembly Capstone, Sandbox IPC, KDF Cryptography, Extracción PE/PDF) se separa completamente del GUI Thread y se coordina a través de **`QThread` Background Workers**.
- **Estilo de Diseño Dark Glassmorphism**: Utiliza tonos oscuros modernos, efectos de esquinas redondeadas refinados, paneles de control intuitivos y un sistema de gráficos de estado en tiempo real.
---
### 11.2 Pestañas de Funciones Principales en el Desktop GUI
1. **Multi-Format Scanner Tab**:
- Permite arrastrar y soltar cualquier archivo (PE, PDF, Office, Scripts).
- Muestra la puntuación de amenaza (Threat Score), análisis recursivo de payload y visualización del árbol `AnalysisNode`.
2. **Dynamic Sandbox Monitor Tab**:
- Monitorea logs de eventos en tiempo real, flujo de llamadas a la API NT Native, procesos hijos y gráficos de recursos CPU/RAM/Disk IO.
3. **MITRE ATT&CK Matrix Tab**:
- Visualiza la matriz de tácticas y técnicas infringidas por el malware, junto con evidencia de extracción directa.
4. **BHR & Recovery Center Tab**:
- Monitorea la línea de tiempo de cifrado de datos, parámetros de entropía en tiempo real y realiza la restauración Rollback rápidamente.
5. **Zero-Knowledge Encrypted Vault Tab**:
- Gestiona el almacén de respaldo cifrado E2EE local, bloquea/desbloquea el vault, respalda carpetas importantes y restaura de forma segura.
---
### 11.3 Sistema de Licencia Bloqueada por Hardware (HWID-Locked Licensing & Ed25519)
Subsistema de gestión de licencias offline que protege la integridad del software:
- **Vinculación de Dispositivo (HWID Binding)**: Recopila información de hardware inmutable (CPU ID, BIOS UUID, Disk Serial, MAC Address) formando una cadena HWID de identificación única para cada estación de trabajo.
- **Firma Digital Ed25519**: Utiliza el algoritmo de clave pública Ed25519 para firmar digitalmente el archivo de certificado offline `license.dat`.
- **Aplicación Offline (Offline Enforcement)**: Todas las herramientas binarias (`BHPAISandbox.exe`, `pe_analyzer.exe`, `bhpai_rescue.exe`) cargan automáticamente `license.dat`, verifican la firma con la Master Public Key y comprueban la coincidencia con el HWID de la computadora sin necesidad de conexión de red.
---
### 11.4 Motor de Threat Intelligence & Universal IOC Defanger Independiente
- Integra una base de conocimiento para identificar familias de malware comunes (LockBit, Conti, WannaCry, RedLine, Emotet, Babuk) junto con un conjunto de reglas de clasificación de comportamiento.
- Extrae y defanga automáticamente listas de IOC maliciosos (IP, Domain, URL, Hashes) para proteger al analista durante el proceso de extracción de informes.
---
### 11.5 Sistema de Informes Multi-formato Universal Schema 2.0 (JSON, Markdown, PDF)
- **JSON Schema 2.0**: Proporciona una estructura de datos legible por máquina estandarizada, fácil de integrar con otros sistemas de análisis.
- **Markdown Summary**: Exporta informes resumidos visuales, facilitando el intercambio rápido entre ingenieros de investigación digital.
- **Informe PDF**: Genera automáticamente informes profesionales con gráficos de distribución de entropía y árbol de estructura de payload.
---
## 12. DETALLE DEL SUBSISTEMA 10: BHPAI RESCUE SUITE & ARRANQUE DE RESCATE DE EMERGENCIA WINRE
El código fuente principal se encuentra en:
- Herramienta de rescate C++: [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue), [`bhpai_rescue.exe`](file:///c:/Users/Kryo/Documents/BHPAI/bhpai_rescue.exe).
- Scripts de despliegue: [`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).
- Informe de ejemplo: [`BHPAI_Rescue_Summary.md`](file:///c:/Users/Kryo/Documents/BHPAI/BHPAI_Rescue_Summary.md).
---
### 12.1 Entorno de Rescate Offline Windows Recovery Environment (WinRE)
Cuando el sistema operativo es paralizado por un ataque de Ransomware, bloqueo de pantalla (Screen Locker), deshabilitación del Modo Seguro o interferencia en archivos del sistema, el análisis directo sobre el sistema operativo en ejecución conlleva muchos riesgos debido a la obstrucción por procesos maliciosos o rootkits. **BHPAI Rescue Suite V2** resuelve este problema operando desde el entorno offline **Windows Recovery Environment (WinRE)** o Windows PE:
- **Aislado del entorno en ejecución**: No se ve afectado por procesos maliciosos o hooks de kernel activos en el Windows principal.
- **Carga de Registro Offline (Offline Hive Loading)**: Monta automáticamente los archivos de estructura de Registro reales en el disco duro (`SYSTEM`, `SOFTWARE`, `NTUSER.DAT`) en ramas temporales de WinRE para modificar y liberar bloqueos del sistema sin necesidad de que el sistema operativo objetivo arranque.
- **Air-Gapped & Independiente de la red**: Se ejecuta completamente local, no requiere conexión de red, limitando el riesgo de que un botnet C2 envíe señales de destrucción de datos.
---
### 12.2 Arquitectura de 7 Subsistemas Principales de `bhpai_rescue.exe`
El código fuente en [`Rescue/`](file:///c:/Users/Kryo/Documents/BHPAI/Rescue) está construido en C++17 puro, con enlazado estático (static linking) con OpenSSL y 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 (Localización de Particiones del SO):
FindFirstVolumeW, FindNextVolumeW).System32\ntoskrnl.exe, System32\config\SYSTEM, explorer.exe).OfflineRegistryManager (Gestión de Registro Sin Conexión):
RegLoadKeyW para cargar los archivos hive en un prefijo temporal: HKEY_LOCAL_MACHINE\BHPAI_OFFLINE_SYSTEM, BHPAI_OFFLINE_SOFTWARE, BHPAI_OFFLINE_NTUSER.Select\Current (por ejemplo: ControlSet001).Shell (modificada de explorer.exe a un archivo malicioso) y Userinit.taskmgr.exe, cmd.exe, sethc.exe.Windows\System32\Tasks.OfflineMalwareScanner (Escaneo y Evaluación BHR 10-Pillar):
AppData\Local\Temp, ProgramData, Users\Public, Windows\Temp).MALICIOUS, SUSPICIOUS, CLEAN).OfflineBlastRadius (Evaluación del Radio de Daño Multi-Señal):
Desktop, Documents, Downloads, Pictures, Videos).README.txt, DECRYPT_FILES.html, HOW_TO_RESTORE.txt).OfflineCryptoArtifactHunter (Caza de Claves Criptográficas):
pagefile.sys, swapfile.sys y los archivos de volcado de fallos (MEMORY.DMP).RescueRemediator (Coordinación de Remediación):
C:\BHPAI_Rescue_Quarantine\) con hash SHA-256 de verificación.explorer.exe, elimina los IFEO hijacks, deshabilita las tareas en segundo plano (Scheduled Tasks) y los servicios maliciosos.RescueTransactionJournal (Registro de Transacciones ACID y LIFO Rollback):
Para garantizar la seguridad y prevenir el riesgo de interrumpir el sistema operativo Windows, RescueRemediator aplica un flujo de transacción de 5 pasos:```
[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)**: Escaneo exhaustivo, elaboración de una lista de todos los binarios maliciosos, claves de persistencia en el registro y archivos afectados.
2. **Phase 2 (Backup)**: Creación del directorio de transacción `C:\BHPAI_Rescue_Backup\` vinculado al código Volume GUID y Disk ID. Copia de seguridad de todos los archivos hive (`SYSTEM.before`, `SOFTWARE.before`, `NTUSER.DAT.before`) y almacenamiento de los metadatos del archivo original (tamaño, atributos de tiempo, descriptor ACL).
3. **Phase 3 (Modify)**: Registro de cada comportamiento en el diario de transacción (`transaction.json`), traslado de los archivos maliciosos al almacén de cuarentena y reparación de los valores maliciosos del Registro.
4. **Phase 4 (Verify)**: Verificación de cada cambio en el disco: Confirmación de que el archivo malicioso ya no existe en su ubicación original, que el archivo en el almacén de cuarentena coincide con el hash SHA-256, y que el Registry Hive apunta correctamente a los binarios estándar de Windows.
5. **Phase 5 (Commit)**: Cambio del estado de la transacción de `IN_PROGRESS` a `COMMITTED`. Si cualquier paso en la Phase 3 o Phase 4 genera un incidente, el sistema activa automáticamente el **LIFO Rollback**, restaurando íntegramente los archivos hive y devolviendo los archivos desde el almacén de cuarentena a su ubicación original.
---
### 12.4 Mecanismo de Autorrecuperación ante Incidentes (Crash State Recovery)
Si el equipo sufre un corte de energía repentino o se apaga de forma involuntaria mientras `bhpai_rescue.exe` está realizando modificaciones:
- En el siguiente arranque en WinRE, `bhpai_rescue.exe` leerá automáticamente `transaction.json` y detectará el estado **CRASH STATE** (`IN_PROGRESS`).
- El programa emite la alerta `[CRITICAL WARNING] INCOMPLETE REMEDIATION DETECTED`.
- Ofrece opciones de recuperación de 2 niveles:
- **Tier 1**: Restauración inversa según el orden del diario LIFO Rollback.
- **Tier 2 (Emergency Hive Restore)**: Restauración forzada de todos los archivos hive del Registro originales desde la copia de seguridad `*.before`.
---
### 12.5 Escenario de Despliegue y Arranque Automático de WinRE
#### 1. Script de inserción segura [`scripts/deploy_winre.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/deploy_winre.ps1):
- **Llamada Directa a DISM**: Ejecuta `& dism.exe` transmitiendo el flujo de salida en tiempo real, limitando el riesgo de bloqueo del proceso de PowerShell.
- **Preservación del Estado de Configuración**: Recuerda el estado original de WinRE (`reagentc /info`). Si inicialmente estaba Disabled, al finalizar lo devuelve a Disabled; si inicialmente estaba Enabled, garantiza que WinRE se reactive.
- **Copia de Seguridad Antes de la Modificación**: Copia automáticamente `Winre.wim` como `Winre.wim.BHPAI.backup`.
- **Launcher Adaptativo**: Crea el script `Windows\System32\bhpai.cmd` utilizando las variables de entorno `%~d0` y `%SystemDrive%`, adaptándose automáticamente a la letra de unidad asignada por WinPE.
- **Mecanismo de Rollback Automático**: Gestiona excepciones surgidas durante el montaje, ejecuta automáticamente `/Discard`, restaura el archivo WIM desde la copia de seguridad y limpia el directorio temporal.
#### 2. Script de arranque de rescate [`scripts/trigger_rescue_reboot.ps1`](file:///c:/Users/Kryo/Documents/BHPAI/scripts/trigger_rescue_reboot.ps1):
- Activa WinRE si está en estado desactivado.
- Utiliza el comando estándar `reagentc /boottore` y la configuración `bcdedit /set {current} recoveryenabled yes` para indicar al equipo que arranque en WinRE en el siguiente reinicio.
---
### 12.6 Guía de Operación y Parámetros de Línea de Comandos de `bhpai_rescue.exe`
Después de que el equipo arranque en Windows Recovery Environment:
1. Haga clic en: **Troubleshoot (Solucionar problemas)** $\rightarrow$ **Advanced options (Opciones avanzadas)** $\rightarrow$ **Command Prompt (Símbolo del sistema)**.
2. En la ventana de línea de comandos, escriba: ```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
#### Parámetros Avanzados de Línea de Comandos (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
Tras completar cada sesión de trabajo, el sistema exporta 2 informes de investigación digital (DFIR Reports) en el directorio raíz de la partición objetivo:
C:\BHPAI_Rescue_Report.json: Informe detallado en formato JSON que contiene todos los hashes SHA-256, listas de claves, comportamiento del registro y metadatos de transacciones.C:\BHPAI_Rescue_Summary.md: Informe resumido en formato Markdown que presenta una síntesis para el analista experto (por ejemplo, referencia: BHPAI_Rescue_Summary.md).bhpai_sourceopen - 25%)Con el fin de servir a la comunidad de investigación en ciberseguridad, pruebas independientes y demostración de capacidades técnicas, el proyecto BHPAI publica la versión Community Edition almacenada en el directorio bhpai_sourceopen. Este paquete está diseñado bajo el modelo Open-Core:
Core/scanner/: Todo el código fuente en C++ para analizar la estructura PE, extraer características de Opcode/API N-Grams, grafo CFG Cyclomatic Complexity, TF-IDF, autogeneración de reglas YaraGen, procesamiento de cadenas optimizado AVX2 StringEx.Core/Decompile/: Desensamblador de binarios x86/x64 mediante Capstone Engine (Disassembler, PeParser).Core/pack/: Conjunto de descompresión in-memory UPX y WWPack.fuzzy/: Algoritmo de hash difuso de binarios SSDEEP (fuzzyhash.c/.h).Analyzers/Common/: Enrutamiento de archivos en 3 fases FileRouter, límites de ParserLimits, mapeo MITRE ATT&CK MitreMapper, neutralización de IOC IOCExtractor (Defanging).Core/Train/ & model/: Extractor de vectores de características PE (feature_extractor.py) y configuración de umbrales de clasificación.scan.py & app_scan.py: Escáner de línea de comandos e interfaz de escritorio dedicada para PE.[!IMPORTANT] Compromiso de Licencia e Independencia:
- Exclusión del 100% del Subsistema PDF: Dado que el subsistema PDF se encuentra en proceso de desarrollo y perfeccionamiento, todo el código fuente PDF se mantiene cerrado y no se incluye en esta versión de código abierto.
- Exclusión del 100% del Dataset: Absolutamente no se publica el directorio
dataset/(no contiene muestras de código malicioso ni documentos de usuario).- Licencia Independiente: Se incluye un stub de licencia Community (
BhpaiLicense.hpp) que permite a los usuarios compilar y ejecutar análisis de binarios con total libertad sin necesidad de activar una clave comercial de hardware.
El Documento Maestro Técnico del proyecto BHPAI V1.6 Enterprise fue elaborado y estandarizado por el BHPAI Engineering Team. Todos los derechos 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. **Seguridad ante todo y protección anti-bomba**: El sandbox confina la ejecución dentro de un Escritorio Virtual privado (`BHPAISandboxDesktop`), aplica estrictos límites de Windows Job Object (límite de 512MB de RAM, afinidad de CPU, sin ruptura de procesos) y elimina privilegios elevados mediante Tokens Restringidos. El analizador de PDF está protegido por un `AnalysisBudget` y estrictos `ParserLimits` que previenen Bombas de Descompresión (relación de compresión máxima de 100:1, expansiones de flujo acotadas y límites de profundidad de recursión).
2. **Anti-Evasión Sigilosa (Huella Mínima en Modo Usuario)**: La DLL de monitoreo en Ring-3 mitiga la detección desvinculando proactivamente su propia `LDR_DATA_TABLE_ENTRY` de las 3 listas de módulos del PEB (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`), borrando los encabezados PE y las rutas de depuración PDB de la RAM, y aplicando protecciones DACL al proceso Launcher.
3. **Árbol de Análisis Recursivo Jerárquico y Dominancia de Hijos**: El árbol `AnalysisNode` inspecciona cada payload incrustado de forma recursiva. Si cualquier binario anidado (PE Hijo) se clasifica como malicioso, el sistema activa la **Regla de Dominancia de Hijos**, elevando el veredicto del documento padre a **MALICIOSO** con una puntuación de amenaza mínima de 85/100.
4. **IA Resistente a Falsos Positivos**: Los atajos de características espurios se erradican por completo mediante un diseño de conjunto de datos de 3 niveles (`suspicious_benign`), deduplicación multinivel (Hash Exacto + Huella Estructural) y validación cruzada consciente de grupos mediante `StratifiedGroupKFold`.
5. **Protección de Datos y Recuperación de Claves Candidatas**: El Motor BHR detecta ráfagas de cifrado de alta entropía en el límite de E/S Win32/NT, extrae estructuras de claves criptográficas candidatas (AES-GCM GHASH $H$, estado ChaCha20, RSA DER, X25519) de la RAM del proceso y `pagefile.sys`, y revierte los archivos modificados desde el búfer COW Virtual Overlay.
---
### 1.3 Aspectos Técnicos Clave de V1.6 y Matriz de Especificaciones
| Subsistema y Criterio | Especificaciones Técnicas e Implementación de V1.6 |
| :--- | :--- |
| **Motor de Enrutamiento de Archivos** | 3 Etapas: Magic Bytes (PE, PDF, PK, OLE2, ELF, Shebang) + Inspección de Contenedores en Memoria (ZIP OOXML para DOCX/XLSX/PPTX) + Clasificador de Scripts (PS1, VBS, JS, BAT, HTA) |
| **Analizador de PDF Nativo en C++ V2.0** | Parser Binary-Safe en C++17, Inflate FlateDecode/ASCIIHex/LZW, Payloads Incrustados Recursivos (`MZ`), Desofuscación de Javascript y Analizador de API de Acrobat, 57 Características Vectoriales |
| **Defensa Anti-Bomba / DoS** | `ParserLimits`: Entrada Máx 500MB, Extraído Máx 250MB, Ratio Máx 100.0, Objetos Máx 100K, Profundidad de Filtro Máx 6, Tiempo de Análisis 30s |
| **Entorno Sandbox** | Windows Job Object (RAM 512MB, Afinidad de CPU, Sin Ruptura, UILIMITs) + Token Restringido (Eliminar SIDs de Admin y Privilegios Peligrosos) + Escritorio Virtual Dedicado |
| **Virtualización de Sistema de Archivos / Registro** | Superposición Virtual Copy-On-Write (COW) de 2 Capas compatible con Alternate Data Streams (ADS), Reparse Points y Vista de Registro Virtual Fusionada |
| **Técnicas de Monitoreo Sigiloso** | Desvinculación de Módulos del PEB en 3 Vías (`InLoadOrder`, `InMemoryOrder`, `InInitializationOrder`) + Limpiador de Encabezados PE en Memoria + Borrado de PDB + Guardia DACL del Launcher |
| **Hooking y Grafo de Comportamiento** | Motor MinHook + `HookGuard` RAII + `BehaviorGraph` entre Procesos (Seguimiento de Remote Thread, Process Hollowing, Inyección por Cola APC) |
| **Intel PT Asistido por Hardware** | Trazado por Hardware mediante CPUID leaf 0x14, Trazado del Kernel de Windows Clase 47 `ProcessIntelProcessorTrace`, Decodificación de Paquetes TNT/TIP/FUP |
| **Motor de Desensamblado Estático de PE** | Desensamblador Capstone (x86/x64) + TF-IDF de Opcodes + N-Grams de API + Complejidad Ciclomática CFG + YaraGen (Lista Negra de Ruido en Rust) + SSDEEP/TLSH |
| **Conjunto de Machine Learning / IA** | Embedder de Secuencias PyTorch + GNN de CFG + Ensemble LightGBM (Adam, Eve, Marcus) + Poda de Características SHAP + LGBM Calibrado para PDF |
| **Entrenamiento Anti-Falsos Positivos** | Conjunto de Datos de 3 Niveles (`malware`, `benign`, `suspicious_benign`), Deduplicación Nivel-1 (SHA256) y Nivel-2 (Huella Estructural), `StratifiedGroupKFold` |
| **Detección de Ransomware (BHR)** | Tasa de Entropía de Shannon en Tiempo Real ($\ge 7.5$) + Tasa de Modificación en Ráfaga ($>20$ archivos/s) + Detector de Comandos de Eliminación de Volume Shadow Copy |
| **Extracción y Recuperación de Claves** | Extractor de RAM y `pagefile.sys` para más de 20 Estándares (AES-GCM GHASH $H$, ChaCha20, RSA DER, X25519 Clamping) + Reversión Automatizada de COW Overlay |
| **Bóveda de Respaldo de Conocimiento Cero** | E2EE del Lado del Cliente (AES-256-GCM) + SRP-6a PAKE (RFC 5054) + Re-Keying Instantáneo del Maestro ($K_{\text{vault}}$) + AAD Binario Canónico + Relleno de Buckets |
| **Suite de Rescate de Emergencia WinRE** | `bhpai_rescue.exe` C++17 autónomo, 7 subsistemas centrales, transacción ACID de 5 Fases, Recuperación de estado tras fallo, carga automática de colmenas de registro offline |
| **GUI de Escritorio y Licenciamiento** | GUI PyQt6 Dark Glassmorphism (workers QThread) + Motor de Licenciamiento Bloqueado por Hardware Ed25519 HWID |
---
## 2. DIAGRAMA ARQUITECTÓNICO GENERAL Y PIPELINE DE EJECUCIÓN
El diagrama de secuencia a continuación ilustra el flujo de ejecución de extremo a extremo desde la ingesta del archivo en bruto hasta el triaje estático/dinámico, la descomposición recursiva, la inferencia de IA y la recuperación 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
Implementaciones de código fuente principales: BHPAISandbox.cpp, BHPAIMonitor.cpp, SafeVirtualDesktop.cpp, SafeJobObject.cpp, IntelPTMonitor.cpp, FakeNetEngine.cpp.
BHPAISandboxDesktop): Inicializado mediante CreateDesktopW con flags de seguridad DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS. Todas las ventanas gráficas, Windows Messages (WM_DROPFILES, WM_COPYDATA, hooks de UI) y keyloggers están estrictamente aislados de la sesión interactiva del usuario (Escritorio Default).SafeJobObject):
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: Garantiza que al terminar el lanzador se termine instantánea y limpiamente todo el árbol de procesos hijos.JOB_OBJECT_LIMIT_PROCESS_MEMORY: Limita el cargo máximo de commit a 512MB por proceso, previniendo ataques de agotamiento de memoria.JOB_OBJECT_LIMIT_ACTIVE_PROCESS: Restringe los procesos activos a 32, frustrando intentos de denegación de servicio por fork-bomb.JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: Suprime los diálogos de fallo de Windows Error Reporting.JOB_OBJECT_UILIMIT_HANDLES | JOB_OBJECT_UILIMIT_GLOBALATOMS: Previene el intercambio no autorizado de handles entre procesos y la contaminación de átomos globales.El Lanzador construye un token de seguridad restringido mediante CreateRestrictedToken antes de ejecutar CreateProcessAsUserW:
WinBuiltinAdministratorsSid, WinLocalSystemSid, WinLocalAdminSid.SeDebugPrivilege, SeTcbPrivilege, SeTakeOwnershipPrivilege, SeLoadDriverPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeShutdownPrivilege, SeImpersonatePrivilege.SECURITY_MANDATORY_LOW_RID o SECURITY_MANDATORY_MEDIUM_RID.Para minimizar la huella de monitoreo frente a técnicas anti-análisis en modo usuario:
BHPAIMonitor.dll desvincula automáticamente su propia LDR_DATA_TABLE_ENTRY de las 3 listas doblemente enlazadas de módulos dentro del Process Environment Block (PEB):
InLoadOrderModuleListInMemoryOrderModuleListInInitializationOrderModuleList
Los recorridos de PEB->Ldr o las llamadas a EnumProcessModules por parte del malware no revelan ninguna evidencia de la DLL de monitoreo.PAGE_READWRITE y pone a cero su IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER y las cadenas de ruta del archivo PDB del Debug Directory, derrotando a los escáneres de firmas en memoria.SetKernelObjectSecurity con una lista de control de acceso discrecional (DACL) vacía, bloqueando PROCESS_TERMINATE, PROCESS_VM_WRITE y PROCESS_SUSPEND_RESUME desde procesos de menor integridad.El agente de monitoreo engancha APIs NT Nativas de bajo nivel en ntdll.dll y kernelbase.dll usando el MinHook Engine:
| Subsistema de API | API NT Nativa Enganchada | Objetivo de Monitoreo y Redirección |
|---|---|---|
| Proceso / Hilo | NtCreateProcessEx, NtCreateUserProcess, NtCreateThreadEx, NtQueueApcThread | Detecta la creación de procesos hijos, Inyección de Procesos, Inyección APC. |
| Memoria Virtual | NtAllocateVirtualMemory, NtProtectVirtualMemory, NtWriteVirtualMemory | Captura asignaciones PAGE_EXECUTE_READWRITE, Hollowing, Shellcode. |
| I/O del Sistema de Archivos | NtCreateFile, NtOpenFile, NtWriteFile, NtSetInformationFile, NtDeleteFile | Registra I/O, redirige a COW Overlay, evalúa la Entropía de Shannon. |
| Registro | NtCreateKey, NtOpenKey, NtSetValueKey, NtDeleteValueKey | Rastrea claves de Persistencia, redirige escrituras al Registro Virtual. |
| Anti-Análisis | NtQueryInformationProcess, NtSetInformationThread, NtDelayExecution | Neutraliza las comprobaciones de ProcessDebugPort, ocultación de hilos, acelera los sleeps. |
Cada detour está protegido por un HookGuard basado en RAII (thread_local bool in_hook), eliminando deadlocks infinitos por reentrada recursiva.
Para salvaguardar el host subyacente mientras se permite que el malware se ejecute sin obstáculos:
GENERIC_READ) se sirven directamente desde los archivos originales del disco.GENERIC_WRITE) o eliminaciones (FILE_DELETE_ON_CLOSE), el archivo se copia bajo demanda a BHPAI_Sandbox_Overlay\Files\. Todas las modificaciones posteriores operan sobre este clon aislado del sandbox.file.txt:zone.identifier), Reparse Points y Symbolic Links.HKLM\Software\Microsoft\Windows\CurrentVersion\Run) se redirigen a HKCU\Software\BHPAI_Virtual_Registry\.Aprovecha las sesiones de kernel de Microsoft Event Tracing for Windows (ETW):
Microsoft-Windows-Kernel-Process: Captura la creación de procesos incluso si el malware elude los hooks de userland mediante syscalls directas.Microsoft-Windows-Kernel-Network: Captura la actividad de sockets TCP/UDP en bruto.Microsoft-Windows-Kernel-Memory: Detecta el mapeo de memoria virtual entre procesos.Simulador de red integrado (FakeNetEngine.cpp):
127.0.0.1).IntelPTMonitor.cpp interactúa directamente con las primitivas de trazado por hardware de la CPU:
__cpuidex(0x14, 0).ProcessIntelProcessorTrace (Clase 47).TNT (decisiones de rama Taken/Not-Taken), TIP (Target IP) y FUP (Function Pointer), exponiendo cadenas ROP y redirecciones de flujo de control sin reescritura de binarios basada en software.| 🔴 Detected (Shadow Copy Deletion) |