Por André Nogueira para o Pplware Certamente todos já ouviram falar em IDS… Mas afinal o que é isto e para que serve?
O que é um IDS?
Um IDS (Intrusion Detection Systems) é conjunto de componentes, de software ou de hardware, que tem a função de detectar, identificar e responder a actividades não autorizadas ou anormais num sistema alvo, isto é, detectar e contrariar intrusões.
Uma intrusão é qualquer conjunto de acções com o intuito de comprometer a integridade, a confidencialidade ou a disponibilidade de um recurso.
Como funciona um IDS?
Um IDS é genericamente constituído por vários componentes: Os Sensores que geram os eventos de segurança; A Consola que controla os sensores, monitoriza os eventos e alertas; O Motor que utiliza as regras de segurança para gerar os alertas a partir dos eventos de segurança. Este também regista os eventos, por exemplo numa base de dados.
Um IDS pode ser classificado segundo várias características operacionais. Na tabela 1 estão indicadas algumas das características mais relevantes.
Característica operacional | Classificação |
Método de detecção | Baseada em conhecimento |
Baseada em comportamento | |
Recolha dos eventos (local) | Máquinas |
Redes | |
Híbridos | |
Reactividade | Activos |
Passivos |
Tabela 1 – Classificação de IDS segundo características operacionais.
O método de detecção baseada em conhecimento analisa a actividade do sistema em busca de padrões de ataque ou instrução conhecidos. Este tipo de detecção é muito eficiente porque a taxa de falsos positivos é baixa. Contudo, a principal desvantagem é o facto de apenas detectar problemas conhecidos.
O método baseado em comportamento detecta desvios à normalidade no comportamento ao sistema computacional. Este tipo de detecção tem como principal vantagem a possibilidade de detectar novas formas de ataques e instruções. Por sua vez, este método tem dois grande problemas: a definição do que é comportamento normal do sistema em análise e a geração de muitos falsos positivos se mal configurado.
A recolha de eventos em máquinas (Host IDS – HIDS) serve para monitorizar o estado de diversos componentes de cada máquina: hardware, sistema operativo ou sistema de ficheiros, etc. Os HIDS têm como principal vantagem o facto de estarem mais próximos dos recursos onde são feitos os ataques e intrusões, sendo assim possível recolher indícios dos mesmos. Contudo, os HIDS têm como desvantagem o facto de não terem uma visão geral de todo o sistema de máquinas, estes apenas têm a visão do que está a acontecer na máquina que está a analisar. Existe também um pequena degradação do desempenho da máquina em análise.
A recolha de eventos em redes (Network IDS – NIDS) serve para monitorizar as interacções entre máquinas. Tipicamente, os sensores deste tipo de IDS capturam os pacotes em passam na rede. Uma vantagem deste tipo de IDS é o facto de, com um pequeno conjunto de sensores, poderem analisar um vasto conjunto de máquinas. Estes IDS podem operar em máquinas dedicadas. Contudo, estes IDS não poderão analisar informação cifrada que passa na rede. Outra desvantagem é o facto de este tipo de IDS não poder garantir que ocorreu um ataque ou intrusão, apenas pode indicar que existe actividades suspeitas.
Existem ainda IDSs que actuam tanto como HIDS e NIDS e este designam-se por híbridos.
Um IDS Activo consegue reagir de forma automática a ataques ou intrusões (defesa ou contra-ataque). As medidas de defesa são tipicamente de isolamento do recurso atacado, activando por exemplo uma firewall. Em relação às medidas de contra-ataque, o IDS poderá tentar atacar a máquina que realizou o ataque, tentado saber quais os serviços que estão a executar na mesma e explorar uma falha de segurança.
Em ambos os casos, defesa ou contra-ataque, é necessário ter em conta vários factores, pois as consequências de uma defesa ou contra-ataque poderão ser mais desastrosas que o próprio ataque.
Um IDS passivo apenas reage com alertas, fornecendo relatórios com o máximo de informação possível. A geração deste relatórios permite aos administradores de sistemas analisarem o que está a acontecer e conseguirem reagir ao ataque ou intrusão.
Limitações dos IDS
Como todo o software, os IDSs também têm limitações. Aqui ficam algumas:
- A adaptação a sistemas diversificados tem de ser feita obrigatoriamente para reduzir a um nível aceitável a taxa de falsos positivos, para que os administradores de sistemas não percam a confiança no IDS.
- A escalabilidade dos HIDS é complexa porque cada máquina tem o seu próprio sistema e a aplicação do mesmo IDS é complicada. Os NIDS também não escalam facilmente em redes de alto débito.
- Existem todos os dias novos ataques. Isso faz com que a base de conhecimento dos IDS esteja constantemente em actualização. Assim, poderão existir ataques sem que sejam detectados pelos IDS.
- Alguns softwares com bugs poderão gerar pacotes corrompidos e isso pode fazer com que o IDS possa gerar falsos positivos.
Exemplos de IDS
Existem vários tipos de IDS. Aqui ficam alguns exemplos de IDS open-source.
OSSEC é um HIDS que permite a detecção de rootkits, alertas e repostas pró-activas e análise de logs .
Tripwire é um HIDS que permite detectar alterações de ficheiros em sistema Linux.
Snort é um NIDS que permite realizar a analisar em tempo real o tráfego em redes IP e criar logs.