La detección de intrusiones basada en firmas, aunque precisa para amenazas conocidas, es inherentemente reactiva y vulnerable a variantes de exploits. Este problema fundamental de la computación, la detección de patrones anómalos en flujos de datos de alta velocidad con baja latencia, se agrava con la velocidad de aparición de nuevas vulnerabilidades. La integración de Machine Learning embebido (SnortML) en sistemas de detección de intrusiones (IDS) como Snort 3, junto con la emergencia de arquitecturas de IA agentica, representa una evolución necesaria. Esta combinación busca cerrar la brecha de 'tiempo de exposición' entre la aparición de un exploit y la disponibilidad de una firma, al tiempo que permite una correlación de eventos más sofisticada y una respuesta automatizada.

Históricamente, los IDS han dependido de bases de datos de firmas, un enfoque que se remonta a los primeros sistemas de detección de anomalías basados en heurísticas. La limitación inherente de la especificidad de las firmas, que no detectan variantes de ataques, ha sido un desafío constante. La aplicación de redes neuronales, específicamente LSTMs, para aprender la 'forma' de los ataques a nivel de byte, permite una detección más generalizada sin sacrificar la baja tasa de falsos positivos que se espera en entornos de producción. La IA agentica, por su parte, aborda la limitación de la falta de contexto temporal y correlación entre eventos discretos, un problema que los sistemas de seguridad tradicionales han resuelto con SIEMs y analistas humanos.

Arquitectura del Sistema

SnortML se integra en Snort 3 como un módulo de detección de Machine Learning que opera en paralelo con el motor de reglas tradicional. El snort_ml_engine carga modelos pre-entrenados de TensorFlow en memoria, mientras que el snort_ml_inspector se suscribe a flujos de datos de otros inspectores de Snort (ej. HTTP inspector) a través de una interfaz publish/subscribe. Cuando el HTTP inspector parsea una solicitud, publica la URI query string y el POST body al bus de eventos. El inspector SnortML toma estos datos, los procesa a través de un clasificador y devuelve un valor flotante que representa la probabilidad de un intento de exploit.

La arquitectura del modelo es una red neuronal LSTM precedida por una capa de embedding. La capa de embedding mapea valores de bytes crudos a representaciones vectoriales aprendidas, capturando relaciones contextuales entre bytes (similar a word embeddings en NLP). La LSTM procesa estas secuencias para capturar la estructura temporal y el orden de los bytes. Una capa densa final colapsa la salida de la LSTM a una probabilidad. Para optimizar el rendimiento, se utiliza LibML con XNNPACK para operaciones de matriz aceleradas por hardware, logrando tiempos de inferencia predecibles. SnortML también implementa selección adaptativa de modelos, utilizando modelos de diferentes tamaños (256, 512, 1024 bytes) calibrados para rangos de longitud de entrada específicos, lo que mejora la precisión y eficiencia. La arquitectura paralela con la evaluación de firmas tradicionales es una decisión clave, permitiendo que ambos mecanismos proporcionen cobertura independiente con perfiles de error diferentes, y la correlación de ambas detecciones aumenta la confianza.

La arquitectura de IA agentica se posiciona por encima de Snort 3. Snort 3 actúa como la capa de sensor, produciendo un flujo continuo de eventos JSON (incluyendo puntuaciones de probabilidad de ML y metadatos de flujo) a través de un bus de telemetría. Este flujo alimenta una capa de razonamiento agentica, donde agentes especializados (ej. triage, enriquecimiento, investigación, contexto) procesan y correlacionan los datos. Un agente de triage maneja la deduplicación y la puntuación inicial de severidad. Los agentes de enriquecimiento obtienen datos de IOC, reputación de IP e inteligencia de amenazas. Un agente de investigación correlaciona datos de SIEM, logs de proveedores de identidad y telemetría de endpoints. Un agente de contexto mapea la actividad actual contra patrones históricos. La clave es que los agentes mantienen estado a través de investigaciones multi-paso, decidiendo qué examinar a continuación basándose en hallazgos previos y utilizando herramientas externas (SIEM, plataformas de inteligencia de amenazas) para reunir contexto. Un bucle de retroalimentación propuesto permite que los incidentes confirmados (con validación humana) se utilicen para reentrenar los modelos de ML y generar nuevas reglas de Snort, cerrando el ciclo de mejora continua.

Flujo de Detección Paralela SnortML y Firmas

  1. 1 Adquisición de Paquetes DAQ layer (AFPacket RSS / DPDK) captura tráfico de red.
  2. 2 Análisis de Snort Snort 3 procesa paquetes, inspectores extraen datos de protocolo.
  3. 3 Publicación de Datos Inspectores (ej. HTTP) publican datos (URI, POST body) al bus de eventos.
  4. 4 Evaluación de Firmas Motor MPSE Hyperscan evalúa reglas de firmas tradicionales.
  5. 5 Inferencia SnortML Inspector SnortML suscribe, clasifica datos con LSTM/embedding.
  6. 6 Generación de Verditco Ambos caminos generan un veredicto (alerta/puntuación de probabilidad).
  7. 7 Consolidación de Alertas Alertas de firmas y puntuaciones ML se consolidan en un flujo de eventos JSON.

Flujo de Razonamiento Agentico y Retroalimentación

  1. 1 Flujo de Eventos (Snort) Snort 3 envía eventos JSON (alertas, puntuaciones ML) al bus de telemetría.
  2. 2 Agente de Triage Deduplica, filtra, asigna severidad inicial.
  3. 3 Agente de Enriquecimiento Consulta IOC, reputación IP, inteligencia de amenazas.
  4. 4 Agente de Investigación Correlaciona con SIEM, logs de identidad, telemetría de endpoint.
  5. 5 Agente de Contexto Mapea actividad actual contra patrones históricos y campañas.
  6. 6 Evaluación de Severidad Decisión de escalada basada en confianza compuesta.
  7. 7 Respuesta (Humana/Automatizada) Acciones de contención, con validación humana para alto riesgo.
  8. 8 Bucle de Retroalimentación Datos de incidentes confirmados alimentan reentrenamiento de ML y generación ...
CapaTecnologíaJustificación
security Snort 3 Plataforma principal de detección de intrusiones en red, actúa como sensor de bajo nivel. vs Suricata, Zeek (Bro)
compute TensorFlow Framework de Machine Learning para la construcción y entrenamiento de los modelos de detección de SnortML. vs PyTorch, ONNX Runtime
compute XNNPACK Biblioteca de inferencia optimizada para operaciones de red neuronal en CPUs, utilizada por LibML para acelerar la inferencia de SnortML. vs Intel MKL-DNN, OpenBLAS
data-processing LSTM (Long Short-Term Memory) Arquitectura de red neuronal recurrente utilizada en SnortML para procesar secuencias de bytes y capturar dependencias temporales en payloads de ataque. vs GRU, Transformer (para secuencias más largas)
data-processing Embedding Layer Capa de red neuronal que mapea valores de bytes discretos a representaciones vectoriales densas, capturando relaciones semánticas entre bytes en el contexto de ataques. vs One-hot encoding (menos eficiente)
messaging Publish/Subscribe Interface (Snort 3 internal) Mecanismo de comunicación interna de Snort 3 que permite a los inspectores publicar datos y a otros componentes (como SnortML) suscribirse a ellos. vs Direct function calls (menos modular)
orchestration AI Agents (propietarios) Componentes de software autónomos que mantienen estado, toman decisiones, consultan herramientas externas y coordinan investigaciones de seguridad en arquitecturas SOC avanzadas. vs SOAR playbooks (menos adaptativos), Modelos ML convencionales (sin contexto temporal)

Trade-offs

Ganancias
  • Detección de exploits zero-day y variantes
  • Reducción del tiempo de exposición a nuevas amenazas
  • Correlación de eventos y contexto temporal en SOC
  • ▲▲ Automatización de tareas de investigación en SOC
Costes
  • Overhead de latencia por inferencia ML
  • Mayor tasa de falsos positivos en ML comparado con firmas específicas
  • Complejidad de integración entre capas de detección y agentes
  • Necesidad de grandes corpus de datos etiquetados para entrenamiento ML
  • Riesgo de envenenamiento de modelos en bucles de retroalimentación

Fundamentos Teóricos

El problema de la detección de anomalías en flujos de datos de alta velocidad ha sido un campo de estudio activo en la academia durante décadas. Los fundamentos de la detección de intrusiones se remontan a los trabajos pioneros de James P. Anderson en 1980, quien propuso la idea de sistemas que detectan actividades que se desvían de los patrones de uso normales. La evolución hacia la detección basada en firmas es un caso particular de reconocimiento de patrones.

La aplicación de redes neuronales recurrentes, específicamente LSTMs (Long Short-Term Memory), para el procesamiento de secuencias de bytes en la detección de exploits se basa en el trabajo de Hochreiter y Schmidhuber (1997) sobre LSTMs, que abordaron el problema del vanishing gradient en redes neuronales recurrentes. La idea de embeddings para mapear tokens discretos a espacios vectoriales densos, fundamental en la capa de embedding de SnortML, tiene sus raíces en el procesamiento del lenguaje natural (NLP) y trabajos como Word2Vec de Mikolov et al. (2013). La robustez adversarial de los modelos de ML, un problema clave para SnortML, es un área activa de investigación en la academia, con trabajos como los de Goodfellow et al. (2014) que demuestran la existencia de ejemplos adversarios. La propuesta de un bucle de retroalimentación para el reentrenamiento de modelos con datos de incidentes confirmados se alinea con los principios de aprendizaje continuo y mejora adaptativa en sistemas de IA, y el problema de la seguridad de este bucle bajo ataques de envenenamiento es un tema de investigación actual, como lo aborda Singh et al. (2025) con Zero-Trust Agentic Federated Learning (ZTA-FL) para entornos IDS distribuidos.