Arquivo da categoria ‘IDS’

SNORT – UMA FERRAMENTA IDS OPEN SOURCE

logo_snort.jpg

SNORT é uma ferramenta NIDS open-source bastante popular por sua flexibilidade nas configurações de regras e constante atualização frente às novas ferramentas de invasão (como o fagroute). Outro ponto forte desta ferramenta é o fato de ter o maior cadastro de assinaturas, ser leve, pequeno, de fácil instalação, fazer escaneamento do micro e verificar anomalias dentro de toda a rede ao qual seu computador pertence.

O código fonte é otimizado, desenvolvido em módulos, utilizando linguagem de programação C e, juntamente com a documentação, são de domínio público. A configuração é simples e aplicada através de um sistema de arquivos organizado, documentado e de fácil manutenção.

O Snort conta ainda com o permanente desenvolvimento e atualização, que são feitos diariamente, tanto em relação ao código propriamente dito, como das regras de detecção. Os padrões utilizados na construção das regras de detecção das subversões são introduzidos no sistema de configuração, tão logo os alertas são enviados, originados pelos órgãos responsáveis, como por exemplo o CERT, Bugtraq (lista de discussão), entre outros.

Os módulos que compõe o Snort são ferramentas poderosas, capazes de produzir uma grande quantidade de informação sobre os ataques monitorados, dado que é possível avaliar tanto o cabeçalho quanto o conteúdo dos pacotes, além de disponibilizar, por exemplo, a opção de capturar uma sessão inteira.

O Snort monitora o tráfego de pacotes em redes IP, realizando análises em tempo real sobre diversos protocolos (nível de rede e aplicação) e sobre o conteúdo (hexa e ASCII). Outro ponto positivo desse software é o grande número de possibilidades de tratamento dos alertas gerados, O subsistema de registro e alerta é selecionado em tempo de execução através de argumentos na linha de comando, são três opções de registro e cinco de alerta.
O registro pode ser configurado para armazenar pacotes decodificados e legíveis em uma estrutura de diretório baseada em IP, ou no formato binário do tcpdump em um único arquivo. Para um incremento de desempenho, o registro pode ser desligado completamente, permanecendo os alertas.
Já os alertas podem ser enviados ao syslog, registrados num arquivo de texto puro em dois formatos diferentes, ou ser enviados como mensagens WinPopup usando o smbclient. Os alertas podem ser enviados para arquivo texto de forma completa e o alerta rápido. O alerta completo escreve a mensagem de alerta associada à regra e a informação do cabeçalho do pacote até o protocolo de camada de transporte. A opção de alerta rápido escreve um subconjunto condensado de informação do cabeçalho alerta. Por fim, uma última opção desabilita os alertas completamente. Existe também, a possibilidade de utilizar métodos como o Database Plug-in por exemplo, para registrar pacotes em uma variedade de bases de dados diferentes (MySQL, PostgreSQL, entre outros), as quais contam com recursos próprios para efetuar consultas, correlações e dispõem de mecanismos de visualização para analisar dados.

Snort é uma ferramenta de detecção de invasão rápida e confiável que exige poucos recursos de sistema. Você pode adicionar assinaturas de ataque obtendo, compilando e executando explorações contra seu sistema enquanto também executa um sniffer. O Sniffer irá capturar o texto característico ou string binária passada pela ferramenta de ataque para seu servidor. Pegue os últimos poucos caracteres significativos ou caracteres únicos dessa string adicione-os como um descritor de conteúdo em Snort. O Snort devolve respostas principalmente através de logs, mas quando há uma detecção de algo mais sério ele também emite alertas por e-mail.

O Snort é suportada em arquiteturas RISC e CISC e em plataformas das mais diversas, como os vários sabores de Linux (RedHat, Debian, Mandrake, etc.), OpenBSD, FreeBSD, NetBSD, Solaris, SunOS, HP-UX, AIX, IRIX, Tru64, MacOS X.

Por ser uma ferramenta peso leve, a utilização do Snort é indicada para monitorar redes TCP/IP de qualquer porte dependendo da funcionalidade que será exigida dele, onde ele pode detectar uma grande variedade do tráfego suspeito, assim como ataques externos e então, fornecer informações para a tomada de decisão dos administradores.

ARQUITETURA DO SNORT

A implementação do Snort, segundo uma arquitetura modular, focaliza a otimização do desempenho na coleta e análise de pacotes, que com o conjunto de regras correto para um dado exploit aproxima-se do tempo-real. O Snort oferece o conceito de plug-ins, que são seus subsistemas de:

  • Pré-processamento: Disposto entre o packet sniffing e o processamento do engine de detecção, decodifica o pacote;
  • Detecção: Ocorre durante o processamento do engine de detecção;
  • Saída: é executado após o processamento do engine de detecção, para registrar e alertar.

A configuração do programa, as regras que analisam gramaticalmente parsing, e a geração da estrutura de dados ocorrem antes da sessão de sniffer ser inicializada, minimizando a quantidade de processamento por pacote.

Primeiro, o decodificador de pacote interpreta qual é o conjunto de tráfego. Esse tráfego decodificado é analisado por todo plug-in pré-processador definido nas regras. Em seguida, o engine de detecção recebe o tráfego, aplica uma estrutura de regras e pode também aplicar plug-ins de detecção no tráfego excessivo para procurar outras assinaturas. Por fim, o fluxo de dados é enviado para o estágio de saída, onde existem diferentes opções de registro e alerta, e ainda, podem ser enviados para plug-ins de saída que atuam como extremidade final back-end de processamento para detecção.

Para saber mais sobre o Snort. www.snort.org

PS: Dedicado a Luiz Fernando (Peixinho)