Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores SEGURANÇA DE REDES DE COMPUTADORES Aula 10: Sistema de Detecção de Intrusão (IDS) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Estratégias de segurança • Prezar a simplicidade; • Determinar os pontos mais fracos; • Atribuir privilégios mínimos; • Incentivar a participação universal; • Criar ponto único de acesso; • Investir na diversidade de defesa: prevenção, detecção e reação. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Consequências • Prevenção não é suficiente: • Número crescente de ataques; • Complexidade crescente; e • Ferramentas de ataque cada vez mais eficientes (automatização). Solução - Detecção de Intrusão: • Garantir comportamento livre de falhas. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Sistemas de detecção de intrusão (IDS) Detecção de Intrusão: Tarefa de coletar e analisar eventos, buscando sinais de intrusão e de mau uso. Intrusão: Ações tomadas para comprometer a autenticidade, confidencialidade, integridade ou a disponibilidade. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: histórico Conceito surgido no início dos anos 80. 1ª Geração: • Registros de auditoria eram processados off-line; • Surgimento dos principais métodos de detecção; 2ª Geração: • Processamento estatisticamente mais sofisticado; • Mais medidas de comportamento monitoradas; • Alertas online tornaram-se possíveis. 3ª Geração: • Uso dos conceitos anteriores para sistemas em rede/sistemas distribuídos; • Uso de novas técnicas para detecção (sistemas especialistas, redes neurais, data mining etc); • Surgimento dos primeiros IDSs comerciais. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: estrutura Componentes em comum: • Geradores de eventos; • Analisadores de eventos; • Bases de dados de eventos; • Unidades de resposta. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: estrutura Coletores (rede) Unidades de resposta Gerentes Analisadores Coletores (host) Base de dados AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS Arquitetura Comportam. pós- detecção Freqüência de uso Método de Detecção Baseado em Comportamento Baseado em Assinaturas Passivo Ativo Monitoramento contínuo Análise periódica Segundo o alvo Segundo a localização Centralizado Hierárquico Distribuído Baseado em Rede Baseado em Host Híbrido IDS: classificação AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Técnicas baseadas em comportamento: • Também chamado de detecção por anomalia; • Caracteriza o comportamento do sistema em normal e anômalo; • Habilidade de distinguir um comportamento normal de um anômalo. Anômalo Normal Intrusão Normal IDS: métodos de detecção AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: métodos de detecção Técnicas baseadas em comportamento: • Compara o estado atual do sistema com o comportamento considerado normal; • Desvios são considerados intrusões; • Ex.: conexões externas em horários incomuns. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: comportamento Vantagens • Detecção de ataques desconhecidos; • Usado na criação de novas bases de assinaturas; • Esforço de manutenção reduzido; • Dependente menos de plataforma; • Facilita a detecção de abusos de privilégios. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: comportamento Desvantagens • Dificuldade de configuração; • Maior número de falsos positivos; • Relatórios de difícil análise; • Menor desempenho (cálculos complexos); • Dificuldade de lidar com mudanças normais de comportamento. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: métodos de detecção Técnicas baseadas em assinaturas • Também chamada de detecção por mau uso; • Divide as ações do sistema em aceitáveis e não aceitáveis; • Habilidade de encontrar tentativas de exploração de vulnerabilidades conhecidas. Não aceitável Aceitável Intrusão Normal AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: métodos de detecção Técnicas baseadas em assinaturas: • Compara as ações realizadas no sistema com uma base de assinaturas de ataques; Ex.: acesso ao arquivo de senhas (/etc/passwd). AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: assinaturas Vantagens: • Baixo número de falsos positivos; • Adoção de contra-medidas imediatas; • Redução na quantidade de informação tratada; • Melhor desempenho. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS: assinaturas Desvantagens: • Detecção só para ataques conhecidos; • Dificuldade de manutenção; • Base de assinaturas pode ser usada em novos ataques; • Difícil detecção de abusos de privilégios. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Baseado em Host • Dados obtidos na própria máquina. • Detecção de ataques relacionados a ações locais. • Exemplos: trilhas de auditoria, cópias de arquivos. • IDSs baseados em aplicação: outra classe. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em host - HIDS OSSEC • Código aberto; • Capaz de analisar registros, verificar integridade, detectar rootkits; • Executa alertas em tempo real e resposta ativa; • Sua funcionalidade se deve às ferramentas de correlação e ao motor de análise. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em host - HIDS OSIRIS • Pode monitorar uma ou mais máquinas periodicamente, mantendo log; • Pode enviar mensagens de monitoramento e de possíveis ataques ao administrador da segurança da rede; • Opensource. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em host - HIDS HP-UX HIDS • Pode realizar monitoramento, gerar alerta da possível invasão; • Detecção baseada em áreas de vulnerabilidades: o os dados de auditoria são correlacionados para determinar em qual delas houve exploração; o quase real-time. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Baseado em rede • Dados analisados são retirados da rede; • Tratar ataques à própria rede; • Permite determinar as operações desencadeadas através da rede; • Informações como: o pacotes de rede (cabeçalhos e dados); o estatísticas de tráfego; o SNMP. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em rede - NIDS UNTANGLE • Pode ser instalado em um computador servidor; • Não requer um sistema operacional para funcionar, por ser um programa servidor. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em rede - NIDS BRO INTRUSION DETECTION SYSTEM • Pode realizar monitoramento passivo do tráfego de rede; • Pode analisar a ocorrência de atividades suspeitas através de eventos em semântica de aplicações, verificando o que é consideradoum ataque. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em rede - NIDS CISCO SECURE IPS • Versão atualizada do NetRanger; • Possui as funcionalidades de segurança de redes combinada a um sistema de prevenção contra intrusos. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em rede - NIDS • PRELUDE HYBRID IDS • Opensource similar ao Snort; • Pode gerenciar as informações de segurança; • Integrável a outras ferramentas de redes e a outros sistemas detectores de intrusões. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores IDS baseados em rede - NIDS • SNORT • Baseado em regras que são processadas na análise dos pacotes. • Modos de operação: o Sniffer; o Registrador de pacotes; o Detecção de intrusos; e o Snort Inline, que é um IPS. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Comparando HIPS x NIPS HIPS VANTAGEM • É específico do host; • Protege host após descriptografia; • Fornece proteção de criptografia em nível de aplicativo. DESVANTAGEM • Dependente do Sistema Operacional; • Eventos inferiores ao nível de rede NÃO serão vistos; • O Host é visível para atacantes. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores VANTAGEM • É o custo-efetivo; • Não é visível na rede; • Independe do Sistema Operacional; • Eventos inferiores ao nível de rede serão vistos. DESVANTAGEM • Não pode examinar o tráfego criptografado; • Não sabe se um ataque foi bem- sucedido. Comparando HIPS x NIPS NIPS AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores https://www.snort.org AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Pra Instalar Pacotes necessários para a instalação do Snort: • libpcap • libpcre • tcpdump • openssl • libdnet • mysql (para gravação de logs no banco de dados MySQL) • postgresql (para gravação de logs no banco de dados PostgreSQL) • gcc • g77 • libpcre3-dev • libnet0-dev AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Pra Instalar Para iniciar o serviço do Snort devemos executar o seguinte comando: – # snort -c /etc/snort/snort.conf -u snort -g snort AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando # vi /etc/snort/snort.conf – Devemos mudar os valores de algumas variáveis. Procure pelas seguintes linhas: var RULE_PATH ../rules var PREPROC_RULE_PATH ../preproc_rules – E mude para: var RULE_PATH /etc/snort/rules var PREPROC_RULE_PATH /etc/snort/preproc_rules AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando output alert_fast: alert_quick Ou: output alert_full: alert_detailed • No modo "alert_fast: alert_quick" o Snort funciona mais rápido, pois gera logs com o mínimo de detalhes possível. No modo "alert_full: alert_detailed" o Snort trabalha um pouco mais lento que no modo anterior, porque ele irá gerar alertas com o máximo de detalhamento possível, além disso, os logs utilizarão mais espaço em disco. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando • Também temos que inserir a linha que indica a pasta de logs do snort. Adicionaremos essa opção no snort.conf da seguinte maneira: config logdir: /var/log/snort AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando • Existem mais duas variáveis importantes na configuração do arquivo snort.conf: HOME_NET e EXTERNAL_NET. Devemos localizar essas variáveis, que estarão dispostas no arquivo snort.conf da seguinte maneira: • var HOME_NET any • var EXTERNAL_NET any AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando • HOME_NET Esta é a rede a ser protegida. • EXTERNAL_NET Esta é a rede de entrada (normalmente é a Internet). AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Configurando • var DNS_SERVERS $HOME_NET • var SMTP_SERVERS $HOME_NET • var HTTP_SERVERS $HOME_NET • var SQL_SERVERS $HOME_NET • var TELNET_SERVERS $HOME_NET • var SNMP_SERVERS $HOME_NET Identifique estes dados da sua rede! AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Por exemplo • var DNS_SERVERS [192.168.1.200/32] • var SMTP_SERVERS [192.168.1.201/32] • var HTTP_SERVERS [192.168.1.202/32] • var SQL_SERVERS [192.168.1.203/32] • var TELNET_SERVERS[192.168.1.204/32] • var SNMP_SERVERS [192.168.1.205/32] A virgula para aceitar mais de um. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Incluir regra include $RULE_PATH include $RULE_PATH/local.rule include $RULE_PATH/backdoor.rules include $RULE_PATH/bad-traffic.rules include $RULE_PATH/chat.rules include $RULE_PATH/ddos.rules include $RULE_PATH/dns.rules include $RULE_PATH/dos.rules include $RULE_PATH/exploit.rules AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Incluir regra alert tcp 192.168.1.50 any -> 192.168.1.1 1:1024 (msg:"tentativa ou acesso, porta < 1025"; sid:1; rev:0;); Na criação de regras para o Snort podemos definir intervalos de portas ou IP's. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Incluir regra alert tcp 192.168.1.50 any -> 192.168.1.1 1:1024 (msg:"tentativa ou acesso, porta < 1025"; sid:1; rev:0;); Na criação de regras para o Snort podemos definir intervalos de portas ou IP's. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Mais detalhes em: # snort -vd 05/07-19:00:02.941503 192.168.0.2.1:137 -> 192.168.255.255:137 UDP TTL:128 TOS:0×0 ID:51302 IpLen:20 DgmLen:78 Len: 50 AC 6D 01 10 00 01 00 00 00 00 00 00 20 45 45 45 .m.......... EEE 46 45 4D 46 45 45 42 44 43 43 41 43 41 43 41 43 FEMFEEBDCCACACAC 41 43 41 43 41 43 41 43 41 43 41 43 41 00 00 20 ACACACACACACA.. 00 01 .. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras As regras no Snort também obedecem a um modelo. O modelo está descrito abaixo: <tipo_de_alerta> <protocolo> <rede_origem> <porta_origem> → <rede_destino> <porta_destino> (Cabeçalho da Regra; Opções; sid:X;...); alert tcp any any -> 192.168.1.0/24 111 (content:"|00 01 86 a5|"; msg:"mountd access";sid:11) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras • Para tipo_de_alerta, nós temos: • alert – Gera um alerta usando um método selecionado e então loga o pacote; • log – Loga o pacote; • pass – Ignora o pacote; • Activate – Alerta e então ativa outra regra dinâmica; • dynamic – Permanece inativa até ser ativado por uma regra activate, então atua como uma regra de log. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras - Para Protocolos, nós temos: 1. tcp; 2. udp; 3. icmp; AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras Para opções de regras, temos quatro categorias principais: 1. meta-data – Essas opções provêem informaçãosobre a regra, mas não tem qualquer efeito durante a detecção; 2. payload – Todas essas opções procuram por dados dentro do payload(seção DATA) do pacote e podem ser inter-relacionadas; 3. non-payload – Essas opções procuram por dados fora do payload; 4. post-detection – Essas opções são regras específicas que acontecem após uma regra ter sido detectada. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Opções de regra de meta-data - msg A opção msg informa a ferramenta de log e alerta qual a mensagem que deve ser imprimida quando o alerta for dado. Formato: msg ”<mensagem texto aqui>”; AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras A opção reference permite as regras incluírem referência externas ao ataque. Essas referências possuem maiores informações sobre o ataque. Atualmente o Snort suporta apenas alguns sistemas específicos com URLs únicas. Abaixo uma lista deles: AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Exemplo reference: <id system>,<id>; [reference: <id system>,<id>;] Vejamos alguns exemplos abaixo: alert tcp any any -> any 7070 (msg:"IDS411/dos- realaudio"; \ flags:AP; content:"|fff4 fffd 06|"; reference:arachnids,IDS411;) alert tcp any any -> any 21 (msg:"IDS287/ftp-wuftp260- venglin-linux"; \ flags:AP; content:"|31c031db 31c9b046 cd80 31c031db|"; \ reference:arachnids,IDS287; reference:bugtraq,1387; \ reference:cve,CAN- 2000- 1574;) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras - sid A opção sid é usada unicamente para identificar regras do Snort. Esta informação permite aos plugins que interagem com o snort identificar regras facilmente. Esta opção deve ser usada com a opção “rev”, que veremos mais abaixo. Formato: sid <snort_rule_id> Deve-se atentar a numeração de id que precisa ser obedecida para se formar um padrão. Ela é a seguinte: • < 100 – Reservada para uso Futuro; • 100 – 1000000 – Regras incluídas com a distribuição do Snort; • > 1000000 – Regras usadas localmente; alert tcp any any -> any 80 (content:"BOB"; sid:1000983; rev:1;) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras - rev Esta opção é usada unicamente para identificar revisões em regras do Snort. Revisões permitem demonstrar uma melhora na escrita das assinaturas de ataques. Esta opção deve ser usada em conjunto com a opção “sid”. Formato: rev <inteiro da revisão> Exemplo: alert tcp any any -> any 80 (content:"BOB"; sid:1000983; rev:1;) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras - Classtype Serve para orientar a categoria de ataque que se está sendo detectado. Trabalha em cima de uma tabela com nome, descrição e prioridade. O usuário pode então especificar qual a prioridade que determinado tipo de ataque tem ao ser detectado. Formato: classtype: <nome da classe>; As classificações de regras são definidas num arquivos chamado classification.config. Este arquivo utiliza a seguinte sintaxe: config classification: <nome da classe>,<descrição>,<prioridade> AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Entendendo as regras - priority A opção priority emite um nível de alerta para a regra. Formato: priority: <inteiro para prioridade>; Exemplo: alert TCP any any -> any 80 (msg: "WEB-MISC phf attempt"; flags:A+;content: "/cgi- bin/phf"; priority:10;) Essa opção é importante na definição de alertas críticos no SNOC AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Respondendo • reset_dest: – Envia pacotes TCP para o destino do ataque, fechando a conexão; • reset_source: – Envia pacotes TCP para a origem do ataque, fechando a conexão; • reset_both: – Envia pacotes TCP para ambos, origem e destino, fechando a conexão; AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Respondendo • icmp_net: – Envia um pacote ICMP network unreachable para a origem do ataque; • icmp_host: – Envia um pacote ICMP host unreachable para a origem do ataque; • icmp_port: – Envia um pacote ICMP port unreachable para a origem do ataque; • icmp_all: – Envia pacotes ICMP host unreachable e ICMP network unreachable para a origem do ataque. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Exemplo alert icmp any any -> any any (msg:"Ping suspeito"; sid:1; resp:icmp_all;) Com a regra acima o Snort gerará um alerta de qualquer pacote ICMP que estiver passando de qualquer máquina para qualquer máquina e enviará pacotes ICMP para a máquina de origem com as seguintes mensagens: host unreachable; network unreachable. AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Antes alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"DDOS TFN Probe"; icmp_id:678; itype:8; content:"1234"; reference:arachnids,443; classtype:attempted- recon; sid:221; rev:4;) alert tcp $HOME_NET any <> $EXTERNAL_NET any (msg:"DDOS shaft synflood"; flow:stateless; flags:S,12; seq:674711609; reference:arachnids,253; reference:cve,2000- 0138; classtype:attempted-dos; sid:241; rev:10;) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Depois alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"DDOS TFN Probe"; icmp_id:678; itype:8; content:"1234"; reference:arachnids,443; classtype:attempted- recon; sid:221; rev:4; resp:icmp_host;) alert tcp $HOME_NET any <> $EXTERNAL_NET any (msg:"DDOS shaft synflood"; flow:stateless; flags:S,12; seq:674711609; reference:arachnids,253; reference:cve,2000- 0138; classtype:attempted-dos; sid:241; rev:10; resp:reset_both;) AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores Não esqueça que precisa: # service snort restart AULA 10: SISTEMA DE DETECÇÃO DE INTRUSÃO (IDS) Segurança de redes de computadores
Compartilhar