IDS - Sistemas de detecção de intrusão

Julho 2017

O que é o sistema de detecção de intrusões

O termo IDS (Intrusion Detection System) se refere a um mecanismo que, sigilosamente, ouve o tráfego na rede para detectar atividades anormais ou suspeitas e, deste modo, reduzir os riscos de intrusão. Existem duas famílias distintas de IDS: os N-IDS (Network Based Intrusion Detection System - Sistema de detecção de intrusões de rede), que garantem a segurança dentro da rede e os H-IDS (Host Based Intrusion Detection System - Sistema de Detecção de Intrusões no Host), que asseguram a segurança no host.

O N-IDS precisa de um hardware exclusivo e constitui um sistema capaz de verificar os pacotes de informação que circulam em uma ou várias conexões de rede, para descobrir se alguma atividade maliciosa ou anormal está se produzindo. O N-IDS coloca um ou mais adaptadores de rede exclusivos do sistema em modo promíscuo (promiscuous mode), ou seja, em modo furtivo para que não tenham endereço IP nem tampouco uma pilha de protocolos associada. É bastante frequente encontrar vários IDS nas diferentes partes da rede. De um modo geral, colocam-se sondas fora da rede para estudar os possíveis ataques, assim como colocam sondas internas para analisar as consultas que passaram pelo firewall ou que foram efetuadas interiormente:

Esquema de localização do N-IDS em uma rede

O H-IDs se encontra em um host específico. Por isso, o seu software cobre uma grande parte dos sistemas operacionais, como o Windows, o Solaris, HO-UX e Aix, o Linux, etc.

O H-IDs atua-se como um deamon (demônio) ou um serviço padrão em um sistema host. Tradicionalmente, o H-IDS analisa a informação específica armazenada nos registros (syslogs, messages, lastlog, wtmp, etc.) além de capturar os pacotes de redes que entram/saem do hóspede, para detectar sinais de intrusões (como ataques por Recusa de Serviços, Backdoors, cavalos de Troia, tentativas de acesso não autorizado, execução de códigos maliciosos, ataques por profusão de buffer).

Quais são as técnicas de detecção

O tráfego na rede (Internet) é constituído geralmente por datagramas de IP. Um N-IDS pode capturar pacotes de dados enquanto eles circulam nas conexões físicas nas quais está conectado. Ele consiste em uma pilha de protocolos TCP/IP que reúne datagramas IP e conexões TCP. Para detectar as instruções você pode usar várias técnicas, como:

Verificação da lista de protocolos: algumas formas de intrusão, como o Ping-Of-Death e TCP Stealth Scanning utilizam violações dos protocolos IP, TCP, UDP e ICMP para atacar um computador. Uma simples verificação do protocolo pode mostrar pacotes inválidos e indicar esta tática, que é muito usada.

Verificação dos protocolos aplicativos: certas formas de intrusão empregam comportamentos de protocolos inválidos, como o WinNuke, que utiliza dados NetBIOS inválidos (adição de dados fora da banda). Para detectar eficazmente este tipo de intrusão, o N-IDS deve repetir uma grande variedade de protocolos aplicativos como NetBIOS, TCP/IP, etc. Esta técnica é rápida (não é necessário procurar sequências de bytes no banco de assinaturas), elimina, em parte, os falsos alertas e é, consequentemente, mais eficiente. Por exemplo, graças à análise dos protocolos o N-IDS distinguirá um acontecimento do tipo Back Orifice PING (periculosidade baixa) de um acontecimento de tipo Back Orifice COMPROMISE (periculosidade elevada).

Reconhecimento de ataques por Pattern Matching (correspondência de padrões): esta técnica de reconhecimento de intrusões é o mais antigo método de análise do N-IDS, e ainda, muito comum. Ela consiste na identificação de uma intrusão ao examinar um pacote e reconhecer, em uma sequência de bytes, a sequência que corresponde a uma assinatura específica. Por exemplo, ao buscar a cadeia de caracteres
/cgi-bin/phf
, mostra-se uma tentativa de exploração de um defeito do script CGI (Certificado de Segurança Digital), chamado phf. Este método é utilizado como complemento de filtros nos endereços IP de origem, em destinatários usados pelas conexões e portas de origem e/ou de destino. Este método de reconhecimento também pode ser refinado, se combinado com uma sucessão ou combinação de bandeiras TCP.

Esta técnica é difundida por grupos NIDs Network Grep, que se baseiam na captura de pacotes originais em uma conexão supervisionada e em sua comparação posterior ao usar um parser (analisador) de tipo expressões regulares que vai tentar fazer coincidir as sequências no banco de assinaturas, byte por byte, com o conteúdo do pacote capturado.

A principal vantagem desta técnica reside na facilidade da sua atualização e, obviamente, na grande quantidade de assinaturas contidas no banco de NIDS. No entanto, quantidade nem sempre rima com qualidade. Por exemplo, os 8 bytes
CE63D1D2 16E713CF
quando são dispostos no início de uma transferência de dados UDP, indicam um tráfego Back Orifice com uma senha padrão. Mesmo que 80% das intrusões utilizem a senha padrão, os outros 20% utilizam senhas personalizadas e não serão necessariamente reconhecidas pelo NIDS. Por exemplo, se uma senha for alterada para ‘escapar’, a sequência de bytes transformar-se-á em
8E42A52C 0666BC4A
, o que automaticamente evitará que o N-IDS a capture. Além disso, esta técnica provocará, inevitavelmente, um grande número de falsos alertas e falsos positivos.

Existem outros métodos para detectar e assinalar intrusões, como o reconhecimento dos ataques por Pattern Matching Stateful (padrão correspondente) e/ou a auditoria do tráfego de redes perigosas ou anormais.

Para concluir, um N-IDS perfeito é um sistema que utiliza o melhor de cada uma das técnicas citadas acima.

O que fazem os IDS

Os principais métodos utilizados por N-IDS para informar e bloquear as intrusões são:


Reconfiguração de dispositivos externos (firewall ou ACL em roteadores): é um comando enviado pelo N-IDS a um dispositivo externo (com um filtro de pacotes ou um firewall) para que se reconfigure imediatamente e possa bloquear uma intrusão. Esta reconfiguração é possível através do envio de dados que expliquem o alerta (no cabeçalho do pacote).

Envio de um trap SNMP a um supervisor externo (armadilha SNMP): é o envio de um alerta (e detalhes dos dados envolvidos) em forma de um datagrama SNMP a um console externo como HP OpenView Tivoli, Cabletron, Spectrum, etc.

Envio de um e-mail a um ou vários usuários: é o envio de um e-mail para uma ou várias caixas de correio para informar sobre uma intrusão séria.

Registro (log) do ataque : é o backup dos detalhes do alerta em um banco de dados central, incluindo informações como o registro da data, o endereço IP do intruso, o endereço IP do destino, o protocolo utilizado e a carga útil.

Armazenamento de pacotes suspeitos: se guardam todos os pacotes originais capturados e/ou pacotes que desencadearam o alerta.

Abertura de um aplicativo: é o lançamento de um programa externo para executar uma ação específica (envio de uma mensagem SMS, emissão de um alerta sonoro, etc.).

Envio de um ResetKill: é a construção de um pacote de alerta TCP para forçar o fim de uma conexão (válido apenas para as técnicas de intrusão que utilizam o protocolo de transporte TCP).

Notificação visual de um alerta: é a exibição do alerta em um ou vários consoles de gerenciamento.

Quais são os desafios e as características dos IDS

Os editores e a imprensa especializada enfatizam cada vez mais a importância de substituir os IDS tradicionais pelos IPS (Sistema de prevenção de intrusões) ou pelo menos, fazer uma distinção entre eles.


Na verdade, o IPS é um sistema de prevenção e de proteção contra as intrusões e não apenas um mero sistema de reconhecimento e de alertas de intrusões, como a maior parte dos IDS. A diferença entre um IDS (de rede) e um IPS (de rede) reside principalmente em 2 características: o IPS se situa em uma linha dentro da rede IPS e não escuta passivamente a rede como um IDS (tradicionalmente colocado como um rastreador de portas na rede) e um IPS tem a capacidade de bloquear imediatamente as intrusões, sem se preocupar com o tipo de protocolo de transporte utilizado e sem reconfigurar um dispositivo externo. O IPS pode filtrar e bloquear pacotes em modo nativo, utilizando técnicas como a caída de pacotes ofensivos ou o bloqueio de um intruso (drop connection, drop offending packets, block intruder, etc.).

Veja também


Intrusion detection systems (IDS)
Intrusion detection systems (IDS)
Sistema de detección de intrusiones (IDS)
Sistema de detección de intrusiones (IDS)
Systèmes de détection d'intrusion (IDS)
Systèmes de détection d'intrusion (IDS)
Intrusion Detection System (IDS)
Intrusion Detection System (IDS)
Program komputerowy
Program komputerowy
Última modificação: 3 de julho de 2017 às 15:16 por Pedro.CCM.
Este documento, intitulado 'IDS - Sistemas de detecção de intrusão', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.