Organización OISF (Open Information Security Foundation) lanzó un sistema de detección y prevención de intrusiones en la red , que proporciona herramientas para inspeccionar varios tipos de tráfico. En las configuraciones de Suricata, se puede utilizar , desarrollada por el proyecto Snort, así como conjuntos de reglas y . Los códigos fuente del proyecto bajo la licencia GPLv2.
Principales cambios:
- Se han presentado nuevos módulos de análisis y registro para los protocolos
RDP, SNMP y SIP, escritos en Rust. El módulo para analizar FTP ha añadido la posibilidad de registro a través del subsistema EVE, que permite la salida de eventos en formato JSON; - Además de la compatibilidad con el método de identificación de clientes TLS JA3 que se introdujo en la edición anterior, se ha agregado soporte para el método , determinar, en base a las características de negociación de conexiones y los parámetros establecidos, qué software se está utilizando para establecer la conexión (por ejemplo, permite identificar el uso de Tor y otras aplicaciones típicas). JA3 permite identificar clientes, mientras que JA3S identifica servidores. Los resultados de esta identificación se pueden utilizar en el lenguaje de reglas y en los registros;
- Se ha añadido una función experimental de comparación con muestras de grandes conjuntos de datos, implementada mediante nuevas operaciones . Por ejemplo, esta función es aplicable para buscar patrones en grandes listas negras que contienen millones de registros;
- En el modo de inspección HTTP se garantiza una cobertura completa de todas las situaciones descritas en el conjunto de pruebas (por ejemplo, abarcando los métodos utilizados para ocultar la actividad maliciosa en el tráfico);
- Las herramientas de desarrollo de módulos en Rust han sido trasladadas de opciones a capacidades estándar obligatorias. En el futuro, se planea ampliar el uso de Rust en la base de código del proyecto y reemplazar gradualmente los módulos por análogos desarrollados en Rust;
- El motor de detección de protocolos ha mejorado en precisión y en el procesamiento de flujos de tráfico asíncronos;
- En el registro EVE se ha añadido soporte para un nuevo tipo de registros «anomaly», que almacenan eventos atípicos detectados durante la decodificación de paquetes. EVE también ha ampliado la representación de la información sobre VLAN y las interfaces de captura de tráfico. Se ha añadido una opción para guardar todos los encabezados HTTP en los registros http de EVE;
- En los controladores basados en eBPF se ha garantizado el soporte para mecanismos de hardware que aceleran la captura de paquetes. La aceleración de hardware está actualmente limitada a los adaptadores de red Netronome, pero pronto estará disponible para otro hardware;
- Código reescrito para la captura de tráfico utilizando el marco Netmap. Se ha añadido la posibilidad de usar las funciones avanzadas de Netmap, como el conmutador virtual. ;
- soporte para un nuevo esquema de definición de palabras clave para «Sticky Buffers». El nuevo esquema se define en el formato «protocolo.buffer», por ejemplo, para la introspección de URI, la palabra clave tomará la forma «http.uri» en lugar de «http_uri»;
- Todo el código Python utilizado ha sido verificado para compatibilidad con
Python 3; - Se ha descontinuado el soporte para la arquitectura Tilera, el registro de texto dns.log y el antiguo registro files-json.log.
Características de Suricata:
- Uso de un formato unificado para la salida de resultados de verificación , también utilizado por el proyecto Snort, lo que permite utilizar herramientas estándar para análisis, como . Posibilidad de integración con productos BASE, Snorby, Sguil y SQueRT. Soporte para salida en formato PCAP;
- Soporte para la detección automática de protocolos (IP, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, etc.), permitiendo operar en las reglas solo por el tipo de protocolo, sin vinculación al número de puerto (por ejemplo, bloquear tráfico HTTP en un puerto no estándar). Disponibilidad de decodificadores para los protocolos HTTP, SSL, TLS, SMB, SMB2, DCERPC, SMTP, FTP y SSH;
- Un potente sistema de análisis de tráfico HTTP que utiliza una biblioteca especial HTP, creada por el autor del proyecto Mod_Security, para desglosar y normalizar tráfico HTTP. Hay un módulo disponible para mantener un registro detallado de los envíos de HTTP transitarios, el registro se guarda en formato estándar
Apache. Soporta la extracción y verificación de archivos transmitidos a través del protocolo HTTP. Soporte para el análisis de contenido comprimido. Posibilidad de identificación por URI, Cookie, encabezados, user-agent, cuerpo de la solicitud/respuesta; - Soporte para diversas interfaces para interceptar tráfico, incluyendo NFQueue, IPFRing, LibPcap, IPFW, AF_PACKET, PF_RING. Análisis de archivos ya guardados en formato PCAP;
- Alto rendimiento, capacidad para procesar flujos de hasta 10 gigabits/segundo en hardware estándar.
- Mecanismo de coincidencia de alto rendimiento con grandes conjuntos de direcciones IP. Soporte para la selección de contenido por máscara y expresiones regulares. Extracción de archivos del tráfico, incluyendo su identificación por nombre, tipo o suma de verificación MD5.
- Posibilidad de usar variables en las reglas: se puede guardar información del flujo y luego usarla en otras reglas;
- Uso del formato YAML en los archivos de configuración, lo que permite mantener la claridad al facilitar el procesamiento automático;
- Soporte completo para IPv6;
- Motor integrado para la desfragmentación automática y reensamblaje de paquetes, permitiendo un procesamiento correcto de los flujos, independientemente del orden de llegada de los paquetes;
- Soporte para protocolos de tunelización: Teredo, IP-IP, IP6-IP4, IP4-IP6, GRE;
- Soporte para la decodificación de paquetes: IPv4, IPv6, TCP, UDP, SCTP, ICMPv4, ICMPv6, GRE, Ethernet, PPP, PPPoE, Raw, SLL, VLAN;
- Modo de registro de claves y certificados que aparecen en el contexto de conexiones TLS/SSL;
- Posibilidad de escribir scripts en el lenguaje Lua para proporcionar análisis avanzados y realizar características adicionales necesarias para identificar tipos de tráfico para los cuales no son suficientes las reglas estándar.
Fuente: opennet.ru
