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;