Após sete anos de desenvolvimento, Cisco apresentou a primeira versão estável do sistema de prevenção de ataques Snort 3 que foi completamente redesenhado, além de simplificar a configuração e o lançamento do Snort, bem como o possibilidade de automatizar a configuração, simplificar a linguagem de criação de regras, detectar automaticamente todos os protocolos, fornecer um shell para controle de linha de comando, multi-threading ativo com acesso compartilhado de diferentes controladores a uma única configuração e mais.
Para quem não conhece o Snort, você deve saber que pode analisar o tráfego em tempo real, responder à atividade maliciosa detectada e manter um log de pacote detalhado para análise posterior de incidentes.
O ramo do Snort 3, também conhecido como projeto Snort ++, repensou completamente o conceito e a arquitetura de seu produto.
O trabalho no Snort 3 começou em 2005, mas logo foi abandonado e apenas retomado em 2013, depois que a Cisco assumiu o projeto.
Notícias principais do Snort 3
Na nova versão do Snort 3 foi transferido para um novo sistema de configuração, que oferece uma sintaxe simplificada e permite o uso de scripts para gerar configurações dinamicamente. LuaJIT é usado para processar arquivos de configuração e plug-ins baseados em LuaJIT têm opções adicionais para regras e um sistema de registro.
Outra mudança que se destaca é que o mecanismo foi modernizado para detectar ataques, as regras foram atualizadas, a capacidade de vincular buffers foi adicionada nas regras (sticky buffers) e também foi utilizado o motor de busca Hyperscan, que possibilitou a utilização de padrões disparados de forma mais rápida e precisa a partir de expressões regulares nas regras;
Além disso, no Snort 3 adicionou um novo modo de introspecção para HTTP que é a sessão com estado e cobre 99% dos cenários suportados pelo conjunto de testes HTTP Evader, além do sistema de inspeção adicionado para tráfego HTTP / 2.
O desempenho do modo de inspeção profunda de pacotes foi significativamente melhorado. A capacidade de processamento de pacotes multithread foi adicionada, permitindo a execução simultânea de várias threads com manipuladores de pacotes e fornecendo escalabilidade linear com base no número de núcleos da CPU.
Um armazenamento comum de tabelas de configuração foi implementado e atributos, que são compartilhados em diferentes subsistemas, o que reduziu significativamente o consumo de memória ao eliminar a duplicação de informações.
Além disso, também a transição para uma arquitetura modular é destacada, a capacidade de estender a funcionalidade por meio de plug-ins e a implementação de subsistemas principais na forma de plug-ins substituíveis.
Existem atualmente mais de 200 plug-ins para Snort 3, cobrindo uma variedade de usos, como permitir que você adicione seus próprios codecs, modos de introspecção, métodos de registro, ações e opções nas regras.
Das outras mudanças que se destacam na nova versão:
- Adicionado suporte de arquivo para substituir rapidamente as configurações relativas às configurações padrão.
- O uso de snort_config.lua e SNORT_LUA_PATH foi descontinuado para simplificar a configuração.
- Adicionado suporte para recarregar as configurações em tempo real.
- Novo sistema de log de eventos que usa o formato JSON e se integra facilmente com plataformas externas, como Elastic Stack.
- Detecção automática de serviços em execução, eliminando a necessidade de especificar manualmente as portas de rede ativas.
- O código fornece a capacidade de usar as construções C ++ definidas no padrão C ++ 14 (o assembly requer um compilador que suporte C ++ 14).
- Um novo controlador VXLAN foi adicionado.
- Pesquisa aprimorada de tipos de conteúdo por conteúdo usando implementações alternativas atualizadas dos algoritmos Boyer-Moore e Hyperscan.
- Lançamento acelerado usando vários threads para compilar grupos de regras;
- Adicionado um novo mecanismo de registro.
- Foi adicionado o sistema de inspeção RNA (Real-time Network Awareness), que coleta informações sobre recursos, hosts, aplicativos e serviços disponíveis na rede.
Finalmente se você quiser saber mais sobre isso sobre a nova versão, você pode verificar os detalhes no link a seguir.