Empresa Cisco sobre la formación de un candidato para las versiones de un sistema completamente rediseñado para prevenir ataques , también conocido como el proyecto Snort++, cuyo desarrollo ha estado en curso, intermitentemente, desde 2005. Se planea publicar una versión estable dentro de un mes.
En la rama Snort 3, se ha reconsiderado por completo el concepto del producto y se ha rediseñado la arquitectura. Algunas de las principales áreas de desarrollo de Snort 3 incluyen: simplificación de la configuración y el inicio de Snort, automatización de la configuración, simplificación del lenguaje de reglas, detección automática de todos los protocolos, provisión de una interfaz de línea de comandos para gestión, y un uso activo del multiprocesamiento con acceso concurrente de diferentes manejadores a una única configuración.
Se han implementado las siguientes innovaciones significativas:
- Se ha cambiado a un nuevo sistema de configuración que ofrece una sintaxis simplificada y permite el uso de scripts para la formación dinámica de ajustes. Se utiliza LuaJIT para procesar archivos de configuración. Se proporcionan complementos basados en LuaJIT que implementan opciones adicionales para las reglas y el sistema de registro;
- Se ha modernizado el motor de detección de ataques, se han actualizado las reglas y se ha añadido la posibilidad de vincular búferes en las reglas (sticky buffers). Se ha incorporado el motor de búsqueda Hyperscan, que permite el uso de patrones más rápidos y precisos basados en expresiones regulares en las reglas;
- Se ha añadido un nuevo modo de introspección para HTTP, que tiene en cuenta el estado de la sesión y abarca el 99% de las situaciones soportadas por el conjunto de pruebas . Se ha añadido un sistema de inspección de tráfico HTTP/2;
- Se ha incrementado significativamente el rendimiento del modo de inspección profunda de paquetes. Se ha añadido la posibilidad de procesamiento de paquetes en múltiples hilos, lo que permite la ejecución simultánea de varios hilos con procesadores de paquetes y proporciona escalabilidad lineal en función del número de núcleos de CPU;
- Se ha implementado un almacén de configuración común y tablas de atributos, que se utilizan de manera conjunta en diferentes subsistemas, lo que ha permitido reducir notablemente el consumo de memoria al eliminar la duplicación de información;
- Un nuevo sistema de registro de eventos que utiliza el formato JSON y se integra fácilmente con plataformas externas como Elastic Stack;
- Transición a una arquitectura modular, posibilitando la ampliación de la funcionalidad mediante la conexión de plugins y la implementación de subsistemas clave como plugins intercambiables. Actualmente, ya se han desarrollado varios cientos de plugins para Snort 3, abarcando diversas áreas de aplicación, que permiten agregar códecs personalizados, modos de introspección, métodos de registro, acciones y opciones en las reglas;
- Detección automática de servicios en ejecución, eliminando la necesidad de indicar manualmente los puertos de red activos.
- Se ha agregado soporte para archivos que permiten una rápida redefinición de la configuración en relación con la configuración por defecto. Para facilitar la configuración, se ha dejado de utilizar snort_config.lua y SNORT_LUA_PATH.
Se ha añadido soporte para la recarga de configuraciones en caliente; - El código ha permitido el uso de constructos C++ definidos en el estándar C++14 (se requiere un compilador compatible con C++14 para la compilación);
- Se ha añadido un nuevo controlador VXLAN;
- Se ha mejorado la búsqueda de tipos de contenido a través del contenido utilizando implementaciones alternativas actualizadas de los algoritmos y ;
- Se ha acelerado el inicio mediante el uso de múltiples hilos para compilar grupos de reglas;
- Se ha añadido un nuevo mecanismo de registro;
- Se ha implementado un sistema de inspección RNA (Real-time Network Awareness) que recopila información sobre los recursos, hosts, aplicaciones y servicios disponibles en la red.
Fuente: opennet.ru
