IDS – Sistema de detecção de intrusões
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.
Este artigo tem mais de um ano
Parece muito interessante. Dá para analisar um servidor??
Internamente apenas.
Dependendo do servidor que estás a falar, um IDS poderá analisar os recursos do servidor.
Imagina que tens um servidor Web(por ex.: apache) e tens um IDS(por ex.: Snort). Se houver um ataque DDoS(um ataque que utiliza até milhares de computadores para atacar uma determinada máquina), o IDS poderá identificar o problema e proteger a máquina.
Por sua vez, imagina que tens um servidor de ficheiros(ex.: FTP), poderás ter um IDS(por ex.:Tripwire) e verificar se algum utilizador tenta aceder a um ficheiro que não pode.
Espero que tenha ajudado.
Já estive envolvido em projectos académicos relativos ao Snort e relativos ao desenvolvimento de um IDS Imuno-Inspirado.
Se quiserem trocar ideias digam algo.
@Pedro Simões – Trabalhas com algum destes sistemas?
Eu limitei-me a publicar o excelente trabalho do André.
E que tal publicares aqui o guia de instalação que elaboraram durante esse projecto? 😉
Penso que poderá ser uma mais valia para muitos que visitam o pplware, até porque vocês escreveram o guia em PT.
Abraço
Cheguei a fazer um trabalho académico com o Snort e com o Guardian que tinha por intuito simular vários ataques a uma máquina e ao mesmo tempo detectar esses mesmos ataques e bloquear.
Lembro-me que ao início foi um pouco complicado perceber o funcionamento mas depois de entrar no esquema era muito fácil configurar novas regras.
Na altura fiz tudo através de linha de comandos não sei se existe no entanto algo gráfico e mais intuitivo.
Cumprimentos.
O meu primeiro trabalho também envolvia o Guardian para haver uma acção defensiva. Neste caso com alterações no IPTables.
🙂
Bom artigo.
@segurança
Já que estamos numa de segurança, hoje é lançada a gama Norton 2010. Também a grande parte dos fabricantes já esta preparada para o Windows 7: http://www.microsoft.com/windows/antivirus-partners/windows-7.aspx
Gostei bastante deste artigo. Tinha uma ideia do que seriam IDS, mas não desta forma tão detalhada como foi aqui explicado. Com certeza que já valeu o dia por aprender mais alguma coisa, segurança é sempre um assunto que mexe muito com pessoal ligado à informática 😀
Parabéns André Nogueira, e continuação de excelentes artigos 😉
A única “firewall” que alguma vez usei (depois do @guard finar) foi o Blackice; infelizmente, foi-se…. era vê-los com os seus netbus e afins, a “bater” nos filtros, quais moscas num parabrisas 🙂
cm sou eu..
Tenho que ler mais tarde este post parece interessante
“Alguns softwares com bugs poderão gerar pacotes corrompidos e isso pode fazer com que o IDS possa gerar falsos positivos.”
Não vejo como possa ser uma limitação – foi graças a isso que tive a confirmação que o Blackice filtrava o tráfego de saída (ao contrário do que reclamava o cromo Gibson): um cliente ftp marado tentou 200 logins quase simultâneos e foi filtrado por duas vezes – não fosse isso e teria com certeza sido considerado hostil e banido do ftp.
Ai pessoal valeu ai pelas dicas de segurança, é qi to fazendo um trabalho da da facu, i muito q disseram foi bm utio pra mim