Cisco sobre a formação do candidato para os lançamentos de um sistema completamente reestruturado de prevenção a ataques , também conhecido como projeto Snort++, cuja elaboração vem sendo realizada intermitentemente desde 2005. Um lançamento estável está previsto para ser publicado dentro de um mês.
Na ramificação do Snort 3, o conceito do produto foi completamente reformulado e a arquitetura foi reestruturada. Entre os principais direcionamentos do desenvolvimento do Snort 3 estão: simplificação da configuração e inicialização do Snort, automação da configuração, simplificação da linguagem de construção de regras, detecção automática de todos os protocolos, fornecimento de uma interface de gerenciamento via linha de comando, e a aplicação intensa de multithreading com acesso compartilhado de diferentes manipuladores 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 sistema de inspeção de tráfego HTTP/2 foi adicionado;
- 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.
- Suporte a arquivos para redefinição rápida das configurações em relação à configuração padrão foi adicionado. Para facilitar a configuração, o uso de snort_config.lua e SNORT_LUA_PATH foi interrompido.
Suporte para recarregar as configurações em tempo real foi adicionado; - 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 ;
- Aprimorada a inicialização através do uso de múltiplas threads para compilar grupos de regras;
- Adicionado um novo mecanismo de registro;
- Um sistema de inspeção RNA (Real-time Network Awareness) foi adicionado, coletando informações sobre os recursos, hosts, aplicações e serviços disponíveis na rede.
Fonte: opennet.ru
