Anterior Índice Próxima

3. Análise de Detecção de Intrusão Baseada em Rede

Conforme foi visto na seção 2.1, os sistemas de detecção de intrusão baseados na rede capturam todos os pacotes que passam pela rede detectando qualquer anormalia presente nestes pacotes. Mas, o modo como essas anormalias são detectadas depende fundamentalmente do modo como os pacotes são analisados. Neste capítulo serão vistos os três métodos de análise mais comuns para sistemas de detecção de intrusão baseados na rede.

3.1 Análise por Assinaturas

Uma assinatura de um sistema de detecção de intrusão de rede é um padrão que é verificado no tráfego com o objetivo de detectar um certo tipo de ataque. Para ter certeza de que um pacote é inofensivo e não apresenta perigo aos sistemas em rede, é necessário que este seja testado contra todas as possíveis assinaturas configuradas. Possíveis exemplos de assinaturas são:

  • Endereço IP de origem participar da faixa de endereços reservados 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. É preciso verificar o endereço de origem do cabeçalho IP.
  • Segmentos TCP com o flag SYN ativado para determinadas portas, por exemplo, portas 21, 22 e 23. Para isso, seria necessário somente uma verificação dos flags do cabeçalho TCP.
  • Tentiva de acesso do usuário root a um servidor FTP, no qual ele não é permitida sua entrada. É necessário verificar o cabeçalho dos pacotes TCP certificando-se de que é um tráfego destinado à porta 21 do servidor. Ainda precisa-se analisar se o conteúdo destes pacotes é "USER root".

Uma análise por assinaturas utiliza todos esses padrões estabelecidos para verificar se cada pacote os apresenta. É uma simples comparação do conteúdo dos pacotes com o conteúdo das assinaturas. Caso o pacote não apresente nenhuma compatibilidade com as assinaturas, ele é considerado como inofensivo.

3.2 Análise por Protocolo

Basicamente, sistemas de detecção de intrusão analisam somente valores dos cabeçalhos de protocolos como IP, TCP, UDP e ICMP. Porém, sistemas de detecção de intrusão mais avançados são capazes de executar análises por protocolo. Esses sistemas são capazes de analisar completamente protocolos muito utilizados como HTTP, SMTP e FTP. Devido a complexidade em fazer essa análise, os sistemas que o fazem precisam ter capacidades muito mais avançadas do que os sistemas que só fazem a análise por assinatura, explicada na seção anterior, que simplesmente checa se existe uma determinada sequência de bytes dentro do pacote, limitando muito a detecção. O problema com esse tipo de análise é que as assinaturas são geralmente escritas para um determinado tipo de exploração. Na maioria dos casos, não se pode escrever assinaturas para identificar um ataque desconhecido, uma variação de um ataque conhecido ou ainda ataques gerais que apresentam a mesma característica.

Análise por protocolo significa que o sistema entende como é o funcionamento de diversos protocolos e que é feita uma análise minuciosa do tráfego desses protocolos para detectar atividade suspeita ou anormal. Ela fornece a habilidade de verificar as atividades que violam os padrões estabelecidos dos protocolos e suas ligeiras modificações de implementação. Isso facilita a detecção de ataques tanto conhecidos como desconhecidos, a medida que se pode saber quando o protocolo não está sendo respeitado.

Uma vantagem de uma análise por protocolo em relação à por assinaturas pode ser vista no último exemplo dado na seção anterior, no qual se quer verificar se foi feita alguma tentativa de acesso do usuário root ao servidor FTP. No caso das assinaturas, o sistema procuraria por uma sequência caracterizada por "USER root" dentro da parte de dados do pacote. Porém, ele não detectaria um pacote que alterasse o comando colocando-o em minúsculas, como "user root", ainda que significasse a mesma coisa e o servidor aceitasse a requisição.

3.3 Análise por Estado do Protocolo

Ainda que a análise por protocolo seja um grande avanço em relação à análise por assinaturas, ela também é limitada porque examina cada pacote independente dos demais. Existem diversos tipos de ataques que não podem ser detectados devido a dependerem de uma série de pacotes, ou uma série de requisições ao servidor, por exemplo. A análise por estado do protocolo monitora e analisa todos os eventos que acontecem dentro de uma conexão ou sessão. Isso implica em ser possível achar relações significativas em diferentes eventos e pacotes dentro da mesma sessão, possibilitando analisar ataques que utilizam mais de um pacote.

Uma das grandes vantagens da análise por estado do protocolo é o conhecimento de em qual fase o protocolo se encontra. Existem diversos protocolos que possuem fases de autenticação antes de uma fase que executa os serviços prestados pelo protocolo em si. Alguns exemplos são FTP, POP3 e Telnet, dentre outros. A partir de uma análise por estado do protocolo é possível verificar se não houve uma tentativa de antecipar uma fase em relação a outra, ou seja, se foi tentado algum comando que só seria admissível depois da fase de autenticação. Em linhas gerais, é possível acompanhar toda uma sessão analisando não somente o protocolo, requisições e respostas, mas também seu estado no tempo, isto é, em que parte se encontra a sessão.

Para um exemplo mais detalhado de como uma análise usando assinaturas, protocolos e estado de protocolos pode ser implementada para o FTP, consulte [7].


Anterior Índice Próxima Copyright © 2003 Rafael P. Laufer