Um Agente SNMP para Detecção de Intrusão Baseada na Interação de Protocolos Edgar Meneghetti (UFRGS) Luciano Paschoal Gaspary (UNISINOS) Liane Tarouco (UFRGS) 20 o Simpósio Brasileiro de Redes de Computadores
Roteiro da Apresentação! Motivação! Sistemas de Detecção de Intrusão! A Arquitetura Trace! O Agente SNMP para Detecção de Intrusão " Extensões! Conclusões e Trabalhos Futuros! Referências 20º Simpósio Brasileiro de Redes de Computadores 2
Motivação! Sistemas de detecção de intrusão passaram a ser elementos importantes na infra-estrutura de segurança! Muitas alternativas surgiram nos últimos anos, mas alguns problemas ainda permanecem " Excesso de falsos positivos " Flexibilidade e facilidade na descrição de ataques " Monitoração em todos os níveis da rede " Comportamento sob alto tráfego 20º Simpósio Brasileiro de Redes de Computadores 3
Sistemas de Detecção de Intrusão! Analisam atividades de um sistema de computação procurando evidências de comportamento malicioso! Ao observar atividade suspeita " Alerta o administrador (email, pager, pop-up) " Aciona algum mecanismo de defesa (reconfiguração do firewall) 20º Simpósio Brasileiro de Redes de Computadores 4
Sistemas de Detecção de Intrusão! Informações podem ser coletadas de " Registros do sistema (logs) " Rede! Baseiam-se em " Anomalia de comportamento " Assinaturas de ataques 20º Simpósio Brasileiro de Redes de Computadores 5
Sistemas de Detecção de Intrusão! Anomalia de comportamento " Identificação do comportamento normal do sistema " Comparação do estado atual com o esperado " Contempla ataques desconhecidos " Dificuldade em criar uma baseline KB normal atual Tráfego telnet ao longo do dia em 172.16.1.1 20º Simpósio Brasileiro de Redes de Computadores 6
Sistemas de Detecção de Intrusão! Assinaturas de ataques " Descrição dos ataques são armazenados em um BD " Detecção acontece quando comportamento do sistema é idêntico às assinaturas armazenadas " Não contempla ataques desconhecidos " São relativamente simples de serem modeladas Ataque a servidor WEB: procurar pela string GET /scripts/..\%c0\%af../winnt/system32/cmd.exe?/c+dir+c:\ 20º Simpósio Brasileiro de Redes de Computadores 7
Sistemas de Gerenciamento de Redes! Redes TCP/IP Arquitetura SNMP (Simple Network Management Protocol) " Simples e amplamente difundida Estação de Gerenciamento consulta ou atribui valores a objetos agente MIB B C dispositivo 20º Simpósio Brasileiro de Redes de Computadores 8
Sistemas de Gerenciamento de Redes! MIBs (Management Information Bases) padrões " MIB II " Octetos/pacotes de entrada/saída " IP, ICMP, TCP, UDP, SNMP, " RMON (Remote Network Monitoring) " RMON2 " HTTP, SMTP, POP3, FTP,! Não existem MIBs específicas ligadas à detecção de intrusão 20º Simpósio Brasileiro de Redes de Computadores 9
Arquitetura de Gerenciamento Trace Estação de gerenciamento Repositório (PTSL,Java, Perl, Tcl) banco de dados Agente de monitoração browser servidor web scripts (PHP) Trap notifier agente SNMP MIB Script Scripts (PTSL) agente SNMP MIB RMON2 Agente de ação MIB Script scripts (Java, Perl, Tcl) agente SNMP MIB Script scripts (Java, Perl, Tcl) Gerente intermediário 20º Simpósio Brasileiro de Redes de Computadores 10
Arquitetura de Gerenciamento Trace Administrador Gerente Gerente Intermediário Agente de Monitoração Modela assinatura de ataque Modela tarefa de gerenciamento Delega Tarefa Programa Agente Pacotes capturados Quantas Ocorrências? Traço observado Alarme! Alarme! Trap SNMP 100 Número de traços? 20º Simpósio Brasileiro de Redes de Computadores 11
O Agente de Monitoração! É um agente SNMP! Pode ser usado para realizar detecção baseada em assinaturas de ataques e em anomalia de comportamento! Recebe especificação de ataques descritos em PTSL (Protocol Trace Specification Language)! Monitora a ocorrência dos ataques descritos! Atualiza uma MIB RMON2 estendida 20º Simpósio Brasileiro de Redes de Computadores 12
A Linguagem PTSL! A linguagem foi concebida para monitoração de protocolos de alto nível! Possibilita a descrição de ataques através da construção de uma máquina de estados finita " Estados e transições entre o cliente e o servidor " Modelagem natural " Notação gráfica e textual! Permite a correlação de pacotes " Ausente em outros IDS 20º Simpósio Brasileiro de Redes de Computadores 13
A Linguagem PTSL! Alguns exemplos de cenários: " Varreduras de portas " Land " Sondagem de serviços RPC " Excesso de falhas de login 20º Simpósio Brasileiro de Redes de Computadores 14
Varredura de Portas em PTSL! Esta assinatura descreve a ocorrência de varredura de portas utilizando a técnica de envio de pacotes TCP com a flag SYN ligada e a respectiva resposta do alvo (TCP RST) Trace Varredura de Portas SYN idle 2 RST Version: 1.0 Description: Varredura de Portas por SYN/RST. Key: varredura, portas, SYN, RST Port: Owner: Edgar Meneghetti Last Update: Thu Jan 10 09:37:57 BRST 2002 20º Simpósio Brasileiro de Redes de Computadores 15
Land em PTSL! Assinatura que procura pacotes com endereços IP de origem e destino iguais! Causava DoS em alguns sistemas operacionais mais antigos Trace Ataque LAND idle TCP SYN && Iporig=IPdest Version: 1.0 Description: Ataque LAND. Key: LAND,TCP, Windows Port: Owner: Edgar Meneghetti Last Update: Thu Jan 10 09:37:57 BRST 2002 20º Simpósio Brasileiro de Redes de Computadores 16
Sondagem de Serviços RPC em PTSL! Esta assinatura detecta o uso do comando showmount, que exibe os diretórios exportados por máquinas remotas " Varredura de servidores NFS Trace comando showmount RPC GetPort MOUNT RPC Reply idle 2 RPC Dump 3 Version: 1.0 Descriptio n: Utilização do comando showmount. Key: RPC, showmount. Port: Owner: Edgar Meneghetti Last Update: Thu Jan 10 09:37:57 20º Simpósio Brasileiro de Redes de Computadores 17
Excesso de Falhas de Login em PTSL! Assinatura que evidencia tentativas de login mal sucedidas Trace Excesso de falhas de login NoOffSet Login: TCP * idle 2 NoOffSet Login Incorrect 3 Version: 1.0 Description: Login mal sucedido. Key: telnet, login Port: 23 Owner: Edgar Meneghetti Last Update: Thu Jan 10 09:37:57 BRST 2002 20º Simpósio Brasileiro de Redes de Computadores 18
Localização de Campos em PTSL! BitCounter: localiza sequências de bits em um determinado encapsulamento e posição " BitCounter Ethernet 48 4 0010 "More Fragments"! FieldCounter: localiza sequências de caracteres " FieldCounter Ethernet/IP/TCP 0 HTTP/1.1 "Versão do protocolo"! NoOffSet: localiza sequências de caracteres em posição livre " NoOffSet Ethernet/IP/TCP /etc/passwd Tentativa de ler senhas 20º Simpósio Brasileiro de Redes de Computadores 19
Arquitetura do Agente de Monitoração Agente de Monitoração Ambiente de Execução PTSL Fila de pacotes agente SNMP Arquivo PTSL Gerenciador PTSL mecanismo PTSL thread de captura RMON2 MIB Kernel RMON2 Base de dados Fila de pacotes marcados libpcap 20º Simpósio Brasileiro de Redes de Computadores 20
Dados Armazenados pelo Agente! A contagem de traços é feita de forma indireta, através da contagem de pacotes (packets) presentes em cada traço " Um traço com 3 mensagens ocorrido 5 vezes teria 15 pacotes contabilizados na MIB RMON2 143.54.7.1 Varredura 200.248.252.1 10.10.10.1 200.248.252.2 172.16.108.1 Land Sondagem 200.248.252.25 20º Simpósio Brasileiro de Redes de Computadores 21
Desempenho do Agente! Ambiente de teste " Agente sendo executado em K6II-450MHz, 64Mbytes RAM / ethernet 10Mbits/s " Estação gerando tráfego específico aos traços sendo monitorados! Capacidade sustentada medida: " 235 pacotes/segundo (baixo!)! Desempenho degrada com o aumento de traços em monitoração! Em uma rede com 10 estações (10Mbits/s) não apresentou descarte de pacotes 20º Simpósio Brasileiro de Redes de Computadores 22
Conclusões e Trabalhos Futuros! Objetivos alcançados: " Expectativa de redução no índice de falsos positivos e falsos negativos " Flexibilidade para descrever cenários de ataques! O desempenho do agente em tráfego de rajada deve ser melhorado " Substituição do BD MySQL! Geração de uma versão para distribuição (licença GPL) 20º Simpósio Brasileiro de Redes de Computadores 23
Informações para Contato! Edgar Meneghetti edgar@cesup.ufrgs.br! Luciano Paschoal Gaspary paschoal@exatas.unisinos.br! Home-page do projeto Trace http://noc.metropoa.tche.br/trace/ 20º Simpósio Brasileiro de Redes de Computadores 24