Auditoria e Segurança da
Informação– GSI536
Prof. Rodrigo Sanches Miani – FACOM/UFU
Tópicos
Motivação;
Características;
Histórico;
Tipos de detecção de intrusão;
Detecção de intrusão baseada na rede;
Detecção de intrusão baseada no host;
Sistemas de prevenção de intrusão (IPS);
Exemplos;
Conclusão.
Motivação
Motivação
Utilização cada vez maior da Internet e a criação de
ambientes cooperativos, levam a uma crescente preocupação
quanto à segurança;
Atualmente, não é mais necessário ter conhecimentos
avançados em um determinado sistema operacional ou
protocolo para explorar suas vulnerabilidades;
Existem diversas ferramentas que, juntas, contribuem
significativamente para a melhoria da segurança de uma rede;
Motivação
Por exemplo: Criptografia para a proteção dos dados e
Firewall para o controle do fluxo da rede;
Um sistema de detecção de intrusão (Intrusion Detection
System – IDS) tem como objetivo detectar atividades
suspeitas, impróprias, incorretas ou anômalas;
Em outras palavras, o principal objetivo de um IDS é obter
informações sobre os eventos (maliciosos ou não) em uma
rede;
Histórico
Histórico
O conceito de detecção de intrusão foi introduzido por James
Anderson, com o artigo "Computer Security Threat Monitoring
and Surveillance", no início de 1980;
Ele definiu o conceito de que a realização de auditoria poderia
revelar informações vitais para o rastreamento de usos
impróprios do sistema e também para a compreensão do
comportamento do usuário;
O artigo de Anderson fundamentou o projeto e desenvolvimento
de IDS e foi responável pelo início da detecção de intrusão
baseada no host;
Histórico
Em 1983, a Dorothy Denning, começou a trabalhar com detecção de
intrusão. O objetivo do projeto era analisar estações Sun e traçar o
perfil dos usuários baseado em suas atividades;
Um ano mais tarde, Denning, juntamente com Peter Neumann,
desenvolveu o primeiro modelo para detecção de intrusão, o Sistema
Especialista em Detecção de Intrusão, ou Intrusion Detection Expert
System (IDES);
Em 1984, a SRI desenvolveu um meio de rastrear e analisar
informações de autenticação de usuários da ARPANET, a rede que
futuramente seria a Internet.
Histórico
Em 1987, Denning, baseado em suas experiências anteriores
publicou o artigo “An intrusion detection model”;
Nesse artigo foi proposto o primeiro modelo formal de detecção
de intrusão, baseado em desvios de comportamento padrão do
sistema;
O mercado de detecção de intrusão começou a ganhar
popularidade e gerar retorno somente por volta de 1997;
Em 1998, Martin Roesch, desenvolveu o sistema de detecção de
intrusão open source chamado Snort;
Atualmente o Snort possui mais de 400 mil usuários registrados e
é o IDS mais utilizado no mundo.
Características
Características
Um IDS funciona como uma câmera ou um alarme contra as
intrusões, podendo realizar a detecção com base em algum tipo
de conhecimento:
Assinatura de ataques;
Desvios de comportamentos;
Informações importantes sobre tentativas de ataques, que não se
pode obter normalmente, podem ser conseguidas por meio
desses sistemas (Ataques internos, por exemplo);
IDSs podem oferecer subsídios suficientes para que a
organização melhore sua proteção contra diversos tipos de
ataques.
Características – Funcionamento básico
Características – Funções do IDS
Características importantes
Monitoramento e análise das atividades dos usuários e
sistemas;
Avaliação da integridade de arquivos do sistema;
Análise estatística do padrão de atividade da rede;
Análise baseada em assinaturas de ataques conhecidas;
Detecção em tempo real;
Identificação do destino do ataque;
Capacidade de registro do ataque (logs);
Fornecimento de informações valiosas sobre atividades
suspeitas na rede.
Ações que podem ser tomadas como
resposta
Reconfiguração do firewall;
Alarme (som);
Geração de eventos do Windows;
Geração de logs por meio do Syslog;
Envio de e-mail;
Gravação das informações sobre o ataque;
Execução de um programa capaz de manipular o evento;
Finalização da conexão. (IPS não IDS!)
Tipos de detecção de intrusão
Tipos de IDS
Três tipos de IDS:
Baseado em host (Host-Based Intrusion Detection System – HIDS);
Baseado em rede (Network-Based Intrusion Detection System – NIDS);
Híbrido;
A combinação de diferentes tipos de IDS é importante para
que a organização fique protegida contra diversos tipos de
ameaças;
Por exemplo, ataques vindos da Internet podem ser
detectados utilizando NIDS, enquanto servidores na DMZ
podem ser monitorados usando HIDS;
Baseado em host (HIDS)
HIDS faz o monitoramento do sistema com base em
informações de logs ou de agentes de auditoria;
O objetivo é monitorar toda a atividade em estações
específicas;
O HIDS pode ser capaz de monitorar acessos e alterações
em importantes arquivos do sistema, modificações nos
privilégios dos usuários, processos do sistema, programas
que estão sendo executados, uso da CPU e etc;
Também pode realizar a checagem da integridade dos
arquivos do sistema;
Baseado em host (HIDS)
Exemplo de HIDS que faz a análise de logs é o Swatch;
O Swatch é capaz de enviar uma mensagem de alerta assim
que acontece um evento de ação suspeita, com base em um
padrão definido;
Portsentry é um tipo de HIDS capaz de monitorar as portas do
sistema, detectando tentativas de port scanning;
Baseado em host (HIDS) - Vantagens
Pode verificar o sucesso ou a falha de um ataque, com base
nos logs do sistema;
Monitoramento de atividades do sistema, como: acesso a
arquivos, modificação em permissões de arquivos, logon e
logoff do usuário e etc;
Ataques que ocorrem fisicamente no servidor/host podem ser
detectados pelo HIDS;
É independente da topologia da rede;
Gera poucos falsos positivos (alarmes falsos);
Não necessita de hardware adicional.
Baseado em host (HIDS) - Desvantagens
É difícil gerenciar e configurar todos os hosts que devem ser
monitorados, causando problemas de escalabilidade;
É dependente do sistema operacional;
Não é capaz de detectar ataques de rede;
Caso o HIDS seja invadido, as informações podem ser
perdidas;
Em alguns casos, diminui o desempenho do host monitorado;
Baseado em rede (NIDS)
O NIDS monitora o tráfego do segmento da rede, geralmente
com a interface de rede atuando em modo promíscuo;
A detecção é realizada com a captura e análise dos
cabeçalhos e conteúdos dos pacotes, que são comparados
com padrões ou assinaturas conhecidas;
Exemplos: RealSecure, NFR e Snort.
Baseado em rede (NIDS)
SDIR = Sistema de Detecção de Intrusão baseado em Rede (NIDS)
Baseado em rede (NIDS)
Os NIDSs podem ser divididos em duas partes:
Sensores: ficam espalhados pelos segmentos de rede, são os
responsáveis pela capura, formatação de dados e análise do tráfego da
rede;
Gerenciador ou console: faz com que os sensores sejam administrados
de modo integrado, com a definição dos tipos de resposta a serem
utilizados para cada tipo de comportamento suspeito detectado;
Importante: a comunicação entre os sensores e o console
deve ser segura!
Baseado em rede (NIDS)
Uma característica importante do NIDS é sua capacidade de
detectar ataques na rede em “tempo real”;
Como os sensores atuam em modo promíscuo no mesmo
segmento de rede de um servidor atacado, por exemplo, ele
pode capturar os pacotes referentes ao ataque, analisar e
responder ao ataque praticamente ao mesmo tempo em que o
servidor é atacado;
A resposta poderia ser, por exemplo, o término da conexão.
(IPS não IDS!)
Baseado em rede (NIDS) - Vantagens
O monitoramento pode ser feito em múltiplas plataformas;
Com a análise de cabeçalhos e do payload de pacotes,
ataques de rede como port scanning e Ip Spoofing podem ser
detectados;
Ataques identificados em tempo real;
NIDS detectam não só ataques, mas também as tentativas de
ataque que não tiveram sucesso;
Com um NIDS funcionando, é difícil para um hacker apagar
seus registros;
Não causa impacto no desempenho da rede.
Baseado em rede (NIDS) - Desvantagens
Não é capaz de monitorar tráfego cifrado;
Dificuldade de utilização em redes segmentadas;
Devem possuir alto recurso computacional para poder
armazenar e analisar grandes volumes de dados
Híbrido (HIDS)
A utilização de dois tipos de IDS ao mesmo tempo traz
grandes benefícios;
Por exemplo, em uma cenário com servidores Web, pode
acontecer ataques como SYN Flooding, Smurf, Port scanning
e pichação de sites;
O NIDS será capaz de detectar o SYN Flooding, Smurf e Port
scanning;
Somente o HIDS é capaz de detectar a pichação de sites;
O IDS híbrido tem como objetivo combinar os pontos fortes do
HIDS e do NIDS, a fim de oferecer uma melhor capacidade de
detecção de intrusões;
Híbrido (HIDS)
Metodologias de detecção
Metodologias de detecção
As metodologias utilizadas pelos IDS para a detecção de um
ataque são:
1) Knowledge-Based Intrusion Detection (baseada em uma
base de dados de assinaturas)
2) Behavior-Based Intrusion
comportamento da rede)
Detection
(baseada
no
Baseada em uma base de dados de
assinaturas
Abordagem amplamente utilizada;
As detecções são realizadas com fundamentos em uma base de
dados com informações sobre ataques conhecidos;
Funcionamento semelhante ao de um antivírus, no qual o IDS
procura por um padrão ou uma assinatura de ataque que esteja
nessa base de dados;
Qualquer ação que não esteja no conjunto de assinaturas, será
considerada aceitável;
Taxa de acerto alta, porém depende da atualização constante da
base de assinaturas.
Ex. Snort
Exemplo de assinatura (Snort)
alert tcp any any -> 192.168.1.0 111
(content:"|00 01 86 a5|"; msg: "mountd access";)
- Pacote TCP;
- Origem à partir de qualquer endereço IP em qualquer porta;
- Destino para qualquer IP da rede 192.168.0.1 na porta 111;
Baseado no comportamento da rede
Esse tipo de metodologia assume que as intrusões podem ser
detectadas por meio de desvios de comportamento dos
usuários ou dos sistemas;
Primeiramente, deve ser definido um modelo de normalidade
da rede e depois comparar com a atividade em andamento;
Qualquer comportamento suspeito, diferente do padrão, é
considerado intrusivo;
Exemplos: bancos e operadoras de cartão de crédito.
Baseado no comportamento da rede
A decisão é tomada por meio de uma análise estatística ou
heurística, a fim de encontrar possíveis mudanças de
comportamento, tais como:
Súbito aumento de tráfego;
Utilização da CPU;
Atividade de disco;
Logon de usuários;
Acesso à discos;
A abordagem utilizada é de que tudo o que não foi visto
anteriormente é perigoso, e deve ser evitado;
Baseado no comportamento da rede
O lado negativo dessa abordagem é que o IDS pode gerar falsos
negativos (um determinado ataque pode não causar mudanças
significativas na rede) e falsos positivos (erros na medição do
tráfego normal);
Para minimizar esses problemas diversas pesquisas estão em
andamento, principalmente com a utilização de inteligência
artificial;
Exemplos: Next-Generation Intrusion Detection Expert System
(IDES) e Event Monitoring Enabling Responses to Anomalous
Live (Emerald).
Localização do IDS na rede
Sistemas de prevenção de intrusão
(IPS)
Sistemas de prevenção de intrusão (IPS)
IDS atuam de maneira passiva, apenas escutando e coletando o
tráfego;
IDS em modo passivo não podem controlar o tráfego, ignorando,
modificando, atrasando ou injentando novos pacotes na rede;
Um IDS operando de forma semelhante a um firewall, onde todo
o tráfego da rede passa por ele pode não apenas detectar os
ataques, mas também preveni-los, pois os pacotes de ataque
não chegaram aos servidores ainda;
Esses tipos de IDS são chamados de IPS (Intrusion Prevention
Systems) – Sistemas de prevenção de intrusão.
Exemplos
Baseado em host (HIDS)
Tripwire - http://www.tripwire.com/ (Pago / Windows /
Linux / Solaris)
Swatch - http://sourceforge.net/projects/swatch/ (Free /
Linux)
http://sourceforge.net/projects/sentrytools/
(Adquirido pela Cisco e incorporado em seus produtos –
Esta é uma versão alternativa)
Portsentry
Baseado em rede (NIDS)
Snort - http://www.snort.org/ (Free - Windows / Linux)
BlackICE (ISS/IBM) , NFR (CheckPoint) , CyberCop (McAfee);
Outros detectores de intrusão podem ser encontrados em:
http://sectools.org/tag/ids/
Exemplo de registro de IDS/IPS
Conclusão
Conclusão
Os sistemas de detecção de intrusão ainda estão longe de atingir
sua maturidade;
Apesar de serem desenvolvidos há algum tempo, ainda existem
muitos problemas a serem resolvidos;
Existem diversos sistemas já implementados mas todos
apresentam ainda falsos positivos (detectam falsamente uma
invasão) e falsos negativos (não detectam a invasão);
Técnicas de inteligência artificial podem ser utilizadas para
melhorar as taxas de falsos positivos e negativos;
Apesar disso, tais sistemas têm se mostrado extremamente úteis
para melhorar a conhecimento do nível de segurança da
organização.
Download

Tópico 4 - Segurança de Redes e Aplicações - IDS