1.4 – Sistemas de Detecção de
Intrusão
•
•
•
•
Conceitos;
Arquitetura;
Técnicas;
Classificações;
Introdução - Conceitos
• Detecção de Intrusão envolve:
– Coletar e analisar informações;
– Identificar e rastrear ataques;
– Enviar respostas;
• Sistemas de Detecção de Intrusão
(IDSs):
– Ferramentas que executam a detecção de
intrusão;
Introdução - Funcionamento Básico
• Consiste na monitoração de eventos
– Rede, Host ou Aplicação;
• Visando identificar ataques;
• Ataques geram alertas;
• Opcionalmente podem ser enviadas
respostas:
– Encerramento de conexões, de processos,
alteração em permissões de arquivos;
Introdução - Funcionamento Básico
Classificação - Método
Baseado em Comportamento
• Cria um perfil para os usuários;
• Classifica o comportamento como
normal ou anômalo;
• Procura por anomalias;
• Para situações consideradas anormais
são gerados alertas;
Classificação - Método
Baseado em Comportamento
• Vantagens:
– Detecção de ataques deconhecidos;
– Esforço de manutenção reduzido;
• Desvantagens:
– Dificuldade de configuração;
– Menor desempenho (cálculos complexos);
– Dificuldade de lidar com mudanças normais de
comportamento;
Classificação - Método
Baseado em Comportamento
• Sistemas adaptativos:
– Estabelece um padrão considerado normal
• horários, tipo de recurso, tipo de aplicação;
– Alerta para situações fora do padrão;
– Ex.:
• Acesso às 4hs da manhã
• Usuário do comercial compilando programas
• Programador utilizando impressora
Classificação - Método
Baseado em Comportamento
• Análise estatística:
– São montados modelos estatísticos do
ambiente;
– Eventos fora do modelo são considerados
ataques em potencial;
– Ex.:
• Tempo de sessão de Telnet;
• Quantidade de download/upload;
Classificação - Método
Baseado em Conhecimento
• Semelhante ao funcionamento de antivirus:
– Deve existir uma base de ataques conhecidos;
– A base deve sempre ser atualizada;
• Os eventos são comparados com as
informações da base;
• Se um evento estiver na base, é gerado
um alerta;
Classificação - Método
Baseado em Conhecimento
• Vantagens:
– Baixo número de alertas falsos;
• Desvantagens:
– Só detecta ataques conhecidos;
– Dificuldade de manutenção;
Classificação - Método
Baseado em Conhecimento
• Análise de assinaturas:
–
–
–
–
Existe uma base de assinaturas;
Assinaturas são definições de ataques;
Compara os eventos com a base de assinaturas;
Ex.:
• “Comunicação da porta 80 TCP”
• “Acesso ao arquivo de senhas”
• “Acesso à tabela de salários”
Classificação – Segundo o Alvo
• Baseado em Host:
– Monitora as informações do host em que está
instalado;
– Fortemente relacionado com o SO;
– Trabalha com processos, usuários, arquivos e
diretórios;
Classificação – Segundo o Alvo
• Baseado em Rede:
– Monitora as informações da rede em que está
instalado;
– Está fortemente relacionado com os protocolos;
– Trabalha com endereços IP, portas TCP/UCP;
Classificação – Segundo o Alvo
• Baseado em Aplicação:
– Monitora as informações de uma aplicação
específica;
– Está fortemente relacionado com a natureza da
aplicação;
• Banco de Dados ou Sistema Comercial;
– Trabalha com tabelas, telas, funções;
Modelos de Arquitetura
• Existem diversos tipos de IDSs;
• Não possuem um padrão quanto à sua
implementação;
• Modelos visam estabelecer um padrão
de arquitetura para os IDSs;
Modelos de Arquitetura - IDWG
Fonte de
Dados
Atividade
Sensor
Operador
Evento
Notificação
Atividade
Sensor
Administrador
Evento
Analisador
Política de Segurança
Alerta
Gerenciador
RESPOSTA
IDS Snort
• Um dos IDSs mais populares;
• Classificação:
– Método de Detecção: Análise de Assinaturas;
– Alvo: Rede;
• Possui uma grande base de assinaturas
– Mais de 2000 assinaturas;
IDS Snort
• Disponível para Windows e Unix;
• Realiza a captura de pacotes de rede;
• Compara cabeçalhos e dados com as
assinaturas;
– Faz log ou gera alertas;
IDS Snort - Atributos da Regra
• Atributos básicos:
– Ação: log, alert ou pass;
– Protocolo: IP, TCP, UDP, ICMP, Any;
– Endereço Origem/Destino: Home_Net,
External_Net, Any, End. IP;
– Porta Origem/Destino: Any, número da porta;
– Msg: Texto descritivo;
IDS Snort – Exemplos de Regras
• alert icmp $HOME_NET any -> $HOME_NET
any (msg:"Qualquer tipo de trafego ICMP foi
gerado.");
• alert tcp $HOME_NET 146 -> $HOME_NET
1024 (msg:“Backdoor Activity“;
content:”WHATISIT”; reference:cve,CAN2002-0013; sid:1415; rev:2;
classtype:backdoor;);
IDS Snort - Flexresp
• Permite que o Snort envie respostas;
• Atua em conexões TCP e mensagens
ICMP;
• Resposta adicionada na regra:
– resp:<resp_modifier>[,<resp_modifier>...]
IDS Snort - Flexresp
• Resp_modifier pode ser:
– rst_snd: envia TCP_RST para origem;
– rst_rcv: envia TCP_RST para destino;
– rst_all: envia TCP_RST para ambos;
–
–
–
–
icmp_net: envia rede desconhecida p/ origem;
icmp_host: envia host desconhecido p/ origem;
icmp_port: envia porta desconhecida p/ origem;
icmp_all: envia todas as opções acima p/ origem;
IDS Snort - Flexresp
IDS Snort – Modo Sniffer
• Apenas exibe pacotes monitorados;
• ./snort –v: exibe IP,TCP,UDP e ICMP;
• ./snort –vd: exibe dados da aplicação;
• ./snort –vde: exibe informações de
enlace;
IDS Snort – Modo Log
• Grava informações monitoradas em log;
• ./snort -dev -l ./log: especifica o local do
log;
IDS Snort – Modo IDS
• Testa regras e gera alertas;
• É necessário informar o arquivo de
configurações;
• ./snort -dev -l ./log -c snort.conf;
IDS Snort – Modo IDS
Snort.conf:
• Definição de variáveis para assinaturas;
– var FTP_Ports 20 21
• Arquivos de assinaturas;
– include $RULE_PATH/tftp.rules
– include $RULE_PATH/icmp.rules
IDS Snort - Execução
IDS Snort - Execução
• Exemplo de Alerta gerado;
• Alguém deve ler os alertas;
• Ferramentas auxiliares: consoles;