Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 -1...

Preview:

Citation preview

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 1

Detecção de ataques emDetecção de ataques em

Backbones IPBackbones IP

através do Netflow através do Netflow

Autor: Claus Rugani Töpkeclaus@ravel.ufrj.br

www.coppe.ufrj.br www.ravel.ufrj.br

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 2

Sumário

1 - Objetivo;

2 - Definições;

3 - Meios para a Detecção;

4 - O funcionamento do BPF;

5 - O funcionamento do Netflow;

6 - Implementação do detector;

7 - Conclusões.

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 3

Objetivo

Ilustrar os métodos de detecção de ataques em

Backbones IP. Apresentar uma implementação utilizando o NetFlow.

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 4

Definições (Backbone)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 5

Definições (Tipos de Fluxo)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 6

Definições (Ataques a serem detectados)

1 - Flood IP;

2 - DoS (ou Distribuido);

3 - ICMP Scan;

4 - Port Scan (UDP e TCP);Backdoor scan, service scan...

5 - Spoofing;

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 7

Meios para detecção

1 - RMON;

2 - IP Accounting;

3 - IP CEF Accounting;

4 - BGP Accounting;

5 - BPF (BSD Packet Filter);

5 - Netflow;

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 8

O funcionamento do BPF

Network

Kernel

Usuário

Nível

Programaçãoda máquinade estadoFiltro

Buffer

/dev/bpf...

Filtro

Buffer

Link-layerdriver

ProtocolStack

Link-layerdriver

...

libpcap

BPF

*BSD = Berkeley Software Distribution

snort tcpdump

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 9

O funcionamento do Netflow (sem NetFlow)

Procurana ACL

Envia parasaída

Pacote chegapela interface

Desviaou filtra

Procura na tabelade roteamento

ou cache Procura na tabela deroteamento ou cache

identificando a interfacede saída, depois procura

na ACL.

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 10

O funcionamento do Netflow (com NetFlow)

Procurana ACL

Envia parasaída

Pacote chegapela interface

Desviaou filtra

Procura na tabela deroteamento ou cache

procura cache de fluxos

tabela cachede fluxos

Exportação

Para ocoletor

Procura na tabelade roteamento

ou cache

Procura nocache de fluxos

TabelaBGP

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 11

O funcionamento do Netflow (com NetFlow)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 12

Funcionamento do Netflow (quando exportar ?)

tabela cachede fluxos

Exportação

Para ocoletor

1 - Tabela cheia;2 - Tempo grande do fluxo (default 30min);3 - Tempo inativo grande (default 15s);4 - Identificação do final do fluxo (TCP FIN ou RST);

http://www.cisco.com/univercd/cc/td/doc/cisintwk/intsolns/netflsol/nfwhite.htm

TabelaBGP

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 13

Funcionamento do Netflow (quando exportar ?)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 14

Funcionamento do Netflow (tipos de fluxos exportados)

*

* - Linha Catalyst

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 15

Funcionamento do Netflow (tipos de fluxos exportados)

Versão 1

Versão 5

~Versão 7(router shortcut)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 16

Backbone IP

ConexãoFastEthernet

“clientes”

export flowUDP

UDP

MáquinaColetora

export flowUDP

PR

AR

“clientes”

BackboneB

AR

BackboneA

Funcionamento do Netflow (método de envio dos fluxos)

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 17

Implementação Utilizando Netflow

Identificação dos ataques

1- Fluxo (grande) para IP destino com média do tamanho dos pacotes pequeno ( <100 bytes );

2- Fluxo (grande) para IP destino com média do tamanho dos pacotes grande ( = 1500bytes);

3- Muitos fluxos com IP destino fixo e IP origem variando;

4- Muitos fluxos com IP destino fixo, IP origem fixo e portas destino variando;

5- Muitos fluxos com IP destino fixo, IP origem fixo e portas origem variando;

6- Assimetricidade grande de tráfego (fluxo de saída e entrada – pode se utilizar MIB Octets);

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 18

Implementação Utilizando Netflow

Identificação dos ataques

7- Assimetricidade dos fluxos ( fluxo de saída não corresponde a respostas do fluxo de entrada e vice-versa);

8- Tráfego maior que a capacidade do AL (necessário consulta a MIB do AR ou base de dados);

9- Tráfego ICMP ou SNMP excessivo (necessário avaliar histograma de protocolos);

10- Tráfego de uma porta UDP ou TCP (necessário avaliar histograma de portas);

11- TCP flags em estado anormal (SYN constante ou combinações estranhas)*;

* - Discussão das TCP Flags no Capítulo 8 do www.ravel.ufrj.br/~claus/Msc/tese.ps.gz

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 19

Implementação Utilizando Netflow

Construção básica de detector

- Tabela HASH:

- A chave pode ser:

- O IP destino;

- A rede destino (ver tabela IGP);

- As redes destino apontadas para o AR;

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 20

Implementação Utilizando Netflow

- PERL (fácil implementação/lento para hashes grandes);

- C++ ( rapidez utilizando maps e multimaps );

- C ( rapidez, necessário criar hash ou utilizar libliotecas);

Construção do detector

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 21

Implementação Utilizando Netflow

typedef struct {

uint32_t Pkts;

uint32_t Bytes;

ipv4addr_t Router;

ipv4addr_t SrcIP;

uint16_t DstPort;

uint16_t SrcPort;

uint16_t IfIndexSrc;

uint16_t IfIndexDst;

uint8_t Proto;

uint16_t Asn;

} CrtTblType, *CrtTblTypePtr ;

typedef map<ipv4addr_t, CrtTblType> CrtTblMap;

CrtTblMap ExampleCrtTbl;

Utilizando C++

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 22

Implementação Utilizando Netflow

Tamanho do pacote para a rede destino (resposta 10minutos)

Tráfego em bytes para a rede destino (resposta 1minutos)

Fluxos por IP destino (resposta 1minutos)

Tráfego em pacotes para a rede destino (resposta 1minutos)

Problema => muitas vezes o fluxo tem que acabar para ser exportado...

Tempo de resposta

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 23

Conclusões, Perguntas e Discussões

Detecção de ataques em Backbones IP através do Netflow - Claus Rugani Töpke - 23/09/2001 - 24

http://www.pdos.lcs.mit.edu/thomer/mit/multops_usenix2001.pdf

http://www.net.ohio-state.edu/security/talks/2000-02-09_ddos-and-netflow_oartech/oartech.pdf

Referências

http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121newft/121t/121t5/tms.htm

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fswtch_c/swprt1/xcfcefc.htm

http://www.hpovua.org/PUBLICATIONS/PROCEEDINGS/8_HPOVUAWS/Papers/Paper02.4-Kotsokalis-Router.pdf

http://www.switch.ch/tf-tant/floma/frankfurt/floma.html

ftp://ftp.ee.lbl.gov/papers/bpf-usenix93.ps.Z

Recommended