630 likes | 706 Views
A Utilização de Sistemas de Detecção de Intrusão no Auxílio à Segurança das Redes de Computadores. UFSC – LRG FURB – DSC Paulo Fernando da Silva. Sumário. Introdução; Classificação; Modelos de Arquitetura; IDS Snort; Estudo de Caso; Pesquisas Sobre IDSs; Interoperabilidade;
E N D
A Utilização de Sistemas de Detecção de Intrusão no Auxílio à Segurança das Redes de Computadores UFSC – LRG FURB – DSC Paulo Fernando da Silva
Sumário • Introdução; • Classificação; • Modelos de Arquitetura; • IDS Snort; • Estudo de Caso; • Pesquisas Sobre IDSs; • Interoperabilidade; • Pesquisa LRG; • Considerações Finais;
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;
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 anti-virus: • 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;
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,CAN-2002-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 – 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 • Exemplo de Alerta gerado; • Alguém deve ler os alertas; • Ferramentas auxiliares: consoles;
IDS Snort - SnortSnarf • Console SnortSnarf; • Provê uma interface amigável; • Diversos tipos de agrupamentos: • Por Alertas; • Por Origem/Destino; • Alertas completos;
Estudo de Caso - Geral • Análise de um ataque em um ambiente real de funcionamento; • Ambiente: • Roteador: conecta a internet à bridge; • Bridge: concentra os mecanismos de segurança; • NAT (network address translator): conecta a bridge à LAN;
Estudo de Caso - Software • Bridge: • Sistema Operacional FreeBSD; • IDS Snort; • Console ACID; • Guardian;
Estudo de Caso - Console ACID • Plugin distribuído junto com o Snort; • Analisa base de dados Snort: • Gera relatórios; • Pesquisa, Visualização, Agrupamento e Geração de estatísticas e gráficos; • Semelhante ao Snort Snarf;
Estudo de Caso - Ataque Portscan • Tentativa de conexão: • Várias portas em um host; • Uma porta específica em vários hosts; • Visa obtenção de informações para um ataque futuro; • Portscan sozinho não representa perigo;
Estudo de Caso - Ataque Portscan • Visa descoberta de backdoor ou servidor; • Tenta explorar vulnerabilidades da porta; • Também pode ser utilizado na proteção das redes;
Estudo de Caso - Ataque Portscan • SCAN Squid Proxy attempt; • alert tcp $EXTERNAL_NET any -> $HOME_NET 3128 (msg:"SCAN Squid Proxy attempt"; flags:S; classtype:attempted-recon; sid:618; rev:8;); • Identificado pela porta de acesso ao Squid;
Estudo de Caso - Ataque Portscan • Ação a ser tomada: • Correlacionar com outros alertas de Portscan; • Determinar se a conexão é legítima; • Analisar outros eventos da origem em questão;
Pesquisas sobre IDSs Aspectos em desenvolvimento • Técnicas de Detecção: • Inteligência Artificial; • Sistemas Imunológicos; • Técnicas de Correlação; • Diminuir informações no log; • Identificar ataques distribuídos; • Interoperabilidade: • Diferentes IDSs trocando informações;
Pesquisas - Interoperabilidade • Existe uma grande diversidade de IDSs: • análise de assinaturas, métodos estatísticos; • baseados em rede, baseados em host; • centralizados, distribuídos; • Sem padrão de arquitetura e comunicação; • A necessidade de interoperabilidade leva à necessidade de padronização;
Interoperabilidade – Padrões • Modelo CIDF: • Divisão em módulos; • Atualmente abandonado; • Modelo IDWG: • Está em fase de Draft (IETF); • Modelo de dados IDMEF; • Tendência a ser implementado;
Interoperabilidade - IDMEF • Define formato e significados dos dados; • Diversidade de informações: • alertas grandes e pequenos; • rede, sistema operacional, aplicativos; • É orientado a objetos;