¿Qué es Sigma y cómo convertirías un hallazgo de un hunt en una regla de detección portable?
Respuesta breve
Sigma es un formato YAML abierto y neutral respecto al fabricante para describir detecciones de SIEM. Defines un logsource (product/category, p. ej. Windows process_creation), un bloque detection con selecciones nombradas de coincidencias campo/valor, y una condition que las combina. Un conversor (como sigma-cli/pySigma) traduce la regla al lenguaje de consulta de tu backend real —Splunk, Sentinel, Elastic— de modo que una sola regla es portable. También lleva metadatos: title, level, status, falsos positivos y etiquetas ATT&CK.
Sigma es a las detecciones lo que YARA es a los ficheros: una forma portable y legible por humanos de expresar cómo se ve la actividad maliciosa en los logs, con independencia de cualquier SIEM concreto. Escribes la lógica una vez y la conviertes al lenguaje de consulta que hable tu stack.
Anatomía de una regla
Una regla Sigma es YAML con unas pocas secciones clave:
- Metadatos —
title,id,status,level(de informational a critical),description,author,tags(a menudo IDs de técnica ATT&CK comoattack.t1059). - logsource — dónde mirar:
category(p. ej.process_creation),product(p. ej.windows), opcionalmenteservice. - detection — una o más selecciones nombradas de coincidencias campo/valor, más una condition que las combina lógicamente.
- falsepositives y fields — guía para el analista que tría un acierto.
Del hunt a la regla
Cuando un hunt saca a la luz una técnica real, codifícala. Supón que encontraste un uso malicioso de rundll32.exe cargándose desde una ruta temporal: escribe una selección que case Image terminando en rundll32.exe y CommandLine conteniendo el patrón de ruta temporal, y luego una condition. Etiquétala con la técnica ATT&CK para que la cobertura sea rastreable.
Mantenerla precisa
Una regla que case de forma demasiado amplia entierra al SOC en falsos positivos y acaba desactivada. Ánclala en campos específicos del atacante, excluye los procesos padre conocidos como buenos, fija un level sensato y documenta los falsos positivos esperados para que quien tríe sepa qué es normal.
Por qué importa
Los entrevistadores quieren pensamiento de detection-as-code: reglas portables, versionadas y mapeadas a ATT&CK, no búsquedas de apuntar y hacer clic que viven solo en una consola y en la cabeza de una persona.
Posibles preguntas de seguimiento
- ¿Qué va en el bloque logsource frente al bloque detection?
- ¿Por qué incluir un campo 'falsepositives' y etiquetas ATT&CK en la regla?
- ¿Cómo evitas escribir una regla Sigma demasiado amplia y ruidosa?