Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Análisis Heurístico

El análisis heurístico es la tercera capa en el pipeline de detección de PRX-SD. Mientras que la coincidencia de hash y las reglas YARA dependen de firmas y patrones conocidos, las heurísticas analizan las propiedades estructurales y conductuales de un archivo para detectar amenazas que nunca se han visto antes -- incluyendo malware de día cero, implantes personalizados y muestras altamente ofuscadas.

Cómo Funciona

PRX-SD primero identifica el tipo de archivo usando detección de número mágico, luego aplica un conjunto de verificaciones heurísticas específicas para ese formato de archivo. Cada verificación que se activa agrega puntos a una puntuación acumulativa. La puntuación final determina el veredicto.

Mecanismo de Puntuación

Rango de PuntuaciónVeredictoSignificado
0 - 29LimpioNo se detectaron indicadores sospechosos significativos
30 - 59SospechosoSe detectaron algunas anomalías; se recomienda revisión manual
60 - 100MaliciosoAmenaza de alta confianza; múltiples indicadores fuertes

Las puntuaciones son aditivas. Un archivo con una anomalía menor (p. ej., entropía ligeramente alta) puede puntuar 15, mientras que un archivo que combina alta entropía, importaciones de API sospechosas y firmas de empaquetador puntuaría 75+.

Análisis PE (Ejecutable de Windows)

Las heurísticas PE apuntan a ejecutables de Windows (.exe, .dll, .scr, .sys):

VerificaciónPuntosDescripción
Alta entropía de sección10-25Secciones con entropía > 7,0 indican empaquetado o cifrado
Importaciones de API sospechosas5-20APIs como VirtualAllocEx, WriteProcessMemory, CreateRemoteThread
Firmas de empaquetador conocidas15-25Encabezados de UPX, Themida, VMProtect, ASPack, PECompact detectados
Anomalía de marca de tiempo5-10Marca de tiempo de compilación en el futuro o antes del año 2000
Anomalía de nombre de sección5-10Nombres de sección no estándar (.rsrc reemplazado, cadenas aleatorias)
Anomalía de recursos5-15Archivos PE incrustados en recursos, secciones de recursos cifradas
Anomalía de tabla de importaciones10-15Muy pocas importaciones (empaquetado), o combinaciones de importaciones sospechosas
Firma digital-10La firma Authenticode válida reduce la puntuación
Callbacks TLS10Entradas de callback TLS anti-depuración
Datos de superposición5-10Datos significativos añadidos después de la estructura PE

Ejemplo de Hallazgos PE

Heuristic Analysis: updater.exe
Score: 72/100 [MALICIOUS]

Findings:
  [+25] Section '.text' entropy: 7.91 (likely packed or encrypted)
  [+15] Packer detected: UPX 3.96
  [+12] Suspicious API imports: VirtualAllocEx, WriteProcessMemory,
        CreateRemoteThread, NtUnmapViewOfSection
  [+10] Section name anomaly: '.UPX0', '.UPX1' (non-standard)
  [+10] Compilation timestamp: 2089-01-01 (future date)

Análisis ELF (Ejecutable de Linux)

Las heurísticas ELF apuntan a binarios Linux y objetos compartidos:

VerificaciónPuntosDescripción
Alta entropía de sección10-25Secciones con entropía > 7,0
Referencias a LD_PRELOAD15-20Cadenas que referencian LD_PRELOAD o /etc/ld.so.preload
Persistencia en cron10-15Referencias a /etc/crontab, /var/spool/cron, directorios cron
Persistencia en systemd10-15Referencias a rutas de unidades systemd, systemctl enable
Indicadores de backdoor SSH15-20Rutas de authorized_keys modificadas, cadenas de configuración sshd
Anti-depuración10-15ptrace(PTRACE_TRACEME), verificaciones de /proc/self/status
Operaciones de red5-10Creación de socket sin procesar, vinculaciones de puertos sospechosas
Auto-eliminación10unlink de la propia ruta del binario después de la ejecución
Binario sin símbolos + alta entropía10Binario sin símbolos con alta entropía sugiere malware empaquetado
Redirección a /dev/null5Redirigir salida a /dev/null (comportamiento de demonio)

Ejemplo de Hallazgos ELF

Heuristic Analysis: .cache/systemd-helper
Score: 65/100 [MALICIOUS]

Findings:
  [+20] LD_PRELOAD reference: /etc/ld.so.preload manipulation
  [+15] Cron persistence: writes to /var/spool/cron/root
  [+15] SSH backdoor: modifies /root/.ssh/authorized_keys
  [+10] Self-deletion: unlinks /tmp/.cache/systemd-helper
  [+5]  Network: creates raw socket

Análisis Mach-O (Ejecutable de macOS)

Las heurísticas Mach-O apuntan a binarios macOS, bundles y binarios universales:

VerificaciónPuntosDescripción
Alta entropía de sección10-25Secciones con entropía > 7,0
Inyección de dylib15-20Referencias a DYLD_INSERT_LIBRARIES, carga sospechosa de dylib
Persistencia en LaunchAgent/Daemon10-15Referencias a ~/Library/LaunchAgents, /Library/LaunchDaemons
Acceso a Keychain10-15Llamadas a la API de Keychain, uso del comando security
Evasión de Gatekeeper10-15Cadenas xattr -d com.apple.quarantine
Evasión de privacidad TCC10-15Referencias a la base de datos TCC, abuso de la API de accesibilidad
Anti-análisis10Verificaciones sysctl para depuradores, cadenas de detección de VM
Anomalía de firma de código5-10Binario firmado de forma ad-hoc o sin firmar

Ejemplo de Hallazgos Mach-O

Heuristic Analysis: com.apple.helper
Score: 55/100 [SUSPICIOUS]

Findings:
  [+20] Dylib injection: DYLD_INSERT_LIBRARIES manipulation
  [+15] LaunchAgent persistence: writes to ~/Library/LaunchAgents/
  [+10] Keychain access: SecKeychainFindGenericPassword calls
  [+10] Unsigned binary: no code signature present

Análisis de Documentos Office

Las heurísticas de Office apuntan a formatos de Microsoft Office (.doc, .docx, .xls, .xlsx, .ppt):

VerificaciónPuntosDescripción
Macros VBA presentes10-15Macros de ejecución automática (AutoOpen, Document_Open, Workbook_Open)
Macro con ejecución de shell20-30Shell(), WScript.Shell, invocación de PowerShell en macros
Campos DDE15-20Campos de Intercambio Dinámico de Datos que ejecutan comandos
Enlace de plantilla externa10-15Inyección de plantilla remota vía attachedTemplate
VBA ofuscado10-20Código de macro altamente ofuscado (Chr(), abuso de concatenación de cadenas)
Objetos OLE incrustados5-10Ejecutables o scripts incrustados como objetos OLE
Metadatos sospechosos5Campos de autor con cadenas en base64 o patrones inusuales

Ejemplo de Hallazgos Office

Heuristic Analysis: Q3_Report.xlsm
Score: 60/100 [MALICIOUS]

Findings:
  [+15] VBA macro with AutoOpen trigger
  [+25] Macro executes: Shell("powershell -enc JABjAGwA...")
  [+10] Obfuscated VBA: 47 Chr() calls, string concatenation abuse
  [+10] External template: https://evil.example.com/template.dotm

Análisis de PDF

Las heurísticas PDF apuntan a documentos PDF:

VerificaciónPuntosDescripción
JavaScript incrustado15-25JavaScript en acciones /JS o /JavaScript
Acción Launch20-25Acción /Launch que ejecuta comandos del sistema
Acción URI5-10Acciones URI sospechosas que apuntan a patrones maliciosos conocidos
Flujos ofuscados10-15Múltiples capas de codificación (FlateDecode + ASCII85 + hex)
Archivos incrustados5-10Archivos ejecutables incrustados como adjuntos
Envío de formularios5-10Formularios que envían datos a URLs externas
AcroForm con JavaScript15Formularios interactivos con JavaScript incrustado

Ejemplo de Hallazgos PDF

Heuristic Analysis: shipping_label.pdf
Score: 45/100 [SUSPICIOUS]

Findings:
  [+20] Embedded JavaScript: 3 /JS actions found
  [+15] Obfuscated stream: triple-encoded FlateDecode chain
  [+10] Embedded file: invoice.exe (PE executable)

Referencia de Hallazgos Comunes

La siguiente tabla lista los hallazgos heurísticos más frecuentemente activados en todos los tipos de archivo:

HallazgoSeveridadTipos de ArchivoTasa de Falsos Positivos
Sección de alta entropíaMediaPE, ELF, Mach-OBaja-Media (recursos de juegos, datos comprimidos)
Detección de empaquetadorAltaPEMuy baja
Macro de ejecución automáticaAltaOfficeBaja (algunas macros legítimas)
Manipulación LD_PRELOADAltaELFMuy baja
JavaScript incrustadoMedia-AltaPDFBaja
Importaciones de API sospechosasMediaPEMedia (las herramientas de seguridad activan esto)
Auto-eliminaciónAltaELFMuy baja

Reducir Falsos Positivos

Si un archivo legítimo activa alertas heurísticas, puedes agregarlo a la lista de permitidos por hash SHA-256:

bash
sd allowlist add /path/to/legitimate/file

Los archivos en la lista de permitidos omiten el análisis heurístico pero aún se verifican contra las bases de datos de hashes y YARA.

Próximos Pasos

Released under the Apache-2.0 License.