Cisco a versão beta final do sistema de prevenção de intrusões totalmente reestruturada , também conhecido como projeto Snort++, cujo desenvolvimento tem ocorrido intermitentemente desde 2005. Um candidato a lançamento está previsto para ser publicado ainda este ano.
Nesta nova versão, o conceito do produto foi completamente repensado e a arquitetura reformulada. Entre os focos da nova versão estão a simplificação da configuração e inicialização do Snort, a automação da configuração, simplificação da linguagem de regras, detecção automática de todos os protocolos, oferta de uma interface de gerenciamento via linha de comando e o uso ativo de multithreading com acesso compartilhado de diferentes processadores a uma única configuração.
As seguintes inovações significativas foram implementadas:
- Uma nova sistema de configuração foi introduzido, oferecendo uma sintaxe simplificada e permitindo o uso de scripts para a criação dinâmica de configurações. O LuaJIT é usado para processar arquivos de configuração. Plugins baseados em LuaJIT oferecem opções adicionais para regras e para o sistema de registro;
- O mecanismo de detecção de intrusões foi modernizado, as regras foram atualizadas e foi adicionada a capacidade de atachar buffers nas regras (sticky buffers). O mecanismo de busca Hyperscan foi utilizado, permitindo o uso de padrões rápidos e mais precisos nas regras com base em expressões regulares;
- Um novo modo de introspecção para HTTP foi adicionado, levando em consideração o estado da sessão e abrangendo 99% das situações suportadas pelo conjunto de testes . Um código para suporte ao HTTP/2 está em desenvolvimento;
- A performance do modo de inspeção profunda de pacotes foi significativamente aumentada. Agora é possível o processamento de pacotes em múltiplas threads, permitindo a execução simultânea de várias threads com processadores de pacotes e garantindo escalabilidade linear em relação ao número de núcleos da CPU;
- Um repositório de configuração e uma tabela de atributos foram implementados, sendo este compartilhado entre diferentes subsistemas, o que reduziu consideravelmente o consumo de memória ao eliminar a duplicação de informações.
- Um novo sistema de registro de eventos que utiliza o formato JSON e é facilmente integrável com plataformas externas, como o Elastic Stack;
- Transição para uma arquitetura modular, com capacidade de expandir a funcionalidade através da conexão de plugins e implementação de subsistemas-chave na forma de plugins substituíveis. Atualmente, já existem centenas de plugins implementados para o Snort 3 que cobrem várias áreas de aplicação, permitindo, por exemplo, adicionar seus próprios codecs, modos de introspecção, métodos de registro, ações e opções nas regras;
- Detecção automática de serviços em execução, eliminando a necessidade de especificar manualmente as portas de rede ativas.
Mudanças em relação à última versão de teste, que foi publicada em 2018:
- Adicionada suporte para arquivos para rápida substituição de configurações em relação à configuração padrão;
- O código agora permite o uso de construções C++ definidas no padrão C++14 (é necessário um compilador que suporte C++14 para a compilação);
- Adicionado um novo manipulador VXLAN;
- Melhorada a busca de tipos de conteúdo pelo conteúdo usando implementações alternativas atualizadas dos algoritmos e ;
- O sistema de inspeção de tráfego HTTP/2 está praticamente pronto;
- Aprimorada a inicialização através do uso de múltiplas threads para compilar grupos de regras;
- Adicionado um novo mecanismo de registro;
- Melhorada a detecção de erros Lua e otimizado o funcionamento de listas brancas;
- Mudanças realizadas para implementar a recarga de configurações em tempo real;
- Adicionado um sistema de inspeção RNA (Real-time Network Awareness), coletando informações sobre recursos, hosts, aplicativos e serviços disponíveis na rede;
- Para simplificar a configuração, o uso de snort_config.lua e SNORT_LUA_PATH foi descontinuado.
Fonte: opennet.ru
