S - GTA UFRJ

Propaganda
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
$2,747
Uso indevido de aplicações web públicas
Descaracterização de sítios da Internet
$0,958
Invasão de sistemas
$0,902
Sabotagem
$0,871
0
Empresas: 269
CSI/FBI 2004 Computer Crime and Security Survey
Fonte: Computer Security Institute
10
20
30
40
50
60
Milhões de dólares
Prejuízo total em 2004 - $141.496.560
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
por um dispositivo de
entrada ou pela rede
Vírus executa suas
tarefas e se replica
Vírus
Vírus se propaga para
outro computador por
um dispositivo de
saída ou pela rede
Usuário executa
o vírus
Usuário adquire vírus
por um dispositivo de
entrada ou pela rede
Vírus executa suas
tarefas e se replica
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
lindinho! Vou executar e
ver o que acontece”
A ISCA
A VÍTIMA
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”
“Ah! que coelhinho
lindinho! Vou executar e
ver o que acontece”
A ISCA
“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
lindinho! Vou executar e
ver o que acontece”
A ISCA
“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
Internet
informações e perfis de usuários
Spyware
Hacker coleta dados
dos diversos usuários
Hacker compila os dados em
Usuários da
Internet
informações e perfis de usuários
Os perfis de usuários
são vendidos para organizações
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
Usuário
normal
www.brasiltelecom.com.br
Sítio patrocinador utiliza
informações do usuário
para contabilizar a
comissão da propaganda
Como o Stealware funciona
www.fotolog.net
Usuário
normal
www.brasiltelecom.com.br
Sítio patrocinador utiliza
informações do usuário Brasil-Telecom:”O fotolog.net me
rendeu muitos cliques, este sítio é
para contabilizar a
um bom lugar para anunciar”
comissão da propaganda
Como o Stealware funciona
www.fotolog.net
Usuário com
stealware
www.brasiltelecom.com.br
Como o Stealware funciona
www.fotolog.net
Stealware modifica a
comissão do anúncio
Usuário com
stealware
www.brasiltelecom.com.br
Como o Stealware funciona
www.fotolog.net
Stealware modifica a
comissão do anúncio
Usuário com
stealware
www.brasiltelecom.com.br
Brasil-Telecom:”O steal.org me
rendeu muitos cliques, este sítio é
um bom lugar para anunciar”
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
Endereço IP de origem: Proxy
Endereço IP de destino: Provedor
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?
Entre no meu sítio e
venha me visitar.
www.orkut.com
- Oi, clique no
balãozinho azul para ver
a sua surpresa.
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
U
V
Ataques por Inundação
Rede
U
V
Ataques por Inundação
Rede
U
V
Ataques por Inundação
Rede
U
V
uso da CPU
Ataques por Inundação
tempo
Rede
V
fila
U
memória
Ataques por Inundação
A
Rede
U
V
Ataques por Inundação
A
Rede
U
V
Ataques por Inundação
A
Rede
U
V
Ataques por Inundação
A
Rede
U
V
Ataques por Inundação
A
Rede
U
V
uso da CPU
Ataques por Inundação
A
tempo
Rede
V
fila
U
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
A
Rede
U
V
Ataques por Vulnerabilidade
A
Rede
U
V
Ataques por Vulnerabilidade
A
Rede
U
V
Ataques por Vulnerabilidade
A
Rede
U
V
Ataques por Vulnerabilidade
A
Rede
U
V
uso da CPU
Ataques por Vulnerabilidade
A
tempo
Rede
V
fila
U
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
– Confiabilidade
– Compartilhamento de recursos
• Baixo custo
comutação de pacotes
+
protocolos TCP/IP
• 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
Y
2
X
1
3
Arquitetura da Internet
• O problema da autenticidade de endereços
Y
2
X
1
3
Endereço
Interface
X
Y
outro
1
2
3
Arquitetura da Internet
• O problema da autenticidade de endereços
Y
Origem Destino
Z
Y
X
2
1
3
Endereço
Interface
X
Y
outro
1
2
3
Arquitetura da Internet
• O problema da autenticidade de endereços
Y
Origem Destino
Z
Y
X
2
1
3
Endereço
Interface
X
Y
outro
1
2
3
Origem Destino
Z
Y
Arquitetura da Internet
Casa Branca
GTA/UFRJ
Iraque
Arquitetura da Internet
Casa Branca
Origem
65.17.203.38
Destino 143.108.13.123
GTA/UFRJ
Iraque
Arquitetura da Internet
Casa Branca
Origem
65.17.203.38
Destino 143.108.13.123
GTA/UFRJ
Iraque
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
X
Rede
R1
Y
R2
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
X
Rede
R1
Y X
Y
R2
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
Y X
X
Rede
R1
Y X
Y
R2
Roteamento Dinâmico
• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós
X
Rede
R1
Y
R2
Roteamento Dinâmico
• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós
X
Rede
R1
Y
Y X
R2
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
Rede
R1
Y
Y X
R2
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
X
Rede
R1
Y
R2
A
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
X
Rede
R1
Y X
Y
R2
A
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
Rede
R1
Y X
Y
R2
A
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
Rede
R1
Y X
Y
R2
A
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
Rede
R1
Y X
Y
R2
A
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
Rede
R1
Y X
Y
R2
A
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
– Bordas Æ baixa capacidade
heterogeneidade
– 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
Tempo
Cliente
Servidor
Inundação de Segmentos SYN
• Procedimento de abertura de conexão TCP
Cliente
SYN
Tempo
seq =
x
Servidor
Inundação de Segmentos SYN
Cliente
SYN
x
tempo
Tempo
seq =
Servidor
uso da CPU
• Procedimento de abertura de conexão TCP
memória
Inundação de Segmentos SYN
Cliente
SYN
Tempo
seq =
x
Servidor
uso da CPU
• Procedimento de abertura de conexão TCP
tempo
K
C
A
/
N
Y
S
1
ck = x +
,a
y
=
q
e
s
memória
Inundação de Segmentos SYN
Cliente
SYN
Tempo
seq =
x
Servidor
uso da CPU
• Procedimento de abertura de conexão TCP
tempo
te
K
C
A
/
N
Y
S
1
ck = x +
,a
y
=
q
e
s
A
seq = x CK
+1, ack
=y +1
memória
Inundação de Segmentos SYN
• Ataque ao processamento usando segmentos TCP SYN
Tempo
Atacante
Vítima
Inundação de Segmentos SYN
• Ataque ao processamento usando segmentos TCP SYN
Tempo
Atacante
SYN
Vítima
Inundação de Segmentos SYN
Tempo
Atacante
SYN
Vítima
uso da CPU
• Ataque ao processamento usando segmentos TCP SYN
tempo
Inundação de Segmentos SYN
Tempo
Atacante
SYN
Vítima
uso da CPU
• Ataque ao processamento usando segmentos TCP SYN
tempo
K
SYN/AC
Inundação de Segmentos SYN
Atacante
SYN
Tempo
SYN
Vítima
uso da CPU
• Ataque ao processamento usando segmentos TCP SYN
tempo
K
SYN/AC
Inundação de Segmentos SYN
Atacante
SYN
Tempo
SYN
SYN
K
SYN/AC
Vítima
uso da CPU
• Ataque ao processamento usando segmentos TCP SYN
tempo
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
Vítima
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
SYN
Vítima
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
SYN
Vítima
Tempo
Atacante
memória
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
Vítima
SYN
K
SYN/AC
memória
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
Vítima
SYN
SYN
K
SYN/AC
memória
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
Vítima
SYN
SYN
K
SYN/AC
SYN
memória
Inundação de Segmentos SYN
• Ataque à memória usando segmentos TCP SYN
Tempo
Atacante
Vítima
SYN
SYN
K
SYN/AC
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
• No. de seqüência = hash
endereços IP de origem e destino
+
portas TCP
+
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.
Tempo
Cliente
Servidor
Inundação de Segmentos SYN
• Solução proposta por Schuba et al.
Cliente
SYN
Tempo
seq =
x
Servidor
Inundação de Segmentos SYN
Cliente
SYN
Tempo
seq =
x
Servidor
uso da CPU
• Solução proposta por Schuba et al.
tempo
Inundação de Segmentos SYN
Cliente
SYN
Tempo
seq =
x
K
C
A
/
N
Y
S
1
ck = x +
,a
y
=
q
e
s
y = hash(*)
Servidor
uso da CPU
• Solução proposta por Schuba et al.
tempo
Inundação de Segmentos SYN
Cliente
SYN
Tempo
seq =
x
K
C
A
/
N
Y
S
1
ck = x +
Servidor
uso da CPU
• Solução proposta por Schuba et al.
tempo
,a
y
=
q
e
s
A
seq = x CK
+1, ack
=y +1
y = hash(*)
memória
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
Tempo
Atacante
Refletor
Vítima
Refletor usando TCP SYN
Tempo
Atacante
SYN
Refletor
Vítima
Refletor usando TCP SYN
Tempo
Atacante
SYN
Vítima
Refletor
SYN/AC
K
Refletor usando TCP SYN
Tempo
Atacante
SYN
Vítima
Refletor
SYN/AC
K
Refletor usando TCP SYN
Tempo
Atacante
SYN
Vítima
Refletor
SYN/AC
K
RST
Refletor usando TCP SYN
Tempo
Atacante
SYN
SYN
Vítima
Refletor
SYN/AC
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
V
H1
H2
H3
R
H4
H5
Inundação ICMP
A
V
H1
H2
H3
R
H4
H5
Inundação ICMP
A
V
H1
H2
H3
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
A
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
A
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
A
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
A
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
A
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
A
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
A
V
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
A
V
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
A
V
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
A
“Gargalo”
V
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
A
“Gargalo”
V
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
A
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
R1 só permite a saída de
pacotes cujo endereço
de origem pertence à Rede 1
V
A vítima pode descobrir
a origem do ataque
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
• Rota de ataque (R5, R2, R1)
• Problema do rastreamento perfeito
A1
– Determinação exata da rota de ataque
A3
A2
R4
R5
• (R5, R2, R1)
• Problema do rastreamento aproximado
– Rota de ataque real como um sufixo
• (R4, R5, R2, R1)
• Duas abordagens
– Rastreamento sem estado
– Rastreamento baseado em auditoria
R6
R3
R2
R1
V
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
A
R7
R8
R11
R10
R3
R6
R4
R1
V
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
A
R7
R8
R11
R10
R3
R6
R4
R1
V
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
A
R7
R8
R11
R10
R3
R1
R6
R4
9
V
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
A
R7
R8
R11
R10
R3
R1
R6
R4
9
V
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
A
R7
R8
R11
R3
R1
R6
R10
9
R4
9
V
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
A
R7
R8
R11
R3
R1
R6
R10
9
R4
9
V
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
A
R8
R11
9
R7
R3
R1
R6
R10
9
R4
9
V
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
A
R1
R2
R3
...
V
Rn
IP Record Route
• Cada roteador adiciona seu endereço IP ao cabeçalho do
pacote
– Mecanismo mais simples
R1
A
dados
R1
R2
R3
...
V
Rn
IP Record Route
• Cada roteador adiciona seu endereço IP ao cabeçalho do
pacote
– Mecanismo mais simples
R2 R1
A
R1
dados
R2
R3
...
V
Rn
IP Record Route
• Cada roteador adiciona seu endereço IP ao cabeçalho do
pacote
– Mecanismo mais simples
R3 R2 R1
A
R1
R2
R3
dados
...
V
Rn
IP Record Route
• Cada roteador adiciona seu endereço IP ao cabeçalho do
pacote
– Mecanismo mais simples
Rn
A
R1
R2
R3
... R3 R2 R1
...
dados
V
Rn
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:
d
α 0 = (1 − p )
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
A
R1
R2
R3
...
V
Rn
Amostragem de Enlace
• R1 decide não marcar
– Campo “distância” é igual a zero
• Insere seu identificador no campo “Endereço 2”
0
A
R1
R1
dados
R2
R3
...
V
Rn
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
A
R1
R1
dados
R2
R3
...
V
Rn
Amostragem de Enlace
• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”
1 R2 R1
A
R1
R2
dados
R3
...
V
Rn
Amostragem de Enlace
• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”
– Zera o campo “distância”
0 R2 R1
A
R1
R2
dados
R3
...
V
Rn
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
A
R1
R2
R3
dados
...
V
Rn
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
A
R1
R2
R3
dados
...
V
Rn
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
A
R1
R2
R3
...
R3
dados
V
Rn
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á
Fragmentos com
distância = r
– 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
1
2
3
4
5
6
7
8
Hash diferente
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(•)
.
.
.
hk(•)
0
0
0
0
0
m bits
Filtro de Bloom
• Estrutura de dados para representar um grupo
• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos
0
0
s1
h1(•)
0
h2(•)
.
.
.
hk(•)
0
0
0
0
0
m bits
Filtro de Bloom
• Estrutura de dados para representar um grupo
• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos
0
0
s1
h1(•)
0
h2(•)
.
.
.
hk(•)
0
0
0
0
0
m bits
Filtro de Bloom
• Estrutura de dados para representar um grupo
• Suporte a testes de pertinência
• Armazenamento eficiente
– Custo de falsos positivos
0
0
s1
h1(•)
0
h2(•)
.
.
.
hk(•)
0
0
0
0
0
m bits
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(•)
s1
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
0
1
m bits
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(•)
s21
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
0
1
m bits
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(•)
s21
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
0
1
m bits
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(•)
s21
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
0
1
m bits
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(•)
s21
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s21’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s21’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s21’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s21’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
9
9
m bits
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(•)
s321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
8
m bits
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(•)
s4321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s4321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s4321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
m bits
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(•)
s4321’
h2(•)
.
.
.
hk(•)
0
1
0
0
0
0
1
0
1
9
9
m bits
Falso positivo
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
R8
falsos
positivos
R4
R7
A9
A1
R5
R6
R3
R2
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
A
1
R1
R2
01
001
...
R3
0 0
...
dados
V
Rn
Sistema de Choi e Dai
• Roteador R1 insere o enlace “1”
SF
0 1 1 0 0 0 0 0 0 0
A
1
R1
R2
01
001
...
R3
0 0
...
01
dados
V
Rn
Sistema de Choi e Dai
• Roteador R2 insere o enlace “01”
SF
0 1 0 1 1 0 0 0 0 0
A
1
R1
R2
01
001
...
R3
0 0
...
01
dados
V
Rn
Sistema de Choi e Dai
• Roteador R3 insere o enlace “001”
SF
0 1 0 1 0 0 1 1 0 0
A
1
R1
R2
01
001
...
R3
0 0
...
01
dados
V
Rn
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
A
1
R1
R2
01
001
...
R3
1 0
...
01
dados
V
Rn
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
A
1
R1
R2
001
01
Packet ID
...
R3
1 0
...
01
dados
V
Rn
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
A
1
R1
R2
01
001
...
R3
1 0
...
01
dados
V
Rn
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
A
1
R1
R2
01
001
...
R3
1 0
...
01
dados
V
Rn
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
A
1
R1
R2
01
001
...
R3
0 0
...
01
dados
V
Rn
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
R2
R4
R7
R6
190 0 1 0 0 1 1
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
190 0 1 0 0 1 1
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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
1 0 0 1 0 0 19
1
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R26
R27
R19
R18
R17
R20
R11
R9
R10
R22
R21
R13
R12
R6
R5
R15
R7
R2
R4
R24
R14
R1
R8
R3
V
R29
R28
R23
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R11
R9
R10
R22
R21
R13
R12
R6
R5
R15
R7
R2
R4
R24
R14
R1
R8
R3
V
R29
R28
R23
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R11
R9
R10
R22
R21
R13
R12
R6
R15
R5
R7
R2
R4
R1
R8
R3
9
9
R24
R14
V
9
R29
R28
R23
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R11
R9
R10
R22
R21
R13
R12
R6
R15
R5
R7
R2
R4
R1
R8
R3
9
9
R24
R14
V
9
R29
R28
R23
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R21
R5
9
9
9 R7
9
R2
R1
R3
9
9
R24
R15
V
9
R8
9
R29
R28
R23
R14
R6
R10
R4
R13
R12
R11
R9
R22
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R21
R5
9
9
9 R7
9
R2
R1
R3
9
9
R24
R15
V
9
R8
9
R29
R28
R23
R14
R6
R10
R4
R13
R12
R11
R9
R22
R16
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R21
R12
R11
9
R9
R10
9
9
9
9
R13
99
9
R6
R5
9
R4
R22
R14
9
R1
V
9
9
R3
9
9
R16
R15
R2
9
R24
9 R7
R8
9
R29
R28
R23
9
R25
O Problema
A
R26
R27
R19
R18
R17
R20
R21
R12
R11
9
R9
R10
9
9
9
9
R13
99
9
R6
R5
9
R4
R22
R14
9
R1
V
9
9
R3
9
9
R16
R15
R2
9
R24
9 R7
R8
9
R29
R28
R23
9
R25
O Problema
A
R26
R17
9
R27
R18
9
R19
R20
9
9
R11
9
R9
9
R12
9
R10
9
9
9
9
9
R13
99
9
R6
V
9
9
R3
9
9
R16
R15
9 R7
R1
9
9
9
R2
9
9 R24
R14
R8
9
R29
R28
R23
9
R5
9
R4
R21
R22
9
R25
9
O Problema
A
R26
R17
9
R27
R18
9
R19
R20
9
9
R11
9
R9
9
R12
9
R10
9
9
9
9
9
R13
99
9
R6
V
9
9
R3
9
9
R16
R15
9 R7
R1
9
9
9
R2
9
9 R24
R14
R8
9
R29
R28
R23
9
R5
9
R4
R21
R22
9
R25
9
O Problema
A
R26
R27
9
9
R17
9
R18
9
R19
R20
9
9
R11
9
R9
9
R12
9
R10
9
9
9
9
9
R13
99
9
R6
R14
V
R3
9
R16
R15
9
9
9
9
9
9
R2
9
9 R24
9 R7
R1
R28
R23
9
R5
9
R4
R21
R22
R8
9
9
R29
9
R25
9
9
Filtro de Bloom Generalizado
0
1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
0
1
1
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
0
1
1
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
0
1
1
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
0
1
1
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
0
1
1
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s1
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s21’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
9
9
m bits
Filtro de Bloom Generalizado
0
1
s12’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s12’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s12’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s12’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
Falso negativo
1
0
Invertido por s2
1
1
0
0
0
1
0
0
1
8
m bits
Filtro de Bloom Generalizado
0
1
s312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
8
m bits
Filtro de Bloom Generalizado
0
1
s4312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s4312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s4312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
m bits
Filtro de Bloom Generalizado
0
1
s4312’
g1(•)
.
.
.
gk0(•)
h1(•)
.
.
.
hk1(•)
0
1
0
1
1
0
0
0
1
0
0
1
9
9
m bits
Falso positivo
Resultados
Resultados
Filtro de Bloom
Filtro de Bloom Generalizado
Resultados
k0
 k0   k1 
Fp ≈ 
 

k
+
k
k
+
k
 0 1  0 1
k1
Resultados
75%
Resultados
Atacante
Vítima
Resultados
Filtro de Bloom
Generalizado
Atacante
Filtro de Bloom
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
Falso negativo
8
R5
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
1 0 0 1 0 0 1 1 FBG
0 0 0 0 0 0 0 0 m0
0 0 0 0 0 0 0 0 m1
9
R2
R4
R7
R6
R1
R3
V
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
A
R2
R4
R7
R6
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
1 0 0 1 0 0 1 1 FBG
0 0 0 0 1 0 0 0 m0
0 0 0 1 0 0 0 0 m1
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
R2
R4
R7
R6
9
9
R1
R3
V
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
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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
m1 0 0 1 1 0 0 0 9
1
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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
A
9
R5
R2
R4
R7
R6
9
9
R1
R3
V
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-ofService 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-sa20030717-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-azombies. 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/devnews/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
Download