Negação de Serviço: Ataques e Contramedidas · • É, geralmente, introduzido como parte de um...

Preview:

Citation preview

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

Negação de Serviço: Ataques e Contramedidas

http://www.gta.ufrj.br

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

Departamento de Eletrônica - PoliPrograma de Engenharia Elétrica - COPPE

Universidade Federal do Rio de Janeiro

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

Empresas: 269CSI/FBI 2004 Computer Crime and Security SurveyFonte: Computer Security Institute

$0,871

$0,902

$0,958

$2,747

$3,998

$4,278

$6,735

$7,671

$10,159

$10,601

$11,460

$26,064

$55,054

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

Vírus

Negação de serviço

Roubo de informação proprietária

Abuso por parte de usuários internos da rede

Abuso de redes sem fio

Fraudes financeiras

Roubo de laptops

Acessos não autorizados

Fraudes em telecomunicações

Uso indevido de aplicações web públicas

Descaracterização de sítios da Internet

Invasão de sistemas

Sabotagem

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 redesde 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 realizarsuas atividades

Segurança em redesde 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íruspor um dispositivo de entrada ou pela rede

Vírus

Usuário adquire víruspor um dispositivo de entrada ou pela rede

Usuário executao vírus

Vírus

Usuário adquire víruspor um dispositivo de entrada ou pela rede

Usuário executao vírus

Vírus executa suas tarefas e se replica

Vírus

Usuário adquire víruspor um dispositivo de entrada ou pela rede

Usuário executao vírus

Vírus executa suas tarefas e se replica

Vírus se propaga para outro computador por

um dispositivo de saída ou pela rede

Características dos Vírus

• Vírus de MBR (Master Boot Record)– Infecta os primeiros setores de um disco– Cada vez menos comum, devido ao desuso de disquetes

• Vírus removedor– Apaga arquivos essenciais ao funcionamento do computador

ou de aplicativos

• Vírus infeccioso– Se anexa a arquivos executáveis (.exe, .com)

Características dos Vírus

• Vírus de conteúdo embutido– Semelhante ao infeccioso– Geralmente se anexa a arquivos de som, imagem, vídeo ou

até páginas Web

• Vírus furtivo (stealth)– Burla heurísticas utilizadas pelos antivírus

• Vírus de engenharia social e boatos (hoaxes)– Anuncia arquivos legítimos do sistema operacional como

sendo vírus e requisita que o usuário o apague

• Estas características podem ser combinadas

Cavalo de Tróia

• Programa que, a princípio, não apresenta perigo, porém ao ser executado pode causar estragos

• Pode criar porta dos fundos (backdoors)

• Habilita a execução de comandos remotos do atacante

• Geralmente adquiridos através de acesso a sítios maliciosos ou através de e-mails

• Não se replica!

Cavalo de Tróia

“Oi, eu sou um coelhinho,olha como sou inofensivo”

A ISCA

Cavalo de Tróia

“Oi, eu sou um coelhinho,olha como sou inofensivo”

A ISCA

A VÍTIMA

“Ah! que coelhinholindinho! Vou executar e

ver o que acontece”

Cavalo de Tróia

“Oi, eu sou um coelhinho,olha como sou inofensivo”

A ISCA

A VÍTIMA

“Ah! que coelhinholindinho! Vou executar e

ver o que acontece”

“mais um trouxaque eu pego!” ...

O ATACANTE

Cavalo de Tróia

“Oi, eu sou um coelhinho,olha como sou inofensivo”

A ISCA

A VÍTIMA

“Ah! que coelhinholindinho! Vou executar e

ver o que acontece”

“mais um trouxaque eu pego!” ...

O ATACANTE

... “agora posso roubar informações e danificar

computadores, garantindo anonimato!”

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 comprometidoutiliza a rede para infectar

outros computadores vulneráveis

Verme

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

Verme

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

outros computadvulneráveis

Verme

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

outros computadvulneráveis

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

Verme

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

outros computadvulneráveis

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

Computador comprometidoutiliza a rede para infectar

outros computadores vulneráveis

• É, 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

Spyware

Usuários daInternet

Spyware

Usuários daInternet

Hacker coleta dadosdos diversos usuários

Spyware

Usuários daInternet

Hacker coleta dadosdos diversos usuários

Hacker compila os dados em informações e perfis de usuários

Spyware

Usuários daInternet

Hacker coleta dadosdos diversos usuários

Hacker compila os dados em 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árionormal

Como o Stealware funciona

www.fotolog.net

Usuárionormal

Sítio patrocinador utilizainformações do usuário

para contabilizar acomissão da propaganda

www.brasiltelecom.com.br

Como o Stealware funciona

www.fotolog.net

Usuárionormal

Sítio patrocinador utilizainformações do usuário

para contabilizar acomissão da propaganda

www.brasiltelecom.com.br

Brasil-Telecom:”O fotolog.net me rendeu muitos cliques, este sítio é

um bom lugar para anunciar”

Como o Stealware funciona

www.fotolog.net

Usuário comstealware

www.brasiltelecom.com.br

Como o Stealware funciona

www.fotolog.net

Usuário comstealware

www.brasiltelecom.com.br

Stealware modifica a comissão do anúncio

Como o Stealware funciona

www.fotolog.net

Usuário comstealware

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”

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. China2. EUA3. 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

Servidor proxy

Spammer

Provedor

Servidores Proxy

Servidor proxy

Spammer

Provedor

Servidores Proxy

Servidor proxy

Spammer

Provedor

Spammer se conectaao proxy

Servidores Proxy

Servidor proxy

Spammer

Provedor

Servidores Proxy

Servidor proxy

Spammer

Provedor

Servidores Proxy

Servidor proxy

Spammer

Provedor Endereço IP de origem: ProxyEndereço IP de destino: Provedor

Programas Populares

www.orkut.com

Programas Populares

www.orkut.com

- Oi, que tal nos conhecermos?

Entre no meu sítio e venha me visitar.

Programas Populares

www.orkut.com

- Oi, que tal nos conhecermos?

Entre no meu sítio e venha me visitar.

- 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

Spammer:Endereço IP: x.x.x.x

Endereço IP de origem: 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

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

Faixas de Endereços IP Dinâmicos

Spammer:Endereço IP: x.x.x.y

Quem é que possui oendereço IP x.x.x.x?

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– Redes de alta velocidade

• Atualmente– Ataques freqüentes

• Ferramentas para automatizar algumas fases dos ataques

– Prejuízos financeiros e de imagem

universidades

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

U

VRede

Ataques por Inundação

U

VRede

Ataques por Inundação

U

VRede

Ataques por Inundação

U

VRede

Ataques por Inundação

U

VRede

tempo

uso

da C

PU

memória

fila

Ataques por Inundação

U

VRede

A

Ataques por Inundação

U

VRede

A

Ataques por Inundação

U

VRede

A

Ataques por Inundação

U

VRede

A

Ataques por Inundação

U

VRede

A

Ataques por Inundação

U

VRede

A

memória

tempo

uso

da C

PU

fila

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

U

VRede

Ataques por Vulnerabilidade

A

U

VRede

Ataques por Vulnerabilidade

A

U

VRede

Ataques por Vulnerabilidade

A

U

VRede

Ataques por Vulnerabilidade

A

U

VRede

Ataques por Vulnerabilidade

A

U

VRede

memória

tempo

uso

da C

PU

fila

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

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

comutação de pacotes +

protocolos TCP/IP

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

1

2

3

• O problema da autenticidade de endereços

X

Y

Arquitetura da Internet

1

2

3

• O problema da autenticidade de endereços

X

Y

Endereço

XY

outro

Interface

123

Arquitetura da Internet

1

2

3

• O problema da autenticidade de endereços

X

Y

Endereço

XY

outro

Interface

123

Origem

Z

Destino

Y

Arquitetura da Internet

1

2

3

• O problema da autenticidade de endereços

X

Y

Endereço

XY

outro

Interface

123

Origem

Z

Destino

Y

Origem

Z

Destino

Y

Arquitetura da Internet

GTA/UFRJ

Casa Branca Iraque

Arquitetura da Internet

GTA/UFRJ

Casa Branca Iraque

Origem

Destino 143.108.13.123

65.17.203.38

Arquitetura da Internet

GTA/UFRJ

Casa Branca Iraque

Origem

Destino 143.108.13.123

65.17.203.38

Roteamento Dinâmico

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

Y

Rede

X

R1 R2

Roteamento Dinâmico

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

Y

Rede

X

R1 R2

Y X

Roteamento Dinâmico

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

Y

Rede

X

R1 R2

Y X

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

Y

Rede

X

R1 R2

Roteamento Dinâmico

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

Y

Rede

X

R1 R2

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

Y

Rede

X

R1 R2

Y X

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

A

Y

Rede

X

R1 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

A

Y

Rede

X

R1 R2

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

A

Y

Rede

X

R1 R2

Y X

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

A

Y

Rede

X

R1 R2

Y X

Y X

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

A

Y

Rede

X

R1 R2

Y X

Y X

Y XY 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

A

Y

Rede

X

R1 R2

Y X

Y X

Y XY X

Y X

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

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

heterogeneidade

Topologia da Internet

• O problema dos enlaces heterogêneos

A1

AnV

A2

A3

. . .

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

Cliente Servidor

• Procedimento de abertura de conexão TCP

Tem

po

Inundação de Segmentos SYN

Cliente Servidor

• Procedimento de abertura de conexão TCP

Tem

po

SYNseq = x

Inundação de Segmentos SYN

Cliente Servidor

• Procedimento de abertura de conexão TCP

Tem

po

SYNseq = x

tempo

uso

da C

PU

memória

Inundação de Segmentos SYN

Cliente Servidor

• Procedimento de abertura de conexão TCP

Tem

po

SYNseq = x

tempo

uso

da C

PU

memória

SYN/ACK

seq = y, ack = x+1

Inundação de Segmentos SYN

Cliente Servidor

• Procedimento de abertura de conexão TCP

Tem

po

SYNseq = x

tempo

uso

da C

PU

memória

SYN/ACK

seq = y, ack = x+1

ACKseq = x+1, ack=y+1

te

uso

memória

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

SYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

SYN

tempo

uso

da C

PU

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

SYN

tempo

uso

da C

PU

SYN/ACK

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

SYN

tempo

uso

da C

PU

SYN/ACK

SYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque ao processamento usando segmentos TCP SYN

Tem

po

SYN

tempo

uso

da C

PU

SYN/ACK

SYN

SYN

SYN

uso

da C

PU

SYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

memória

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

memória

SYN/ACK

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

memória

SYN/ACKSYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

memória

SYN/ACKSYN

SYN

Inundação de Segmentos SYN

Atacante Vítima

• Ataque à memória usando segmentos TCP SYN

Tem

po

SYN

memória

SYN/ACKSYN

SYNSYN

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 =

– O cliente tem que enviar o ACK com no. de seq. de acordo com hash produzido pelo servidor

endereços IP de origem e destino +

portas TCP +

no. de seqüência inicial do cliente +

valor secreto

hash

Inundação de Segmentos SYN

Cliente Servidor

• Solução proposta por Schuba et al.

Tem

po

Inundação de Segmentos SYN

Cliente Servidor

• Solução proposta por Schuba et al.

Tem

po

SYNseq = x

Inundação de Segmentos SYN

Cliente Servidor

• Solução proposta por Schuba et al.

Tem

po

SYNseq = x

tempo

uso

da C

PU

Inundação de Segmentos SYN

Cliente Servidor

• Solução proposta por Schuba et al.

Tem

po

SYNseq = x

tempo

uso

da C

PU

SYN/ACK

seq = y, ack = x+1

y = hash(*)

Inundação de Segmentos SYN

Cliente Servidor

• Solução proposta por Schuba et al.

Tem

po

SYNseq = x

tempo

uso

da C

PU

SYN/ACK

seq = y, ack = x+1

y = hash(*)

ACKseq = x+1, ack=y+1memó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

Atacante Refletor

Tem

po

Vítima

Refletor usando TCP SYN

Atacante Refletor

Tem

po

VítimaSYN

Refletor usando TCP SYN

Atacante Refletor

Tem

po

VítimaSYN

SYN/ACK

Refletor usando TCP SYN

Atacante Refletor

Tem

po

VítimaSYN

SYN/ACK

Refletor usando TCP SYN

Atacante Refletor

Tem

po

VítimaSYN

SYN/ACK

RST

Refletor usando TCP SYN

Atacante Refletor

Tem

po

VítimaSYN

SYN/ACK

RST

SYN

SYN/ACK

SYN/ACK

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

RV

H1 H2 H3

H4 H5

Inundação ICMP

A

RV

H1 H2 H3

H4 H5

Inundação ICMP

A

RV

H1 H2 H3

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

V2V1

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

V2V1

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

V2V1

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

V2V1

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

V2V1

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

V2V1

...

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

V

A

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

V

A

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

V

A

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

V

A

U

“Gargalo”

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

V

A

U

“Gargalo”

Ataque à Infra-estrutura de Rede

• Ataque ao servidor DNS (Domain Name System)– Tradução de nomes em endereços IP– Usado contra a Microsoft

• Servidores DNS localizados no mesmo segmento de rede• Segmento inundado serviços da empresa inacessíveis• Solução: servidores geograficamente distribuídos

• Ataque aos roteadores– Inundação– Tabela de roteamento extensa

• Dificultar a busca e atrasar o encaminhamento– Informações de roteamento falsas

Ataques por Vulnerabilidades

• Explorar vulnerabilidades– Aplicação– Pilha de protocolos

• Envio de pacotes com determinadas características

• Exemplos– Implementação do TCP em sistemas Windows– Fragmentação do protocolo IP– Ataques a conexões TCP usando pacotes ICMP

Protocolo TCP no Windows

• Construir um segmento TCP com determinadas características– Uso do campo “ponteiro para dados urgentes” (urgent

pointer) do cabeçalho• Indica onde os dados urgentes terminam

– Apontando para o fim do quadro não há mais “dados normais”

• Os sistemas Windows esperavam por dados normais– Estado inesperado

• Sistema operacional aborta• Congelamento

Fragmentação do Protocolo IP

• Pacotes maiores quebrados em fragmentos menores• Cada fragmento

– Enviado separadamente– Identificador

• Receptor consegue agregar os fragmentos de um pacote – Número de seqüência

• Indica aonde o fragmento se encontra no pacote original

• Enviar fragmentos de um mesmo pacote com números de seqüência sobrepostos– Estado não previsto congelamento ou reinicialização

Ataques a Conexões TCP com ICMP

• Conexões TCP já estabelecidas um pacote ICMP– Relatar erros no roteamento desde a fonte até o destino

• Forjar um pacote ICMP [Gont et al., 2004]– Erro no roteamento de um pacote– Fechamento da conexão TCP estabelecida– Novo procedimento de abertura

• Envio contínuo de pacotes ICMP forjados– Serviços baseados no TCP são comprometidos

Ataques Distribuídos

• Geralmente, é um ataque por inundação– Uma estação é incapaz de consumir os recursos da vítima

• Diversas estações atacam em conjunto– Tráfego agregado responsável pela negação do serviço– Estações geralmente não pertencem ao atacantes

• São recrutadas

• Como recrutar estações?– Explorar vulnerabilidades acesso não autorizado

• Atacante passa a controlar as estações zumbis– Ferramentas para automatizar o processo

Ataques Distribuídos

V

A

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

R1 só permite a saída de pacotes cujo endereço

de origem pertence à Rede 1

A vítima pode descobrir a origem do ataque

A V

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

– Determinação exata da rota de ataque• (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

A1

R1

V

A2A3

R2R3

R6R5

R4

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

R4

R6

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

R4

R6

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

R4

R6

11

R10

R8

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

A VR11

R9

R10

R8

R7

R2

R1R3

R4

R6

R2

R

R4

R6

11

R10

R8

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

dados

.. .R1

R2

R3

Rn

VA

cabeçalho

IP Record Route

.. .R1

R2

R3

Rn

VA

dadosR1

• Cada roteador adiciona seu endereço IP ao cabeçalho do pacote– Mecanismo mais simples

IP Record Route

.. .R1

R2

R3

Rn

VA

dadosR1R2

• Cada roteador adiciona seu endereço IP ao cabeçalho do pacote– Mecanismo mais simples

IP Record Route

.. .R1

R2

R3

Rn

VA

dadosR1R2R3

• Cada roteador adiciona seu endereço IP ao cabeçalho do pacote– Mecanismo mais simples

IP Record Route

.. .R1

R2

R3

Rn

VA

dadosR1R2R3Rn...

• Cada roteador adiciona seu endereço IP ao cabeçalho do pacote– Mecanismo mais simples

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

(1 )d ii p pα −= −

• 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 é

– 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

0 (1 )dpα = −

• 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:

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

dados0

• O atacante escolhe o valor inicial dos campos

.. .R1

R2

R3

Rn

VA

Amostragem de Enlace

• R1 decide não marcar– Campo “distância” é igual a zero

• Insere seu identificador no campo “Endereço 2”

dados0 R1

.. .R1

R2

R3

Rn

VA

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

.. .R1

R2

R3

Rn

VA

dados1 R1

dados1

Amostragem de Enlace

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

R2 R1

.. .R1

R2

R3

Rn

VA

Amostragem de Enlace

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

dados0 R2 R1

.. .R1

R2

R3

Rn

VA

Amostragem de Enlace

• R3 decide não marcar– Campo “distância” era igual a zero

• Insere seu identificador no campo “Endereço 2”

.. .R1

R2

R3

RnA

dados0 R2 R3

V

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

.. .R1

R2

R3

RnA

dados1 R2 R3

V

Amostragem de Enlace

• Todos os roteadores após R3 decidem não marcar o pacote, inclusive Rn

– Apenas incrementam a distância

.. .R1

R2

R3

RnA

dadosn-2 R2 R3

V

A Identificação do Roteador

• A marcação de pacotes baseia-se na inserção de informações no cabeçalho do pacote

• Proposta mais simples– Inserção do endereço IP– Necessidade de 72 bits no cabeçalho do endereço IP

• O acréscimo de informações ao cabeçalho IP– Incompatibilidade com versões anteriores

• Solução– Utilizar campos já existentes no cabeçalho IP

• Raramente utilizados

A Identificação do Roteador

• Campo do cabeçalho IP a ser utilizado– Campo de identificador de fragmento– 16 bits

Identification

Propostas para a Identificação do Roteador

• Intercalar o endereço IP com o hash do próprio endereço• Dividir em k fragmentos

Propostas para a Identificação do Roteador

• Ao decidir marcar um pacote, o roteador Ri deve– Inserir um fragmento aleatório n– Zerar o campo distância

• O roteador seguinte Ri+1 deve– Fazer um XOR entre o seu fragmento o do roteador anterior– Inserir o resultado no campo fragmento do cabeçalho

Reconstrução da Rota

• A vítima terá nk fragmentos com a mesma distância pertencentes a n roteadores diferentes

• A vítima terá– Eliminar os fragmentos de mesma distância repetidos– Testar todas as combinações possíveis– Checar com o hash

1

1

1

2

3

4

5

6 7

8

2

3

4

5

6

7

84 7

2 6

83 5

1 4 83 5 72 6

1 4 83 5 72 6

Hash diferente

Hash diferente

Hash diferente

Hash OK

Frag

men

tos

com

di

stân

cia

= r 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

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s1

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s1

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s1

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3s4

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3s4

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3s4

Filtro de Bloom

• Estrutura de dados para representar um grupo• Suporte a testes de pertinência• Armazenamento eficiente

– Custo de falsos positivos

...

h2(•)

hk(•)

0

0

0

0

m bits0

0

0

h1(•)

0

s11

1

1

s2

1

1

s2’s3s4

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 oenviou

Falsos Positivos

• Reconhecimento de um pacote que não passou pelo roteador

R8

R1

V

A1A9

R2R3

R6R5

R4

R7

falsos positivos

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

dados

• O atacante escolhe o valor inicial dos campos

.. .R1

R2

R3

Rn

VA

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

1 01

001

Sistema de Choi e Dai

dados

• Roteador R1 insere o enlace “1”

.. .R1

R2

R3

Rn

VA

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

1001

0101

Sistema de Choi e Dai

dados

• Roteador R2 insere o enlace “01”

.. .R1

R2

R3

Rn

VA

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

1001

0101

Sistema de Choi e Dai

dados

• Roteador R3 insere o enlace “001”

.. .R1

R2

R3

Rn

VA

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

1001

0101

Sistema de Choi e Dai

dados

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

.. .R1

R2

R3

Rn

VA

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

1001

0101

Sistema de Choi e Dai

dados

• Roteador Rn percebe que não há mais espaço– Cria um identificador para o pacote

.. .R1

R2

R3

Rn

VA

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

1001

0101

Packet ID

Sistema de Choi e Dai

dados

• Roteador Rn percebe que não há mais espaço– Armazena o campo enlace

.. .R1

R2

R3

Rn

VA

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

1001

0101

Packet ID 1 0 1 0 0 1 1 0 0 ... 1 0

armazenar

Sistema de Choi e Dai

dados

• Roteador Rn percebe que não há mais espaço– Atualiza o campo SF com 1

.. .R1

R2

R3

Rn

VA

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

1001

0101

Packet ID 1 0 1 0 0 1 1 0 0 ... 1 0

armazenar

Sistema de Choi e Dai

dados

• Roteador Rn percebe que não há mais espaço– Zera o campo enlace e acrescenta o seu próprio enlace

.. .R1

R2

R3

Rn

VA

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

1001

0101

Packet ID 1 0 1 0 0 1 1 0 0 ... 1 0

armazenar

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

1 0 0 1 0 0 1 1

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

1 0 0 1 0 0 1 1

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

A VR7

R5 R2

R1R4

R3R6

R

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

A VR7

R5 R2

R1R4

R3R6

R

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

A VR7

R5 R2

R1R4

R3R6

R

1 0 0 1 0 0 1 1

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

A VR7

R5 R2

R1R4

R3R6

RR

R5

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

A VR7

R5 R2

R1R4

R3R6

RR

R5

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

A VR7

R5 R2

R1R4

R3R6

RR

R51 0 0 1 0 0 1 1

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

A VR7

R5 R2

R1R4

R3R6

RR

R5

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

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

O Problema

R10

V

A

R12 R13

R22R21R20

R3

R2

R1

R5

R4

R6

R11

R19

R15

R8

R14

R23

R7

R9

R17R18

R26 R27 R28R29

R16

R24 R25

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’

Invertido por s2

Falso negativo

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3s4

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3s4

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3s4

Filtro de Bloom Generalizado

...hk1

(•)

h1(•)

...gk0

(•)

g1(•)0

1

0

1

m bits1

0

0

1

0

0

1

0

s1

1

0

s2

0

s2’s1’s3s4

Falso positivo

Resultados

Resultados

Filtro de Bloom

Filtro de Bloom Generalizado

Resultados

0 1

0 1

0 1 0 1

k k

pk kF

k k k k

≈ + +

Resultados

75%

Resultados

Atacante Vítima

Resultados

Atacante Vítima

Filtro de BloomFiltro de Bloom

Generalizado

Resultados

Resultados

Filtro de Bloom

Filtro de BloomGeneralizado

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

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

A VR7

R5 R2

R1R4

R3R6

R

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

A VR7

R5 R2

R1R4

R3R6

R

Falso negativo R5

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

0 0 0 0 0 0 0 01 0 0 1 0 0 1 1

0 0 0 0 0 0 0 0

FBGm0m1

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

0 0 0 0 1 0 0 01 0 0 1 0 0 1 1

0 0 0 1 0 0 0 0

FBGm0m1

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

0 0 1 0 1 0 0 01 0 0 1 0 0 1 1

0 0 0 1 0 0 0 1

FBGm0m1

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

R5

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

R5

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

R5

0 0 1 0 1 1 0 01 0 0 1 0 0 1 1

0 0 1 1 0 0 0 1

FBGm0m1

Reconstrução Aprimorada

• Bits invertidos por roteadores seguintes• Informações adicionais enviadas durante a reconstrução

– Filtro de Bloom Generalizado– Vetores indicando bits marcados

A VR7

R5 R2

R1R4

R3R6

R

R5

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 grouphttp://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 CommercialEmailers. 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 ComputerMagazine, 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 than200 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 TextCategorization: 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 theSPAM 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 Attackvia ping. http://www.cert.org/advisories/CA-1996-26.html.

[2b] CERT (1997). CERT Advisory CA-1997-28 IP Denial-of-ServiceAttacks. 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 denialof service attack tool. http://staff.washington.edu/dittrich/misc/trinoo.analysis.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/stacheldraht.analysis.txt.

[8b] Dittrich, D. (1999c). The ‘Tribe Flood Network’ distributed denialof service attack tool. http://staff.washington.edu/dittrich/misc/tfn.analysis.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 AgainstGRC.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. ZDNetUK. 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. PrenticeHall PTR, 1a edição.

[16b] Mirkovic, J. e Reiher, P. (2004). A Taxonomy of DDoS Attackand DDoS Defense Mechanisms. ACM SIGCOMM ComputerCommunications 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 ServiceAttack on TCP. Em Proceedings of the 1997 IEEE Symposium onSecurity and Privacy, páginas 208–223, Oakland, CA, EUA.

Referências

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

[21b] US-CERT (2005). Vulnerability Note VU#222750: TCP/IP Implementations Do Not Adequately Validate ICMP Error Messages.http://www.kb.cert.org/vuls/id/222750.

[22c] Wagner, J. (2002). Dealing With Massive Attack: DNS Protection. Internetnews.com. http://www.internetnews.com/dev-news/article.php/1487331.

[23d] Watson, P. A. (2004). Slipping in the Window: TCP ResetAttacks. Em 2004 CanSecWest Conference, Vancouver, Canadá.

Referências

• Protocolo IP[1c] Jacobson, V. (1990). Compressing TCP/IP Headers for Low-SpeedSerial 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 withAllowable 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 usingHeader Compression. Computers & Security, 22(2):136–151.

[2e] Bai, C., Feng, G. eWang, G. (2004). Algebraic Geometric CodeBased IP Traceback. Em IEEE International Conference onPerformance, Computing, and Communications, páginas 49–56, Phoenix, AZ, EUA.

[3e] Belenky, A. e Ansari, N. (2003a). Accommodating Fragmentationin 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 DeterministicPacket Marking. IEEE Communications Letters, 7(4):162–164.

[5e] Bellovin, S. M., Leech, M. D. e Taylor, T. (2003). ICMP TracebackMessages. 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 HuffmanCodes for IP Traceback. Em 7th International Symposium on ParallelArchitectures, 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 AlgebraicApproach to IP Traceback. ACM Transactions on Information andSystem Security, 5(2):119–137.

[9e] Ferguson, P. e Senie, D. (2000). Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source AddressSpoofing. RFC 2827.

[10e] Goodrich, M. T. (2002). Efficient Packet Marking for LargeScaleIP Traceback. Em 9th ACM Conference on Computer andCommunications 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 PacketDigesting Schemes for IP Traceback. Em IEEE InternationalConference 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 Proceedingsof 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 Tracebackin High-Speed Internet: Practical Techniques and TheoreticalFoundation. Em Proceedings of the 25th IEEE Symposium on Securityand Privacy, Oakland, CA, EUA.

[15e] Liu, J., Lee, Z.-J. e Chung, Y.-C. (2003). Efficient DynamicProbabilistic Packet Marking for IP Traceback. Em IEEE InternationalConference 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 ProbabilisticPacket 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 onNetworking, 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 AuthenticatedMarking 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 Conferenceon 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.

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

Negação de Serviço: Ataques e Contramedidas

http://www.gta.ufrj.br

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

Departamento de Eletrônica - PoliPrograma de Engenharia Elétrica - COPPE

Universidade Federal do Rio de Janeiro

Recommended