Você está na página 1de 494

Departamento de Eletrônica - Poli

Programa de Engenharia Elétrica - COPPE


Universidade Federal do Rio de Janeiro

Negação de Serviço:
Ataques e Contramedidas
Rafael P. Laufer, Igor M. Moraes, Pedro B. Velloso,
Marco D. D. Bicudo, Miguel Elias M. Campista, Daniel de O. Cunha,
Luís Henrique M. K. Costa e Otto Carlos M. B. Duarte

http://www.gta.ufrj.br

Apoiado pelos recursos da CAPES, CNPq, FAPERJ, FINEP, RNP, FUNTTEL e UOL
Roteiro

• Introdução
• Ataques na Internet
– Pragas digitais
– Mensagens não solicitadas (spam)
• Negação de serviço
• Rastreamento de pacotes IP
– Sistemas sem estado
– Sistemas baseados em auditoria
• Um novo sistema de rastreamento
• Considerações finais
Prejuízos Financeiros

Vírus $55,054
Negação de serviço $26,064

Roubo de informação proprietária $11,460

Abuso por parte de usuários internos da rede $10,601

Abuso de redes sem fio $10,159

Fraudes financeiras $7,671

Roubo de laptops $6,735

Acessos não autorizados $4,278

Fraudes em telecomunicações $3,998

Uso indevido de aplicações web públicas $2,747

Descaracterização de sítios da Internet $0,958


$0,902
Invasão de sistemas
$0,871
Sabotagem

0 10 20 30 40 50 60
Milhões de dólares

Empresas: 269 Prejuízo total em 2004 - $141.496.560


CSI/FBI 2004 Computer Crime and Security Survey
Fonte: Computer Security Institute
Introdução

• Internet
– Simplicidade e baixo custo
– Milhões de usuários
• Diversidade social, cultural, racial, etária etc.
Introdução

• Internet
– Simplicidade e baixo custo
– Milhões de usuários
• Diversidade social, cultural, racial, etária etc.
Æ encontros e conflitos
Æ bom uso e mau uso
Introdução

• Internet
– Simplicidade e baixo custo
– Milhões de usuários
• Diversidade social, cultural, racial, etária etc.
Æ encontros e conflitos
Æ bom uso e mau uso
• Falhas de segurança
– Devido à simplicidade da arquitetura
• Inteligência nas extremidades
• Protocolo IP
– Protocolos, sistemas operacionais e aplicativos
Ameaças na Internet

• Segurança de computadores
– Intrusos
– Pragas digitais
• Segurança em redes de computadores
– Confidencialidade
– Integridade
– Autenticação
– Não-repúdio
– Controle de acesso
– Disponibilidade
Segurança de computadores

• Violações por pessoas ou “intrusos”


• Violações por software ou pragas digitais

• Exemplos
– Pragas digitais
• Vírus, vermes, cavalos de Tróia, etc.
– Roubo de informações confidenciais
– Mensagens não solicitadas (spam), etc.
Segurança em redes
de computadores
• Confidencialidade
• Proteção do conteúdo das mensagens
• Proteção da estatística do tráfego
− Endereços fonte e destino, freqüência, comprimento etc.
• Integridade
• Proteção do conteúdo das mensagens contra alterações ou destruição
• Autenticação
• Garantia de que o emissor é, de fato, quem diz ser (autêntico)
• Não-repúdio
• Impede que emissor negue o envio e o receptor negue o recebimento
das mensagens
• Controle de acesso
• Restrição e controle do acesso a sistemas e aplicações
• Disponibilidade
• Garantia da manutenção da capacidade de um sistema de realizar
suas atividades
Segurança em redes
de computadores

• Exemplos
• Roubo de informações confidenciais
• Mensagens não solicitadas (spam)
• Negação de serviço, etc.

• Prejuízo financeiro
– Mais de US$ 140 milhões em 2004 nos EUA
Ataques de negação de serviço

• Serviço indisponível para usuários legítimos


– O que é um serviço?
• Hospedagem de um sítio
• Buscador de páginas
• Compra e venda de produtos
• Troca de mensagens, etc.
• Sítios já afetados
– Amazon, Ebay, CNN.com, Yahoo
• Mais de 4.000 ataques por semana na Internet
– Domínio .br é o quarto mais atacado
Ataques por Domínio

Fonte: Moore et al., “Inferring Internet Denial-of-Service Activity,” 2001 USENIX Security Symposium.
Negação de Serviço
Segurança na Internet

• Não há solução completa


– Uso de ferramentas para reduzir os efeitos de ataques
• Firewalls
• Antivírus
• Anti-spams
• Atualizações automáticas, etc.
• as ferramentas são ineficazes contra ataques de negação
de serviço
Negação de Serviço

• Por que as ferramentas são ineficazes?


– Não se sabe a origem dos atacantes
• Endereços de origem forjados
– O tráfego de ataque
• Pode ser gerado por vários atacantes
• É semelhante ao tráfego legítimo
– Novas vulnerabilidades a cada dia
• Desenvolver mecanismos específicos contra ataques de
negação de serviço
– Medidas preventivas
– Medidas reativas
Negação de Serviço

• Medidas preventivas
– Atualizações regulares
– Super-dimensionamento
– Não garantem que um computador estará protegido
• Novas vulnerabilidades
• Tráfego de ataque gerado por diversos atacantes
• Medidas reativas
– Identificar o atacante, aplicar punições e inibir futuros
ataques
– Rastreamento de pacotes IP
• Determinar a verdadeira origem e a rota de ataque
Ataques na Internet
Pragas Digitais

• Ataques associados a códigos maliciosos


– Custam milhões de dólares a cada ano
– As ações corretivas podem levar dias
– Existe um constante aprimoramento das técnicas de ataque,
além do surgimento de novos tipos de ataques
• Os atacantes
– Inicialmente (década de 80/90) eram nerds com o objetivo
de auto-afirmação, de aprendizado ou por desafio
– Atualmente podem ser hackers com objetivos ilícitos, ou
simplesmente spammers
Pragas Digitais

• Guerra informacional
– Profissionais de segurança x atacantes
• Códigos maliciosos
– São mascarados por diversos mecanismos
– São executados sem o consentimento do usuário
– Impedem o funcionamento correto do computador
• Por que o entendimento dos ataques é importante?
Pragas Digitais

• Guerra informacional
– Profissionais de segurança x atacantes
• Códigos maliciosos
– São mascarados por diversos mecanismos
– São executados sem o consentimento do usuário
– Impedem o funcionamento correto do computador
• Por que o entendimento dos ataques é importante?
– Especificação de ações preventivas/defensivas
– Preparação dos usuários para as ameaças em potencial
– Seleção de produtos de segurança
Ataques Maliciosos

• Tipos de ataques
– Vírus
– Cavalos de Tróia e backdoors
– Vermes (worms)
– Spyware
– Adware
– Stealware
– ...
Vírus

• Trecho de código que se anexa a outros arquivos


– Contém procedimentos maliciosos
• Efeitos inofensivos irritantes – Ex.: piscar imagens na tela
• Apagar arquivos essenciais ao funcionamento do computador
• É executado através da intervenção humana
• É composto basicamente de
– Um mecanismo de propagação
• E-mail, compartilhamento de arquivos, disquete, etc.
– Um disparador de ações
– Tarefas a serem executadas
Vírus

Usuário adquire vírus


por um dispositivo de
entrada ou pela rede
Vírus

Usuário executa
o vírus

Usuário adquire vírus


por um dispositivo de
entrada ou pela rede
Vírus

Usuário executa
o vírus

Usuário adquire vírus Vírus executa suas


por um dispositivo de tarefas e se replica
entrada ou pela rede
Vírus

Usuário executa Vírus se propaga para


o vírus outro computador por
um dispositivo de
saída ou pela rede

Usuário adquire vírus Vírus executa suas


por um dispositivo de tarefas e se replica
entrada ou pela rede
Características dos Vírus

• Vírus de MBR (Master Boot Record)


– Infecta os primeiros setores de um disco
– Cada vez menos comum, devido ao desuso de disquetes
• Vírus removedor
– Apaga arquivos essenciais ao funcionamento do computador
ou de aplicativos
• Vírus infeccioso
– Se anexa a arquivos executáveis (.exe, .com)
Características dos Vírus

• Vírus de conteúdo embutido


– Semelhante ao infeccioso
– Geralmente se anexa a arquivos de som, imagem, vídeo ou
até páginas Web
• Vírus furtivo (stealth)
– Burla heurísticas utilizadas pelos antivírus
• Vírus de engenharia social e boatos (hoaxes)
– Anuncia arquivos legítimos do sistema operacional como
sendo vírus e requisita que o usuário o apague
• Estas características podem ser combinadas
Cavalo de Tróia

• Programa que, a princípio, não apresenta perigo, porém ao


ser executado pode causar estragos
• Pode criar porta dos fundos (backdoors)
• Habilita a execução de comandos remotos do atacante
• Geralmente adquiridos através de acesso a sítios
maliciosos ou através de e-mails
• Não se replica!
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”

A ISCA
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”

“Ah! que coelhinho


A ISCA lindinho! Vou executar e
ver o que acontece”

A VÍTIMA
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”

“Ah! que coelhinho


A ISCA lindinho! Vou executar e
ver o que acontece”

“mais um trouxa
que eu pego!” ...
A VÍTIMA

O ATACANTE
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”

“Ah! que coelhinho


A ISCA lindinho! Vou executar e
ver o que acontece”

“mais um trouxa
que eu pego!” ...
A VÍTIMA

... “agora posso roubar


informações e danificar
computadores,
garantindo anonimato!”
O ATACANTE

O ESTRAGO
Verme

• Pode ser considerado uma sub-classe de vírus


– Apresenta as mesmas ameaças, procedimentos e
classificações
• Se alastra sem a intervenção humana
– Se auto-envia através de e-mails
– Pode utilizar falhas do sistema operacional (vulnerabilidades)
– Pode se alastrar por uma rede corporativa
• Geralmente, sua replicação é intensa
– Computacionalmente exaustivo
Verme

Computador comprometido
utiliza a rede para infectar
outros computadores
vulneráveis
Verme

Computador comprometido
utiliza a rede para infectar
outros computadores
vulneráveis
Verme

Computador comprometido
utiliza a rede para infectar
outros computadores
computad
vulneráveis
Verme

Computador comprometido
utiliza a rede para infectar
outros computadores
computad
vulneráveis
Verme

Computador comprometido
utiliza a rede para infectar
outros computadores
computad
vulneráveis
Spyware

• É, geralmente, introduzido como parte de um vírus, cavalo


de Tróia ou de um programa legítimo
• Coleta dados dos usuários
– Páginas mais acessadas, sistema operacional utilizado,
aplicativos instalados, etc.
• Compila os dados em perfis de usuários
• Não apresenta ameaça direta ao usuário
Spyware
Spyware

Usuários da
Internet
Spyware

Hacker coleta dados


dos diversos usuários

Usuários da
Internet
Spyware

Hacker coleta dados


dos diversos usuários

Hacker compila os dados em


Usuários da informações e perfis de usuários
Internet
Spyware

Hacker coleta dados Os perfis de usuários


dos diversos usuários são vendidos para organizações

Hacker compila os dados em


Usuários da informações e perfis de usuários
Internet
Adware

• Código malicioso anexados a programas legítimos


– Freewares, Sharewares

• Apresenta na janela do programa ou em “pop-ups”


– Propagandas dos patrocinadores

• Sustenta o desenvolvimento de softwares


– Inviáveis comercialmente
Stealware

• “Ladrão de audiência”

• Inofensivo para o usuário


• Geralmente é anexado a softwares de sítios de conteúdo
restrito
• Afeta as organizações que lucram com a navegação do
usuário na Web
– Transfere o pagamento de comissões de propagandas em
sítios para a organização que desenvolveu o código malicioso
• Modifica cookies e endereços de páginas Web
Anúncios na Internet

Passando o mouse sobre o anúncio


Anúncios na Internet

Passando o mouse sobre o anúncio


Anúncios na Internet

Passando o mouse sobre o anúncio


Anúncios na Internet

Passando o mouse sobre o anúncio


Anúncios na Internet
Anúncios na Internet
Como o Stealware funciona

www.fotolog.net

Usuário
normal
Como o Stealware funciona

www.fotolog.net www.brasiltelecom.com.br

Sítio patrocinador utiliza


informações do usuário
para contabilizar a
comissão da propaganda
Usuário
normal
Como o Stealware funciona

www.fotolog.net www.brasiltelecom.com.br

Sítio patrocinador utiliza


informações do usuário Brasil-Telecom:”O fotolog.net me
para contabilizar a rendeu muitos cliques, este sítio é
comissão da propaganda um bom lugar para anunciar”
Usuário
normal
Como o Stealware funciona

www.fotolog.net www.brasiltelecom.com.br

Usuário com
stealware
Como o Stealware funciona

www.fotolog.net www.brasiltelecom.com.br

Stealware modifica a
comissão do anúncio

Usuário com
stealware
Como o Stealware funciona

www.fotolog.net www.brasiltelecom.com.br

Stealware modifica a
comissão do anúncio Brasil-Telecom:”O steal.org me
rendeu muitos cliques, este sítio é
um bom lugar para anunciar”
Usuário com
stealware
Mensagem Não Solicitada - SPAM
Spams

• Mensagem eletrônica não solicitada - Spam


– Correio eletrônico (e-mail)
– Short Message Service (SMS)
– Multimedia Message Service (MMS)
– Mensagens instantâneas

• Spammer
– Todo o indivíduo que gera ou envia spams
Mensagens não solicitadas
(spams)

• 68,7% dos e-mails na Internet


– Crescimento de 30% a cada mês
• 31% dos usuários clicam em spams
– 10% compram algum produto
• Aumento do custo de operação dos provedores
– Desperdício de banda estimado em US$ 500 milhões
Spam e o Brasil

• 5o maior receptor (2005)


1. China
2. EUA
3. Coréia do Sul
• Também é o 5o maior gerador - 3,34% (2004)
1. EUA: 42,11%
2. Coréia do Sul: 13,43%
3. China: 8,44%
Origem da Palavra Spam

• Hormel Foods LLC


– “SPiced hAM” – SPAM

• Controversa
– Grupo Monty Python
– Medalha ao exército americano

• Características em comum
– Repetitivo
– Inesperado
– Inútil
Origem da Palavra Spam
Definição do Grupo Brasil AntiSPAM

• Pelo menos dois dos itens devem ser atendidos:


– o remetente é inexistente ou possui identidade falsa
– o destinatário não autorizou previamente o envio da
mensagem
– o destinatário não pode optar em não receber mais a
mensagem
– o assunto não condiz com o conteúdo da mensagem
– a sigla NS (Não Solicitado) está ausente no assunto de uma
mensagem que não foi previamente requisitada
– o remetente não pode ser identificado
– uma mensagem semelhante foi recebida anteriormente em
menos de dez dias apenas com o remetente ou assunto
diferentes
Tipos de Spams

• Diferentes codificações
– HTML, texto plano, rich text
– HTML é o mais utilizado

• Diferentes técnicas
– Modo texto → HTML
– Propaganda em Figuras
– Elementos aleatórios
Spam em HTML

• Código simples
• Visualizado em todo cliente de e-mail
• Executado automaticamente
Spam em HTML

• Código simples
• Visualizado em todo cliente de e-mail
• Executado automaticamente
Spam em HTML

• Código simples
• Visualizado em todo cliente de e-mail
• Executado automaticamente

Links para os
sítios dos
spammers
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links

Figura chamativa
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links
Spam em Figuras

• Difícil de ser bloqueado


– Ausência de padrão
• Navegação mais complexa
– Ausência de links

Endereço do sítio
Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões


Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões


Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões O “Re:” é para


o usuário
acreditar que
trata-se de
uma resposta
a um e-mail
próprio
Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões


Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões


Spam com Elementos Aleatórios

• Dificultar o reconhecimento de padrões

O “[14]” é um
número
aleatório
Objetivos do Spam

• Divulgação de atividades
– Políticas, religiosas, culturais
– Comerciais
• Venda de produtos, serviços e conteúdo
• Atividades ilícitas
– Disseminação de pragas digitais
– Obtenção de informações
• Constituição de cadastros
− Endereços eletrônicos, endereços físicos, identidades
• Fraudes
− Senhas, CPF, Número de cartão de crédito
Conseqüências dos Spams

• Usuários
– Custos
• Lesões por fraudes financeiras
• Aquisição de mecanismos de proteção
• Desperdício de tempo de conexão Internet
• Armazenamento dos spams
– Insatisfação
– Diminuição da credibilidade do correio eletrônico
Obtenção de Listas de Endereços
e a Escolha das Vítimas

• Invasão de servidores
• Interceptação de e-mails de grupos
• Emprego de programas populares
– MSN, Orkut, ICQ

• Obtenção de perfis de usuários


– Direcionamento dos spams
• Aumento da lucratividade
Verificação da Existência do Usuário

• Presença de identificadores
– Registros de HTTP
• Clientes de e-mail com execução automática
− Objetos baixados
• Acesso à pagina anunciada

• Resposta aos e-mails


– Pedido de cancelamento de recebimento
Identificadores

• Endereço explícito

• Endereço aleatório
Início do Envio de Spams

• Vulnerabilidades do SMTP
– Protocolo simples
• Desprovido de mecanismos de segurança
• Desenvolvido para fins lícitos
− Poucos comandos
− Não há verificação:
• Domínio do remetente
• Autenticidade do remetente

• Hospedagem de conteúdo
– Spammers utilizavam as próprias máquinas
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams

Domínio do
remetente do e-mail
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams

Remetente do e-mail
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams

Destinatário do e-mail
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams

Assunto do e-mail
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams
Uso de Telnet para Envio de Spams

Corpo do e-mail
Uso de Telnet para Envio de Spams

• Falta de segurança do SMTP


– Recebimento com sucesso!
Evolução no Envio de Spams

• Novas técnicas de envio de spams


– Aumento do número de spams
• Legislação anti-spam
• Mecanismos anti-spam

• Hospedagem de conteúdo
– Surgimento de servidores especializados
• Financiado pelo spammer
– Servidores de terceiros → zumbis
• Pragas digitais → trojans

• Penas criminais e listas


– Anonimato
Novas Técnicas de Envio de Spams

• Emprego de servidores proxy mal configurados


– Utilizam o próprio endereço IP como origem
• Emprego de servidores SMTP com relay aberto
– Características semelhantes aos servidores proxy
• Emprego de programas populares
– Spams enviados para os usuários
• Ex.: ICQ, MSN, Orkut, etc
• Emprego de faixas de endereços IP dinâmicos
• Emprego de máquinas pessoais de terceiros
Servidores Proxy

Provedor

Servidor proxy

Spammer
Servidores Proxy

Provedor

Servidor proxy

Spammer
Servidores Proxy

Provedor

Servidor proxy

Spammer se conecta
ao proxy

Spammer
Servidores Proxy

Provedor

Servidor proxy

Spammer
Servidores Proxy

Provedor

Servidor proxy

Spammer
Servidores Proxy

Provedor Endereço IP de origem: Proxy


Endereço IP de destino: Provedor

Servidor proxy

Spammer
Programas Populares

www.orkut.com
Programas Populares

- Oi, que tal nos


conhecermos?
Entre no meu sítio e
venha me visitar.

www.orkut.com
Programas Populares

- Oi, que tal nos


conhecermos? - Oi, clique no
Entre no meu sítio e balãozinho azul para ver
venha me visitar. a sua surpresa.

www.orkut.com
Faixas de Endereços IP Dinâmicos

Spammer:
Endereço IP: x.x.x.x
Faixas de Endereços IP Dinâmicos

Spammer:
Endereço IP: x.x.x.x
Faixas de Endereços IP Dinâmicos

Endereço IP de origem: x.x.x.x

Spammer:
Endereço IP: x.x.x.x
Faixas de Endereços IP Dinâmicos

Spammer:
Endereço IP: x.x.x.y
Faixas de Endereços IP Dinâmicos

Spammer:
Endereço IP: x.x.x.y
Faixas de Endereços IP Dinâmicos

Endereço IP de origem: x.x.x.y

Spammer:
Endereço IP: x.x.x.y
Faixas de Endereços IP Dinâmicos

Quem é que possui o


endereço IP x.x.x.x?

Spammer:
Endereço IP: x.x.x.y
Mecanismos Anti-spam

• Filtragem
– Pessoal
• Usuário configura seu próprio cliente de e-mail
− Bloqueia remetentes, assuntos ou endereços de origem indesejados
– Por cabeçalho
• Verificação do domínio e do endereço IP de origem
− Listas: negras, cinzas e brancas
− Domínio ou faixa de endereços IP conhecidos
• Verificação da consistência entre endereço e domínio de origem
• Teste de consistência do DNS reverso
• Análise do assunto do e-mail
• Nome do remetente
Mecanismos Anti-spam

– Por conteúdo
• Filtragem de objetos suspeitos
− Anexo ou no corpo do e-mail
• Bloqueia executáveis, figuras, apresentações etc
• Reconhecimento de padrões
− Verificação de palavras comerciais
• Exs.: Viagra, Cassino
− Técnicas de inteligência artificial → Adaptabilidade
• Exs.: \ /iagra = Viagra, C@ssino = Cassino

• SpamAssassin
– Aplica diversos métodos de filtragem
– Adaptativo
• Mecanismos de inteligência artificial
SpamAssassin

• Comparação com um conjunto de regras


– Definidas em arquivos de configuração
• Exs.:
− antidrug.cf
• Spams de venda de remédios
− backhair.cf
• Spams com tags HTML suspeitas
− bogus-virus-warnings.cf
• Spams originados por pragas digitais
− chickenpox.cf
• Palavras escritas com caracteres semelhantes
− evilnumbers.cf
• Números de contato – tel., caixa postal etc
− sa-blacklist.current.uri.cf
• Endereços IP pertencentes a listas negras
SpamAssassin
SpamAssassin
SpamAssassin
Negação de Serviço
Negação de Serviço

• Diferente da maioria dos ataques na Internet


• Objetivo: interromper uma atividade legítima
– Nenhum dado é roubado
– Nenhuma informação é alterada
– Não ocorre nenhum acesso não autorizado à vítima
• Como se consegue a negação de serviço?
– Congelamento ou reinicialização de programas
– Esgotamento de recursos
Negação de Serviço

• Década de 90
– Programas para ataques remotos
– Computadores de grande capacidade
universidades
– Redes de alta velocidade

• Atualmente
– Ataques freqüentes
• Ferramentas para automatizar algumas fases dos ataques
– Prejuízos financeiros e de imagem
Formas de Negação de Serviço

• Consumir recursos essenciais


– Memória
– Processamento
– Espaço em disco
– Banda passante

• Duas formas
– Inundação
– Explorar uma vulnerabilidade
Ataques por Inundação

• Sempre é possível negar o serviço de uma vítima


– Recursos limitados

• Mensagens geradas a uma taxa maior do que são tratadas


• Alvo
– Aplicação, infra-estrutura de rede, etc.

• Tráfego de ataque idêntico ao tráfego legítimo


– Empecilho para adotar medidas de contra-ataque
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

uso da CPU
tempo

Rede V
fila

memória
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

Rede V

U
Ataques por Inundação

uso da CPU
A

tempo

Rede V
fila

memória
Ataques por Inundação

• Um computador não é capaz de inundar a vítima

• Ataques distribuídos
– Diversos computadores atuam em conjunto
– Sempre é possível inundar a vítima
• Número de computadores participantes
– Ferramentas para automatizar o processo
• Atacantes pouco experientes
Ataques por Vulnerabilidade

• Exploração de vulnerabilidades da vítima


• Falhas
– Aplicação
– Sistema operacional
– Protocolo de comunicação
• Pior caso Æ exploração com um único pacote
• Desafio para os sistemas de rastreamento
• Exemplos
– Envio de um único segmento TCP
– Fragmentos IP sobrepostos
– Mensagem de erro ICMP
Ataques por Vulnerabilidade

Rede V

U
Ataques por Vulnerabilidade

Rede V

U
Ataques por Vulnerabilidade

Rede V

U
Ataques por Vulnerabilidade

Rede V

U
Ataques por Vulnerabilidade

Rede V

U
Ataques por Vulnerabilidade

uso da CPU
A
tempo

Rede V
fila

memória
Arquitetura da Internet

• Sucesso da Internet
– Velocidade
– Confiabilidade
– Compartilhamento de recursos
• Baixo custo

• Princípios da arquitetura
– Facilitam a proliferação de ataques de negação de serviço
Arquitetura da Internet

• Sucesso da Internet
– Velocidade
comutação de pacotes
– Confiabilidade
+
– Compartilhamento de recursos protocolos TCP/IP
• Baixo custo

• Princípios da arquitetura
– Facilitam a proliferação de ataques de negação de serviço
Arquitetura da Internet

• Protocolo IP (Internet Protocol )


– Sem autenticação da fonte
• Injeção de pacotes na rede com endereço de origem forjado
• Anonimato dos atacantes
– Roteamento baseado unicamente no endereço de destino
• Nós intermediários selecionam as rotas
• Pacotes forjados alcançam seus destinos
– Ausência de estado nos roteadores
• Impossível determinar a rota percorrida por um pacote
Arquitetura da Internet

• O problema da autenticidade de endereços

2
X
1
3
Arquitetura da Internet

• O problema da autenticidade de endereços

2
X
1
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet

• O problema da autenticidade de endereços

Origem Destino Y
Z Y
2
X
1
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet

• O problema da autenticidade de endereços

Origem Destino Y
Z Y
2
Origem Destino
X
1 Z Y
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet

Casa Branca Iraque

GTA/UFRJ
Arquitetura da Internet

Casa Branca Iraque

Origem 65.17.203.38
Destino 143.108.13.123 GTA/UFRJ
Arquitetura da Internet

Casa Branca Iraque

Origem 65.17.203.38
Destino 143.108.13.123 GTA/UFRJ
Roteamento Dinâmico

• Pacotes de Y endereçados a X
– São roteados por R1

R1 Rede R2

Y
Roteamento Dinâmico

• Pacotes de Y endereçados a X
– São roteados por R1

R1 Rede R2

Y X Y
Roteamento Dinâmico

• Pacotes de Y endereçados a X
– São roteados por R1

Y X X

R1 Rede R2

Y X Y
Roteamento Dinâmico

• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós

R1 Rede R2

Y
Roteamento Dinâmico

• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós

R1 Rede R2

Y Y X
Roteamento Dinâmico

• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós

X Y X

R1 Rede R2

Y Y X
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

R1 Rede R2 A

Y
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

R1 Rede R2 A

Y X Y
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

Y X X

R1 Rede R2 A

Y X Y
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

Y X X
Y X
R1 Rede R2 A

Y X Y
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

Y X X
Y X Y X
R1 Rede R2 A

Y X Y
Roteamento Dinâmico

• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído

Y X X Y X

Y X Y X
R1 Rede R2 A

Y X Y
Arquitetura da Internet

• Não há reserva de recursos


– Melhor esforço
– Um ataque busca consumir o máximo de recursos
– Usuários legítimos prejudicados
• Recursos ocupados por ações maliciosas
• Topologia da Internet
– Núcleo Æ alta capacidade
heterogeneidade
– Bordas Æ baixa capacidade

– Nós da borda podem ser inundados pelo tráfego agregado


Topologia da Internet

• O problema dos enlaces heterogêneos

A1

A2

A3
...
V An
Arquitetura da Internet

• Complexidade nos nós de borda


– Melhor esforço
• Encaminhamento de pacotes
– Paradigma fim-a-fim
• Requisitos garantidos pelas camadas de transporte e aplicação
– Escalabilidade e custo reduzido
– Mecanismos de defesa na infra-estrutura de rede
• Propostas criticadas
Arquitetura da Internet

• Gerenciamento
– Não há hierarquia
• Comunidade de redes interconectadas
• Gerência local
• Políticas particulares
– Mecanismos de defesa que requerem cooperação de nós são
prejudicados
• Não há entidade central
• Como garantir a adoção em larga escala?
• Como coordenar os nós?
Motivações do Atacante

• Provar a fragilidade de um serviço


• Atacante recebe algo em troca
– Código-fonte de uma exploração
– Acesso a uma estação invadida
– Documento confidencial
– Reconhecimento na comunidade virtual
• Ataques a sítios de grande visibilidade
– Remuneração
• Empresas concorrentes
– Extorsão
• Serviço “fora do ar” por um determinado período
Motivações do Atacante

• Motivos políticos
– Ex. Ataque ao servidor de DNS da emissora Al-Jazeera
• Aluguel da rede de zumbis
Classificação dos Ataques

• De acordo com
– Número de atacantes
– Tipo de recurso explorado, etc.
• Classificados em
– Por inundação
– Por refletor
– À infra-estrutura de redes
– Por vulnerabilidades
– Distribuídos
Ataques por Inundação

• Gerar mensagens a uma taxa maior do que elas podem ser


tratadas
• Sempre é possível negar o serviço
– Recursos limitados

• Ataque por inundação de segmentos TCP SYN


– Consumir a memória e o processamento da vítima
– Endereço IP de origem forjado
• Se usado, SYN/ACK não volta para o atacante
Inundação de Segmentos SYN

• Procedimento de abertura de conexão TCP

Cliente Servidor
Tempo
Inundação de Segmentos SYN

• Procedimento de abertura de conexão TCP

Cliente Servidor
SYN
seq = x
Tempo
Inundação de Segmentos SYN

• Procedimento de abertura de conexão TCP

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
Tempo

memória
Inundação de Segmentos SYN

• Procedimento de abertura de conexão TCP

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
Tempo

YN /A C K
S 1
= y,ack = x +
s eq

memória
Inundação de Segmentos SYN

• Procedimento de abertura de conexão TCP

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
te
Tempo

YN /A C K
S 1
= y,ack = x +
s eq

A
seq = x CK
+1, ack
=y +1
memória
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima
Tempo
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima
SYN
Tempo
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima

uso da CPU
SYN

tempo
Tempo
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima

uso da CPU
SYN

tempo
Tempo

K
SYN/AC
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima

uso da CPU
SYN
SYN
tempo
Tempo

K
SYN/AC
Inundação de Segmentos SYN

• Ataque ao processamento usando segmentos TCP SYN

Atacante Vítima

uso da CPU
SYN
SYN
SYN tempo
Tempo

K
SYN/AC
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
Tempo
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN
Tempo
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN
Tempo

memória
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN

K
SYN/AC
Tempo

memória
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN

SYN K
SYN/AC
Tempo

memória
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN

SYN K
SYN/AC
Tempo

SYN

memória
Inundação de Segmentos SYN

• Ataque à memória usando segmentos TCP SYN

Atacante Vítima
SYN

SYN K
SYN/AC
Tempo

SYN
SYN

memória
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.


– Não armazenar estados ao receber um segmento TCP/SYN
• Evitar sobrecarga de memória
– Enviar o SYN/ACK como resposta

endereços IP de origem e destino


+
portas TCP
• No. de seqüência = hash +
no. de seqüência inicial do cliente
+
valor secreto

– O cliente tem que enviar o ACK com no. de seq. de acordo


com hash produzido pelo servidor
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.

Cliente Servidor
Tempo
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.

Cliente Servidor
SYN
seq = x
Tempo
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
Tempo
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
Tempo

YN /A C K
S 1
= y,ack = x +
s eq

y = hash(*)
Inundação de Segmentos SYN

• Solução proposta por Schuba et al.

Cliente Servidor

uso da CPU
SYN
seq = x
tempo
Tempo

YN /A C K
S 1
= y,ack = x +
s eq

A
seq = x CK
+1, ack
=y +1
memória
y = hash(*)
Inundação de Segmentos SYN

• Desvantagens da solução proposta por Schuba et al.


– Modificação no protocolo
• Todas as implementações
– Conexões podem ser abertas só com segmento TCP ACK
– Não há registro de conexões semi-abertas no servidor
• TCP deixa de ser tolerante a falhas

• Ataques de inundação não ocorrem somente com o TCP


– Todo protocolo requer processamento de mensagens
– Alguns protocolos alocam recursos de memória
Ataques por Refletor

• Também é um ataque de inundação


• Presença de uma estação intermediária
– Refletir o tráfego de ataque na direção da vítima
– Dificultar ainda mais a identificação do atacante
• Tráfego gerado pelo refletor
• Idéia
– O atacante envia uma requisição para o refletor
• Endereço de origem da vítima
– O refletor envia a resposta para a vítima
• Não verifica a autenticidade do endereço de origem
Ataques por Refletor

• Exemplos
– UDP/DNS
• O atacante envia requisições para o servidor DNS do refletor
− Endereço de origem da vítima
• O refletor responde as requisições para a vítima
– TCP SYN
• Estação intermediária
– Inundação ICMP
• Ataque Smurf
– Inundação UDP
• Uso do serviço de geração de caracteres (chargen)
Refletor usando TCP SYN

Atacante Refletor Vítima


Tempo
Refletor usando TCP SYN

Atacante Refletor Vítima


SYN
Tempo
Refletor usando TCP SYN

Atacante Refletor Vítima


SYN

SYN/AC
Tempo

K
Refletor usando TCP SYN

Atacante Refletor Vítima


SYN

SYN/AC
Tempo

K
Refletor usando TCP SYN

Atacante Refletor Vítima


SYN

SYN/AC
Tempo

RST
Refletor usando TCP SYN

Atacante Refletor Vítima


SYN

SYN/AC
Tempo

SYN K

SYN/AC
K

RST
Inundação ICMP

• O refletor é usado como amplificador


– O tamanho da requisição é menor do que o da resposta
• Ataque Smurf
– Nome de uma das ferramentas usadas no ataque
– Envio de pacotes ICMP (ping) para o endereço de difusão
de uma dada rede
• Endereço de origem da vítima
– Todas as estações da rede respondem a requisição para a
vítima
• Estações usadas como refletores Æ rede refletora
Inundação ICMP

A
H1 H2 H3

V R

H4 H5
Inundação ICMP

A
H1 H2 H3

V R

H4 H5
Inundação ICMP

A
H1 H2 H3

V R

H4 H5
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2
Inundação UDP

• Um atacante pode atingir duas vítimas ao mesmo tempo


– Serviço de geração de caracteres (chargen) Æ V2
– Serviço de impressão de caracteres (echo) Æ V1
– Pacote ICMP echo para V2 com endereço de V1
• Uma vítima envia pacotes continuamente para a outra

V1 V2

..
.
Inundação UDP

• O serviço chargen também é “amplificador”


– Geração de uma seqüência de caracteres
• Tráfego enviado pelo atacante: 128 kbps
• Fator de amplificação: 50
• Tráfego que chega na vítima: 128 kbps x 50 = 6,4 Mbps
Ataque à Infra-estrutura de Rede

• As vítimas geralmente são sítios famosos


– Maior visibilidade na comunidade
– Computadores super-dimensionados
• Abundância de memória e processamento
• Difícil negar o serviço da vítima

• Ponto crucial que não dependa da vítima


– Consumir a banda passante
– Servidores de DNS
– Roteadores, etc.
Ataque à Infra-estrutura de Rede

• Consumo de banda passante


– Requisições perdidas na infra-estrutura de rede Æ gargalo
– Difícil de combater
• Pacotes com padrões diferentes para impossibilitar a filtragem

U
Ataque à Infra-estrutura de Rede

• Consumo de banda passante


– Requisições perdidas na infra-estrutura de rede Æ gargalo
– Difícil de combater
• Pacotes com padrões diferentes para impossibilitar a filtragem

U
Ataque à Infra-estrutura de Rede

• Consumo de banda passante


– Requisições perdidas na infra-estrutura de rede Æ gargalo
– Difícil de combater
• Pacotes com padrões diferentes para impossibilitar a filtragem

U
Ataque à Infra-estrutura de Rede

• Consumo de banda passante


– Requisições perdidas na infra-estrutura de rede Æ gargalo
– Difícil de combater
• Pacotes com padrões diferentes para impossibilitar a filtragem

“Gargalo”

U
Ataque à Infra-estrutura de Rede

• Consumo de banda passante


– Requisições perdidas na infra-estrutura de rede Æ gargalo
– Difícil de combater
• Pacotes com padrões diferentes para impossibilitar a filtragem

“Gargalo”

U
Ataque à Infra-estrutura de Rede

• Ataque ao servidor DNS (Domain Name System)


– Tradução de nomes em endereços IP
– Usado contra a Microsoft
• Servidores DNS localizados no mesmo segmento de rede
• Segmento inundado Æ serviços da empresa inacessíveis
• Solução: servidores geograficamente distribuídos
• Ataque aos roteadores
– Inundação
– Tabela de roteamento extensa
• Dificultar a busca e atrasar o encaminhamento
– Informações de roteamento falsas
Ataques por Vulnerabilidades

• Explorar vulnerabilidades
– Aplicação
– Pilha de protocolos
• Envio de pacotes com determinadas características
• Exemplos
– Implementação do TCP em sistemas Windows
– Fragmentação do protocolo IP
– Ataques a conexões TCP usando pacotes ICMP
Protocolo TCP no Windows

• Construir um segmento TCP com determinadas


características
– Uso do campo “ponteiro para dados urgentes” (urgent
pointer) do cabeçalho
• Indica onde os dados urgentes terminam
– Apontando para o fim do quadro Æ não há mais “dados
normais”
• Os sistemas Windows esperavam por dados normais
– Estado inesperado
• Sistema operacional aborta
• Congelamento
Fragmentação do Protocolo IP

• Pacotes maiores quebrados em fragmentos menores


• Cada fragmento
– Enviado separadamente
– Identificador
• Receptor consegue agregar os fragmentos de um pacote
– Número de seqüência
• Indica aonde o fragmento se encontra no pacote original

• Enviar fragmentos de um mesmo pacote com números de


seqüência sobrepostos
– Estado não previsto Æ congelamento ou reinicialização
Ataques a Conexões TCP com ICMP

• Conexões TCP já estabelecidas Æ um pacote ICMP


– Relatar erros no roteamento desde a fonte até o destino

• Forjar um pacote ICMP [Gont et al., 2004]


– Erro no roteamento de um pacote
– Fechamento da conexão TCP estabelecida
– Novo procedimento de abertura
• Envio contínuo de pacotes ICMP forjados
– Serviços baseados no TCP são comprometidos
Ataques Distribuídos

• Geralmente, é um ataque por inundação


– Uma estação é incapaz de consumir os recursos da vítima
• Diversas estações atacam em conjunto
– Tráfego agregado responsável pela negação do serviço
– Estações geralmente não pertencem ao atacantes
• São recrutadas
• Como recrutar estações?
– Explorar vulnerabilidades Æ acesso não autorizado
• Atacante passa a controlar as estações Æ zumbis
– Ferramentas para automatizar o processo
Ataques Distribuídos

V
Vantagens para o Atacante

• Inundação da vítima sempre possível


– Aumentar o número de zumbis
– Cada zumbi gera uma parcela do tráfego
• Dificuldade para interromper o ataque
– Não basta identificar um zumbi
– Filtragem do tráfego o mais perto possível dos zumbis
• Dificuldade para identificar o atacante
– Identificar os zumbis
– Identificar os mestres
– Mais níveis de hierarquia Æ mais difícil é a identificação
Vantagens para o Atacante

• Atacante envia os comandos por um canal de bate-papo


– Zumbis e mestres entram automaticamente no servidor
• Estado de espera
• Outras estações intermediárias também podem ser usadas

A
Ferramentas

• Winnuke
– Explora a vulnerabilidade do TCP em sistemas Windows
• Sistema aborta Æ “tela azul”
• Smurf
– Implementa a inundação ICMP
• Envia pacotes ping com endereço de origem forjado
• Trinoo
– Primeira ferramenta para ataques distribuídos
• Tribe Flood Network (TFN)
– Ataques distribuídos
– Inundação ICMP, UDP e TCP SYN
– Variante: TFN2k
Contramedidas

• Como evitar ou reduzir os danos causados por ataques de


negação de serviço?

– Medidas preventivas
• Evitar ou reduzir a probabilidade de ocorrência de um ataque
• Adoção em larga escala e cooperação entre usuários

– Medidas reativas
• Lidar com ataques em andamento ou encerrados
Medidas Preventivas

• Atualização regular do sistema operacional e aplicativos


– Evitar ataques por vulnerabilidade
– Dificultar o recrutamento de zumbis
– Responsabilidade do usuário

• Super-dimensionamento de recursos
– Custo elevado
– Nem sempre é eficaz
• Ataque à infra-estrutura de rede
• Aumento do número de zumbis
Medidas Preventivas

• Filtragem de ingresso (ingress filtering)

– Evitar que pacotes com endereço IP de origem forjado


trafeguem pela rede

– Roteadores verificam o endereço de origem de cada pacote


• Se o endereço não pertence a uma de suas sub-redes, o
pacote é bloqueado

– Implementada em cada roteador da Internet


Medidas Preventivas

• Filtragem de ingresso: funcionamento

A V

R1 só permite a saída de A vítima pode descobrir


pacotes cujo endereço a origem do ataque
de origem pertence à Rede 1
Medidas Preventivas

• Desvantagens da filtragem de ingresso


– Segurança do destino depende da origem
• Beneficiar computadores que estão fora do seu domínio
– Implementação global
• Do contrário, só alguns roteadores controlam o ataque
– Processamento adicional no roteamento
• Verificação do endereço IP de origem
– Problemas com o IP móvel
• Utiliza endereços de origem forjados legitimamente
Medidas Preventivas

• Alternativa: generalização da filtragem de ingresso


– Protocolo para validar endereços de origem
• Propagação de informações
– Tabela de entrada
• Endereços IP associados a uma interface de entrada
• Análoga à tabela de roteamento
− Endereços de origem ao invés de destino
– Desvantagens
• Problemas de um protocolo de roteamento
− Atualizações periódicas, mudanças de topologia, etc.
• Processamento adicional
− Consulta a duas tabelas para encaminhar o pacote
Medidas Preventivas

• Proteção contra ataques por inundação de segmentos TCP


SYN
– Implementado em roteadores e servidores
– Monitorar o número de conexões TCP semi-abertas no
servidor
• Definir um limiar do número de conexões
– Limiar excedido
• Novas conexões são bloqueadas ou
• Conexões semi-abertas são fechadas
– Não há informação sobre os reais atacantes
– O serviço ainda pode ser negado
• Configuração do limiar
Medidas Preventivas

• Como manter um computador sempre atualizado?


• Como dimensionar os recursos para que um serviço não
seja comprometido?
• Como interromper um ataque que não se sabe a origem?
Medidas Preventivas

• Como manter um computador sempre atualizado?


• Como dimensionar os recursos para que um serviço não
seja comprometido?
• Como interromper um ataque que não se sabe a origem?

A melhor alternativa é reagir ao ataque!

Rastreamento de pacotes IP
Rastreamento de Pacotes IP
Rastreamento de Pacotes IP

• Identificar
– A rota percorrida por um pacote
– O verdadeiro emissor do pacote
• Solução para inibir ataques de negação de serviço
– Empregam endereços de origem forjado
– Determinar as estações geradoras de tráfego
• Atacantes
• Refletores e zumbis Æ novo rastreamento a partir destes
• Não é uma forma de punição ao atacante
– É o primeiro passo
Rastreamento de Pacotes IP

• Atacantes Ai como nós de borda A3


A1 A2
• Rota de ataque (R5, R2, R1)
• Problema do rastreamento perfeito
R4 R6
– Determinação exata da rota de ataque R5
• (R5, R2, R1)
R3
• Problema do rastreamento aproximado R2

– Rota de ataque real como um sufixo


R1
• (R4, R5, R2, R1)
• Duas abordagens V
– Rastreamento sem estado
– Rastreamento baseado em auditoria
Rastreamento de Pacotes IP

• Rastreamento sem estado


– Nenhuma informação sobre o pacote é armazenada
– Somente ataques em andamento
• Estado da rede no momento do rastreamento
• Rastreamento baseado em auditoria
– Coletar dados de auditoria durante o ataque
• Informações úteis para reconstruir o caminho do pacotes
• Armazenamento na vítima ou na infra-estrutura de rede
– Rastreamento pode ser feito após o ataque
– Rastreamento a partir de um único pacote
• Ataque distribuído e por vulnerabilidade
Sistemas de Rastreamento
Sem Estado
Rastreamento Sem Estado

• Não armazena informações sobre a origem do pacote


– Alta taxa de transmissão dos sistemas atuais
– Proteção à privacidade dos usuários

• Idéia básica: testar os enlaces para identificar a origem do


ataque
– Determinar se o tráfego de ataque passa pelo enlace
– Reconstrução da rota
– Ataques por inundação
– Ataque deve estar em andamento
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
R4
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
R4
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
9
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
9
Teste de Enlaces

• Observação do tráfego enquanto enlaces são inundados


– Início no roteador por onde o tráfego chega à vítima
• Conhecimento da topologia por parte da vítima
• Suposição Æ enlaces intensamente carregados
– Variação pode ser imperceptível para ataques distribuídos

R2
R9
R7
A R11 R8 R3 R1 V
R6
9 R10
9
R4
9
Teste de Enlaces

• Desvantagens
– Essencialmente manual
• Contato com o provedor de serviço (Internet Service Provider –
ISP)
• Lentidão
– Baseado em assinatura
• Verificação dos enlaces em busca da assinatura
– Processo recursivo
• Aplicado nos roteadores identificados como parte da rota de
ataque
• Pode checar até d roteadores
− Onde d = diâmetro da rede
Otimizações

• Rotear tráfego de vítimas para um roteador central


– Teste em até d/2 roteadores
• Criação de uma rede lógica em sobreposição (overlay)
– Diâmetro da rede lógica
• Teste dos enlaces de borda
– Identificação do ponto de entrada num domínio

• Sistemas sem estado


– Otimização e automatização dos testes de enlaces
• CenterTrack e inundação controlada
CenterTrack

• Otimização do rastreamento por teste de enlace


– Construção de uma rede lógica de rastreamento

• Escopo limitado a um único domínio


– Identifica ponto de entrada do tráfego de ataque
– Administração centralizada

• Pode ser transformada em uma técnica por auditoria


– Inclusão de equipamentos capazes de “farejar” o tráfego nos
nós da rede de rastreamento
Utilização da Rede Lógica

• Aumento da complexidade da rede


– Aumento nas tarefas administrativas do ISP
– Túneis não podem interferir no roteamento dentro do
domínio
• Número menor de nós com ferramentas de diagnóstico
– Nós integrantes da rede lógica (backbone de rastreamento)
– Nós da borda
O Rastreamento

• Rede lógica com todos os nós de borda


– Possíveis pontos de entrada dos ataques
– Identifica a entrada
• Não tenta determinar rota de ataque dentro do domínio
• Após a identificação do ataque
– Criação de rotas estáticas
– Conectar a vítima à rede lógica
• Testes de enlace feitos a partir da vítima
– Através da rede de rastreamento
– Determinação do ponto de entrada do tráfego de ataque
• Tráfego pode ser filtrado neste roteador
Limitações

• Pode não funcionar para ataques de dentro do ISP


– Roteador pode não fazer parte da rede lógica

• Se a vítima é um dos roteadores da rede de rastreamento


– Tentativa de desviar o tráfego através da rede de
rastreamento pode gerar loops

• Túneis precisam ser autenticados ou podem ser burlados

• Atacante pode perceber o rastreamento e parar o ataque


– Desvio do tráfego para a rede de rastreamento
Inundação Controlada

• Automatização dos testes de enlace


– Utilização de ferramentas disponíveis nos roteadores

• Rede composta por diferentes ISPs


– Identificação da rota de ataque inteira
– Ausência de administração centralizada
Inundação Controlada

• Testes de todos os enlaces da rede


– Necessita do conhecimento da topologia
• Consumo de tempo e recursos
– Ferramentas devem estar disponíveis em todos os
roteadores

• Útil para ataques limitados a um único domínio e para


ataques que atravessem mais de um domínio
– Pode ser realizada sem contato explícito dos ISPs
Teste de Enlace

• Teste indireto

• Baseado na inundação do enlace testado


– Fluxo da inundação controlada concorre por recursos com os
pacotes de ataque
– Se enlace for rota de ataque o número de pacotes de ataque
que chegam na vítima diminui
A Ferramenta para Inundação

• Serviço de geração de caracteres (chargen)


– Gera um fluxo contínuo de pacotes do roteador a quem se
conecta ao serviço
– Endereços de origem forjados podem ser usados para conter
a inundação a um enlace
• Utilização do endereço do roteador no outro extremo do enlace
– Capaz de inundar enlaces de grande capacidade
• Ajudada pelo tráfego legítimo
Limitações

• Dependência do fluxo de ataque


– Fluxos de ataque imprevisíveis podem atrapalhar o teste de
enlaces por inundação
• Responsável pelo roteamento deve ser capaz de inundar
somente o enlace testado
• Questões éticas
– Uso das ferramentas disponíveis nos roteadores de terceiros
– Inundação de enlaces podem prejudicar outros usuários
• Rastreamento de uma negação de serviço com outra negação
de serviço
Sistemas de Rastreamento
Baseados em Auditoria
Baseado em Auditoria

• Coletar informações sobre os pacotes que circulam na rede


– Viabilizar a reconstrução do caminho percorrido por pacotes
provindos de atacantes
– Rastreamento pode ser feito após o ataque
– Rastreamento a partir de um único pacote
• Dois procedimentos
– Coleta de informações
• Roteadores notificam a vítima sobre sua presença na rota
• Inserção de informação nos pacotes roteados
– Reconstrução da rota
• Informações recebidas são usadas para reconstruir a rota
Baseado em Auditoria

• Armazenamento das informações de rastreamento


– Estações finais
– Infra-estrutura de rede
– Híbrido
Sistemas de Rastreamento
Baseados em Auditoria
Armazenamento nas Estações Finais
Estações Finais

• Dados de auditoria inseridos pela infra-estrutura de rede


• A vítima coleta os dados de auditoria
– Reconstrução da rota de ataque a partir das informações
coletadas
• Mecanismos
– IP Record Route
– Marcação de Pacotes
• Determinística
• Probabilística
– Rastreamento ICMP
IP Record Route

• Cada roteador adiciona seu endereço IP ao cabeçalho do


pacote
– Mecanismo mais simples

cabeçalho

dados

R3 ... V
A R2 Rn
R1
IP Record Route

• Cada roteador adiciona seu endereço IP ao cabeçalho do


pacote
– Mecanismo mais simples

R1 dados

R3 ... V
A R2 Rn
R1
IP Record Route

• Cada roteador adiciona seu endereço IP ao cabeçalho do


pacote
– Mecanismo mais simples

R2 R1 dados

R3 ... V
A R2 Rn
R1
IP Record Route

• Cada roteador adiciona seu endereço IP ao cabeçalho do


pacote
– Mecanismo mais simples

R3 R2 R1 dados

R3 ... V
A R2 Rn
R1
IP Record Route

• Cada roteador adiciona seu endereço IP ao cabeçalho do


pacote
– Mecanismo mais simples

Rn ... R3 R2 R1 dados

R3 ... V
A R2 Rn
R1
IP Record Route

• Vantagens
– Simplicidade
– Descoberta da rota de ataque com apenas um pacote

• Problemas
– Acréscimo significativo de processamento
– Aumento do tamanho do pacote
• Fragmentação desnecessária do pacote
Marcação de Pacotes

• Adição de informações no pacote


– Informações sobre o caminho percorrido pelo pacote
• Utilização de campos já existentes no cabeçalho
– Raramente usados
– Tamanho fixo
• Determinística
• Probabilística
– Probabilistic Packet Marking – PPM
Vantagens

• Não exige cooperação entre os provedores de serviço

• O tráfego adicional acrescentado não é significativo

• Permite a descoberta da rota de ataque mesmo após o


seu término

• Não representa uma grande sobrecarga para os


roteadores
Marcação Probabilística de Pacotes

• Roteadores inserem informações que o identifiquem no


pacote
– Com probabilidade p

A V
Marcação Probabilística de Pacotes

• Reconstrução da rota de ataque


– A vítima deve armazenar pelo menos um pacote de cada
roteador
• A probabilidade de chegar um pacote na vítima marcado
pelo roteador Ri é

α i = p(1 − p) d −i

– d → número de roteadores na rota de ataque


– d-i → distância do roteador à vítima
Marcação Probabilística de Pacotes

• Ordem dos roteadores na rota de ataque


– Proporcional ao número de pacotes recebidos de cada
roteador
– Quanto maior o número de pacotes
• Mais próximo da vítima estará o roteador
Marcação Probabilística de Pacotes

• Vantagem
– Apenas alguns pacotes são marcados
• Desvantagens
– Número médio de pacotes coletados para receber pelo
menos um pacote marcado
• Para d = 15 e p = 0,51
− 300 mil para 95% de garantia
– Probabilidade de chegar um pacote marcado somente pelo
atacante:
α 0 = (1 − p )
d
Marcação Probabilística de Pacotes

• Quanto maior o valor de p


– Menor a probabilidade do pacote chegar marcado pelo
atacante
• Existe um compromisso
– no de pacotes
– Capacidade de forjar uma marcação

• Número mínimo de pacotes necessários para a


reconstrução
– p ≈ 0,07 para d = 15
Amostragem de Nó

• Inserção de um identificador do nó
– Amostragem de nó ou de vértice

• Ataque distribuído
– Impossibilita a reconstrução da rota
– Existirá mais de um roteador com a mesma distância
Amostragem de Enlace

• Objetivo
– Permitir a descoberta da rota em ataques distribuídos
– Facilitar a implementação progressiva
• Inserção do identificador de dois roteadores
consecutivos
– Cada pacote contém um enlace
• Utilização de um campo para marcar a distância do
enlace à vítima
– Garante a marcação do pacote pelo nó seguinte
Amostragem de Enlace

• Procedimento de marcação
– Quando chega um pacote
• O roteador dever marcar o pacote com probabilidade p
• Caso o pacote seja marcado
− Inserir seu identificador no campo endereço 1
− Zerar o campo distância
• Caso o pacote não seja marcado
− Se o campo distância = 0
• Inserir seu identificador no campo endereço 2
− Incrementar o campo distância
Amostragem de Enlace

• O atacante escolhe o valor inicial dos campos

0 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R1 decide não marcar


– Campo “distância” é igual a zero
• Insere seu identificador no campo “Endereço 2”

0 R1 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R1 decide não marcar


– Campo “distância” é igual a zero
• Insere seu identificador no campo “Endereço 2”
– Incrementa a distância

1 R1 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”

1 R2 R1 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”
– Zera o campo “distância”

0 R2 R1 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R3 decide não marcar


– Campo “distância” era igual a zero
• Insere seu identificador no campo “Endereço 2”

0 R2 R3 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• R3 decide não marcar


– Campo “distância” era igual a zero
• Insere seu identificador no campo “Endereço 2”
– Incrementa a distância

1 R2 R3 dados

R3 ... V
A R2 Rn
R1
Amostragem de Enlace

• Todos os roteadores após R3 decidem não marcar o


pacote, inclusive Rn
– Apenas incrementam a distância

n-2 R2 R3 dados

R3 ... V
A R2 Rn
R1
A Identificação do Roteador

• A marcação de pacotes baseia-se na inserção de


informações no cabeçalho do pacote
• Proposta mais simples
– Inserção do endereço IP
– Necessidade de 72 bits no cabeçalho do endereço IP
• O acréscimo de informações ao cabeçalho IP
– Incompatibilidade com versões anteriores
• Solução
– Utilizar campos já existentes no cabeçalho IP
• Raramente utilizados
A Identificação do Roteador

• Campo do cabeçalho IP a ser utilizado


– Campo de identificador de fragmento
– 16 bits

Identification
Propostas para a Identificação
do Roteador

• Intercalar o endereço IP com o hash do próprio endereço


• Dividir em k fragmentos
Propostas para a Identificação
do Roteador

• Ao decidir marcar um pacote, o roteador Ri deve


– Inserir um fragmento aleatório n
– Zerar o campo distância
• O roteador seguinte Ri+1 deve
– Fazer um XOR entre o seu fragmento o do roteador anterior
– Inserir o resultado no campo fragmento do cabeçalho
Reconstrução da Rota

• A vítima terá nk fragmentos com a mesma distância


pertencentes a n roteadores diferentes
• A vítima terá
– Eliminar os fragmentos de mesma distância repetidos
– Testar todas as combinações possíveis
– Checar com o hash
1 2 3 4 5 6 7 8 Hash diferente
Fragmentos com

Hash diferente
distância = r

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8 Hash diferente
1 2 3 4 5 6 7 8 Hash OK

1 2 3 4 5 6 7 8 Hash diferente
Reconstrução da Rota

• Problemas
– Dependendo do número de atacantes o processamento pode
se tornar inviável
• 25 atacantes pode levar dias executando a reconstrução da
rota
– Falso positivo
• Probabilidade da função hash retornar OK para um endereço
− Inexistente
− Não pertencente a rota de ataque
• Com 25 atacantes já pode-se chegar a milhares de falsos
positivos
Identificação dos Roteadores

• Outra proposta
– Inserção do hash do endereço IP (E)
– Não precisa montar os fragmentos
– Usa duas funções hash h e h’
• Identificação do sentido
Reconstrução da Rota

• A vítima deverá ter conhecimento da topologia da Internet


– Grafo em árvore cuja folha é a própria vítima
• Fn representa os filhos do roteador n
• Sn representa os roteadores identificados à distância n
• A vítima terá:
– Comparar o valor da Função hash do endereços de seus
vizinhos (Fv)
• Pacotes com distância 0
• Acrescentar os vizinhos cuja comparação foi positiva em S0
– Comparar h’(S0) XOR h’(F0) com os pacotes de distância 1
• Acrescentar os vizinhos cuja comparação foi positiva em S1
Reconstrução da Rota

• Falso positivo
– Dois roteadores irmãos possuem o mesmo hash do endereço
– Probabilidade disto ocorrer = 2-11
• Existe uma proposta para diminuir a probabilidade de falso
positivo
– Utilização de um conjunto de funções hash ao invés de
apenas uma
– É necessário um campo de identificador hash no cabeçalho
– Falso positivo
• As k funções hash do endereço devem coincidir
Amostragem de Enlace

• Todos as proposta anteriores se baseiam na PPM –


amostragem de enlace
• Principal problema da PPM – amostragem de enlaces
– O atacante pode forjar marcações
• Caso nenhum roteador do caminho resolva marcar o pacote
• Apenas enlaces antes do primeiro roteador da rota de ataque

A V
Nova Marcação de Pacotes

• Marcação de pacotes apenas pelos roteadores de borda


– Os roteadores de borda marcam todos os pacotes
– São utilizados 17 bits do cabeçalho IP
• 16 do campo Packet ID
• 1 do campo reservado flag
– 16 bits para uma das metades do endereço IP
– 1 bit para identificar qual é a metade
– A metade que será inserida no pacote é escolhida
aleatoriamente
– Com apenas 7 pacotes a vítima tem 99% de chance de obter
o endereço completo do roteador de borda
Marcação de Pacotes Probabilística
Dinâmica

• Os nós marcam os pacotes com uma probabilidade pi


• pi depende da distância do roteador Ri a vítima
– pi =1/i
• Se a distância i for correta
– A probabilidade do atacante forjar uma marcação = 0
• A distância é baseada no valor do TTL (Time to Live) do
cabeçalho IP
• O TTL pode ser forjado pelo atacante
• É proposta a utilização de um valor de TTL máximo de 64
para todos os roteadores
– Os valores de TTL superiores à 64 serão sobrescritos
• A probabilidade de falso positivo pode chegar a 0,36
Rastreamento ICMP

• Roteadores probabilisticamente escolhem um pacote


• Enviam para o endereço de destino um pacote ICMP com
– Informações sobre si mesmos
– Informações sobre os seus roteadores vizinhos
– O próprio pacote amostrado
• Após o recebimento de uma quantidade suficiente de
pacotes do mesmo fluxo
– A vítima usa estes dados para reconstruir a rota de ataque
• As informações de rastreamento são enviadas em pacotes
separados
Rastreamento ICMP

• Autenticação das mensagens


– Necessária para evitar mensagens forjadas pelo atacante
– Adoção de uma infra-estrutura de chave pública se torna
inevitável
Sistemas de Rastreamento
Baseados em Auditoria
Armazenamento na Infra-estrutura
da Rede
Infra-Estrutura de Rede

• As informações de auditoria são armazenadas nos


roteadores

• Reconstrução da rota de ataque


– A vítima inicia o processo
– Os roteadores são responsáveis por determinar a rota
Infra-Estrutura de Rede

• Mecanismo mais simples


– Cada roteador armazena todos os pacotes roteados
– Reconstrução da rota
• A vítima envia o pacote de ataque para todos seus vizinhos
• Cada roteador verifica se o pacote está entre os que foram
armazenados
• O roteador que identifica o pacote
− Repassa para todos os seus vizinhos exceto para o que o enviou
– Desvantagens
• Volume de dados armazenados inviável
• Mineração de dados
• Problemas de privacidade
Infra-Estrutura de Rede

• Otimizações
– Diminuir a quantidade de informação armazenada em cada
roteador
• Armazenamento de partes do pacote
• Armazenamento do hash de alguns campos do pacote
− Ainda assim um volume de dados inviável

• Utilização do Filtro de Bloom


– Armazenar informações sobre os pacotes
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
0
h1(•) 0

h2(•) 0
m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
0
h1(•) 0

h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
0
h1(•) 0

h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
0
h1(•) 0

h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
1
0
h1(•) 0

h2(•) 1
0
s1 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
1
0
h1(•) 0

h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
1
0
h1(•) 0

h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 0
1
0
h1(•) 0

h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0
1
0
9
9
s21’ h2(•) m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0
8
h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0

h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom

• Estrutura de dados para representar um grupo


• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos 1
0
1
0
h1(•) 0
1
0
9
9 Falso positivo

s4321’ h2(•) m bits


. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom e o Rastreamento

• Cada roteador inicializa um Filtro de Bloom


– Todos os bits em zero
• Para cada pacote que passar
– Inserir no Filtro de Bloom
• Utilização de k funções hash
• Conforme os pacotes passam
– O Filtro vai sendo preenchido com 1’s
Filtro de Bloom e o Rastreamento

• Reconstrução da rota
– A vítima envia o pacote de ataque para seus roteadores
vizinhos
– Cada um deve verificar em seu Filtro de Bloom se o pacote
passou por ele
• Em caso positivo
− Repassa o pacote para todos os seus vizinhos exceto para o que o
enviou
Falsos Positivos

• Reconhecimento de um pacote que não passou pelo


roteador
A9
R8 A1

falsos
positivos R4 R6
R5

R2 R3
R7

R1

V
Problemas

• Probabilidade de ocorrer um falso positivo (Fp)


– Proporcional à fração de 1’s no Filtro
– Se o Filtro estiver todo em 1
• Todos os roteadores reconhecerão o pacote
• Fp = 1
• O Filtro deve ser trocado com uma certa freqüência
– Limitar a ocorrência de falsos positivos
• Dependendo da quantidade de tráfego que passa pelo
roteador
– Grande volume de dados armazenados
Vantagens

• Reconstrução da rota de ataque com apenas um pacote

• Rastreamento pode ser feito após o término do ataque


Sistemas de Rastreamento
Baseados em Auditoria
Armazenamento Híbrido
Armazenamento Híbrido

• Consiste em armazenar informações


– Nas estações finais
– Na infra-estrutura de rede

• Proposta de [Choi e Dai, ISPAN’04]

– Marcação de pacotes
• Os roteadores marcam no pacote o enlace pelo qual o pacote
entrou

– Armazenamento de informações nos roteadores


• Quando acaba o espaço no cabeçalho do pacote
Sistema de Choi e Dai

• Marcação de pacotes
– Campo de 32 bits do cabeçalho IP
– 1 bit para o save flag (SF)
– 31 bits para armazenar os enlaces
• 1 bit de identificador de fim de enlaces (FS)
• 30 bits para os enlaces
Sistema de Choi e Dai

• Todos os pacotes são marcados com o enlace


– Por onde o pacote chegou

• Identificação dos enlaces


– Cada roteador possui uma tabela
• Todos os enlaces
• A quantidade de pacotes que passam por cada enlace
– Utilização do código de Huffman
• Baseado na informação da quantidade de pacotes
• Enlaces por onde passam muitos pacotes
− São representados com menos bits
− Em média, 3,15 vizinhos, 2 bits para a representação
Sistema de Choi e Dai

• Quando o espaço para enlaces fica cheio

– O roteador
• cria um identificador do pacote (ID)
− Hash do cabeçalho + uma parte dos dados
• armazena todo o campo enlace associado ao ID
• reinicia o campo enlace do pacote

• atualiza campo SF para 1


− houve o armazenamento de informações em algum roteador
Sistema de Choi e Dai

• O atacante escolhe o valor inicial dos campos

SF FS
...
0 1 0 0 0 0 0 0 0 0 0 0 dados

R3 ... V
A R2 001 Rn
1 R1 01
Sistema de Choi e Dai

• Roteador R1 insere o enlace “1”

SF
...
0 1 1 0 0 0 0 0 0 0 0 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai

• Roteador R2 insere o enlace “01”

SF
...
0 1 0 1 1 0 0 0 0 0 0 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai

• Roteador R3 insere o enlace “001”

SF
...
0 1 0 1 0 0 1 1 0 0 0 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai

• Roteador Rn percebe que não há mais espaço

SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai

• Roteador Rn percebe que não há mais espaço


– Cria um identificador para o pacote

SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01

Packet ID
Sistema de Choi e Dai

• Roteador Rn percebe que não há mais espaço


– Armazena o campo enlace

SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar

...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai

• Roteador Rn percebe que não há mais espaço


– Atualiza o campo SF com 1

SF
...
1 1 0 1 0 0 1 1 0 0 1 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar

...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai

• Roteador Rn percebe que não há mais espaço


– Zera o campo enlace e acrescenta o seu próprio enlace

SF
...
1 0 1 1 0 0 0 0 0 0 0 0 dados

R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar

...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai

• Reconstrução da rota
– Começa com o roteador conectado à vítima
– Verifica-se de qual enlace o pacote veio
• Através do campo “enlace”
– O enlace é retirado do campo “enlace”
– O pacote é enviado para o roteador previamente identificado
Sistema de Choi e Dai

• Apenas ataques com rotas grandes serão armazenadas


– Se a média de vizinhos na Internet = 3,15
• Dois bits em média para representar
– Pode-se armazenar no pacote 15 rotas

• A grande maioria das rotas na Internet possuem menos de


30 roteadores
– A grande maioria dos ataques seriam armazenados apenas
em um roteador
Um Novo Sistema de Rastreamento
de Pacotes IP
Sistema Proposto

• Baseado na abordagem de marcação de pacotes


– Sem estado na infra-estrutura de rede

• Filtro de Bloom integrado em cada pacote


– Roteadores inserem o endereço IP no filtro
– Pouco processamento adicional
– Redução do espaço necessário em cada pacote
– Tamanho fixo evita fragmentação e processamento
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2

A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2
190 0 1 0 0 1 1
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2 190 0 1 0 0 1 1
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

9
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
190 0 1 0 0 1 1
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

9
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

9
R5
9 R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

9
1 0 0 1 0 0 19
1 R5
R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo

9
R5
9 R2 9
9
A R7 R4 R1 V

R6 R3
Sistema Proposto

• Vantagens
– Rastreamento realizado com um único pacote
– Nenhuma informação armazenada na rede
– Baixo processamento adicional por pacote

• Desvantagens
– Falsos positivos decorrentes da adoção do Filtro de Bloom
– Fácil burlar o sistema
• Atacante preenche os bits do filtro com 1
• Probabilidade de 100% de falso positivo
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 R7

R4 R2 R8
R1 R3

V
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 R7

R4 R2 R8
R1 R3

V
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 R7

R4 R2 R8
R1 9 R3

9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 R7

R4 R2 R8
R1 9 R3

9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 9 R7
9 R2 9
R4 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25

R6 R16
R9 R10 R15
R5 9 R7
9 R2 9
R4 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25
99
9 9
9 R6 9
R9 R15 R16
R10
9 R5 9 R7 9
9 9 9
9 R4 R2 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21

R18 R12 R13 R24


R17 R11 R14 R25
99
9 9
9 R6 9
R9 R15 R16
R10
9 R5 9 R7 9
9 9 9
9 R4 R2 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21
9 9
9 9
R18 9 R13 9 R24
R17 R12 R25
R11 99 R14
9 9
9 9 9 9
9 9 R6 9 9
R9 R15 R16
R10
9 R5 9 R7 9
9 9 9
9 R4 R2 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21
9 9
9 9
R18 9 R13 9 R24
R17 R12 R25
R11 99 R14
9 9
9 9 9 9
9 9 R6 9 9
R9 R15 R16
R10
9 R5 9 R7 9
9 9 9
9 R4 R2 R8
R1 9 R3
9 9
9 V 9
O Problema

R26 R27 R22 R23 R28 R29


R19 R20 R21
9 9 9
9
9 9 9
9 R18 9 9 R24
R12 R13 R25
R17 R11 R14
99 9
9 9 9
9 9
9 9 R6 9 9
R9 R15 R16
R10
9 R5 9 R7 9
9 9 9
9 R4 R2 R8
R1 9 R3
9 9
9 V 9
Filtro de Bloom Generalizado

0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
9
9
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0 Falso negativo
g1(•)
1
0 Invertido por s2
.
.
. 1 8
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1 8
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado

0
1
0
g1(•)
1
0
.
.
. 1 9
9 Falso positivo
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Resultados
Resultados

Filtro de Bloom

Filtro de Bloom Generalizado


Resultados

k0 k1
 k0   k1 
Fp ≈    
k + k k
 0 1  0 1 + k
Resultados

75%
Resultados

Atacante Vítima
Resultados

Filtro de Bloom
Generalizado Filtro de Bloom

Atacante Vítima
Resultados
Resultados

Filtro de Bloom
Generalizado

Filtro de Bloom
Resultados
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2

A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2

A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2
9
A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2
9
A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Resultados

• Probabilidade de falso positivo


– Depende pouco da condição inicial do filtro
– Limitante superior
• Probabilidade de falso negativo
– Limitante superior
– Prejudicial à reconstrução da rota
8
Falso negativo R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2

A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2

A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

1 0 0 1 0 0 1 1 FBG
R5 0 0 0 0 0 0 0 0 m0
R2
0 0 0 0 0 0 0 0 m1
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

1 0 0 1 0 0 1 1 FBG
0 0 0 0 1 0 0 0 m0
R5
R2 0 0 0 1 0 0 0 0 m1
9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

9
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

1 0 0 1 0 0 1 1 FBG
0 0 1 0 1 0 0 0 m0
090 0 1 0 0 0 1 m1
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

9
R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

9
R5
9 R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

FBG 1 0 0 1 0 0 1 1
m0 0 0 1 0 1 1 0 0 9
m1 0 0 1 1 0 0 0 91 R5
R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes


• Informações adicionais enviadas durante a reconstrução
– Filtro de Bloom Generalizado
– Vetores indicando bits marcados

9
R5
9 R2 9
9
A R7 R4 R1 V

R6 R3
Reconstrução Aprimorada

• Elimina os falsos negativos


– Bits marcados identificados
– Rota de ataque real sempre está no grafo reconstruído

• Aumenta a probabilidade de falso positivo


– Fração de bits marcados em m0 e m1 aumenta a cada salto
– De acordo com simulações, não é grave
Simulação

• Simulador desenvolvido em C++


• Gerador de topologia nem
– Amostragem de um mapa real da Internet
– Extrai um subgrafo, mantendo suas propriedades
– Grau de vizinhos, distância média e diâmetro da rede
– Mapa de 10.000 roteadores
• Atacante e rota escolhidos aleatoriamente
• Filtro marcado pelos roteadores da rota escolhida
• Procedimento de reconstrução iniciado
– Procedimento de reconstrução padrão
– Procedimento aprimorado de reconstrução
Simulação – Padrão
Simulação – Aprimorado
Simulação – Aprimorado
Conclusões

• Ataques de negação de serviço


– Serviços oferecidos pela vítima inacessíveis
– Consideráveis prejuízos financeiros
– Conduzidos com pacotes com endereço de origem forjados
– Sem maneiras de localizar os atacantes nem evitar ataques

• Rastreamento de pacotes IP surge como solução


– Identificação do(s) atacante(s)
– Adoção de contramedidas
– Rastreamento a partir de um único pacote
• Armazenamento na infra-estrutura de rede
Conclusões

• Nova abordagem para o rastreamento


– Rastreamento a partir de um único pacote
– Sem armazenamento na infra-estrutura da rede
– Pacotes marcados de acordo com o endereço do roteador
– Filtro de Bloom para armazenar os roteadores atravessados
• Tamanho fixo evita fragmentações
• Pouco processamento adicional
– Generalização proposta para evitar evasão do sistema
Conclusões

• Redução de pelo menos 75% nos falsos positivos


– Filtro convencional
• Probabilidade de falso positivo máxima de 100%
– Filtro generalizado
• Probabilidade de falso positivo máxima de 25%
• Introdução de falsos negativos
– Limitante superior
• Falsos positivos Æ controlado por k0 e k1
• Falsos negativos Æ controlado por k0, k1 e m/n
Conclusões

• Procedimento aprimorado de reconstrução de rota


– Informações adicionais passadas durante a reconstrução
– Bits marcados são identificados
– Possível identificar bits invertidos

• Desenvolvimento de um simulador
– Baseado em uma topologia real da Internet
– Filtro marcado por roteadores
– Procedimentos de reconstrução
Conclusões

• Procedimento padrão limitado a rotas pequenas


– Somente 7 roteadores rastreados em uma rota de 15
• Procedimento aprimorado elimina os falsos negativos
• Pequeno aumento nos falsos positivos
• Compromisso entre funções hash e número de atacantes
• Relação entre o tamanho da rota e o tamanho do filtro
– Maiores rotas exigem maiores filtros
• Rota com 15 roteadores, filtro de 256 bits
– Média de 1,7 possíveis atacantes
Conclusões

• Economia de espaço significativa


– Para 15 roteadores, necessários 15 x 32 bits = 480 bits
– Filtro de 256 bits é suficiente
– Economia de 47% espaço no cabeçalho

• Trabalhos futuros
– Compressão do Filtro de Bloom Generalizado
– Estudo de outros procedimentos de reconstrução
Considerações Finais
Conclusões

• Ataques de negação de serviço


– Serviços oferecidos pela vítima inacessíveis
– Consideráveis prejuízos financeiros
– Conduzidos com pacotes com endereço de origem forjados
– Sem maneiras de localizar os atacantes nem evitar ataques

• Rastreamento de pacotes IP surge como solução


– Identificação do(s) atacante(s)
– Adoção de contramedidas
– Rastreamento a partir de um único pacote
• Armazenamento na infra-estrutura de rede
Discussão

• Infra-estrutura global x responsabilidade local


– Complexidade
• Armazenamento
– Infra-estrutura de rede x estações finais
• Cabeçalho IP
– Tamanho das informações adicionadas

• Formas de punição
– Como usar as informações do rastreamento?
Grupos de Pesquisa

• University of California, San Diego - UCSD


– SYSNET - Systems and networking group
http://www.cs.ucsd.edu/groups/sysnet/
– Alex C. Snoeren - http://www.cse.ucsd.edu/~snoeren
• Uso de Filtros de Bloom para o rastreamento
• Honeyfarms para combater pragas digitais
– Stefan Savage - http://www.cse.ucsd.edu/~savage
• Marcação probabilística de pacotes
• Impedir a disseminação de vermes
Grupos de Pesquisa

• Carnegie Mellon University


– CERT Coordination Center - http://www.cert.org/
• Vulnerabilidades
• Incidentes
• Medidas reativas
– Dawn Song - http://www.ece.cmu.edu/~dawnsong
• Detecção de intrusão
• Rastreamento rápido de pacotes
• Marcação de pacotes
Grupos de Pesquisa

• University of California, Los Angeles - UCLA


– Peter Reiher - http://lasr.cs.ucla.edu/reiher/
• Classificação e mecanismos de proteção contra ataques de
negação de serviço na Internet
Referências

• Mensagens não solicitadas (spams)


[1a] FTC (2005). The CAN-SPAM Act: Requirements for Commercial
Emailers.
www.ftc.gov/bcp/conline/pubs/buspubs/canspam.htm.
[2a] O Globo Online (2005). Brasil é 5o maior receptor de spam;
spywares representam 22% das infecções.
http://oglobo.globo.com/online/plantao/169450846.asp.

[3a] Grupo Brasil AntiSPAM (2005). Código de Ética AntiSPAM e


Melhores Práticas de Uso de Mensagens Eletrônicas.
http://brasilantispam.org/main/codigo.htm.
Referências

• Mensagens não solicitadas (spams)


[4a] Holmes, N. (2005). In Defense of Spam. IEEE Computer
Magazine, 38(4):86–88.
[5a] Hormel Foods (2000). Your Use of Our Trademark SPAM on Your
“Page-O-SPAM” Website. http://www.rsi.com/spam.
[6a] IBM Report (2005). Phishing attacks in May jumped more than
200 percent. Relatório técnico, IBM.
[7a] Leech, M. (1996). DefUsername/Password Authentication for
SOCKSv5. RFC 1929.
Referências

• Mensagens não solicitadas (spams)


[8a] Sahami, M., Dumais, S., Heckerman, D. e Horvitz, E. (1998). A
bayesian approach to filtering junk E-mail. Em Learning for Text
Categorization: Papers from the 1998 Workshop, Madison, WI, EUA.
AAAI Technical Report WS-98-05.
[9a] SpamAssassin (2005). The apache SpamAssassin project.
http://spamassassin.apache.org/.
[10a] Spammer-X, Posluns, J. e Sjouwerman, S. (2004). Inside the
SPAM Cartel: Trade Secrets from the Dark Side. Syngress Publishing,
1a edição.
Referências

• Negação de serviço
[1b] CERT (1996). CERT Advisory CA-1996-26 Denial-of-Service Attack
via ping.
http://www.cert.org/advisories/CA-1996-26.html.
[2b] CERT (1997). CERT Advisory CA-1997-28 IP Denial-of-Service
Attacks.
http://www.cert.org/advisories/CA-1997-28.html.
[3b] CERT (1998). CERT Advisory CA-1998-01 Smurf IP Denial-of-
Service Attacks.
http://www.cert.org/advisories/CA-1998-01.html.
Referências

• Negação de serviço
[4b] Cisco (2003). Cisco Security Advisory: Cisco IOS Interface
Blocked by IPv4 Packets. Cisco Systems, Inc.
http://www.cisco.com/warp/public/707/cisco-sa-
20030717-blocked.shtml.
[5b] CNN.com (2000). Denial of service hackers take on new targets.
http://www.cnn.com/2000/TECH/computing/02/09/denial
.of.service.03.
[6b] Dittrich, D. (1999a). The DoS Project’s ‘trinoo’ distributed denial
of service attack tool.
http://staff.washington.edu/dittrich/misc/trinoo.an
alysis.txt.
Referências

• Negação de serviço
[7b] Dittrich, D. (1999b). The ‘stacheldraht’ distributed denial of
service attack tool.
http://staff.washington.edu/dittrich/misc/stacheldr
aht.analysis.txt.
[8b] Dittrich, D. (1999c). The ‘Tribe Flood Network’ distributed denial
of service attack tool.
http://staff.washington.edu/dittrich/misc/tfn.analy
sis.txt.
[9b] Garber, L. (2000). Denial-of-Service Attacks Rip the Internet.
IEEE Computer, 4(33):12–17.
Referências

• Negação de serviço
[10b] Gibson, S. (2001). The Strange Tale of the Attacks Against
GRC.COM. Gibson Research Corporation.
http://www.grc.com/dos/grcdos.htm.
[11b] Gont, F. (2004). ICMP Attacks Against TCP. Internet Draft:
draft-gonttcpm-icmp-attacks-03.txt.
[12b] Gordon, L. A., Loeb, M. P., Lucyshyn,W. e Richardson, R.
(2005). 2005 CSI/FBI Computer Crime and Security Survey.
[13b] Gray, P. e Fried, I. (2003). Al-Jazeera suffers DoS attack. ZDNet
UK.
http://news.zdnet.co.uk/business/0,39020645,2132585
,00.htm.
Referências

• Negação de serviço
[14b] Microsoft (2002). Stop 0A in Tcpip.sys When Receiving Out Of
Band (OOB) Data. Microsoft Corporation.
http://support.microsoft.com/kb/q143478.
[15b] Mirkovic, J., Dietrich, S., Dittrich, D. e Reiher, P. (2004).
Internet Denial of Service: Attack and Defense Mechanisms. Prentice
Hall PTR, 1a edição.
[16b] Mirkovic, J. e Reiher, P. (2004). A Taxonomy of DDoS Attack
and DDoS Defense Mechanisms. ACM SIGCOMM Computer
Communications Review, 34(2):39–53.
Referências

• Negação de serviço
[17b] Moore, D., Voelker, G. e Savage, S. (2001). Inferring Internet
Denial of Service Activity. Em Proceedings of the 2001 USENIX
Security Symposium, Washington, DC, EUA.
[18b] Reuters (2004). Scotland Yard and the case of the rent-a-
zombies. ZDNet.com.
http://news.zdnet.com/2100-1009_22-5260154.html.
[19b] Schuba, C. L., Krsul, I. V., Kuhn, M. G., Spafford, E. H.,
Sundaram, A. e Zamboni, D. (1997). Analysis of a Denial of Service
Attack on TCP. Em Proceedings of the 1997 IEEE Symposium on
Security and Privacy, páginas 208–223, Oakland, CA, EUA.
Referências

• Negação de serviço
[20b] Shachtman, N. (2003). Porn Purveyors Getting Squeezed. Wired
News.
http://wired-vig.wired.com/news/print/0,1294,59574,00.html.

[21b] US-CERT (2005). Vulnerability Note VU#222750: TCP/IP


Implementations Do Not Adequately Validate ICMP Error Messages.
http://www.kb.cert.org/vuls/id/222750.

[22c] Wagner, J. (2002). Dealing With Massive Attack: DNS


Protection. Internetnews.com. http://www.internetnews.com/dev-
news/article.php/1487331.

[23d] Watson, P. A. (2004). Slipping in the Window: TCP Reset


Attacks. Em 2004 CanSecWest Conference, Vancouver, Canadá.
Referências

• Protocolo IP
[1c] Jacobson, V. (1990). Compressing TCP/IP Headers for Low-Speed
Serial Links. RFC 1144.
[2c] Perkins, C. E. (2002). IP Mobility Support for IPv4. RFC 3220.
[3c] Postel, J. (1981). Internet Protocol. RFC 791.
[4c] Postel, J. (1983). Character Generator Protocol. RFC 864.
Referências

• Filtro de Bloom
[1d] Bloom, B. H. (1970). Space/Time Trade-offs in Hash Coding with
Allowable Errors. Communications of the ACM, 7(13):442–426.
[2d] Broder, A. e Mitzenmacher, M. (2003). Network Applications of
Bloom Filters: A Survey. Internet Mathematics, 1(4):485–509.
[3d] Mitzenmacher, M. (2002). Compressed Bloom Filters. IEEE/ACM
Transactions on Networking, 10(5):604–612.
Referências

• Rastreamento de pacotes IP
[1e] Aljifri, H., Smets, M. e Pons, A. (2003). IP Traceback using
Header Compression. Computers & Security, 22(2):136–151.
[2e] Bai, C., Feng, G. eWang, G. (2004). Algebraic Geometric Code
Based IP Traceback. Em IEEE International Conference on
Performance, Computing, and Communications, páginas 49–56,
Phoenix, AZ, EUA.
[3e] Belenky, A. e Ansari, N. (2003a). Accommodating Fragmentation
in Deterministic Packet Marking for IP Traceback. Em IEEE
GLOBECOM 2003 Conference, páginas 1374–1378, San Francisco, CA,
EUA.
Referências

• Rastreamento de pacotes IP
[4e] Belenky, A. e Ansari, N. (2003b). IP Traceback With Deterministic
Packet Marking. IEEE Communications Letters, 7(4):162–164.
[5e] Bellovin, S. M., Leech, M. D. e Taylor, T. (2003). ICMP Traceback
Messages. Internet Draft: draft-ietf-itrace-04.txt.
[6e] Burch, H. e Cheswick, B. (2000). Tracing Anonymous Packets to
their Approximate Source. Em USENIX LISA’00, páginas 319–327,
Nova Orleans, LA, EUA.
[7e] Choi, K. H. e Dai, H. K. (2004). A Marking Scheme Using Huffman
Codes for IP Traceback. Em 7th International Symposium on Parallel
Architectures, Algorithms and Networks - ISPAN’04, páginas 421–428,
Hong Kong, China.
Referências

• Rastreamento de pacotes IP
[8e] Dean, D., Franklin, M. e Stubblefield, A. (2002). An Algebraic
Approach to IP Traceback. ACM Transactions on Information and
System Security, 5(2):119–137.
[9e] Ferguson, P. e Senie, D. (2000). Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source Address
Spoofing. RFC 2827.
[10e] Goodrich, M. T. (2002). Efficient Packet Marking for LargeScale
IP Traceback. Em 9th ACM Conference on Computer and
Communications Security - CCS’02, páginas 117–126, Washington,
DC, EUA.
Referências

• Rastreamento de pacotes IP
[11e] Hilgenstieler, E. e Duarte Jr., E. P. (2004). Uma Arquitetura para
Rastreamento de Pacotes na Internet. Em IV Workshop em Segurança
de Sistemas Computacionais - WSeg 2004, Gramado, RS, Brasil.
[12e] Lee, T.-H., Wu, W.-K. e Huang, T.-Y. W. (2004). Scalable Packet
Digesting Schemes for IP Traceback. Em IEEE International
Conference on Communications ICC’04, páginas 1008–1013, Paris,
França.
[13e] Li, J., Mirkovic, J., Wang, M., Reiher, P. e Zhang, L. (2002).
SAVE: Source Address Validity Enforcement Protocol. Em Proceedings
of the IEEE INFOCOM 2002 Conference, páginas 1557–1566, Nova
Iorque, NY, EUA.
Referências

• Rastreamento de pacotes IP
[14e] Li, J., Sung, M., Xu, J. e Li, L. (2004). Large-Scale IP Traceback
in High-Speed Internet: Practical Techniques and Theoretical
Foundation. Em Proceedings of the 25th IEEE Symposium on Security
and Privacy, Oakland, CA, EUA.
[15e] Liu, J., Lee, Z.-J. e Chung, Y.-C. (2003). Efficient Dynamic
Probabilistic Packet Marking for IP Traceback. Em IEEE International
Conference on Networks - ICON’03, páginas 475–480, Sydney,
Austrália.
[16e] Mankin, A., Massey, D., Wu, C.-L., Wu, S. F. e Zhang, L. (2001).
On Design and Evaluation of “Intention-Driven” ICMP Traceback. Em
Proceedings of the IEEE ICCCN 2001 Conference, Scottsdale, AZ,
EUA.
Referências

• Rastreamento de pacotes IP
[17e] Park, K. e Lee, H. (2001). On the Effectiveness of Probabilistic
Packet Marking for IP Traceback under Denial of Service Attack. Em
Proceedings of the IEEE INFOCOM 2001 Conference, Anchorage, AK,
EUA.
[18e] Savage, S., Wetherall, D., Karlin, A. e Anderson, T. (2001).
Network Support for IP Traceback. IEEE/ACM Transactions on
Networking, 9(3):226– 237.
[19e] Snoeren, A. C., Partridge, C., Sanchez, L. A., Jones, C. E.,
Tchakountio, F., Kent, S. T. e Strayer, W. T. (2001). Hash-Based IP
Traceback. Em Proceedings of the ACM SIGCOMM’01 Conference,
páginas 3–14, San Diego, CA, EUA.
Referências

• Rastreamento de pacotes IP
[20e] Snoeren, A. C., Partridge, C., Sanchez, L. A., Jones, C. E.,
Tchakountio, F., Schwartz, B., Kent, S. T. e Strayer, W. T. (2002).
Single-Packet IP Traceback. IEEE/ACM Transactions on Networking,
10(6):721–734.
[21e] Song, D. X. e Perrig, A. (2001). Advanced and Authenticated
Marking Schemes for IP Traceback. Em Proceedings of the IEEE
INFOCOM 2001 Conference, Anchorage, AK, EUA.
[22e] Stone, R. (2000). CenterTrack: An IP Overlay Network for
Tracking DoS Floods. Em 9th USENIX Security Symposium, páginas
199–212, Denver, CO, EUA.
Referências

• Um novo sistema de rastreamento de pacotes IP


[1f] Laufer, R. P. (2005). Rastreamento de Pacotes IP contra Ataques
de Negação de Serviço. Tese de mestrado, COPPE/UFRJ.
[2f] Laufer, R. P., Velloso, P. B., de O. Cunha, D. e Duarte, O. C. M. B.
(2005a). Um Procedimento Alternativo de Reconstrução de Rota para
o Rastreamento de Pacotes IP. Em XXII Simpósio Brasileiro de
Telecomunicações -SBrT’05, Campinas, SP, Brasil.
[3f] Laufer, R. P., Velloso, P. B. e Duarte, O. C. M. B. (2005b).
Defeating DoS Attacks with IP Traceback. Em IFIP Open Conference
on Metropolitan Area Networks - MAN’2005, Ho Chi Minh, Vietnã.
Referências

• Um novo sistema de rastreamento de pacotes IP


[4f] Laufer, R. P., Velloso, P. B. e Duarte, O. C. M. B. (2005c). Um
Novo Sistema de Rastreamento de Pacotes IP contra Ataques de
Negação de Serviço. Em XXIII Simpósio Brasileiro de Redes de
Computadores - SBRC’2005, Fortaleza, CE, Brasil.
Departamento de Eletrônica - Poli
Programa de Engenharia Elétrica - COPPE
Universidade Federal do Rio de Janeiro

Negação de Serviço:
Ataques e Contramedidas
Rafael P. Laufer, Igor M. Moraes, Pedro B. Velloso,
Marco D. D. Bicudo, Miguel Elias M. Campista, Daniel de O. Cunha,
Luís Henrique M. K. Costa e Otto Carlos M. B. Duarte

http://www.gta.ufrj.br

Apoiado pelos recursos da CAPES, CNPq, FAPERJ, FINEP, RNP, FUNTTEL e UOL

Você também pode gostar