um agente snmp para detecção de intrusão baseada na...

31
Um Agente SNMP para Detecção de Intrusão Baseada na Interação de Protocolos Edgar Meneghetti (UCS) Luciano Paschoal Gaspary (UNISINOS) Liane Tarouco (UFRGS) GTS 01.2004

Upload: vohanh

Post on 08-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

Um Agente SNMP para Detecção de Intrusão Baseada na Interação

de ProtocolosEdgar Meneghetti (UCS)

Luciano Paschoal Gaspary (UNISINOS)Liane Tarouco (UFRGS)

GTS 01.2004

Page 2: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

2GTS 01.2004

Roteiro da Apresentação

Motivação Sistemas de Detecção de Intrusão Sistemas de Gerenciamento de Redes

Arquitetura Trace O Agente SNMP para Detecção de Intrusão

Extensões Conclusões e Trabalhos Futuros Referências

Page 3: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

3GTS 01.2004

Motivação

Muitas organizações (médio e grande porte) utilizam plataformas de gerenciamento de rede Geralmente direcionadas a gerenciamento de

falhas e desempenho (Tivoli, OpenView, etc) Segurança é tratada de forma paralela

Geralmente não há integração com as plataformas

Atividades redundantes monitoração Não há visão integrada da estrutura de TI

Pode ser interessante integrar segurança e gerenciamento...

Page 4: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

4GTS 01.2004

Desafios em Detecção de Intrusão

Baixo índice de falsos positivos e falsos negativos

Flexibilidade para descrever cenários de ataques Sistemas programáveis através de

linguagens de fácil aprendizado Capacidade de monitorar ataques em todos

os níveis: físico, rede, transporte e aplicação Capacidade de suportar alto tráfego

Page 5: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

5GTS 01.2004

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)

Page 6: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

6GTS 01.2004

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

Page 7: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

7GTS 01.2004

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 determinar comportamento

“normal” - baseline

Tráfego DNS ao longo do dia em 172.16.1.1

normalatual

KB

Page 8: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

8GTS 01.2004

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:\

Page 9: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

9GTS 01.2004

Gerenciamento de Redes

Redes TCP/IP Arquitetura SNMP (Simple Network Management Protocol) Simples e amplamente difundida

B

consulta ou atribui valores a objetos

C

dispositivo

Estação de Gerenciamento

MIBagente

Page 10: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

10GTS 01.2004

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

Page 11: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

11GTS 01.2004

Arquitetura de Gerenciamento Trace

A plataforma de gerenciamento Trace é uma estensão da infra-estrutura centralizada de gerenciamento SNMP

Através de um modelo em 3 camadas, suporta o gerenciamento distribuído de protocolos de alto nível, serviços e aplicações de rede

O agente SNMP para detecção de intrusão é uma extensão do agente de monitoração

Page 12: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

12GTS 01.2004

Arquitetura de Gerenciamento Trace

Gerente intermediário

agente SNMP

inter

pret

ador

Ja

va, P

erl ,

Tcl

scripts (Java, Perl, Tcl) MIB

Script

Agente de monitoração

agente SNMP

scripts (PTSL) MIB

Script

MIB RMON2

Agente de ação

agente SNMP

Inte

rpre

tado

r Ja

va, P

erl ,

Tcl

scripts (Java, Perl, Tcl) MIB

Script

Estação de gerenciamento

browser scripts (PHP)

repositório (PTSL,Java,

Perl, Tcl)

banco de dados

PHP trap

notifier

mon

itor P

TSL

servidorweb

Page 13: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

13GTS 01.2004

Arquitetura de Gerenciamento Trace

Modela assina-tura de ataque

Delega Tarefa Programa Agente

Quantas Ocorrências?

100 Alarme! Alarme!

Pacotes capturados

Traço observado

Número de traços?

Trap SNMP

Administrador Gerente Gerente Intermediário

Agente de Monitoração

Modela tarefa de gerencia-mento

Page 14: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

14GTS 01.2004

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

Page 15: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

15GTS 01.2004

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 Estados e transições entre o cliente e o

servidor Modelagem natural Notação gráfica e textual Maior granularidade do que considerar

apenas pacotes da rede

Page 16: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

16GTS 01.2004

A Linguagem PTSL

Alguns exemplos de cenários: Varreduras de portas Land Sondagem de serviços RPC Excesso de falhas de login

Page 17: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

17GTS 01.2004

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”

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

SYN

Page 18: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

18GTS 01.2004

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

Page 19: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

19GTS 01.2004

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

Trace “comando showmount”

idle 2

RPC – Dump

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

RPC–GetPort MOUNT

3

RPC–Reply

Page 20: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

20GTS 01.2004

Excesso de Falhas de Login em PTSL

Assinatura que evidencia tentativas de login mal sucedidas

Trace “Excesso de falhas de login”

idle 2

NoOffSet “Login Incorrect”

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

NoOffSet “Login:”

3

TCP *

Page 21: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

21GTS 01.2004

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”

Page 22: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

22GTS 01.2004

Especificação da máquina de estados

1 Version: 1.02 Description: Varredura de Portas por SYN/RST.3 Key: varredura, portas, SYN, RST4 Port:5 Owner: Edgar Meneghetti6 Last Update: Thu Jun 10 09:37:57 BRST 20037 MessagesSection8 Message “SYN”9 MessageType: client10 // OffsetType Encapsulation FieldNumber Verb Description11 BitCounter Ethernet/IP 110 1 0 “Campo SYN/TCP”12 EndMessage

Page 23: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

23GTS 01.2004

Especificação da máquina de estados

13 Message “RST”14 MessageType: client15 // OffsetType Encapsulation FieldNumber Verb

Description16 BitCounter Ethernet/IP 109 1 1 “Campo RST/TCP”17 EndMessage18 EndMessagesSection

Page 24: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

24GTS 01.2004

Especificação da máquina de estados

19 StatesSection20 FinalState idle21 State idle22 “SYN”' GotoState 223 EndState24 State 225 “RST” GotoState idle26 EndState27 EndStatesSection

Page 25: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

25GTS 01.2004

Arquitetura do Agente de Monitoração

agenteSNMP

RMON2MIB

Kernel RMON2

Agente de Monitoração

libpcap

Gerencia-dor PTSL mecanismo

PTSL thread de captura

Base de dados

Fila de pacotes Ambiente de Execução PTSL

Arquivo PTSL

Fila de pacotes marcados

Page 26: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

26GTS 01.2004

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 (para manter a semântica de RMON2) Um traço com 3 estados ocorrido 5 vezes teria 15

pacotes contabilizados na MIB RMON2

10.10.10.1 200.248.252.2

200.248.252.1

172.16.108.1

143.54.7.1

200.248.252.25

Land

Varredura

Sondagem

Page 27: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

27GTS 01.2004

Dados Armazenados pelo Agente

Grupo ProtocolDir da MIB RMON2ether2.ipether2.ip.tcpether2.ip.tcp.smtpether2.ip.varredura portasether2.ip.tcp.ataque serv IIS

Page 28: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

28GTS 01.2004

Dados Armazenados pelo Agente

Tabela alMatrixSD da MIB RMON2

Src Addr125.120.10.200

125.120.10.100

172.16.108.1

172.16.108.32

Dst Addr172.16.108.25

172.16.108.25

172.16.108.2

172.16.108.2

ProtocolAcesso invalido a

servico TCPAcesso invalido a

servico TCPComportamento

anomalo TCPComando rpcinfo

Packets250

20

4

8

Octets53256

3204

4350

7300

Page 29: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

29GTS 01.2004

Validação do Agente

Utilizando o cenário proposto pelo Lincoln Laboratory (MIT), foram realizadas comparações entre o agente de monitoração e o IDS Snort

No tráfego de fundo foi incluído acessos legítimos ao serviço em ataque (sadmind, da SUN)

O Snort apresentou muitos falsos positivos, ao passo que o agente de monitoração indicou apenas a ocorrência dos traços programados (do ataque) http://www.ll.mit.edu/IST/ideval/data/2000/2000

_data_index.html

Page 30: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

30GTS 01.2004

Conclusões e Trabalhos Futuros

Objetivos alcançados: Baixo índice de falsos positivos e falsos

negativos Flexibilidade para descrever cenários de

ataques O desempenho do agente ainda deve ser

melhorado (em andamento) Geração de uma versão para distribuição

(licença GPL) O agente RMON2 já está disponível para

download

Page 31: Um Agente SNMP para Detecção de Intrusão Baseada na ...eng.registro.br/gter17/videos/gts012004-09slides-snmp-ids.pdf · MIB (Java, Perl, Tcl) Script Agente de monitoração agente

31GTS 01.2004

Informações para Contato

Edgar [email protected]

Luciano Paschoal [email protected]

Página do projeto Tracehttp://prav.unisinos.br/~trace/