Escolar Documentos
Profissional Documentos
Cultura Documentos
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
0 10 20 30 40 50 60
Milhões de dólares
• 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
• 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
Fonte: Moore et al., “Inferring Internet Denial-of-Service Activity,” 2001 USENIX Security Symposium.
Negação de Serviço
Segurança na Internet
• 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
• 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
Usuário executa
o vírus
Usuário executa
o vírus
A ISCA
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”
A VÍTIMA
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”
“mais um trouxa
que eu pego!” ...
A VÍTIMA
O ATACANTE
Cavalo de Tróia
“Oi, eu sou um coelhinho,
olha como sou inofensivo”
“mais um trouxa
que eu pego!” ...
A VÍTIMA
O ESTRAGO
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
Usuários da
Internet
Spyware
Usuários da
Internet
Spyware
• “Ladrão de audiência”
www.fotolog.net
Usuário
normal
Como o Stealware funciona
www.fotolog.net www.brasiltelecom.com.br
www.fotolog.net www.brasiltelecom.com.br
www.fotolog.net www.brasiltelecom.com.br
Usuário com
stealware
Como o Stealware funciona
www.fotolog.net www.brasiltelecom.com.br
Stealware modifica a
comissão do anúncio
Usuário com
stealware
Como o Stealware funciona
www.fotolog.net www.brasiltelecom.com.br
Stealware modifica a
comissão do anúncio Brasil-Telecom:”O steal.org me
rendeu muitos cliques, este sítio é
um bom lugar para anunciar”
Usuário com
stealware
Mensagem Não Solicitada - SPAM
Spams
• Spammer
– Todo o indivíduo que gera ou envia spams
Mensagens não solicitadas
(spams)
• 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
• 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
Figura chamativa
Spam em Figuras
Endereço do sítio
Spam com Elementos Aleatórios
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
• Presença de identificadores
– Registros de HTTP
• Clientes de e-mail com execução automática
− Objetos baixados
• Acesso à pagina anunciada
• 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
• Hospedagem de conteúdo
– Surgimento de servidores especializados
• Financiado pelo spammer
– Servidores de terceiros → zumbis
• Pragas digitais → trojans
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
Servidor proxy
Spammer
Programas Populares
www.orkut.com
Programas Populares
www.orkut.com
Programas Populares
www.orkut.com
Faixas de Endereços IP Dinâmicos
Spammer:
Endereço IP: x.x.x.x
Faixas de Endereços IP Dinâmicos
Spammer:
Endereço IP: x.x.x.x
Faixas de Endereços IP Dinâmicos
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
Spammer:
Endereço IP: x.x.x.y
Faixas de Endereços IP Dinâmicos
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
• 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
• Duas formas
– Inundação
– Explorar uma vulnerabilidade
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
uso da CPU
tempo
Rede V
fila
memória
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
Rede V
U
Ataques por Inundação
uso da CPU
A
tempo
Rede V
fila
memória
Ataques por Inundação
• 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
Rede V
U
Ataques por Vulnerabilidade
Rede V
U
Ataques por Vulnerabilidade
Rede V
U
Ataques por Vulnerabilidade
Rede V
U
Ataques por Vulnerabilidade
Rede V
U
Ataques por Vulnerabilidade
uso da CPU
A
tempo
Rede V
fila
memória
Arquitetura da Internet
• Sucesso da Internet
– Velocidade
– Confiabilidade
– Compartilhamento de recursos
• Baixo custo
• Princípios da arquitetura
– Facilitam a proliferação de ataques de negação de serviço
Arquitetura da Internet
• Sucesso da Internet
– Velocidade
comutação de pacotes
– Confiabilidade
+
– Compartilhamento de recursos protocolos TCP/IP
• Baixo custo
• Princípios da arquitetura
– Facilitam a proliferação de ataques de negação de serviço
Arquitetura da Internet
2
X
1
3
Arquitetura da Internet
2
X
1
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet
Origem Destino Y
Z Y
2
X
1
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet
Origem Destino Y
Z Y
2
Origem Destino
X
1 Z Y
3
Endereço Interface
X 1
Y 2
outro 3
Arquitetura da Internet
GTA/UFRJ
Arquitetura da Internet
Origem 65.17.203.38
Destino 143.108.13.123 GTA/UFRJ
Arquitetura da Internet
Origem 65.17.203.38
Destino 143.108.13.123 GTA/UFRJ
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
R1 Rede R2
Y
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
R1 Rede R2
Y X Y
Roteamento Dinâmico
• Pacotes de Y endereçados a X
– São roteados por R1
Y X X
R1 Rede R2
Y X Y
Roteamento Dinâmico
• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós
R1 Rede R2
Y
Roteamento Dinâmico
• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós
R1 Rede R2
Y Y X
Roteamento Dinâmico
• Queda de um nó
– O roteador R1 cai
– Pacotes de Y para X são roteados por outros nós
X Y X
R1 Rede R2
Y Y X
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
R1 Rede R2 A
Y
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
R1 Rede R2 A
Y X Y
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
Y X X
R1 Rede R2 A
Y X Y
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
Y X X
Y X
R1 Rede R2 A
Y X Y
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
Y X X
Y X Y X
R1 Rede R2 A
Y X Y
Roteamento Dinâmico
• Após a recuperação...
– Pacotes legítimos de Y para X são roteados por R1
– O atacante A usa pacotes com endereço de Y para atacar X
• X não pode bloquear os pacotes de ataque Æ R1 pode ter caído
Y X X Y X
Y X Y X
R1 Rede R2 A
Y X Y
Arquitetura da Internet
A1
A2
A3
...
V An
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
• 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
Cliente Servidor
Tempo
Inundação de Segmentos SYN
Cliente Servidor
SYN
seq = x
Tempo
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
Tempo
memória
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
Tempo
YN /A C K
S 1
= y,ack = x +
s eq
memória
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
te
Tempo
YN /A C K
S 1
= y,ack = x +
s eq
A
seq = x CK
+1, ack
=y +1
memória
Inundação de Segmentos SYN
Atacante Vítima
Tempo
Inundação de Segmentos SYN
Atacante Vítima
SYN
Tempo
Inundação de Segmentos SYN
Atacante Vítima
uso da CPU
SYN
tempo
Tempo
Inundação de Segmentos SYN
Atacante Vítima
uso da CPU
SYN
tempo
Tempo
K
SYN/AC
Inundação de Segmentos SYN
Atacante Vítima
uso da CPU
SYN
SYN
tempo
Tempo
K
SYN/AC
Inundação de Segmentos SYN
Atacante Vítima
uso da CPU
SYN
SYN
SYN tempo
Tempo
K
SYN/AC
Inundação de Segmentos SYN
Atacante Vítima
Tempo
Inundação de Segmentos SYN
Atacante Vítima
SYN
Tempo
Inundação de Segmentos SYN
Atacante Vítima
SYN
Tempo
memória
Inundação de Segmentos SYN
Atacante Vítima
SYN
K
SYN/AC
Tempo
memória
Inundação de Segmentos SYN
Atacante Vítima
SYN
SYN K
SYN/AC
Tempo
memória
Inundação de Segmentos SYN
Atacante Vítima
SYN
SYN K
SYN/AC
Tempo
SYN
memória
Inundação de Segmentos SYN
Atacante Vítima
SYN
SYN K
SYN/AC
Tempo
SYN
SYN
memória
Inundação de Segmentos SYN
Cliente Servidor
Tempo
Inundação de Segmentos SYN
Cliente Servidor
SYN
seq = x
Tempo
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
Tempo
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
Tempo
YN /A C K
S 1
= y,ack = x +
s eq
y = hash(*)
Inundação de Segmentos SYN
Cliente Servidor
uso da CPU
SYN
seq = x
tempo
Tempo
YN /A C K
S 1
= y,ack = x +
s eq
A
seq = x CK
+1, ack
=y +1
memória
y = hash(*)
Inundação de Segmentos SYN
• 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
SYN/AC
Tempo
K
Refletor usando TCP SYN
SYN/AC
Tempo
K
Refletor usando TCP SYN
SYN/AC
Tempo
RST
Refletor usando TCP SYN
SYN/AC
Tempo
SYN K
SYN/AC
K
RST
Inundação ICMP
A
H1 H2 H3
V R
H4 H5
Inundação ICMP
A
H1 H2 H3
V R
H4 H5
Inundação ICMP
A
H1 H2 H3
V R
H4 H5
Inundação UDP
V1 V2
Inundação UDP
V1 V2
Inundação UDP
V1 V2
Inundação UDP
V1 V2
Inundação UDP
V1 V2
Inundação UDP
V1 V2
..
.
Inundação UDP
U
Ataque à Infra-estrutura de Rede
U
Ataque à Infra-estrutura de Rede
U
Ataque à Infra-estrutura de Rede
“Gargalo”
U
Ataque à Infra-estrutura de Rede
“Gargalo”
U
Ataque à Infra-estrutura de Rede
• 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
V
Vantagens para o Atacante
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
– 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
• Super-dimensionamento de recursos
– Custo elevado
– Nem sempre é eficaz
• Ataque à infra-estrutura de rede
• Aumento do número de zumbis
Medidas Preventivas
A V
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
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
R4
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
R4
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
9
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
R10
9
R4
9
Teste de Enlaces
R2
R9
R7
A R11 R8 R3 R1 V
R6
9 R10
9
R4
9
Teste de Enlaces
• Desvantagens
– Essencialmente manual
• Contato com o provedor de serviço (Internet Service Provider –
ISP)
• Lentidão
– Baseado em assinatura
• Verificação dos enlaces em busca da assinatura
– Processo recursivo
• Aplicado nos roteadores identificados como parte da rota de
ataque
• Pode checar até d roteadores
− Onde d = diâmetro da rede
Otimizações
• Teste indireto
cabeçalho
dados
R3 ... V
A R2 Rn
R1
IP Record Route
R1 dados
R3 ... V
A R2 Rn
R1
IP Record Route
R2 R1 dados
R3 ... V
A R2 Rn
R1
IP Record Route
R3 R2 R1 dados
R3 ... V
A R2 Rn
R1
IP Record Route
Rn ... R3 R2 R1 dados
R3 ... V
A R2 Rn
R1
IP Record Route
• Vantagens
– Simplicidade
– Descoberta da rota de ataque com apenas um pacote
• Problemas
– Acréscimo significativo de processamento
– Aumento do tamanho do pacote
• Fragmentação desnecessária do pacote
Marcação de Pacotes
A V
Marcação Probabilística de Pacotes
α i = p(1 − p) d −i
• Vantagem
– Apenas alguns pacotes são marcados
• Desvantagens
– Número médio de pacotes coletados para receber pelo
menos um pacote marcado
• Para d = 15 e p = 0,51
− 300 mil para 95% de garantia
– Probabilidade de chegar um pacote marcado somente pelo
atacante:
α 0 = (1 − p )
d
Marcação Probabilística de Pacotes
• 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
0 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
0 R1 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
1 R1 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”
1 R2 R1 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
• R2 decide marcar
– Insere seu identificador no campo “Endereço 1”
– Zera o campo “distância”
0 R2 R1 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
0 R2 R3 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
1 R2 R3 dados
R3 ... V
A R2 Rn
R1
Amostragem de Enlace
n-2 R2 R3 dados
R3 ... V
A R2 Rn
R1
A Identificação do Roteador
Identification
Propostas para a Identificação
do Roteador
Hash diferente
distância = r
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 Hash diferente
1 2 3 4 5 6 7 8 Hash OK
1 2 3 4 5 6 7 8 Hash diferente
Reconstrução da Rota
• Problemas
– Dependendo do número de atacantes o processamento pode
se tornar inviável
• 25 atacantes pode levar dias executando a reconstrução da
rota
– Falso positivo
• Probabilidade da função hash retornar OK para um endereço
− Inexistente
− Não pertencente a rota de ataque
• Com 25 atacantes já pode-se chegar a milhares de falsos
positivos
Identificação dos Roteadores
• Outra proposta
– Inserção do hash do endereço IP (E)
– Não precisa montar os fragmentos
– Usa duas funções hash h e h’
• Identificação do sentido
Reconstrução da Rota
• 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
A V
Nova Marcação de Pacotes
• 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
h2(•) 0
m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom
h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom
h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom
h2(•) 0
s1 m bits
. 0
.
.
0
hk(•)
0
0
Filtro de Bloom
h2(•) 1
0
s1 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom
h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom
h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom
h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
0
1
Filtro de Bloom
h2(•) 1
0
s21 m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s21’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
h2(•) 1
0
s4321’ m bits
. 0
.
.
0
hk(•)
0
1
0
1
Filtro de Bloom
• 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
falsos
positivos R4 R6
R5
R2 R3
R7
R1
V
Problemas
– Marcação de pacotes
• Os roteadores marcam no pacote o enlace pelo qual o pacote
entrou
• 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
– 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
SF FS
...
0 1 0 0 0 0 0 0 0 0 0 0 dados
R3 ... V
A R2 001 Rn
1 R1 01
Sistema de Choi e Dai
SF
...
0 1 1 0 0 0 0 0 0 0 0 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai
SF
...
0 1 0 1 1 0 0 0 0 0 0 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai
SF
...
0 1 0 1 0 0 1 1 0 0 0 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai
SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
Sistema de Choi e Dai
SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
Packet ID
Sistema de Choi e Dai
SF
...
0 1 0 1 0 0 1 1 0 0 1 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar
...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai
SF
...
1 1 0 1 0 0 1 1 0 0 1 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar
...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai
SF
...
1 0 1 1 0 0 0 0 0 0 0 0 dados
R3 ... V
A R2 001 Rn
01
1 R1 01
armazenar
...
Packet ID 1 0 1 0 0 1 1 0 0 1 0
Sistema de Choi e Dai
• Reconstrução da rota
– Começa com o roteador conectado à vítima
– Verifica-se de qual enlace o pacote veio
• Através do campo “enlace”
– O enlace é retirado do campo “enlace”
– O pacote é enviado para o roteador previamente identificado
Sistema de Choi e Dai
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de marcação
– Realizado pouco antes do encaminhamento do pacote
– Endereço IP da interface de saída inserido no filtro do
pacote
– Atualização com uma simples operação OU bit-a-bit
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2
190 0 1 0 0 1 1
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2 190 0 1 0 0 1 1
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
9
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
190 0 1 0 0 1 1
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
9
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
9
R5
9 R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
9
1 0 0 1 0 0 19
1 R5
R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Procedimento de reconstrução
– Vítima possui um filtro com os roteadores da rota de ataque
– Verificação da presença de roteadores vizinhos no filtro
– Aquele reconhecido é o próximo roteador
– Procedimento recursivo
9
R5
9 R2 9
9
A R7 R4 R1 V
R6 R3
Sistema Proposto
• Vantagens
– Rastreamento realizado com um único pacote
– Nenhuma informação armazenada na rede
– Baixo processamento adicional por pacote
• Desvantagens
– Falsos positivos decorrentes da adoção do Filtro de Bloom
– Fácil burlar o sistema
• Atacante preenche os bits do filtro com 1
• Probabilidade de 100% de falso positivo
O Problema
R6 R16
R9 R10 R15
R5 R7
R4 R2 R8
R1 R3
V
O Problema
R6 R16
R9 R10 R15
R5 R7
R4 R2 R8
R1 R3
V
O Problema
R6 R16
R9 R10 R15
R5 R7
R4 R2 R8
R1 9 R3
9 V 9
O Problema
R6 R16
R9 R10 R15
R5 R7
R4 R2 R8
R1 9 R3
9 V 9
O Problema
R6 R16
R9 R10 R15
R5 9 R7
9 R2 9
R4 R8
R1 9 R3
9 9
9 V 9
O Problema
R6 R16
R9 R10 R15
R5 9 R7
9 R2 9
R4 R8
R1 9 R3
9 9
9 V 9
O Problema
0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
. 0
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s1 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21 m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
9
9
gk0(•) 1
s21’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0 Falso negativo
g1(•)
1
0 Invertido por s2
.
.
. 1 8
gk0(•) 1
s12’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1 8
gk0(•) 1
s312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Filtro de Bloom Generalizado
0
1
0
g1(•)
1
0
.
.
. 1 9
9 Falso positivo
gk0(•) 1
s4312’ m bits
h1(•) 0
.
. 0
.
hk1(•) 0
1
0
0
1
Resultados
Resultados
Filtro de Bloom
k0 k1
k0 k1
Fp ≈
k + k k
0 1 0 1 + k
Resultados
75%
Resultados
Atacante Vítima
Resultados
Filtro de Bloom
Generalizado Filtro de Bloom
Atacante Vítima
Resultados
Resultados
Filtro de Bloom
Generalizado
Filtro de Bloom
Resultados
Resultados
A R7 R4 R1 V
R6 R3
Resultados
A R7 R4 R1 V
R6 R3
Resultados
R6 R3
Resultados
R6 R3
Resultados
R6 R3
Resultados
R6 R3
Resultados
R6 R3
Reconstrução Aprimorada
R5
R2
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
R5
R2
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
R5
R2
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
1 0 0 1 0 0 1 1 FBG
R5 0 0 0 0 0 0 0 0 m0
R2
0 0 0 0 0 0 0 0 m1
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
R5
R2
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
1 0 0 1 0 0 1 1 FBG
0 0 0 0 1 0 0 0 m0
R5
R2 0 0 0 1 0 0 0 0 m1
9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
9
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
1 0 0 1 0 0 1 1 FBG
0 0 1 0 1 0 0 0 m0
090 0 1 0 0 0 1 m1
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
9
R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
9
R5
9 R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
FBG 1 0 0 1 0 0 1 1
m0 0 0 1 0 1 1 0 0 9
m1 0 0 1 1 0 0 0 91 R5
R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
9
R5
9 R2 9
9
A R7 R4 R1 V
R6 R3
Reconstrução Aprimorada
• Desenvolvimento de um simulador
– Baseado em uma topologia real da Internet
– Filtro marcado por roteadores
– Procedimentos de reconstrução
Conclusões
• Trabalhos futuros
– Compressão do Filtro de Bloom Generalizado
– Estudo de outros procedimentos de reconstrução
Considerações Finais
Conclusões
• Formas de punição
– Como usar as informações do rastreamento?
Grupos de Pesquisa
• Negação de serviço
[1b] CERT (1996). CERT Advisory CA-1996-26 Denial-of-Service Attack
via ping.
http://www.cert.org/advisories/CA-1996-26.html.
[2b] CERT (1997). CERT Advisory CA-1997-28 IP Denial-of-Service
Attacks.
http://www.cert.org/advisories/CA-1997-28.html.
[3b] CERT (1998). CERT Advisory CA-1998-01 Smurf IP Denial-of-
Service Attacks.
http://www.cert.org/advisories/CA-1998-01.html.
Referências
• Negação de serviço
[4b] Cisco (2003). Cisco Security Advisory: Cisco IOS Interface
Blocked by IPv4 Packets. Cisco Systems, Inc.
http://www.cisco.com/warp/public/707/cisco-sa-
20030717-blocked.shtml.
[5b] CNN.com (2000). Denial of service hackers take on new targets.
http://www.cnn.com/2000/TECH/computing/02/09/denial
.of.service.03.
[6b] Dittrich, D. (1999a). The DoS Project’s ‘trinoo’ distributed denial
of service attack tool.
http://staff.washington.edu/dittrich/misc/trinoo.an
alysis.txt.
Referências
• Negação de serviço
[7b] Dittrich, D. (1999b). The ‘stacheldraht’ distributed denial of
service attack tool.
http://staff.washington.edu/dittrich/misc/stacheldr
aht.analysis.txt.
[8b] Dittrich, D. (1999c). The ‘Tribe Flood Network’ distributed denial
of service attack tool.
http://staff.washington.edu/dittrich/misc/tfn.analy
sis.txt.
[9b] Garber, L. (2000). Denial-of-Service Attacks Rip the Internet.
IEEE Computer, 4(33):12–17.
Referências
• Negação de serviço
[10b] Gibson, S. (2001). The Strange Tale of the Attacks Against
GRC.COM. Gibson Research Corporation.
http://www.grc.com/dos/grcdos.htm.
[11b] Gont, F. (2004). ICMP Attacks Against TCP. Internet Draft:
draft-gonttcpm-icmp-attacks-03.txt.
[12b] Gordon, L. A., Loeb, M. P., Lucyshyn,W. e Richardson, R.
(2005). 2005 CSI/FBI Computer Crime and Security Survey.
[13b] Gray, P. e Fried, I. (2003). Al-Jazeera suffers DoS attack. ZDNet
UK.
http://news.zdnet.co.uk/business/0,39020645,2132585
,00.htm.
Referências
• Negação de serviço
[14b] Microsoft (2002). Stop 0A in Tcpip.sys When Receiving Out Of
Band (OOB) Data. Microsoft Corporation.
http://support.microsoft.com/kb/q143478.
[15b] Mirkovic, J., Dietrich, S., Dittrich, D. e Reiher, P. (2004).
Internet Denial of Service: Attack and Defense Mechanisms. Prentice
Hall PTR, 1a edição.
[16b] Mirkovic, J. e Reiher, P. (2004). A Taxonomy of DDoS Attack
and DDoS Defense Mechanisms. ACM SIGCOMM Computer
Communications Review, 34(2):39–53.
Referências
• Negação de serviço
[17b] Moore, D., Voelker, G. e Savage, S. (2001). Inferring Internet
Denial of Service Activity. Em Proceedings of the 2001 USENIX
Security Symposium, Washington, DC, EUA.
[18b] Reuters (2004). Scotland Yard and the case of the rent-a-
zombies. ZDNet.com.
http://news.zdnet.com/2100-1009_22-5260154.html.
[19b] Schuba, C. L., Krsul, I. V., Kuhn, M. G., Spafford, E. H.,
Sundaram, A. e Zamboni, D. (1997). Analysis of a Denial of Service
Attack on TCP. Em Proceedings of the 1997 IEEE Symposium on
Security and Privacy, páginas 208–223, Oakland, CA, EUA.
Referências
• Negação de serviço
[20b] Shachtman, N. (2003). Porn Purveyors Getting Squeezed. Wired
News.
http://wired-vig.wired.com/news/print/0,1294,59574,00.html.
• 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
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