Suricata

El Motor de Detección y Prevención de Intrusiones de Alto Rendimiento

Definición y Propósito Básico: Suricata es un motor open-source multifuncional que actúa como IDS (Sistema de Detección de Intrusiones), IPS (Sistema de Prevención de Intrusiones) y herramienta NSM. Desarrollado por la Open Information Security Foundation (OISF), inspecciona tráfico de red en busca de amenazas usando reglas, y puede alertar o bloquear en tiempo real. A diferencia de Zeek, que es puramente analítico, Suricata es más “activo” y orientado a detección basada en firmas, similar a Snort pero con ventajas en multihilo y parsing de capas de aplicación.

Historia: Suricata surgió en 2009 como una alternativa moderna a Snort, financiada por el Departamento de Seguridad Nacional de EE.UU. y la OISF. Su enfoque en multihilo lo diferenció desde el inicio, permitiendo procesamiento paralelo en CPUs multi-core. Ha evolucionado con soporte para protocolos emergentes y se ha convertido en un estándar en NSM, con actualizaciones regulares por la comunidad.

Cómo Funciona en NSM: Suricata procesa tráfico mediante:

  1. Captura de Paquetes: Usa backends como AF_PACKET, eBPF/XDP, DPDK o Netmap para alta velocidad (hasta 100 Gbps).
  2. Análisis Multicapa: Descompone paquetes en capas (IP, TCP/UDP, aplicación) usando prefiltrado para eficiencia.
  3. Detección Basada en Reglas: Compara tráfico con reglas (firmas) para identificar amenazas.
  4. Outputs: Genera alertas, logs JSON (EVE), extracción de archivos y estadísticas. En modo IDS, solo alerta; en IPS, bloquea (inline mode). Por ejemplo, detecta un exploit en HTTP inspeccionando payloads.

Detección Basada en Reglas: El corazón de Suricata son las reglas, escritas en un formato similar a Snort pero extendido.

  • Formato: alert http $HOME_NET any -> $EXTERNAL_NET any (msg:”Exploit detectado”; content:”shellcode”; sid:12345;).
  • Keywords: Más de 100, para headers (IP, TCP), payloads (content, pcre), protocolos (HTTP, TLS, DNS, SSH, Modbus, QUIC), flow (stateful tracking) y transforms (manipulación de datos).
  • Avanzado: Soporta Lua scripting para lógica personalizada, datasets para listas dinámicas (e.g., IPs maliciosas), IP reputation y anomalías en protocolos.
  • Diferencias con Snort: Multihilo nativo, mejor parsing de app-layer y soporte para Hyperscan (regex rápido).

Aspectos de Performance: Optimizado para alto volumen:

  • Runmodes: Modos como workers o autofp para balanceo de carga.
  • Tuning: Configuraciones para memoria (tcmalloc), profiling de reglas y paquetes.
  • Escalabilidad: Maneja entornos grandes con bajo overhead.

Integración con Otros Herramientas: Outputs en EVE JSON para SIEMs (Elastic), syslog o custom logs. Se integra con Zeek para correlación (Zeek logs + Suricata alertas), honeypots y orquestadores como TheHive. Usa suricata-update para reglas de Emerging Threats.

Use Cases:

  • Detección de malware en tráfico web.
  • Prevención de ataques en perímetros (IPS).
  • Extracción de archivos para análisis forense (e.g., PDFs maliciosos).
  • NSM en clouds o redes empresariales.

Versión Actual (diciembre 2025): La versión de desarrollo es 9.0.0-dev, con estables hasta 8.0.2. Incluye mejoras en QUIC, JA4 y upgrades de reglas.

suricata.readthedocs.io

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *