Sistemas de Detecção de Intrusões (IDS – Intrusion Detection Systems) usando unicamente softwares Open Source

Sistemas de Detecção de Intrusões (IDS - Intrusion Detection Systems) usando unicamente softwares Open Source.

Por Victor Santos.

Este artigo tem como objetivo apresentar aos iniciantes um estudo introdutório realizado sobre Sistemas de Detecção de Intrusões (IDS – Intrusion Detection Systems) usando unicamente softwares Open Source. Serão abordadas as formas de detecção, tipos de IDS, classificação e no final serão apresentadas as ferramentas Snort e Ossec.

  1. Introdução
  2. Tipos de Sistemas de Detecção de Intrusão
    1. Sistemas de Detecção de Intrusão baseados em Host (HIDS)
    2. Sistemas de Detecção de Intrusão baseados em Rede (NIDS)
    3. Sistemas de Detecção de Intrusão Híbridos
  3. Formas de Detecção
    1. Detecção por Assinatura
    2. Detecção por Anomalias
  4. Modelo de Utilização
    1. Modo Passivo
    2. Modo Reativo
  5. Ferramentas
    1. SNORT
    2. OSSEC-HIDS
  6. Conclusão

Foto: Imagem ilustrativa do treinamento  ”Fortalecimento (Hardening) de Servidores Unix/Linux” por Academia Clavis Segurança da Informação, CC-BY-NC-ND.

Introdução

A popularização do computador nas décadas de 80 e 90 fez com que todo o mundo assistisse uma verdadeira “revolução tecnológica”, onde o computador passou a desempenhar um papel fundamental na vida de todos. Grandes empresas utilizando redes financeiras e sistemas de comunicação passaram a depender cada dia mais dos sistemas computacionais e até hoje o avanço da tecnologia vem trazendo inúmeros benefícios e facilidades para toda a sociedade.

Se por um lado essa “revolução” introduziu facilidades, por outro lado ela trouxe também inúmeras ameaças virtuais. A medida que as tecnologias de rede avançam em direção ao futuro e a informação passa a ser o principal ativo de muitas organizações, é necessário a implementação de mecanismos para proteger os dados . A cada dia surgem novas ferramentas automatizadas ou código-fonte de explorações de falhas de sistemas prontos que promovem acesso a servidores de redes, comprometendo sua segurança. Hoje em dia não é mais necessário ter conhecimentos avançados em um determinado sistema operacional ou protocolo para explorar suas vulnerabilidades, basta apenas pesquisar no Google.

Existem diversas ferramentas que contribuem significativamente para melhoria da segurança de uma rede, tais como: a criptografia, que estabelece um nível de proteção para dados, o uso de Firewalls estabelecem uma lógica na entrada e saída da rede controlando o tráfego a nível de pacotes, a VPN que cria um túnel criptografado entre 2 pontos de rede, etc…

Entre elas, o Sistema de Detecção de Intrusão merece um destaque especial, pois engloba o processo de monitorar, identificar e notificar a ocorrência de atividades maliciosas, atividades não-autorizadas que coloquem em risco e tenham como alvo ativos de tecnologia de uma rede de computadores.

Banner-CompTIA-Security+-Curso-Online-Oficial

Tipos de Sistemas de Detecção de Intrusão

Sistemas de Detecção de Intrusão baseados em Host (HIDS)

Sistemas de Detecção de Intrusão baseados em Host monitora e analisa informações coletadas de um único Host (Máquina). Não observa o tráfego que passa pela rede, seu uso volta-se a verificação de informações relativas aos eventos e registros de logs e sistema de arquivos (permissão, alteração, etc.). São instalados em servidores para alertar e identificar ataques e tentativas de acesso indevido à própria máquina, sendo mais empregados nos casos em que a segurança está focada em informações contidas em um servidor e os usuários não precisam ser monitorados. Também é aplicada em redes onde a velocidade de transmissão é muito alta como em redes “Gigabit Ethernet” ou quando não se confia na segurança corporativa da rede em que o servidor está instalado.

Sistemas de Detecção de Intrusão baseados em Rede (NIDS)

Sistemas de Detecção de Intrusão baseados em Rede monitora e analisa todo o tráfego no segmento da rede. Consiste em um conjunto de sensores que trabalha detectando atividades maliciosas na rede, como ataques baseados em serviço, portscans, etc… São instalados em máquinas responsáveis por identificar ataques direcionados a toda a rede, monitorando o conteúdo dos pacotes ou do tráfego e seus detalhes como informações de cabeçalhos e protocolos. Os NIDS tem como um dos objetivos principais detectar se alguém está tentando entrar no seu sistema ou se algum usuário legítimo está fazendo mau uso do mesmo.

Sistemas de Detecção de Intrusão Híbridos

Sistemas de Detecção de Intrusão Híbridos é utilização dos sistemas baseados em redes e dos sistemas baseados em Host para controlar e monitorar a segurança computacional de um ambiente.

Formas de Detecção

Detecção por Assinatura

A Detecção por assinatura analisa as atividades do sistema procurando por eventos que correspondam a padrões pré-definidos de ataques e outras atividades maliciosas. Estes padrões são conhecidos como assinaturas e geralmente cada assinatura corresponde a um ataque. Uma desvantagem desta técnica de detecção é que ela pode detectar somente ataques conhecidos, ou seja, que estão incluídos no conjunto de assinaturas que o IDS possui, necessitando-se assim de constante atualização diante da rapidez que novos ataques surgem.

banner-2-certificacao-clavis-formacao-aduitoria-teste-de-invasao-pentest

Detecção por Anomalias

A detecção por anomalias parte do princípio que os ataques são ações diferentes das atividades normais de sistemas. IDS baseado em anomalias monta um perfil que representa o comportamento rotineiro de um usuário, Host e/ou conexão de rede. Estes IDS’s monitoram a rede e usam várias métricas para determinar quando os dados monitorados estão fora do normal, ou seja, desviando do perfil. Uma desvantagem é a geração de um grande número de alarmes falsos devido ao comportamento imprevisível de usuários e do próprio sistema.

Modelo de Utilização

Modo Passivo

Um IDS passivo quando detecta um tráfego suspeito ou malicioso gera um alerta e envia para o administrador. Não toma nenhum atitude em relação ao ataque em si.

Modo Reativo

Um IDS reativo não só detecta o tráfego suspeito ou malicioso e alerta o administrador, como também possuí ações pré-definidas para responder as ameaça. Normalmente, isso significa bloquear todo o tráfego do IP suspeito ou do usuário mal-intencionado.

Existem diversos outros tipos de abordagens possíveis para a classificação de um IDS, veja a figura abaixo .

Diagrama de tipos de classificação de um Sistema de Detecção de Intrusão
Tipos de Classificação de um IDS

Ferramentas

SNORT

O Snort é um sistema de detecção de intrusão Open Source baseado em redes, capaz de realizar análise de tráfego e captura de pacotes em tempo real em redes que utilizam o protocolo IP. Ele pode analisar protocolos, buscar por conteúdo específico, e pode ainda ser utilizado para detectar uma variedade de ataques e sondas, tais como: buffer overflows, portscans, ataques de CGI, tentativas de identificação de sistema operacional, entre outros. O Snort pode ser utilizado de 3 formas:

  • Captura de pacotes
  • Analisado de tráfego de rede (Sniffer)
  • Sistema completo de detecção de intrusão em redes.

O Snort faz a sua detecção baseado em assinaturas utilizando uma linguagem flexível de regras para analisar o tráfego coletado. Estas assinaturas/regras são atualizadas diariamente pela sua equipe de desenvolvimento, assim como por entusiastas e voluntários e podem ser obtidas diretamente da Internet, inclusive por processos automatizados.

Além de suas regras, o Snort também trabalha com o chamados de pré-processadores. Estes pré- processadores realizam funções específicas e cruciais para a eficiência do Snort, como, por exemplo, detectar portscans, detectar padrões de ataques mais complexos e mecanismos para remontar sequências de pacotes fragmentados.

A figura abaixo demonstra o processo de captura e análise de tráfego do Snort:

Existem também mecanismos de integração do SNORT com Firewalls, como o SnortSam e o Snort-inline, transformando ele em um modelo de IDS reativo. O SnortSam permite que o SNORT possa interagir diretamente com diversos Firewalls do mercado, desde o básico IPChains/IPTiptables até produtos avançados, como o Cisco Firewall. Já o Snort-inline, é uma opção de compilação do SNORT e permite a alteração da forma como ele trata os pacotes, ao invés de registar e alertar ele faz um “drop” na conexão suspeita.

Trabalhando com um interface de correlação de eventos como o BASE podemos gerenciar a estatísticas de tentativas de intrusão para otimizar os nossos mecanismos de segurança.

OSSEC-HIDS

O OSSEC [4] é um Sistema de Detecção de Intrusão Open Source baseado em Host que possui como desenvolvedor principal o brasileiro Daniel Cid e tem como principais funções:

  • Análise de Logs
  • Integridade de Sistemas
  • Detecção de rootkit
  • Alertas e resposta ativa (regras no Firewall ou TCP Wrappers).

Em 2007 foi eleita, pela Linuxworld, a melhor ferramenta de segurança Open Source. Sua fácil instalação, totalmente intuitiva e fácil configuração com arquivo em formato XML, o transforma em uma excelente opção para monitoramento e auditoria de servidores.

Multiplataforma e sob a licença GPLv3, o OSSEC suporta uma vasta gama de logs, tais como: Unix pan, sshd (OpenSSH), Unix telnetd, Samba, Su, Sudo, Proftpd, Pure-ftpd, vsftpd, Solaris ftpd, Imapd and pop3d, Horde imp, Named (bind), Postfix, Sendmail, Iptables firewall, Solais ipfilter firewall, AIX , ipsec/firewall, Netscreen firewall, Snort IDS, Apache web server (access log and error log), IIS web server, Squid proxy, Windows event logs, Generic unix authentiction (adduser, logins, etc).

Ele possui os seguintes modos de atuação:

  • Local – Monitora e análise somente o Host onde o Ossec está instalado.
  • Servidor – Monitora e a analisa os logs enviados pelos Agentes.
  • Agente – Funciona como cliente e envia todas as informações para o servidor processar e analisar. Veja a Figura abaixo.

O Ossec pode trabalhar em conjunto com o Snort, transformando o ambiente em um sistema de Detecção Híbrido, pois ele analisa os logs e alertas gerados pelo Snort, e os classifica de acordo com as assinaturas geradas e alerta ao administrador.

Conclusão

Seja para monitorar e analisar atividades suspeitas na rede ou realizar a auditoria na infraestrutura, de acordo com as vulnerabilidades existentes, um sistema de detecção de intrusão se faz fundamental para otimizar os controles de segurança da empresa e entender melhor as tentativas e vetores de ataques que vem surgindo ao longo do tempo. É bom frisar que a utilização de um IDS não atende a todas as necessidade de segurança de uma organização, sendo necessário utilizar outro mecanismo para auxiliar na Proteção de Perímetro.

Para saber mais:

Marcus Silva, Miguel Sampaio, Mário Antunes, Miguel Fraude. Estudo de Sistemas de Detecção de Prevenção de Intrusões – Uma abordagem Open Source (2006)
SNORT: http://www.snort.org
SnortSam: http://www.snortsam.net
OSSEC: http://www.ossec.net

Banner-CompTIA-Security+-Curso-Online-Oficial