SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
1
Utilizando o conjunto de ferramentasUtilizando o conjunto de ferramentas
Flow-tools como mecanismoFlow-tools como mecanismo
de Detecção de Intrusãode Detecção de Intrusão
Almir Moreira Saúde
Arnaldo Candido Junior
Ronan Pedroso Nogueira Gaeti
Prof. Dr. Adriano Mauro Cansian
Coordenador
ACME! Computer Security Research Labs
UNESP - Universidade Estadual Paulista
Campus de São José do Rio Preto
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
2
Roteiro
• IPFIXeNetFlow
• Ferramentas
• Flow-tools
• ACME! Flow-Alert
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
3
Introdução
• Monitoramento clássico de tráfego:
– MRTG
– TCPDUMP
• Monitoramento por fluxo:
– Uma forma mais interessante para caracterização de tráfego.
– Detecta eventos interessantes na rede de forma mais eficiente.
• Definição para fluxo:
– Um fluxo é uma seqüência unidirecional de pacotes com características
comuns entre uma fonte e um destino.
• NeTraMet (RFC 2123): o próprio administrador define quais
são estas características.
• NetFlow: define sete características.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
4
IPFIX- IPFlowInformationeXport
• RFC 3917 define alguns requisitos para o protocolo IPFIX.
Deve atender a diferentes propósitos:
– Contabilidade de uso
– Caracterização de tráfego
– Engenharia de tráfego
– Detecção de Intrusão/Anomalias
– Monitoramento de QoS
• RFC 3955 faz uma avaliação de cinco candidatos a protocolo
IPFIX e recomenda que o NetFlow seja usado.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
5
DetecçãodeAnomalias
• A análise a partir de fluxos NetFlow pode revelar a existência
de:
– Tentativas de intrusão realizadas por worms (ex.: Slammer).
– Varreduras de portas e de hosts em busca de serviços vulneráveis.
– Ataques Distribuídos de Negativa de Serviço.
– Violações de políticas de uso (ex.: P2P).
• Worms e varreduras totalizam 81% dos incidentes de
segurança relatados ao Cert.br no primeiro trimestre de 2005.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
6
NetFlow
• Padrão de facto para o gerenciamento de fluxos de redes.
• Proposto pela Cisco em 1996.
• Versão 9 documentada no RFC 3954.
• Define um fluxo por uma tupla:
– IP de origem
– IP de destino
– Porta de origem
– Porta de destino
– Tipo de protocolo (do cabeçalho IP)
– Bits de TOS
– Interface de entrada
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
7
Topologia
Coletor de Fluxos
Analisador
FluxosInternet
Fluxos
Roteadores
do backbone
configurados
para exportar
fluxos.
Roteador
Roteador
Roteador
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
8
FluxosNetFlow
• Um novo fluxo é criado quando é recebido um pacote que não pertence a
nenhum outro fluxo existente.
• Um fluxo expira quando:
– Permanece inativo por mais de 15 segundos.
– Sua duração excede 30 minutos.
– Uma conexão TCP é encerrada por um FIN ou RST.
– Tabela de fluxos está cheia ou usuário redefine configurações de fluxo.
• Amostragem:
– Os pacotes usados na geração de novos fluxos podem ser amostrados como medida
para diminuir overhead.
• Agregação:
– Fluxos podem ser agregados gerando um único fluxo. Isto é útil para diminuir o uso
de banda.
– Com agregação: v8.x, v9; sem agregação: v1, v5, v6, v7, v9.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
9
Versões
• V1 – não possui números de seqüência (não detecta perda de
fluxos).
• V5 – versão mais difundida atualmente. Cada pacote contém
um cabeçalho e cerca de 30 registros de fluxo.
• V7 – traz alguns melhoramentos para switchs Cisco Catalist.
• V8.x – versões específicas para agregação.
• V9 – Utiliza templates para definir o formato de um registro de
fluxos.
– Versão definida no RFC 3954.
– Os templates possibilitam a inserção de novos campos sem mudanças
nos softwares já existentes.
• Versões 2, 3, 4 e 6 nunca foram oficialmente lançadas.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
10
NetFlow- Formatotípicodepacote
NetFlow
header
flowrecord
IP/UDPpacket
flowrecord
…
…
• Formato de pacote para as
versões 1, 5, 7, 8.
• A versão 5 tem em média 30
registros de fluxo por pacote.
• Versão 9 pode conter registros
com informações sobre o
template e registros opcionais
com informações extras.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
11
ConfiguraçãoCiscoIOS
• Configurando o router:
Router# configure terminal
Router(config)# ip flow-export destination a.b.c.d 7000
Router(config)# ip flow-export version 5 peer-as
Router(config)# ip flow-export source Ethernet 0/1
• Configurando as interfaces:
Router(config)# interface Ethernet 0/0
Router(config-if)# ip route-cache flow
• Obtendo estatísticas:
Router(config)#show ip flow export
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
12
ConfiguraçãoCiscoCatalist
• CatIOS:
Console> (enable) set mls flow full
Console> (enable) set mls nde version 7
Console> (enable) set mls nde a.b.c.d 7000
Console> (enable) set mls agingtime 32
Router(config)# mls flow ip destination-source
Router(config)# mls nde flow include
Router(config)# mls nde src_address a.b.c.d version 7
Router(config)# ip flow-export source Loopback0
Router(config)# ip flow-export version 5 peer-as
Router(config)# ip flow-export destination c.d.e.f 5555
• Native IOS:
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
13
ConfiguraçãoJuniper (1)
• Configuração:
forwarding-options {
sampling {
input {
family inet {
rate 100;
}
}
output {
cflowd a.b.c.d {
port 7000;
version 5;
}
}
}
• Obtendo amostragem de
pacotes através do firewall:
firewall {
filter all {
term all {
then {
sample;
accept;
}
}
}
}
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
14
ConfiguraçãoJuniper (2)
• Aplicando o filtro de firewall nas interfaces:
interfaces {
ge-0/3/0 {
unit 0 {
family inet {
filter {
input all;
output all;
}
address 192.148.244.1/24;
}
}
}
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
15
Ferramentas
– Flow-tools: conjuntos de ferramentas para coleta e análise de fluxos.
• http://www.splintered.net/sw/flow-tools/
– FlowScan: análise gráfica de fluxos NetFlow.
• http://dave.plonka.us/FlowScan/
– Cflowd: semelhante ao Flow-tools, porém em desuso atualmente.
• http://www.caida.org/tools/measurement/cflowd/
– Ntop: gerenciamento do tráfego de através de gráficos e relatórios.
Pode utilizar os fluxos NetFlow.
• http://www.ntop.org/
– Nprobe: permite que seja utilizado um servidor dedicado para exportar
fluxos, deixando os roteadores menos sobrecarregados.
• http://www.ntop.org/nFlow/
– Argus: ferramenta para exportar, coletar e analisar de fluxos.
• http://www.qosient.com/argus/
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
16
FlowScan(1)
• Exemplo de
prospecção:
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
17
FlowScan(2)
• Exemplo de negativa
de serviço (DDoS):
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
18
Flow-tools
• Conjunto de ferramentas utilizado para coletar, processar e
gerar informações sobre dados do NetFlow.
• Algumas ferramentas:
– Flow-capture: recebe, armazena e rotaciona arquivos de fluxos.
– Flow-cat: concatena arquivos NetFlow. Utilizado para repassar
informações para as outras ferramentas.
– Flow-print: visualiza informações contidas em arquivos NetFlow.
– Flow-stat, flow-report: geram relatórios e estatísticas sobre a rede.
– Flow-dscan: dispara alertas para fluxos com muitos octetos e procura
por varreduras de hosts e serviços.
– Flow-filter, flow-nfilter: fornecem opções avançadas de filtragens.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
19
InstalaçãoeConfiguração
• Instalação:
# ./configure
# make
# make install
• Iniciando flow-capture:
– Receber fluxos do roteador 10.0.0.1 na porta 7200.
– Utilizando o formato V5 com 50 GB armazenamento máximo de
disco.
# flow-capture -w <flow_dir> 0/10.0.0.1/7200 -V5 -E50G -N 0
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
20
AlgunsExemplos(1)
– Visualizar todos os fluxos exportados do de primeiro de junho entre
das 17:00 até as 18:00 do dia (supondo que os fluxos estejam no
formato V5):
$ flow-cat ft-v05.2005-06-01.17* | flow-print
srcIP dstIP prot srcPort dstPort octets packets
a.a.a.a b.b.b.b 6 3261 21 144 3
c.c.c.c d.d.d.d 17 6346 6346 235 5
d.d.d.d e.e.e.e 6 135 1076 120 3
f.f.f.f g.g.g.g 6 80 2603 6088 7
h.h.h.h i.i.i.i 6 80 3047 40 1
j.j.j.j k.k.k.k 6 3046 80 80 2
l.l.l.l m.m.m.m 6 1233 80 1424 13
...
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
21
AlgunsExemplos(2)
$ flow-cat <flow_files> | flow-stat -f 0
Total Flows : 247530
Total Octets : 1963293045
Total Packets : 3642639
Total Time (1/1000 secs) (flows): 1319883688
Duration of data (realtime) : 3600
Duration of data (1/1000 secs) : 3659416
Average flow time (1/1000 secs) : 5332.0000
Average packet size (octets) : 538.0000
Average flow size (octets) : 7931.0000
Average packets per flow : 14.0000
Average flows / second (flow) : 67.6496
Average flows / second (real) : 68.7583
Average Kbits / second (flow) : 4292.5238
Average Kbits / second (real) : 4362.8735
...
– Obter estatísticas gerais sobre o uso da rede:
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
22
AlgunsExemplos(3)
– Obter os hosts Top-talkers:
– Informações sobre varreduras:
$ flow-cat <flow_files> | flow-stat -f11 -S3
# IPaddr flows octets packets
#
a.a.a.a 54230 406727082 769252
b.b.b.b 10204 535210442 760396
c.c.c.c 17316 128301234 229786
d.d.d.d 19041 110948250 199408
...
$ flow-cat <flow_files> | flow-dscan -b -l -s dscan.statefile -p -W -w
flow-dscan: host scan: ip=a.a.a.a ts=1100288268 start=1112.17:37:48.80
flow-dscan: host scan: ip=b.b.b.b ts=1100288511 start=1112.17:41:51.4
flow-dscan: host scan: ip=c.c.c.c ts=1100288595 start=1112.17:43:15.411
flow-dscan: port scan: src=d.d.d.d dst=80.117.91.22 ts=1100288718 start=
1112.17:45:18.125
flow-dscan: host scan: ip=e.e.e.e ts=1100288964 start=1112.17:49:24.90
...
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
23
ACME! FlowAlert
• Script Perl que utiliza o Flow-tools como backend para
identificar eventos interessantes na rede.
– Definição dos parâmetros aceitáveis da rede é feita através de um
arquivo de configuração (flow-alert.conf).
– Este arquivo também define quais testes serão realizados e outras
informações gerais.
• Gera alertas e relatórios estatísticos.
– Relatórios: informações gerais sobre o funcionamento da rede (ex.:
varreduras de portas e hosts). E-mail diário enviado ao administrador.
– Alertas: informações sobre potenciais problemas na rede (ex.: número
de fluxos muito acima do normal). E-mail enviado ao administrador no
momento em que o problema é detectado.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
24
EventosDetectáveis
• Através de análises de octetos:
– Ataques de negativa de serviço.
– Violações na política de tráfego.
• Através de análise de fluxos:
– Ataques de negativa de serviço.
– Tentativas de intrusão provenientes de worms.
– Varreduras em busca de serviços vulneráveis.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
25
RelatórioEstatístico
• Prospecções de hosts e portas geradas através do flow-dscan.
– Os IPs dos servidores mais acessados devem ser armazenados nos
arquivos dscan.suppress.dst e dscan.suppress.src para evitar falsos
positivos.
• Tráfego de IPs suspeitos:
– IPs não roteáveis (10.0.0.0/8, 127.0.0.0/8).
– IPs de multicast (224-254.0.0.0/8).
– IP Spoofing e ataques Smurf.
• Top-talkers.
– Por fluxos.
– Por octetos.
• Serviços mais populares (top-services).
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
26
ExemplodeRelatório
Report date: 2005-06-25
Port scans: 1
Host scans: 162
Top 10 destination ports by flow:
port flows
a 410346
b 245921
c 223171
...
Top 10 Hosts by flow:
IP flows
a.a.a.a 494981
b.b.b.b 347351
c.c.c.c 259700
...
Top 10 Hosts by octets:
IP Octets
d.d.d.d 1126337522
e.e.e.e 1096880263
f.f.f.f 842165643
Uncommon IPs:
10.0.0.0/8: 1453
127.0.0.0/8: 0
172.16.0.0/12: 1470
192.168.0.0/16: 160
Multicast IPs: 39716
Report start: 01:00
Report finish: 01:01
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
27
Alertas
• Alertas por fluxos
– Disparado quando o total de fluxos gerados excede o limite pré-
definido.
– Alerta para o administrador informando os hosts e serviços que estão
consumindo mais fluxos.
• Alertas por octetos
– Funciona de forma semelhante ao alerta por fluxos, informando ao
administrador taxas muito elevadas de octetos por segundo e
detalhando os serviços e hosts envolvidos.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
28
ExemplosdeAlerta
Total flows / second: 89.2000
Top 10 Hosts by flow:
IP flows
a.a.a.a 5581
b.b.b.b 3419
c.c.c.c 2487
...
Top 10 destination ports by flow:
port flows
a 3688
b 2538
c 2170
...
In order to avoid false alarms keep
flow_limit_alert high enough
Total kbits / second: 3450.2566
Top 10 Hosts by octets:
IP Octets
d.d.d.d 27829564
e.e.e.e 23275696
f.f.f.f 9728153
...
Top 10 destination ports by octets:
port octets
d 6334912
d 5167528
d 4959120
...
In order to avoid false alarms keep
kbits_limit_alert high enough
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
29
ProspecçãoDetectada
– Prospecções detectadas de máquinas infectadas pelo worm Slammer às
9:00, 14:00 e 15:00 horas.
– Gráfico correspondente:
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
30
Falso-Positivo
– Alto tráfego de octetos na porta 25. Aparentemente tráfego de spam.
– Gráfico correspondente:
– Posterior análise mostrou tratar-se de um usuário que envia correntes.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
31
Instalação
– Requisitos mínimos de hardware considerando 1 GB de dados por dia:
• Pentium IV 1.8 ou equivalente.
• 512 megas de RAM.
– Download
• www.acmesecurity.org/flow-alert
– Instalação
• ./install.sh
• Instalar biblioteca Perl NetAddr::IP
– Configuração
• Revisar configurações em /etc/flow-alert/flow-alert.conf.
• E-mail do administrador.
• Limites para fluxos e octetos (sugestão: usar o dobro da média da rede).
• Análises que deverão ser habilitadas.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
32
Observações
• É possível que algumas análises possam não ser efetuadas em
configurações muito específicas ou diferentes do ambiente de
desenvolvimento.
– Roteador Cisco 7200.
– Exports no formato V5.
– Slackware GNU/Linux e Debian GNU/Linux.
• É recomendado que o script seja executado sem permissões de
administrador.
• O tempo de criação dos fluxos deve ser um múltiplo de 5
minutos.
• Bugs encontrados podem ser encaminhados aos autores.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
33
Conclusões
• A análise de fluxos é uma forma importante para detecção de
algumas formas de anomalias na rede e de tentativas de
intrusão.
• Dentre as opções disponíveis, o conjunto Flow-tools se
mostrou uma ferramenta poderosa e flexível para a análise de
fluxos.
• O script apresentado pode ser utilizado como ferramenta de
apoio para detecção de anomalias. É possível obter
informações sobre um ataque pouco tempo após seu início.
• O script fornece informações mais detalhadas sobre eventos
anômalos, quando detectados, do que uma análise superficial
do gráfico do FlowScan.
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
34
Referências
– Cert-br:
• http://www.nbso.nic.br/stats/incidentes/2005-jan-mar/tipos-ataque.html
– Cisco NetFlow:
• http://www.cisco.com/warp/public/732/Tech/nmp/netflow/index.shtml
– FlowScan:
• http://dave.plonka.us/FlowScan/
– Flow-tools:
• http://www.splintered.net/sw/flow-tools/
– GTS 2003 - Andrey Verdana Andreoli
• http://eng.registro.br/gter15/videos/experienciascomnetflow/
– Juniper Cflowd:
• www.juniper.net/techpubs/software/junos/
– National Center for Network Engineering:
• http://www.ncne.org/training/techs/2002/0127/presentations/
– Ntop:
• http://www.ntop.org/
– RFCs 2123, 3917, 3954, 3955.
• www.ietf.org
©2004–ACME! Computer SecurityResearch
http://www.acmesecurity.org
35
Obrigado!
Para entrar em contato e obter mais informações:
almir at acmesecurity dot org Key ID: 0x77F86990
arnaldo at acmesecurity dot org Key ID: 0x85A6CA01
ronan at acmesecurity dot org Key ID: 0x165130A6
adriano at acmesecurity dot org Key ID: 0x3893CD28
Agradecimentos a Gustavo Rodrigues Ramos pela ajuda na elaboração
deste material
http://www.acmesecurity.org
ACME! Computer Security Reseach Labs
UNESP – IBILCE
São José do Rio Preto - Brasil

Mais conteúdo relacionado

Destaque

Offical trends paper 2
Offical trends paper 2Offical trends paper 2
Offical trends paper 2cassidycap
 
Official trends paper
Official trends paperOfficial trends paper
Official trends papercassidycap
 
Trend presentation: Mobile Booking
Trend presentation: Mobile Booking Trend presentation: Mobile Booking
Trend presentation: Mobile Booking cassidycap
 
The Use of Wireless networks for Control Applications
The Use of Wireless networks for Control ApplicationsThe Use of Wireless networks for Control Applications
The Use of Wireless networks for Control ApplicationsNativ Levy
 
Lesson plan (autosaved)
Lesson plan (autosaved)Lesson plan (autosaved)
Lesson plan (autosaved)Epal Oren
 
Additional review problems
Additional review problemsAdditional review problems
Additional review problemsgregcross22
 
Vitamin E dalam kelapa sawit
Vitamin E dalam kelapa sawitVitamin E dalam kelapa sawit
Vitamin E dalam kelapa sawitEric Filipus
 
Chapter 4 review
Chapter 4 reviewChapter 4 review
Chapter 4 reviewgregcross22
 
Tessellation project
Tessellation projectTessellation project
Tessellation projectgregcross22
 
internship report
internship reportinternship report
internship reportvikvini1604
 
Network Monitoring System
Network Monitoring SystemNetwork Monitoring System
Network Monitoring SystemRofiq Fauzi
 

Destaque (18)

презентация
презентация презентация
презентация
 
Offical trends paper 2
Offical trends paper 2Offical trends paper 2
Offical trends paper 2
 
Official trends paper
Official trends paperOfficial trends paper
Official trends paper
 
Trend presentation: Mobile Booking
Trend presentation: Mobile Booking Trend presentation: Mobile Booking
Trend presentation: Mobile Booking
 
The Use of Wireless networks for Control Applications
The Use of Wireless networks for Control ApplicationsThe Use of Wireless networks for Control Applications
The Use of Wireless networks for Control Applications
 
Lesson plan (autosaved)
Lesson plan (autosaved)Lesson plan (autosaved)
Lesson plan (autosaved)
 
Маркетинг план Brainabundance pdf
Маркетинг план Brainabundance pdfМаркетинг план Brainabundance pdf
Маркетинг план Brainabundance pdf
 
Additional review problems
Additional review problemsAdditional review problems
Additional review problems
 
Предложение инвестору
Предложение инвесторуПредложение инвестору
Предложение инвестору
 
Diversity
DiversityDiversity
Diversity
 
Serial
SerialSerial
Serial
 
памятка клиента (V1.3)
памятка клиента (V1.3)памятка клиента (V1.3)
памятка клиента (V1.3)
 
Vitamin E dalam kelapa sawit
Vitamin E dalam kelapa sawitVitamin E dalam kelapa sawit
Vitamin E dalam kelapa sawit
 
OMAM structure
OMAM structureOMAM structure
OMAM structure
 
Chapter 4 review
Chapter 4 reviewChapter 4 review
Chapter 4 review
 
Tessellation project
Tessellation projectTessellation project
Tessellation project
 
internship report
internship reportinternship report
internship report
 
Network Monitoring System
Network Monitoring SystemNetwork Monitoring System
Network Monitoring System
 

Semelhante a Detecção de Intrusão usando Flow-tools

Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redesmanustm
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Jeronimo Zucco
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logixSaddam Lande
 
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Dhion C. Hedlund
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Jeronimo Zucco
 
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWinds
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWindsWebinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWinds
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWindsSolarWinds
 
06-GestaoEquipamentosRedeOlharSeguranca_GTS22
06-GestaoEquipamentosRedeOlharSeguranca_GTS2206-GestaoEquipamentosRedeOlharSeguranca_GTS22
06-GestaoEquipamentosRedeOlharSeguranca_GTS22Gustavo Rodrigues Ramos
 
Enucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationEnucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationNathan Saraiva
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídosluanrjesus
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
Artigo Wireshark Luiz Felipe
Artigo Wireshark Luiz FelipeArtigo Wireshark Luiz Felipe
Artigo Wireshark Luiz Felipeluizfelipemz
 
Configurando um servidor
Configurando um servidorConfigurando um servidor
Configurando um servidorTiago
 

Semelhante a Detecção de Intrusão usando Flow-tools (20)

Modelo osi
Modelo osiModelo osi
Modelo osi
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Arquitetura control logix
Arquitetura control logixArquitetura control logix
Arquitetura control logix
 
Cacti
CactiCacti
Cacti
 
Arquitetura tcp ip - 1
Arquitetura tcp ip - 1Arquitetura tcp ip - 1
Arquitetura tcp ip - 1
 
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
Oficina "A aplicação do ICA-AtoM na descrição e difusão arquivística - Instal...
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Cirrus
CirrusCirrus
Cirrus
 
Ntop
NtopNtop
Ntop
 
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWinds
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWindsWebinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWinds
Webinar em português sobre o Netflow Traffic Analyser (NTA) da SolarWinds
 
06-GestaoEquipamentosRedeOlharSeguranca_GTS22
06-GestaoEquipamentosRedeOlharSeguranca_GTS2206-GestaoEquipamentosRedeOlharSeguranca_GTS22
06-GestaoEquipamentosRedeOlharSeguranca_GTS22
 
Enucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarizationEnucomp2017 - Tutorial about network softwarization
Enucomp2017 - Tutorial about network softwarization
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Artigo Wireshark Luiz Felipe
Artigo Wireshark Luiz FelipeArtigo Wireshark Luiz Felipe
Artigo Wireshark Luiz Felipe
 
Configurando um servidor
Configurando um servidorConfigurando um servidor
Configurando um servidor
 

Detecção de Intrusão usando Flow-tools

  • 1. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 1 Utilizando o conjunto de ferramentasUtilizando o conjunto de ferramentas Flow-tools como mecanismoFlow-tools como mecanismo de Detecção de Intrusãode Detecção de Intrusão Almir Moreira Saúde Arnaldo Candido Junior Ronan Pedroso Nogueira Gaeti Prof. Dr. Adriano Mauro Cansian Coordenador ACME! Computer Security Research Labs UNESP - Universidade Estadual Paulista Campus de São José do Rio Preto
  • 2. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 2 Roteiro • IPFIXeNetFlow • Ferramentas • Flow-tools • ACME! Flow-Alert
  • 3. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 3 Introdução • Monitoramento clássico de tráfego: – MRTG – TCPDUMP • Monitoramento por fluxo: – Uma forma mais interessante para caracterização de tráfego. – Detecta eventos interessantes na rede de forma mais eficiente. • Definição para fluxo: – Um fluxo é uma seqüência unidirecional de pacotes com características comuns entre uma fonte e um destino. • NeTraMet (RFC 2123): o próprio administrador define quais são estas características. • NetFlow: define sete características.
  • 4. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 4 IPFIX- IPFlowInformationeXport • RFC 3917 define alguns requisitos para o protocolo IPFIX. Deve atender a diferentes propósitos: – Contabilidade de uso – Caracterização de tráfego – Engenharia de tráfego – Detecção de Intrusão/Anomalias – Monitoramento de QoS • RFC 3955 faz uma avaliação de cinco candidatos a protocolo IPFIX e recomenda que o NetFlow seja usado.
  • 5. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 5 DetecçãodeAnomalias • A análise a partir de fluxos NetFlow pode revelar a existência de: – Tentativas de intrusão realizadas por worms (ex.: Slammer). – Varreduras de portas e de hosts em busca de serviços vulneráveis. – Ataques Distribuídos de Negativa de Serviço. – Violações de políticas de uso (ex.: P2P). • Worms e varreduras totalizam 81% dos incidentes de segurança relatados ao Cert.br no primeiro trimestre de 2005.
  • 6. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 6 NetFlow • Padrão de facto para o gerenciamento de fluxos de redes. • Proposto pela Cisco em 1996. • Versão 9 documentada no RFC 3954. • Define um fluxo por uma tupla: – IP de origem – IP de destino – Porta de origem – Porta de destino – Tipo de protocolo (do cabeçalho IP) – Bits de TOS – Interface de entrada
  • 7. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 7 Topologia Coletor de Fluxos Analisador FluxosInternet Fluxos Roteadores do backbone configurados para exportar fluxos. Roteador Roteador Roteador
  • 8. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 8 FluxosNetFlow • Um novo fluxo é criado quando é recebido um pacote que não pertence a nenhum outro fluxo existente. • Um fluxo expira quando: – Permanece inativo por mais de 15 segundos. – Sua duração excede 30 minutos. – Uma conexão TCP é encerrada por um FIN ou RST. – Tabela de fluxos está cheia ou usuário redefine configurações de fluxo. • Amostragem: – Os pacotes usados na geração de novos fluxos podem ser amostrados como medida para diminuir overhead. • Agregação: – Fluxos podem ser agregados gerando um único fluxo. Isto é útil para diminuir o uso de banda. – Com agregação: v8.x, v9; sem agregação: v1, v5, v6, v7, v9.
  • 9. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 9 Versões • V1 – não possui números de seqüência (não detecta perda de fluxos). • V5 – versão mais difundida atualmente. Cada pacote contém um cabeçalho e cerca de 30 registros de fluxo. • V7 – traz alguns melhoramentos para switchs Cisco Catalist. • V8.x – versões específicas para agregação. • V9 – Utiliza templates para definir o formato de um registro de fluxos. – Versão definida no RFC 3954. – Os templates possibilitam a inserção de novos campos sem mudanças nos softwares já existentes. • Versões 2, 3, 4 e 6 nunca foram oficialmente lançadas.
  • 10. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 10 NetFlow- Formatotípicodepacote NetFlow header flowrecord IP/UDPpacket flowrecord … … • Formato de pacote para as versões 1, 5, 7, 8. • A versão 5 tem em média 30 registros de fluxo por pacote. • Versão 9 pode conter registros com informações sobre o template e registros opcionais com informações extras.
  • 11. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 11 ConfiguraçãoCiscoIOS • Configurando o router: Router# configure terminal Router(config)# ip flow-export destination a.b.c.d 7000 Router(config)# ip flow-export version 5 peer-as Router(config)# ip flow-export source Ethernet 0/1 • Configurando as interfaces: Router(config)# interface Ethernet 0/0 Router(config-if)# ip route-cache flow • Obtendo estatísticas: Router(config)#show ip flow export
  • 12. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 12 ConfiguraçãoCiscoCatalist • CatIOS: Console> (enable) set mls flow full Console> (enable) set mls nde version 7 Console> (enable) set mls nde a.b.c.d 7000 Console> (enable) set mls agingtime 32 Router(config)# mls flow ip destination-source Router(config)# mls nde flow include Router(config)# mls nde src_address a.b.c.d version 7 Router(config)# ip flow-export source Loopback0 Router(config)# ip flow-export version 5 peer-as Router(config)# ip flow-export destination c.d.e.f 5555 • Native IOS:
  • 13. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 13 ConfiguraçãoJuniper (1) • Configuração: forwarding-options { sampling { input { family inet { rate 100; } } output { cflowd a.b.c.d { port 7000; version 5; } } } • Obtendo amostragem de pacotes através do firewall: firewall { filter all { term all { then { sample; accept; } } } }
  • 14. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 14 ConfiguraçãoJuniper (2) • Aplicando o filtro de firewall nas interfaces: interfaces { ge-0/3/0 { unit 0 { family inet { filter { input all; output all; } address 192.148.244.1/24; } } }
  • 15. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 15 Ferramentas – Flow-tools: conjuntos de ferramentas para coleta e análise de fluxos. • http://www.splintered.net/sw/flow-tools/ – FlowScan: análise gráfica de fluxos NetFlow. • http://dave.plonka.us/FlowScan/ – Cflowd: semelhante ao Flow-tools, porém em desuso atualmente. • http://www.caida.org/tools/measurement/cflowd/ – Ntop: gerenciamento do tráfego de através de gráficos e relatórios. Pode utilizar os fluxos NetFlow. • http://www.ntop.org/ – Nprobe: permite que seja utilizado um servidor dedicado para exportar fluxos, deixando os roteadores menos sobrecarregados. • http://www.ntop.org/nFlow/ – Argus: ferramenta para exportar, coletar e analisar de fluxos. • http://www.qosient.com/argus/
  • 18. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 18 Flow-tools • Conjunto de ferramentas utilizado para coletar, processar e gerar informações sobre dados do NetFlow. • Algumas ferramentas: – Flow-capture: recebe, armazena e rotaciona arquivos de fluxos. – Flow-cat: concatena arquivos NetFlow. Utilizado para repassar informações para as outras ferramentas. – Flow-print: visualiza informações contidas em arquivos NetFlow. – Flow-stat, flow-report: geram relatórios e estatísticas sobre a rede. – Flow-dscan: dispara alertas para fluxos com muitos octetos e procura por varreduras de hosts e serviços. – Flow-filter, flow-nfilter: fornecem opções avançadas de filtragens.
  • 19. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 19 InstalaçãoeConfiguração • Instalação: # ./configure # make # make install • Iniciando flow-capture: – Receber fluxos do roteador 10.0.0.1 na porta 7200. – Utilizando o formato V5 com 50 GB armazenamento máximo de disco. # flow-capture -w <flow_dir> 0/10.0.0.1/7200 -V5 -E50G -N 0
  • 20. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 20 AlgunsExemplos(1) – Visualizar todos os fluxos exportados do de primeiro de junho entre das 17:00 até as 18:00 do dia (supondo que os fluxos estejam no formato V5): $ flow-cat ft-v05.2005-06-01.17* | flow-print srcIP dstIP prot srcPort dstPort octets packets a.a.a.a b.b.b.b 6 3261 21 144 3 c.c.c.c d.d.d.d 17 6346 6346 235 5 d.d.d.d e.e.e.e 6 135 1076 120 3 f.f.f.f g.g.g.g 6 80 2603 6088 7 h.h.h.h i.i.i.i 6 80 3047 40 1 j.j.j.j k.k.k.k 6 3046 80 80 2 l.l.l.l m.m.m.m 6 1233 80 1424 13 ...
  • 21. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 21 AlgunsExemplos(2) $ flow-cat <flow_files> | flow-stat -f 0 Total Flows : 247530 Total Octets : 1963293045 Total Packets : 3642639 Total Time (1/1000 secs) (flows): 1319883688 Duration of data (realtime) : 3600 Duration of data (1/1000 secs) : 3659416 Average flow time (1/1000 secs) : 5332.0000 Average packet size (octets) : 538.0000 Average flow size (octets) : 7931.0000 Average packets per flow : 14.0000 Average flows / second (flow) : 67.6496 Average flows / second (real) : 68.7583 Average Kbits / second (flow) : 4292.5238 Average Kbits / second (real) : 4362.8735 ... – Obter estatísticas gerais sobre o uso da rede:
  • 22. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 22 AlgunsExemplos(3) – Obter os hosts Top-talkers: – Informações sobre varreduras: $ flow-cat <flow_files> | flow-stat -f11 -S3 # IPaddr flows octets packets # a.a.a.a 54230 406727082 769252 b.b.b.b 10204 535210442 760396 c.c.c.c 17316 128301234 229786 d.d.d.d 19041 110948250 199408 ... $ flow-cat <flow_files> | flow-dscan -b -l -s dscan.statefile -p -W -w flow-dscan: host scan: ip=a.a.a.a ts=1100288268 start=1112.17:37:48.80 flow-dscan: host scan: ip=b.b.b.b ts=1100288511 start=1112.17:41:51.4 flow-dscan: host scan: ip=c.c.c.c ts=1100288595 start=1112.17:43:15.411 flow-dscan: port scan: src=d.d.d.d dst=80.117.91.22 ts=1100288718 start= 1112.17:45:18.125 flow-dscan: host scan: ip=e.e.e.e ts=1100288964 start=1112.17:49:24.90 ...
  • 23. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 23 ACME! FlowAlert • Script Perl que utiliza o Flow-tools como backend para identificar eventos interessantes na rede. – Definição dos parâmetros aceitáveis da rede é feita através de um arquivo de configuração (flow-alert.conf). – Este arquivo também define quais testes serão realizados e outras informações gerais. • Gera alertas e relatórios estatísticos. – Relatórios: informações gerais sobre o funcionamento da rede (ex.: varreduras de portas e hosts). E-mail diário enviado ao administrador. – Alertas: informações sobre potenciais problemas na rede (ex.: número de fluxos muito acima do normal). E-mail enviado ao administrador no momento em que o problema é detectado.
  • 24. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 24 EventosDetectáveis • Através de análises de octetos: – Ataques de negativa de serviço. – Violações na política de tráfego. • Através de análise de fluxos: – Ataques de negativa de serviço. – Tentativas de intrusão provenientes de worms. – Varreduras em busca de serviços vulneráveis.
  • 25. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 25 RelatórioEstatístico • Prospecções de hosts e portas geradas através do flow-dscan. – Os IPs dos servidores mais acessados devem ser armazenados nos arquivos dscan.suppress.dst e dscan.suppress.src para evitar falsos positivos. • Tráfego de IPs suspeitos: – IPs não roteáveis (10.0.0.0/8, 127.0.0.0/8). – IPs de multicast (224-254.0.0.0/8). – IP Spoofing e ataques Smurf. • Top-talkers. – Por fluxos. – Por octetos. • Serviços mais populares (top-services).
  • 26. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 26 ExemplodeRelatório Report date: 2005-06-25 Port scans: 1 Host scans: 162 Top 10 destination ports by flow: port flows a 410346 b 245921 c 223171 ... Top 10 Hosts by flow: IP flows a.a.a.a 494981 b.b.b.b 347351 c.c.c.c 259700 ... Top 10 Hosts by octets: IP Octets d.d.d.d 1126337522 e.e.e.e 1096880263 f.f.f.f 842165643 Uncommon IPs: 10.0.0.0/8: 1453 127.0.0.0/8: 0 172.16.0.0/12: 1470 192.168.0.0/16: 160 Multicast IPs: 39716 Report start: 01:00 Report finish: 01:01
  • 27. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 27 Alertas • Alertas por fluxos – Disparado quando o total de fluxos gerados excede o limite pré- definido. – Alerta para o administrador informando os hosts e serviços que estão consumindo mais fluxos. • Alertas por octetos – Funciona de forma semelhante ao alerta por fluxos, informando ao administrador taxas muito elevadas de octetos por segundo e detalhando os serviços e hosts envolvidos.
  • 28. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 28 ExemplosdeAlerta Total flows / second: 89.2000 Top 10 Hosts by flow: IP flows a.a.a.a 5581 b.b.b.b 3419 c.c.c.c 2487 ... Top 10 destination ports by flow: port flows a 3688 b 2538 c 2170 ... In order to avoid false alarms keep flow_limit_alert high enough Total kbits / second: 3450.2566 Top 10 Hosts by octets: IP Octets d.d.d.d 27829564 e.e.e.e 23275696 f.f.f.f 9728153 ... Top 10 destination ports by octets: port octets d 6334912 d 5167528 d 4959120 ... In order to avoid false alarms keep kbits_limit_alert high enough
  • 29. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 29 ProspecçãoDetectada – Prospecções detectadas de máquinas infectadas pelo worm Slammer às 9:00, 14:00 e 15:00 horas. – Gráfico correspondente:
  • 30. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 30 Falso-Positivo – Alto tráfego de octetos na porta 25. Aparentemente tráfego de spam. – Gráfico correspondente: – Posterior análise mostrou tratar-se de um usuário que envia correntes.
  • 31. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 31 Instalação – Requisitos mínimos de hardware considerando 1 GB de dados por dia: • Pentium IV 1.8 ou equivalente. • 512 megas de RAM. – Download • www.acmesecurity.org/flow-alert – Instalação • ./install.sh • Instalar biblioteca Perl NetAddr::IP – Configuração • Revisar configurações em /etc/flow-alert/flow-alert.conf. • E-mail do administrador. • Limites para fluxos e octetos (sugestão: usar o dobro da média da rede). • Análises que deverão ser habilitadas.
  • 32. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 32 Observações • É possível que algumas análises possam não ser efetuadas em configurações muito específicas ou diferentes do ambiente de desenvolvimento. – Roteador Cisco 7200. – Exports no formato V5. – Slackware GNU/Linux e Debian GNU/Linux. • É recomendado que o script seja executado sem permissões de administrador. • O tempo de criação dos fluxos deve ser um múltiplo de 5 minutos. • Bugs encontrados podem ser encaminhados aos autores.
  • 33. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 33 Conclusões • A análise de fluxos é uma forma importante para detecção de algumas formas de anomalias na rede e de tentativas de intrusão. • Dentre as opções disponíveis, o conjunto Flow-tools se mostrou uma ferramenta poderosa e flexível para a análise de fluxos. • O script apresentado pode ser utilizado como ferramenta de apoio para detecção de anomalias. É possível obter informações sobre um ataque pouco tempo após seu início. • O script fornece informações mais detalhadas sobre eventos anômalos, quando detectados, do que uma análise superficial do gráfico do FlowScan.
  • 34. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 34 Referências – Cert-br: • http://www.nbso.nic.br/stats/incidentes/2005-jan-mar/tipos-ataque.html – Cisco NetFlow: • http://www.cisco.com/warp/public/732/Tech/nmp/netflow/index.shtml – FlowScan: • http://dave.plonka.us/FlowScan/ – Flow-tools: • http://www.splintered.net/sw/flow-tools/ – GTS 2003 - Andrey Verdana Andreoli • http://eng.registro.br/gter15/videos/experienciascomnetflow/ – Juniper Cflowd: • www.juniper.net/techpubs/software/junos/ – National Center for Network Engineering: • http://www.ncne.org/training/techs/2002/0127/presentations/ – Ntop: • http://www.ntop.org/ – RFCs 2123, 3917, 3954, 3955. • www.ietf.org
  • 35. ©2004–ACME! Computer SecurityResearch http://www.acmesecurity.org 35 Obrigado! Para entrar em contato e obter mais informações: almir at acmesecurity dot org Key ID: 0x77F86990 arnaldo at acmesecurity dot org Key ID: 0x85A6CA01 ronan at acmesecurity dot org Key ID: 0x165130A6 adriano at acmesecurity dot org Key ID: 0x3893CD28 Agradecimentos a Gustavo Rodrigues Ramos pela ajuda na elaboração deste material http://www.acmesecurity.org ACME! Computer Security Reseach Labs UNESP – IBILCE São José do Rio Preto - Brasil