Upload
internet
View
106
Download
0
Embed Size (px)
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ö[email protected]
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