IDS – Sistema de detecção de intrusões

15 Comentários

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.

snort1

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.

snort2

OSSEC é um HIDS que permite a detecção de rootkits, alertas e repostas pró-activas e análise de logs .

snort3

Tripwire é um HIDS que permite detectar alterações de ficheiros em sistema Linux.

snort4

Snort é um NIDS que permite realizar a analisar em tempo real o tráfego em redes IP e criar logs.

Partilhar:
Tags:

Comentários

15

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Nuno Amaral
    Nuno Amaral

    Parece muito interessante. Dá para analisar um servidor??

  2. Avatar de André Nogueira
    André Nogueira

    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.

  3. Avatar de NutsPT
    NutsPT

    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?

    1. Avatar de Pedro Simões

      Eu limitei-me a publicar o excelente trabalho do André.

    2. Avatar de Bulldozer
      Bulldozer

      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

  4. Avatar de Miguel M.
    Miguel M.

    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.

    1. Avatar de NutsPT
      NutsPT

      O meu primeiro trabalho também envolvia o Guardian para haver uma acção defensiva. Neste caso com alterações no IPTables.

      🙂

  5. Avatar de viperbruno

    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

  6. Avatar de softclean
    softclean

    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 😉

  7. Avatar de cm
    cm

    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 🙂

    1. Avatar de CarlosMC
      CarlosMC

      cm sou eu..

  8. Avatar de Fernando
    Fernando

    Tenho que ler mais tarde este post parece interessante

  9. Avatar de CarlosMC
    CarlosMC

    “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.

  10. Avatar de LukasCeres

    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