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

Motor de Detección

PRX-SD usa un pipeline de detección multicapa para identificar malware. Cada capa usa una técnica diferente y se ejecutan en secuencia de más rápida a más exhaustiva. Este enfoque de defensa en profundidad garantiza que incluso si una capa no detecta una amenaza, las capas posteriores puedan atraparla.

Descripción General del Pipeline

El pipeline de detección procesa cada archivo a través de hasta cinco capas:

mermaid
graph LR
    FILE["Archivo"] --> L1["Capa 1<br/>Coincidencia de Hash"]
    L1 -->|fallo| L2["Capa 2<br/>Reglas YARA-X"]
    L1 -->|acierto| AGG["Agregación<br/>de Resultados"]
    L2 -->|fallo| L3["Capa 3<br/>Heurísticas"]
    L2 -->|acierto| AGG
    L3 -->|fallo| L4["Capa 4<br/>Inferencia ML"]
    L3 -->|acierto| AGG
    L4 -->|fallo| L5["Capa 5<br/>VirusTotal"]
    L4 -->|acierto| AGG
    L5 --> AGG

Resumen de Capas

CapaMotorVelocidadCoberturaRequerida
Capa 1Coincidencia de Hash LMDB~1 microsegundo/archivoMalware conocido (coincidencia exacta)Sí (predeterminado)
Capa 2Escaneo de Reglas YARA-X~0,3 ms/archivoBasado en patrones (más de 38.800 reglas)Sí (predeterminado)
Capa 3Análisis Heurístico~1-5 ms/archivoIndicadores conductuales por tipo de archivoSí (predeterminado)
Capa 4Inferencia ML ONNX~10-50 ms/archivoMalware nuevo/polimórficoOpcional (--features ml)
Capa 5API VirusTotal~200-500 ms/archivoConsenso de 70+ proveedoresOpcional (--features virustotal)

Capa 1: Coincidencia de Hash

La capa más rápida. PRX-SD calcula el hash SHA-256 de cada archivo y lo busca en una base de datos LMDB que contiene hashes conocidos de malware. LMDB proporciona tiempo de búsqueda O(1) con I/O mapeado en memoria, haciendo que esta capa sea prácticamente gratuita en términos de rendimiento.

Fuentes de datos:

  • abuse.ch MalwareBazaar (últimas 48 horas, actualizado cada 5 minutos)
  • abuse.ch URLhaus (actualizaciones por hora)
  • abuse.ch Feodo Tracker (Emotet/Dridex/TrickBot, cada 5 minutos)
  • abuse.ch ThreatFox (plataforma de compartición de IOC)
  • VirusShare (más de 20M de hashes MD5, actualización opcional --full)
  • Lista de bloqueo integrada (EICAR, WannaCry, NotPetya, Emotet y más)

Una coincidencia de hash resulta en un veredicto inmediato de MALICIOUS. Las capas restantes se omiten para ese archivo.

Consulta Coincidencia de Hash para más detalles.

Capa 2: Reglas YARA-X

Si no se encuentra ninguna coincidencia de hash, el archivo se escanea contra más de 38.800 reglas YARA usando el motor YARA-X (la reescritura en Rust de nueva generación de YARA). Las reglas detectan malware haciendo coincidir patrones de bytes, cadenas y condiciones estructurales dentro del contenido de los archivos.

Fuentes de reglas:

  • 64 reglas integradas (ransomware, troyanos, puertas traseras, rootkits, mineros, webshells)
  • Yara-Rules/rules (mantenido por la comunidad, GitHub)
  • Neo23x0/signature-base (reglas de alta calidad para APT y malware común)
  • ReversingLabs YARA (reglas de código abierto de calidad comercial)
  • ESET IOC (seguimiento de amenazas persistentes avanzadas)
  • InQuest (malware en documentos: OLE, DDE, macros maliciosas)

Una coincidencia de regla YARA resulta en un veredicto MALICIOUS con el nombre de la regla incluido en el informe.

Consulta Reglas YARA para más detalles.

Capa 3: Análisis Heurístico

Los archivos que pasan las verificaciones de hash y YARA se analizan usando heurísticas conscientes del tipo de archivo. PRX-SD identifica el tipo de archivo mediante detección de número mágico y aplica verificaciones específicas:

Tipo de ArchivoVerificaciones Heurísticas
PE (Windows)Entropía de secciones, importaciones de API sospechosas, detección de empaquetadores, anomalías de marcas de tiempo
ELF (Linux)Entropía de secciones, referencias a LD_PRELOAD, persistencia en cron/systemd, patrones de backdoor SSH
Mach-O (macOS)Entropía de secciones, inyección de dylib, persistencia en LaunchAgent, acceso a Keychain
Office (docx/xlsx)Macros VBA, campos DDE, enlaces de plantilla externa, activadores de ejecución automática
PDFJavaScript incrustado, acciones Launch, acciones URI, flujos ofuscados

Cada verificación contribuye a una puntuación acumulativa:

PuntuaciónVeredicto
0 - 29Limpio
30 - 59Sospechoso -- revisión manual recomendada
60 - 100Malicioso -- amenaza de alta confianza

Consulta Análisis Heurístico para más detalles.

Capa 4: Inferencia ML (Opcional)

Cuando se compila con la característica ml, PRX-SD puede ejecutar archivos a través de un modelo de aprendizaje automático ONNX entrenado en millones de muestras de malware. Esta capa es particularmente efectiva para detectar malware nuevo y polimórfico que evade la detección basada en firmas.

bash
# Build with ML support
cargo build --release --features ml

El modelo ML se ejecuta localmente usando ONNX Runtime. No se requiere conexión a la nube.

Cuándo Usar ML

La inferencia ML agrega latencia (~10-50 ms por archivo). Habilítala para escaneos específicos de archivos o directorios sospechosos, en lugar de escaneos de disco completo donde las primeras tres capas proporcionan cobertura suficiente.

Capa 5: VirusTotal (Opcional)

Cuando se compila con la característica virustotal y se configura con una clave API, PRX-SD puede enviar hashes de archivos a VirusTotal para obtener consenso de más de 70 proveedores de antivirus.

bash
# Build with VirusTotal support
cargo build --release --features virustotal

# Configure API key
sd config set virustotal.api_key "YOUR_API_KEY"

Límites de Tasa

La API gratuita de VirusTotal permite 4 solicitudes por minuto y 500 por día. PRX-SD respeta estos límites automáticamente. Esta capa es mejor usarla como paso de confirmación final, no para escaneo masivo.

Agregación de Resultados

Cuando un archivo se escanea a través de múltiples capas, el veredicto final se determina por la severidad más alta encontrada en todas las capas:

MALICIOUS > SUSPICIOUS > CLEAN

Si la Capa 1 devuelve MALICIOUS, el archivo se reporta como malicioso independientemente de lo que otras capas puedan decir. Si la Capa 3 devuelve SUSPICIOUS y ninguna otra capa devuelve MALICIOUS, el archivo se reporta como sospechoso.

El informe de escaneo incluye detalles de cada capa que produjo un hallazgo, dando al analista contexto completo.

Deshabilitar Capas

Para casos de uso especializados, se pueden deshabilitar capas individuales:

bash
# Hash-only scan (fastest, known threats only)
sd scan /path --no-yara --no-heuristics

# Skip heuristics (hash + YARA only)
sd scan /path --no-heuristics

Próximos Pasos

Released under the Apache-2.0 License.