Reglas YARA para detectar malware
Escriba reglas YARA basadas en cadenas, patrones de bytes y estructura de archivos para detectar familias de malware.
Reglas YARA para detectar malware es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué es YARA?
YARA es una herramienta de búsqueda de patrones diseñada para clasificar malware. Las reglas describen familias combinando patrones de cadenas, secuencias de bytes y condiciones booleanas. YARA analiza archivos, procesos o memoria e informa de las coincidencias.
Estructura de las reglas de YARA
Una regla tiene tres secciones: meta (metadatos como autor y fecha), strings (patrones que se deben buscar) y condition (lógica booleana que combina cadenas). Las reglas se compilan en un escáner para realizar búsquedas rápidas en el sistema de archivos.
rule ExampleRule {
meta:
author = "analyst"
strings:
$a = "malicious_string"
$b = { 4D 5A 90 00 }
condition:
$a and $b
}Patrones de cadenas
YARA admite tres tipos de cadenas: cadenas de texto sin formato (con los modificadores nocase y wide), patrones hexadecimales con comodines ({ 4D 5A ?? ?? }) y expresiones regulares (/pattern/). El modificador wide gestiona cadenas UTF-16 comunes en el malware de Windows.
Patrones hexadecimales y comodines
Utilice ?? para los comodines de un solo byte y [n-m] para saltos de longitud variable en patrones hexadecimales. Ejemplo: { 60 89 E5 31 C0 [4-8] 5D C3 } coincide con un fragmento de shellcode independientemente de las secciones variables.
Lógica de las condiciones
Las condiciones combinan cadenas con and, or y not. Utilice any of them, all of them o 2 of ($a*) para realizar coincidencias flexibles. Las condiciones de umbral, como 5 of ($s*), reducen los falsos positivos de las cadenas genéricas.
Condiciones de propiedades de archivos
YARA puede comprobar el tamaño del archivo (filesize < 1MB), las propiedades de la cabecera de PE (pe.imphash()) y los bytes del punto de entrada (uint16(0) == 0x5A4D). Las condiciones del módulo PE detectan artefactos específicos del compilador y metadatos del enlazador.
Escritura de reglas a partir del análisis de comportamiento
Utilice las cadenas extraídas durante el análisis estático/dinámico como cadenas de las reglas. Una URL de C2, un nombre de mutex único, un mensaje de error específico o una secuencia de bytes del fragmento de shellcode constituyen, cada uno, cadenas de YARA sólidas y con pocos falsos positivos.
Prueba de reglas de YARA
Pruebe con yara rule.yar /path/to/sample. Valide las reglas con un corpus de archivos limpios para medir las tasas de falsos positivos. Utilice --no-warnings para obtener una salida silenciosa y -r para realizar análisis recursivos de directorios.
yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/nullYARA en productos de seguridad
Las reglas de YARA se ejecutan dentro de ClamAV, OSSEC, Velociraptor, Splunk y plataformas EDR. Centralice las reglas en un repositorio Git, sométalas a control de versiones y revisión por pares antes de implementarlas, y realice un seguimiento de las estadísticas de coincidencias para retirar las reglas de poco valor.
Cómo evitar errores comunes
Las cadenas demasiado genéricas causan falsos positivos. Los patrones hexadecimales muy cortos coinciden con ruido. Perfile siempre las reglas con muestras limpias representativas antes de implementarlas. Utilice all of them en lugar de any of them cuando sea posible para mejorar la precisión.
Recursos de la comunidad de YARA
YARA-Forge recopila reglas comunitarias de alta calidad. Los repositorios de malware, como MalwareBazaar, proporcionan muestras para realizar pruebas. Los repositorios de GitHub de proveedores (Mandiant, Kaspersky) publican reglas de nivel profesional para investigación que puede estudiar y adaptar.
Comprobación de conocimientos
¿Qué significa la condición de YARA 2 of ($s*)?
Resumen
Las reglas de YARA combinan patrones de cadenas, secuencias de bytes y condiciones booleanas para clasificar familias de malware. Crear reglas a partir de hallazgos del análisis de comportamiento, probarlas con corpus limpios e implementarlas mediante plataformas de seguridad permite obtener una cobertura de detección escalable.
Preguntas frecuentes
¿La lección «Reglas YARA para detectar malware» es gratis?
Sí — el texto completo de «Reglas YARA para detectar malware» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Reglas YARA para detectar malware»?
Escriba reglas YARA basadas en cadenas, patrones de bytes y estructura de archivos para detectar familias de malware. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Reglas YARA para detectar malware»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Análisis estático: cadenas, hashes y encabezados PE
- Análisis dinámico en un sandbox
- IOC de comportamiento: registro, red y artefactos de archivos
- Reglas YARA para detectar malware