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

Reglas YARA

Las reglas YARA son la segunda capa en el pipeline de detección de PRX-SD. Mientras que la coincidencia de hash detecta copias exactas de malware conocido, las reglas YARA detectan familias, variantes y patrones de comportamiento de malware haciendo coincidir secuencias de bytes, cadenas y condiciones estructurales dentro de los archivos.

PRX-SD incluye más de 38.800 reglas YARA agregadas de 8 fuentes y usa el motor YARA-X -- la reescritura en Rust de nueva generación de YARA que proporciona mayor rendimiento, seguridad y compatibilidad.

Motor YARA-X

PRX-SD usa YARA-X en lugar de la biblioteca YARA tradicional basada en C. Ventajas clave:

CaracterísticaYARA (C)YARA-X (Rust)
LenguajeCRust (memoria segura)
RendimientoBueno2-5x más rápido en conjuntos grandes de reglas
Compatibilidad de reglasLínea baseCompatibilidad total con versiones anteriores + nuevas características
Seguridad de hilosRequiere manejo cuidadosoSeguro por diseño
Soporte de módulosMódulos integradosModular, extensible

Fuentes de Reglas

PRX-SD agrega reglas de 8 fuentes:

FuenteReglasContenidoCobertura de Plataforma
Reglas integradas64Ransomware, troyanos, puertas traseras, rootkits, mineros, webshellsLinux + macOS + Windows
Yara-Rules/rules (GitHub)~12.400Emotet, TrickBot, CobaltStrike, Mirai, LockBitMultiplataforma
Neo23x0/signature-base~8.200APT29, Lazarus, minería de criptomonedas, webshells, ransomwareMultiplataforma
ReversingLabs YARA~9.500Troyanos, ransomware, puertas traseras, herramientas de hackeoWindows + Linux
ESET IOC~3.800Turla, Interception, amenazas persistentes avanzadasMultiplataforma
InQuest~4.836Documentos maliciosos OLE/DDE, cargas útiles de macrosMultiplataforma
JPCERT/CC~500+Amenazas dirigidas a Asia-PacíficoMultiplataforma
Personalizadas/importadasVariableReglas proporcionadas por el usuarioCualquiera

Total: más de 38.800 reglas (después de deduplicación)

Reglas Integradas

Las 64 reglas integradas están compiladas en el binario de PRX-SD y siempre están disponibles, incluso sin descargar conjuntos de reglas externos. Cubren las categorías de amenazas más prevalentes:

CategoríaReglasEjemplos
Ransomware12WannaCry, LockBit, Conti, REvil, BlackCat, Ryuk
Troyanos10Emotet, TrickBot, Dridex, QakBot
Puertas traseras8Cobalt Strike Beacon, Metasploit Meterpreter, shells inversos
Rootkits6Reptile, Diamorphine, Jynx2 (Linux)
Criptomineros6XMRig, CGMiner, configuraciones de minería oculta
Webshells8China Chopper, WSO, B374K, shells PHP/ASP/JSP
RATs6njRAT, DarkComet, AsyncRAT, Quasar
Exploits4EternalBlue, PrintNightmare, cargas útiles de Log4Shell
Firmas de prueba4Variantes del archivo de prueba EICAR

Proceso de Coincidencia de Reglas

Cuando un archivo llega a la Capa 2, YARA-X lo procesa de la siguiente manera:

  1. Compilación de reglas -- Al inicio, todas las reglas se compilan en una representación interna optimizada. Esto ocurre una vez y se almacena en caché en memoria.
  2. Extracción de átomos -- YARA-X extrae secuencias cortas de bytes (átomos) de los patrones de reglas para construir un índice de búsqueda. Esto permite un prefiltrado rápido.
  3. Escaneo -- El contenido del archivo se escanea contra el índice de átomos. Solo se evalúan completamente las reglas con átomos coincidentes.
  4. Evaluación de condiciones -- Para cada regla candidata, se evalúa la condición completa (lógica booleana, recuentos de cadenas, verificaciones de estructura de archivos).
  5. Resultado -- Las reglas coincidentes se recopilan y el archivo se marca como MALICIOUS con los nombres de las reglas incluidos en el informe.

Rendimiento

MétricaValor
Compilación de reglas (38.800 reglas)~2 segundos (una vez al inicio)
Tiempo de escaneo por archivo~0,3 milisegundos promedio
Uso de memoria (reglas compiladas)~150 MB
Rendimiento~3.000 archivos/segundo/hilo

Actualizar Reglas YARA

Las reglas se actualizan junto con las firmas de hash:

bash
# Update everything (hashes + YARA rules)
sd update

# Update only YARA rules
sd update --source yara

El proceso de actualización:

  1. Descarga archivos de reglas de cada fuente
  2. Valida la sintaxis de reglas con YARA-X
  3. Deduplica reglas por nombre y hash de contenido
  4. Compila el conjunto combinado de reglas
  5. Reemplaza atómicamente el conjunto de reglas activo

Actualizaciones Sin Tiempo de Inactividad

Las actualizaciones de reglas son atómicas. El nuevo conjunto de reglas se compila y valida antes de reemplazar el activo. Si la compilación falla (p. ej., por un error de sintaxis en una regla comunitaria), el conjunto de reglas existente permanece activo.

Reglas Personalizadas

Puedes agregar tus propias reglas YARA colocando archivos .yar o .yara en el directorio de reglas personalizadas:

bash
# Default custom rules directory
~/.config/prx-sd/rules/

Ejemplo de regla personalizada:

yara
rule custom_webshell_detector {
    meta:
        description = "Detects custom PHP webshell variant"
        author = "Security Team"
        severity = "high"

    strings:
        $eval = "eval(base64_decode(" ascii
        $system = "system($_" ascii
        $exec = "exec($_" ascii

    condition:
        filesize < 100KB and
        ($eval or $system or $exec)
}

Después de agregar reglas personalizadas, recarga el conjunto de reglas:

bash
sd reload-rules

O reinicia el demonio monitor para recoger los cambios automáticamente.

Directorios de Reglas

DirectorioFuenteComportamiento de Actualización
~/.local/share/prx-sd/rules/builtin/Compilado en el binarioActualizado con lanzamientos
~/.local/share/prx-sd/rules/community/Descargado de fuentesActualizado por sd update
~/.config/prx-sd/rules/Reglas personalizadas del usuarioManual, nunca se sobrescriben

Verificar Reglas

Verifica el recuento de reglas actualmente cargadas y las fuentes:

bash
sd info
YARA Rules
==========
Built-in:        64
Community:       38,736
Custom:          12
Total compiled:  38,812
Rule sources:    8
Last updated:    2026-03-21 10:00:00 UTC

Lista las reglas que coinciden con una palabra clave específica:

bash
sd rules list --filter "ransomware"

Próximos Pasos

Released under the Apache-2.0 License.