Sei sulla pagina 1di 63

Captulo

1
Negao de Servio: Ataques e Contramedidas
Rafael P. Laufer
1
, Igor M. Moraes
1
, Pedro B. Velloso
1,2
,
Marco D. D. Bicudo
1
, Miguel Elias M. Campista
1
, Daniel de O. Cunha
1
,
Lus Henrique M. K. Costa
1
e Otto Carlos M. B. Duarte
1
1
Grupo de Teleinformtica e Automao GTA

COPPE-Poli Universidade Federal do Rio de Janeiro


2
Laboratoire dInformatique de Paris 6 LIP6
Universit Pierre et Marie Curie - Paris VI
Abstract
The Internet architecture exposes the users to different types of digital attacks and threats.
Denial of service (DoS) is a common attack which may cause huge damage to a victim.
The prevention of such attacks is a challenge even for overprovisioned and up-to-date
computers. As a consequence, the best way to inhibit DoS attacks is to be ready to react
to those attacks on the y. One such reactive mechanism is IP traceback. Such mechanism
is important, since packets with spoofed source addresses are employed to disguise the
actual source of the attack. This chapter presents the most common techniques used
to combat DoS attacks in the Internet. Different IP traceback systems proposed in the
literature are also analyzed in detail. At last, a stateless single-packet IP traceback system
is introduced.
Resumo
A arquitetura da Internet expe os usurios a diversos tipos de ataques e pragas digitais.
Ataques comuns que causam enormes prejuzos vtima so os ataques de negao de
servio. Prevenir-se contra tais ataques um desao, mesmo para computadores regular-
mente atualizados e superdimensionados. Por isso, a melhor maneira de inibir ataques
de negao de servio estar pronto para reagir a estes ataques. Uma forma de inibio
adotar sistemas de rastreamento de pacotes IP. Tais sistemas so fundamentais, uma vez
que pacotes com endereos IP de origem forjados podem ser usados no ataque para ocul-
tar a verdadeira origem do atacante. Neste captulo, so apresentadas as tcnicas usadas
para inibir ataques de negao de servio na Internet. So caracterizados ainda diversos
sistemas de rastreamento de pacotes IP propostos na literatura. Por m, introduzido
um novo sistema de rastreamento de pacotes IP.

Apoiado pelos recursos da CAPES, CNPq, FAPERJ, FINEP, RNP, FUNTTEL e UOL
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 359
1.1. Introduo
A Internet um espao virtual de encontros e ao mesmo tempo um local de con-
itos, devido diversidade cultural dos seus usurios. Esse ambiente cria um campo frtil
para aes maliciosas, que exploram falhas de segurana existentes nas aplicaes e nos
protocolos de comunicao da Internet. Vrus so enviados por e-mail, infectando com-
putadores e se disseminando sem serem notados. Spams enchem as caixas de mensagens
dos usurios da rede. Usurios mal-intencionados, que vo desde quadrilhas muito bem
estruturadas a meros adolescentes em busca de auto-armao, tentam invadir compu-
tadores e redes para roubar informaes condenciais ou apenas mostrar seu potencial.
Ataques de negao de servio (Denial of Service DoS) consomem os recursos de ser-
vidores e roteadores e impedem que usurios legtimos tenham acesso a um determinado
servio. Enm, a lista de ataques cresce a cada dia.
Estatsticas apontam um crescimento mundial de 226% no volume de mensagens
eletrnicas no solicitadas (spams) de abril para maio de 2005 [IBM Report, 2005]. Neste
mesmo perodo, o aumento no volume de e-mails contendo pragas digitais aumentou de
33%. O montante de e-mails no solicitados j representa 68,7% de todos os e-mails que
circulam na Internet e os que contm pragas digitais representam 3,12%. No Brasil esse
problema bem grave, pois atualmente o pas apontado como o 5
o
maior receptor de
spams no mundo [Globo Online, 2005]. Apesar de todos os esforos para bloque-los,
muitos ainda no so ltrados devido ao avano de tcnicas para burlar os programas
anti-spam. Provedores acabam aumentando o custo de sua operao por disponibilizar
involuntariamente recursos para armazenar e enviar spams. No que se refere a negao
de servio na Internet, um estudo recente estima em mais de 4000 o nmero de ataques
em um perodo de uma semana [Moore et al., 2001]. Um resultado importante mostra
ainda que grande parte dos ataques so concentrados em vtimas brasileiras. De acordo
com as informaes analisadas, o domnio .br o quarto domnio mais atacado por
inundaes visando a negao de servio, concentrando cerca de 5 a 7% dos ataques. Em
toda a Internet, somente os domnios .net, .com e .ro foram mais atacados que o
domnio brasileiro. Uma informao do relatrio anual do CSI/FBI (Computer Security
Institute/Federal Bureau of Investigation) [Gordon et al., 2005] sobre crimes na rea de
computao arma ainda que os ataques de negao de servio esto entre os incidentes
de segurana que mais causam prejuzo s instituies americanas.
At o momento, no h uma soluo completa para a maioria dos problemas de
segurana da Internet. Porm, a ocorrncia e os efeitos de alguns destes ataques foram
reduzidos, atravs da adoo de determinadas ferramentas. O uso de rewalls reduz o
nmero de invases a redes de computadores, uma vez que, com exceo dos pacotes
legtimos, todo o trfego de entrada bloqueado. Os programas antivrus previnem a
execuo de vrus e vermes conhecidos no computador no qual esto rodando. Dessa
forma, os antivrus impedem a infeco do computador e interrompem a disseminao
de tais pragas pela rede. Da mesma forma, os programas anti-spam buscam reduzir o
nmero de mensagens no solicitadas recebidas. Entretanto, tanto os antivrus quanto
os anti-spams tm que ser constantemente atualizados, pois novas pragas e tcnicas para
enviar mensagens no solicitadas surgem a cada dia. Sistemas operacionais e aplicaes
vericam periodicamente a existncia de atualizaes de software e automaticamente se
remendam, o que reduz o nmero de vulnerabilidades que podem ser exploradas em um
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 360
computador. No entanto, nenhuma das ferramentas existentes ecaz contra ataques
de negao de servio. Apesar do empenho das reas acadmica e industrial na busca de
solues para evitar e remediar tais ataques, as ferramentas existentes so capazes de lidar
apenas com ataques pouco renados. Por isso, os ataques de negao de servio so, em
sua maioria, bem sucedidos. Atualmente, fcil burlar as ferramentas de defesa e negar
o servio da vtima durante o tempo desejado pelo atacante, sem que nenhuma medida
efetiva possa ser tomada.
Contra ataques de negao de servio, podem ser tomadas medidas preventivas e
reativas. Para prevenir-se de um ataque, uma possvel vtima deve atualizar regularmente
seus programas e possuir recursos sucientes para suportar um ataque sem prejudicar seus
usurios legtimos. Mesmo assim, tais prticas no garantem que um computador estar
protegido contra ataques de negao de servio. Novas vulnerabilidades so descobertas
a cada dia e, mesmo para computadores superdimensionados, no possvel garantir a
imunidade da vtima quando o trfego de ataque gerado por diversos atacantes. Dessa
forma, por ser difcil evitar ataques de negao de servio, necessrio adotar medidas
para reagir a tais ataques. Uma medida reativa rastrear os pacotes de ataque. Como a
maioria dos ataques de negao de servio utiliza pacotes com endereos IP de origem
forjados, o objetivo do rastreamento determinar a verdadeira origem e a rota percorrida
por um pacote ou um conjunto de pacotes IP. Ou seja, a partir de pacotes recebidos pela
vtima, deseja-se encontrar quem realmente os enviou, de forma a aplicar punies e inibir
futuros ataques.
O objetivo principal deste captulo apresentar os conceitos e as tcnicas usadas
para inibir ataques de negao de servio na Internet. Inicialmente so abordados alguns
dos principais ataques na Internet, como a disseminao de pragas digitais e spams. Os
tipos de ataques de negao de servio so analisados assim como as contramedidas. Em
seguida, so analisados ainda diversos sistemas de rastreamento de pacotes propostos na
literatura, mostrando suas caractersticas e ressaltando suas virtudes e problemas. Por
m, apresentado um novo sistema de rastreamento de pacotes que no armazena estado
na infra-estrutura da rede e que capaz de identicar um atacante utilizando apenas um
pacote empregado no ataque.
1.2. Ataques na Internet
Os ataques na Internet podem ser realizados de diversas formas e com propsitos
variados. Muitos ataques visam obter informaes condenciais, se apoderar de recursos
computacionais para execuo de uma determinada tarefa, anunciar produtos comerciais
ou inviabilizar servios. Dependendo do tipo de ataque, o alvo principal podem ser os
computadores dos usurios, os servidores ou a prpria rede. Assim, de alguma forma, a
operao normal da rede prejudicada pela incapacidade de comunicao entre os com-
putadores. Na maioria das vezes, as vtimas no tm conhecimento dos ataques e podem
inclusive colaborar involuntariamente, por exemplo, ao entrarem em um stio divulgado
por um spam ou ao executarem um programa malicioso por engano. Nesta seo, so
abordados alguns dos principais ataques da Internet, como a disseminao de pragas di-
gitais, como os vrus e os cavalos de Tria, e o envio de spams.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 361
1.2.1. Pragas Digitais
Os ataques associados a cdigos maliciosos custam bilhes de dlares a cada ano.
A maioria das organizaes considera que as aes corretivas para estes ataques deman-
dam muito tempo e um alto custo operacional. Em alguns casos, a recuperao dos pre-
juzos causados por um ataque e a normalizao das operaes cotidianas podem levar
vrios dias. Os prossionais da rea de segurana despendem enormes esforos para
aprimorar os mtodos de defesa dos computadores dentro da rede de uma organizao.
Porm, medida que estas defesas se tornam mais ecientes, os atacantes se adaptam s
novas condies buscando novos caminhos para explorar vulnerabilidades.
Os primeiros programadores de cdigos maliciosos eram principalmente pessoas
conhecidas como nerds de computadores. Os nerds so considerados pessoas socialmente
alienadas que podem invadir sistemas computacionais por diverso, para protestar contra
regras sociais ou pela simples vaidade de mostrar sua capacidade ao atacar stios de em-
presas de alta tecnologia ou de governos. Atualmente, este cenrio se transformou. Hoje,
muitos cdigos maliciosos visam benefcios nanceiros, ao tentar controlar computadores
alheios para divulgao de produtos ou servios atravs de mensagens de correio eletr-
nico, outros visam o enriquecimento ilcito, ao capturar dados pessoais e senhas de usu-
rios do sistema nanceiro. As perspectivas futuras so ainda piores devido ecincia dos
ataques, diculdade de se chegar ao atacante e falta de uma legislao especca para
os crimes digitais. Uma verdadeira guerra informacional entre atacantes com objetivos
ilcitos e prossionais de segurana de sistemas computacionais e de redes de computa-
dores se anuncia. Os alvos dos ataques so quaisquer pontos crticos da infra-estrutura de
comunicao e computao, seja o usurio domstico ou uma grande organizao.
Os ataques de cdigos maliciosos podem ser mascarados por uma vasta gama
de aplicaes legtimas e transportados por um nmero cada vez maior de mecanismos.
Em geral, estas pragas digitais impedem o funcionamento normal de um computador ou
de uma rede e a sua execuo comumente realizada sem o consentimento do usurio.
Entender como estas pragas digitais operam de grande interesse para o desenvolvimento
de estratgias defensivas, para a seleo de produtos de segurana e para o preparo dos
usurios contra ameaas em potencial. Esta seo explica os diferentes tipos de ataques
por programas maliciosos. Os tipos de ataques maliciosos que caracterizam as principais
pragas digitais so: os vrus de e-mail ou de outro tipo, os cavalos de tria ou outro tipo
de porta dos fundos (backdoors), os vermes (worms), o spyware, o adware e o stealware.
De maneira geral, as pragas se replicam e se espalham de um computador para
outro. Os vrus, os vermes (worms) e os cavalos de Tria so pragas que so confundidas.
Um vrus um trecho de cdigo que se anexa a um programa ou arquivo, de
forma a poder se espalhar e infectar outros sistemas quando transportado. Os efeitos
nocivos dos vrus so bastante variados, indo de aes irritantes como a exibio de uma
imagem na tela, em momentos aleatrios, at estragos no hardware, software ou sistemas
de arquivos. A maioria dos vrus so anexados a arquivos executveis, o que signica que
o vrus pode estar presente no computador mas no provocar efeitos maliciosos a menos
que o programa seja executado. importante notar que o vrus no se espalha sem a ajuda
de uma interveno humana, como a execuo de um programa. As pessoas ajudam a
espalhar o vrus, muitas vezes sem saber, atravs do compartilhamento de arquivos ou
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 362
envio de arquivos contaminados anexados a e-mails.
Muitos vrus no tm uma tarefa especca a realizar e apenas se replicam inde-
nidamente, congestionando o sistema de e-mail. Por outro lado, alguns vrus possuem
contedo malicioso, realizando tarefas como apagar ou corromper dados de arquivos ou
desabilitar programas de segurana. Existem vrus que modicam um trecho de cdigo
de outro programa para facilitar a sua propagao. Geralmente, os vrus apresentam a
seguinte estrutura:
um mecanismo de replicao, que permite que os vrus se espalhem;
um disparador, que um evento externo ou interno para indicar o incio da replica-
o do vrus, da tarefa que este realiza ou de ambas;
e uma tarefa, ou seja, a ao deve ser executada.
Estes trs componentes podem ter diversas formas e comportamentos. Os meca-
nismos de replicao variam consideravelmente. Um vrus pode executar uma incontvel
quantidade de combinaes de tarefas. No entanto, alguns tipos de vrus so mais comuns
e merecem destaque.
O vrus de setor de inicializao, ou setor de boot, infecta o primeiro setor de
um disco rgido ou de um disquete. O primeiro setor destes discos contm o registro
de inicializao mestre (Master Boot Record - MBR), que realiza conguraes iniciais
antes do carregamento do sistema operacional. Assim, quando o computador ligado, o
vrus iniciado, antes mesmo do sistema operacional, tomando controle sobre qualquer
recurso necessrio. Geralmente, esse tipo de vrus infecta todo disquete que inserido no
computador. Um vrus de setor de boot geralmente no transportado pela rede, sendo,
portanto, cada vez mais incomum atualmente devido ao desuso do disquete.
Os vrus removedores tm a tarefa de apagar arquivos com nomes especcos que
so necessrios execuo bsica do sistema operacional ou so essenciais a um editor
de texto ou grco, por exemplo. Os vrus infecciosos geralmente se anexam a arquivos
executveis com extenses .com e .exe. Assim, a cada execuo do programa infec-
tado, o vrus se espalha ainda mais pelos arquivos do computador. Os vrus embutidos em
contedo (content-embedded viruses) so vrus-infecciosos que residem, ou esto anexa-
dos, a arquivos de imagem, pginas em HTML (HyperText Markup Language), arquivos
de vdeo ou arquivos de som. Os vrus de macro so semelhantes aos vrus embutidos em
contedo, pois esto anexados a arquivos de editores como o Microsoft Word ou plani-
lhas do Microsoft Excel. Como estas macros esto geralmente anexadas aos documentos
e so executadas pelos programas, esses vrus podem utilizar disquetes, e-mail ou at um
servidor de arquivos como meio de difuso.
Os vrus de e-mail em massa (mass mailers viruses) executam procedimentos do
programa cliente de e-mail para se auto-replicar e enviar, atravs de um e-mail, para todos
os endereos armazenados na agenda do usurio. Existe uma diferena no nvel de ameaa
entre vrus de e-mail em massa e vrus de e-mail comum. Ambos usam o mesmo mtodo
de replicao e de transporte, porm o que envia e-mails em massa considerado mais
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 363
perigoso devido a sua taxa de replicao, sobrecarga do sistema de correio eletrnico e
inundao da caixa de entrada dos usurios.
Os vrus furtivos (stealth viruses) se escondem dos softwares de deteco de vrus.
Estes vrus so projetados para burlar as heursticas utilizadas para deteco de vrus
desconhecidos pelos softwares antivrus.
Os vrus de engenharia social so outro tipo cada vez mais comum. Junto com os
boatos (hoaxes), que so denidos como brincadeiras ou pegadinhas, este tipo de praga
virtual convida o usurio a baixar e executar cdigos maliciosos ou entrar em pginas que
contenham cdigos maliciosos.
Alm destes tipos de vrus, existem vrus de caractersticas mltiplas, que combi-
nam as funcionalidades e os atributos descritos acima.
O cavalo de Tria tem este nome porque, tal como na lenda mitolgica, o pre-
sente recebido aparentemente no oferece nenhum perigo. Ou seja, primeira vista o
programa que contm um cavalo de Tria parece til, no entanto uma vez instalado ele
causar estragos no computador. Os cavalos de Tria so cdigos maliciosos que exe-
cutam comandos no-autorizados no computador-alvo. Normalmente, as pessoas que
instalam um programa com cavalo de Tria o fazem por pensarem estar instalando soft-
ware de uma fonte legtima. Os efeitos dos cavalos de Tria podem ir desde simples aes
irritantes, como a modicao da rea de trabalho ou a criao de cones indesejados, at
prejuzos mais srios como o apagamento de arquivos e destruio de informaes. Al-
guns cavalos de Tria podem criar portas dos fundos (backdoors) para liberar o acesso
ao computador para usurios maliciosos executarem comandos remotamente, possivel-
mente permitindo que informao condencial seja obtida. Diferentemente de vrus e
vermes, os cavalos de Tria no se replicam atravs da infeco de outros arquivos nem
se auto-replicam.
Um verme similar a um vrus em sua estrutura e pode ser considerado uma sub-
classe do vrus. O verme se alastra de um computador para outro, mas ao contrrio de
um vrus, o verme tem a capacidade de se alastrar sem a ajuda da interveno humana.
O verme se aproveita de algum arquivo ou de procedimentos de transferncia que exis-
tem no sistema do computador que permitem que ele se propague sem nenhuma ajuda,
ou seja, de forma autnoma. Estes computadores geralmente apresentam falhas de se-
gurana exploradas pelo cdigo malicioso do verme, que utiliza uma rede local ou uma
conexo com a Internet. Quando o verme encontra um computador vulnervel (por exem-
plo, atravs de uma porta dos fundos), se replica, transfere sua rplica para o computador
remoto e continua sua busca por novos alvos. A grande ameaa do verme sua replica-
o no computador e, como conseqncia, o esgotamento da memria ou da capacidade
de processamento da mquina. Devido capacidade de replicao do verme, em vez do
computador transferir um nico verme ele pode transferir centenas ou milhares de suas
cpias. Um exemplo de verme o que faz transferncia de uma cpia para toda a lista de
correios eletrnicos que existe no computador.
O termo software-espio (spyware) designa qualquer programa que coleta infor-
maes sobre um indivduo ou organizao sem seu consentimento prvio. O software-
espio pode ser instalado em um computador por diversos meios. O espio pode ser
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 364
introduzido como parte de um vrus, verme, cavalo de Tria ou at mesmo como parte
de programas legtimos. Vale ressaltar que os termos spyware, adware e stealware so
comumente utilizados para descrever o mesmo tipo de cdigo malicioso ou tipos seme-
lhantes desta praga digital. Vrios pases esto em vias de banir legalmente, ou pelo
menos controlar, este tipo de abuso digital. Os softwares-espies so usados geralmente
para colher informaes com o m de gerar estatsticas sobre senhas, hbitos do usu-
rio, stios da Internet acessados por um grupo de usurios de caractersticas especcas,
sistema operacional utilizado, aplicaes instaladas nos computadores, etc. Tambm po-
dem ser coletadas informaes de nomes e sobrenomes dos usurios, nmeros de cartes
de crdito e outras informaes pessoais. Estas informaes so geralmente combinadas
com outras bases de dados de usurios e consumidores potenciais, criando assim pers
de indivduos. Estes pers podem ento ser usados para ns de marketing e pesquisa de
mercado.
O termo adware, que vem do ingls advertisement software, designa qualquer
software ou parte de software, no necessariamente malicioso, que exibe propagandas
enquanto uma aplicao principal executada. Estas aplicaes exibem na tela do usu-
rio janelas de navegadores (pop-ups) ou do ambiente grco do usurio com anncios
de organizaes patrocinadoras do software. Os adwares so geralmente encontrados em
programas shareware, que so aplicativos que possuem licena de utilizao temporria,
ou programas freeware, que so gratuitos. Ambos esto comumente disponveis na In-
ternet. Atravs da comercializao destes anncios, pequenas empresas de software ou
programadores autnomos podem nanciar o desenvolvimento de um software. Porm,
um adware no designa apenas a utilizao de aplicaes como meio de propaganda. Um
adware tambm pode se servir dos chamados defeitos de Web (Web bugs) para coletar
informaes sobre usurios de computadores e compilar pers de usurios, se asseme-
lhando ao comportamento de um spyware. Por exemplo, existem stios da Internet que
requisitam, s vezes compulsoriamente, aos usurios que acessam suas pginas que acei-
tem cookies, que so pequenos arquivos armazenados para monitorar o acesso dos usu-
rios. Alguns desses cookies so considerados defeitos de Web, pois podem ser explorados
como fonte de informao sobre o usurio e suas aes.
O stealware um programa ladro de audincia. Na Internet, muitas vezes o
stio de uma organizao possui atalhos (links) para o stio de patrocinadores da orga-
nizao. A organizao remunerada pela empresa patrocinadora atravs da contagem
dos cliques que os usurios realizaram no link do patrocinador. O stealware burla este
mecanismo, de forma a contabilizar os cliques realizados para uma outra organizao,
diferente da organizao legtima. A identicao da organizao geralmente realizada
por informaes armazenadas na estao do usurio, como cookies, ou atravs do prprio
endereo da pgina Web acessada. Normalmente, o stealware embutido em softwares
que alguns stios obrigam o usurio a instalar, como requisito para liberar o acesso do
usurio ao stio. O usurio, ao executar o software que permite acesso ao contedo res-
trito, executa tambm o cdigo malicioso. Tudo o que o stealware tem a fazer ento
modicar os cookies na mquina do usurio ou forjar o endereo da pgina acessada.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 365
1.2.2. Mensagem Eletrnica No Solicitada ou Spam
O spam

, ou mensagem eletrnica no solicitada, toda a mensagem enviada sem


a autorizao do destinatrio. Dentre as mensagens eletrnicas que so utilizadas como
spams esto o correio eletrnico (e-mails), os torpedos (Short Message Service SMS ou
Multimedia Message Service MMS) e as mensagens instantneas (Instant Messenger).
O indivduo que gera e envia spams chamado de spammer.
A denio de spam pelo Grupo Brasil AntiSPAM toda mensagem eletrnica
que no segue o cdigo de tica antiSPAM [Grupo Brasil AntiSPAM, 2005], ou seja, que
atenda pelo menos dois dos itens a seguir:
o remetente inexistente ou possui identidade falsa;
o destinatrio no autorizou previamente o envio da mensagem;
o destinatrio no pode optar em no receber mais a mensagem;
o assunto no condiz com o contedo da mensagem;
a sigla NS (No Solicitado) est ausente no assunto de uma mensagem que no foi
previamente requisitada;
o remetente no pode ser identicado;
uma mensagem semelhante foi recebida anteriormente em menos de dez dias ape-
nas com o remetente ou assunto diferentes.
Nos Estados Unidos, o rgo responsvel pela legislao anti-spam o FTC que
deniu o estatuto CAN-SPAM (Controlling the Assault of Non-Solicited Pornography
and Marketing Act) [FTC, 2005] para o controle dos spams. O estatuto CAN-SPAM es-
tabelece regras para o envio de e-mails no solicitados. O remetente que no respeitar as
regras denidas est sujeito a penas criminais. De acordo com as regras estabelecidas,
uma mensagem eletrnica deve conter informaes verdadeiras a respeito da sua origem.
O assunto da mensagem deve estar relacionado com o prprio contedo. Caso seja uma
propaganda, uma mensagem eletrnica deve indicar claramente o seu propsito. O ende-
reo fsico do remetente deve estar presente na mensagem para possveis reclamaes ou
denncias. Por m, uma mensagem deve fornecer ao destinatrio a opo de no receber
mais mensagens semelhantes do mesmo remetente.

O uso da palavra spam para denotar mensagens eletrnicas no solicitadas de origem controversa. A
palavra spam uma marca registrada [Hormel Foods, 2000] pela Hormel Foods LLC. A Hormel Foods LLC
uma empresa de alimentos e o nome spam pode ter surgido de uma contrao das palavras SPiced hAM
que batizou um dos seus produtos. O produto spam se tornou conhecido em 1937 durante uma campanha
publicitria e em seguida pela utilizao durante a segunda guerra mundial pelo exrcito americano. Como a
carne era racionada s tropas, o alimento largamente utilizado era o spam. Todos os soldados americanos ao
retornar aos EUA recebiam uma medalha que cou conhecida como medalha spam. Como a condecorao
foi recebida por diversas pessoas, a palavra spam cou associada a algo comum [Holmes, 2005]. Anos mais
tarde, o grupo de comdia Monty Python lmou uma cena onde a palavra spam repetida muitas vezes em
pouco tempo. Assim, a palavra spam se tornou sinnimo de algo repetitivo e sem sentido como a maioria
das mensagens eletrnicas no solicitadas.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 366
A prtica de enviar spam tem crescido na Internet a ponto de seus usurios ma-
nifestarem insatisfao e uma menor credibilidade no correio eletrnico. Os spams so
de contedo variados como informaes polticas, religiosas, culturais etc. No entanto, a
maioria dos spams atuais possui contedos publicitrios de produtos ou servios, fraudes
e atividades ilcitas. Esta seo descreve como os spammers obtm as listas de endereos,
porque to fcil enviar spams, como os spammers mantm o anonimato e as possveis
medidas para combater o envio de spams.
Obteno de Endereos e a Escolha das Vtimas
A prtica do envio de e-mails no solicitados tornou-se uma atividade lucrativa
no s com a venda dos produtos e servios anunciados como tambm com a prpria
atividade de criao e envio de spams. Muitas empresas pagam spammers para criar men-
sagens eletrnicas para promover as suas ofertas. Outra forma de lucrar com os spams
atravs da obteno de endereos eletrnicos de usurios da Internet. Para tal, os spam-
mers podem utilizar diversas tcnicas. Dentre elas esto a invaso de servidores para
aquisio de listas de endereos de possveis membros associados, a interceptao de e-
mails de grupos e ainda a utilizao de programas populares como o ICQ [ICQ, 2005], o
MSN Messenger [Microsoft, 2005] e o Orkut [Bykkokten, 2005]. Utilizando e-mails
de grupos, o spammer pode obter diversos endereos a partir de listas emcpia. Conforme
o e-mail vai sendo encaminhado, maior o nmero de endereos presentes. J os progra-
mas populares citados acima tambm podem ser usados por spammers, pois eles oferecem
mecanismos automticos de busca por nomes e geram listas de endereos associados.
Aps obter os potenciais endereos dos destinatrios, necessrio saber se eles
so ativos. Para saber se um usurio ativo existem diversas tcnicas utilizadas pelos
spammers. Uma delas consiste em enviar um atalho para um endereo de um stio (link)
em uma gura junto com o endereo de e-mail do destinatrio conforme a Figura 1.1.
Caso o destinatrio tente visualizar a gura, ele ir baix-la do stio e abrir uma conexo
HTTP (HyperText Transfer Protocol) com o servidor de imagens do spammer. Assim,
atravs dos seus registros de HTTP o spammer saber que o usurio existe, quem ele
e que gura ele visualizou. Esse procedimento permite validar o endereo como ativo
e, ao mesmo tempo, criar um perl associado a este endereo pelo tipo de gura que foi
selecionada. Algumas conguraes de programas de correio eletrnicos permitem exibir
a mensagem automaticamente facilitando a obteno dos endereos pelos spammers. Os
spammers podem ainda vericar a existncia do usurio ao receber a solicitao de no
recebimento de um determinado e-mail. Assim, regras estabelecidas por legislaes anti-
spam, como o CAN-SPAM, podem ser utilizadas em benefcio do prprio spammer. Para
evitar esse tipo de rastreamento, um usurio nunca deve visualizar um spam.
height=1 width=1 alt=""><\a>
<img src="http://www.meusite.com.br/imagem/figura.gif?email=destinatario@email.com.br"
<a href="http://www.meusite.com.br?email=destinatario@email.com.br">
Figura 1.1. Tcnica para descobrir se o usurio est ativo.
Os valores das listas de endereos aumentam conforme o nmero de endereos e a
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 367
qualidade dos pers dos destinatrios. Assim, spams especcos podem ser direcionados
para determinadas listas de endereos. Algumas empresas oferecem uma porcentagem
sobre cada produto vendido para a pessoa que obteve a lista [Spammer-X et al., 2004].
O perl do usurio pode ser tambm obtido atravs da invaso de servidores especcos,
como o servidor de um stio de astrologia, stio de jogos, etc.
Evoluo do Spam e suas Finalidades
A simplicidade do protocolo SMTP (Simple Mail Transport Protocol) exige o
conhecimento de poucos comandos para se enviar um e-mail, bastando apenas a abertura
de uma conexo Telnet com um servidor SMTP. Como no vericado se o usurio
que originou o e-mail existe, torna-se fcil gerar um spam utilizando outros nomes de
remetentes. Essas caractersticas facilitaram o surgimento de tcnicas para se gerar e
enviar e-mails com nalidades lucrativas e ainda manter o anonimato.
Inicialmente, os spams eram em maioria e-mails em HTML com uma gura cha-
mativa ou apenas uma frase e um atalho que indicava onde encontrar mais do contedo
anunciado. Conhecendo as preferncias do destinatrio, torna-se mais fcil inuenci-lo.
A Figura 1.2 mostra um exemplo de um spam em HTML.
<body>
<a href="http://www.meusite.com.br/dinheiro">
<HTML>
<head> <title> Interessado em dinheiro fcil?</title>
</HTML>
</body>
Clique aqui e entre para o mundo do dinheiro fcil!!!
</head>
</a>
Figura 1.2. Exemplo de um spam em HTML.
Para hospedarem os stios, os spammers utilizavam seus prprios computadores e
conexes discadas. Esperava-se que os usurios pagariam a assinatura ao acessar o stio
anunciado pelo spam. Desde o princpio, o nmero de e-mails j era grande o suciente
para garantir que se apenas uma pequena parcela dos destinatrios zesse a assinatura, o
lucro j seria grande para o dono do stio. O nmero de e-mails no solicitados aumentou
rapidamente em virtude das vulnerabilidades da rede. O aumento no nmero de spams ge-
rou a insatisfao dos usurios da rede motivando os desenvolvedores de software a criar
programas anti-spam e programas adicionais (plug-ins) para servidores. As primeiras me-
didas para evitar os spams foram a ameaa do cancelamento das contas dos usurios que
enviavam spams atravs de provedores da Internet e a imposio de termos e condies
para as empresas promoverem seus produtos. A criao de listas negras (Realtime Black
List - RBL) tambm diculta a hospedagem dos stios. Se os spammers enviarem e-mails
com identidade ou IP prprios, eles podem entrar em listas negras. Conseqentemente,
todos os seus e-mails passam a ser considerados spams e, portanto, so bloqueados.
Para no entrar em listas negras e no serem encontrados, os spammers tm que
achar locais onde hospedar os seus stios e os respectivos arquivos. Se o stio for hospe-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 368
dado em provedores convencionais, a conta do spammer ser cancelada dado que denn-
cias so feitas ao provedor por vtimas de spams. Provedores convencionais no permitem
que seus assinantes sejam spammers, pois podem ser penalizados por infringir polticas
anti-spam. Assim, os spammers utilizam provedores que se propem a hospedar o con-
tedo dos seus stios. Esses provedores cobram caro por esse servio e hospedam stios
com qualquer contedo ignorando a possibilidade de serem penalizados. Algumas outras
tcnicas podem ser utilizadas por spammers para hospedar seu contedo. Os spammers
podem hospedar seu contedo pela Internet em computadores pessoais ou em servidores
sem o conhecimento do proprietrio. Para tal, necessrio que o computador seja inva-
dido ou que o dono do computador instale inconscientemente programas que do direitos
aos spammers de utilizar o computador infectado. Por conseguinte, os spammers podem
hospedar seu contedo gratuitamente.
O surgimento de penas criminais e mecanismos anti-spams como as listas negras
trouxeram a necessidade de se manter o anonimato no envio dos spams. O anonimato
importante visto que os spams podem conter informaes falsas, oferecer produtos ine-
xistentes e ainda utilizar identidades de terceiros congurando em atividades sujeitas a
penas criminais. Para evitar tambm que o seu endereo IP ou domnio seja bloqueado
por outros servidores de e-mail, necessrio que o spammer mantenha o anonimato e
utilize outros computadores para enviar os seus spams.
A primeira forma de enviar spams mantendo o anonimato foi atravs de servidores
proxy transparentes que utilizam protocolos como o Socks v5 [Leech, 1996]. Utilizando
o Socks v5 em sua congurao padro, um proxy transparente permite que qualquer
computador na Internet o utilize para encaminhar seus pacotes para qualquer servidor
de e-mails, sem se identicar. Para evitar que esse proxy seja rapidamente adicionado a
listas negras, o spammer utiliza alternadamente diversos servidores proxy vulnerveis para
enviar os seus e-mails. Outra estratgia empregada para enviar spams utilizar servidores
em pases com lnguas diferentes para dicultar a comunicao entre o servidor de e-mail
atacado e o responsvel pelo proxy utilizado.
Utilizar servidores SMTP com relay aberto uma outra forma de enviar spams.
Ao enviar ume-mail, o spammer utiliza o servidor SMTP com relay aberto para reencami-
nhar o seu e-mail mantendo o anonimato, de forma similar ao envio por servidores proxy.
O emprego de relays SMTP era bastante comum nos provedores de Internet permitindo
que qualquer usurio da Internet os acessassem.
Para no serem usados por spammers, tanto os servidores proxy quanto os SMTP
no devem encaminhar uxos de dados de computadores externos sua rede local e de-
vem utilizar rewalls. importante notar que os endereos IP de origem no podem ser
forjados porque o SMTP funciona sobre o TCP (Transmission Control Protocol), portanto
necessrio o estabelecimento de conexo.
Atualmente, servidores proxy e servidores SMTP com relay aberto no so to
utilizados por spammers. Assim, como os spammers conseguem facilmente encontr-los
na rede, eles tambm so rapidamente adicionados em listas negras de provedores da In-
ternet. Algumas tcnicas que tambm podem manter o spammer annimo so exploradas.
Os spams podem ser enviados atravs de programas de bate-papo como o ICQ ou o MSN
Messenger por usurios maliciosos. Computadores que utilizam faixas de endereos IP
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 369
dinmicos tambm podem ser utilizados para envio de e-mails no solicitados, pois ga-
rantem o anonimato da fonte. Diferentes endereos IP dentro de uma faixa so fornecidos
aos usurios de grandes provedores na Internet cada vez que ele se conecta. Assim, no h
como garantir que um determinado usurio realmente o spammer. Para combater essa
prtica, necessrio bloquear faixas de endereos IP ou domnios. Porm, nem sempre
essa atitude possvel porque na maioria das vezes essa faixa pertence a algum grande
provedor de acesso.
Uma tcnica elaborada de envio de spams consiste em se apropriar de um roteador
e de uma faixa de endereos IP. Os spammers adquirem faixas de endereos IP vlidos
que no estejam sendo utilizados e invadem um roteador com falhas de segurana. Assim,
ele manipula o pedido de atualizao de rotas e anuncia a todos os outros roteadores
vizinhos que o roteador invadido a nica rota para a faixa de endereos IP adquirida
maliciosamente. O spammer congura o roteador para transferir todo os uxos de dados
gerados a partir de spams para o seu computador, toma posse de uma faixa de endereos
IP e de um roteador para uso prprio. Quando um dos endereos IP da faixa adicionado
a uma lista negra, ele passa a utilizar outro endereo IP da faixa adquirida. Como no
h relao entre endereos IP e regies geogrcas, dicil de se localizar o roteador
invadido a partir do seu endereo IP.
Mecanismos Anti-spam
Para se evitar spams, muitas empresas investem no desenvolvimento de meca-
nismos anti-spam. Existem diversas formas de se evitar os spams, porm todas elas se
baseiam na ltragem de mensagens no solicitadas. A ltragem pode ser realizada de
acordo com os campos do cabealho e o contedo de um e-mail.
A ltragem pelo o cabealho explora principalmente os campos de endereo de
origem, nome do remetente e assunto do e-mail. Um usurio pode congurar seu cliente
de e-mail para ltrar todas as mensagens provenientes de endereos ou remetentes indese-
jados. Alm dessa ltragem, os programas anti-spam podem ainda vericar a consistncia
das informaes contidas no cabealho. Por exemplo, se o endereo IP de origemno con-
diz com o domnio, esse e-mail deve ser ltrado. Se o e-mail tiver sido encaminhado por
um proxy, o e-mail tambm pode ser bloqueado devido s conhecidas vulnerabilidades.
A consistncia de informaes contidas no cabealho pode ser vericada atravs
do DNS (Domain Name System) reverso. O DNS reverso deve estar sempre congurado
para apontar o endereo IP correspondente. Como os spammers devem manter o ano-
nimato, o DNS reverso de seus computadores no so congurados, ou seja, eles no
apontam o seu endereo IP. Os programas anti-spam bloqueiam ento todo o e-mail cujo
remetente no possui DNS reverso. Muitos provedores de acesso utilizam faixas de en-
dereos IP dinmicos e, por conseguinte, seus clientes utilizam um DNS reverso genrico
adotado pelo provedor. Como utilizar endereos IP dinmicos uma forma de manter
anonimato usado por spammers, os anti-spams normalmente bloqueiam esse tipo de co-
nexo. Um dos problemas dessa abordagem que diversos administradores de redes no
conguram o DNS reverso, gerando falsos positivos.
Os programas anti-spam podem tambm utilizar listas para fazer ltragem por ca-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 370
bealho. Existem trs tipos de listas: as negras, as cinzas e as brancas. As listas negras
so utilizadas para bloqueio incondicional dos e-mails. Sempre que um e-mail recebido
proveniente de um endereo ou domnio, contido numa lista negra, ele bloqueado. Os
domnios ou endereos IP so adicionados s listas negras aps se vericar um alto n-
mero de spams provenientes dessa fonte. J os programas que utilizam listas cinzas (Gray
Lists) bloqueiam sempre toda a primeira conexo SMTP desconhecida e enviam ao ser-
vidor SMTP do remetente uma mensagem de erro temporria. Caso o servidor de e-mail
seja legtimo, ele ir reenviar mais tarde o e-mail. Para evitar a recepo de milhares de
mensagens de erro, alguns spammers no utilizam servidores SMTP. So usados clientes
que se conectam diretamente ao servidor SMTP do destinatrio. Como os spammers no
recebem as mensagens de erro temporrias, eles no retransmitem e-mails bloqueados por
listas cinzas. As listas brancas (White Lists) so listas que contm os nomes dos servido-
res e domnios conveis. Sempre que um e-mail recebido proveniente de algum dos
endereos IP ou domnios pertencentes lista branca, ele aceito.
Caso o assunto do e-mail possua palavras exploradas em e-mails comerciais, esses
sero tambm ltrados.
O bloqueio por contedo realizado atravs da deteco de palavras comerciais
comuns no corpo dos e-mails, reconhecimento de padres ou pela presena de anexos
suspeitos. E-mails com palavras como Viagra so facilmente bloqueadas, pois na mai-
oria das vezes no so requisitados. Uma forma de burlar um sistema anti-spam mudar
letras de palavras conhecidas como Viagra por outras com caracteres semelhantes como
\/iagra. Uma outra forma de burlar o bloqueio por contedo colocar o anncio numa
gura, assim o corpo e o assunto do e-mail no contm nenhuma evidncia procurada.
Alguns anti-spams so congurados para sempre bloquear arquivos anexados porque o
anncio pode estar disfarado como gura ou algum outro tipo de arquivo.
Outra forma de ltragem por contedo atravs da anlise de diversos e-mails
enviados para destinatrios distintos. Caso um padro semelhante seja observado, h uma
grande probabilidade de ser um e-mail no solicitado enviado a diversas pessoas. Como
a maioria dos ltros por contedo determinstica, adicionando-se aleatoriedade a um
spam evita-se que um comportamento ou contedo comum seja detectado. Para tornar
os anti-spams adaptativos, mecanismos baseados em tcnicas de inteligncia articial so
empregados para ltrar os spams de acordo com o seu contedo.
Aproximaes baseadas em tcnicas de inteligncia articial usando redes Baye-
sianas para classicar e-mails vm sendo propostas [Sahami et al., 1998]. Atravs das
redes Bayesianas possvel a adaptao da classicao do e-mail ao longo da utilizao
do anti-spam. Baseado numa lista de regras e em experincias passadas atribuda uma
probabilidade de um e-mail ser um spam a cada uma das regras. Cada e-mail compa-
rado com cada regra para decidir se o e-mail se trata de um spam. Ao nal da anlise,
a probabilidade do e-mail ser um spam computada baseada em todas as comparaes.
As probabilidades de cada regra so atualizadas a cada e-mail de acordo com a ao do
usurio, isto , se um usurio exclui ou no o e-mail.
Os anti-spams podem tornar-se mais ecientes se aplicarem diversas tcnicas em
conjunto. Esse o princpio de programas como o Spam-Assassin [SpamAssassin, 2005]
que utiliza tcnicas de ltragem por cabealho e por contedo. Novos conceitos baseados
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 371
em conana podem ser aplicados aos programas anti-spam. O conceito de conana
reete o quanto se acredita no remetente ou no endereo IP de origem do e-mail. A
conana pode ento se tornar uma mtrica dinmica atualizada ao longo da operao do
mecanismo anti-spam. Conforme se recebe e-mails de um mesmo remetente ou domnio,
avalia-se o nmero de spams recebidos. Caso esse nmero seja alto, a conana baixa;
do contrrio, a conana alta. Cabe a cada usurio denir qual o grau de conana
necessrio para receber os e-mails.
1.3. Negao de Servio
Diferentemente da maioria dos ataques da Internet, um ataque de negao de ser-
vio no visa invadir um computador para extrair informaes condenciais, como nme-
ros de cartes de crdito e senhas bancrias, e nem para modicar o contedo armazenado
neste computador, como stios da Internet. Tais ataques tm como objetivo tornar inaces-
sveis os servios providos pela vtima a usurios legtimos. Nenhum dado roubado,
nada alterado e no ocorre nenhum acesso no autorizado ao computador da vtima. A
vtima simplesmente pra de oferecer o seu servio aos clientes legtimos, enquanto tenta
lidar com o trfego gerado pelo ataque [Mirkovic et al., 2004]. Um servio pode ser o
uso de um buscador de pginas, a compra de um determinado produto ou simplesmente a
troca de mensagens entre duas entidades. O resultado de um ataque de negao de servio
pode ser o congelamento ou a reinicializao do programa da vtima que presta o servio,
ou ainda o esgotamento completo de recursos necessrios para prover o seu servio.
Os primeiros problemas com ataques de negao de servio na Internet surgiram
no incio dos anos 90. Nesse perodo, foram desenvolvidos os primeiros programas para
ataques remotos. Para usar estes programas e obter um grande impacto, o atacante preci-
sava de um computador de grande capacidade conectado a uma rede de alta velocidade.
Esses dois requisitos so encontrados em computadores de universidades, o que acarretou
em um grande nmero de roubo de senhas de usurios nestas instituies. Hoje, os ata-
ques de negao de servio so comuns e os prejuzos nanceiros e de imagem que eles
causam atingem cifras enormes. Sem sombra de dvida, o estudo e o desenvolvimento de
tcnicas contra ataques de negao de servio tornaram-se importantes temas na rea de
segurana.
Nesta seo so apresentadas as formas existentes de negao de servio. So
abordadas ainda as caractersticas da arquitetura da Internet que possibilitam a execuo
destes ataques, bemcomo so apresentados os principais fatores que motivamos atacantes
a interferir em um servio. Por m, alguns dos principais ataques de negao de servio
so caracterizados e classicados.
1.3.1. Formas de Negao de Servio
Uma forma comum de prejudicar a proviso de um determinado servio atravs
do consumo de recursos essenciais para o seu funcionamento, como a memria, o pro-
cessamento, o espao em disco e a banda passante. Como estes recursos so limitados,
sempre possvel inundar a vtima com um grande nmero de mensagens de forma a con-
sumir quase que a totalidade dos seus recursos. Este tipo de ataque denominado ataque
por inundao. Nestes ataques, a aplicao, a vtima ou a prpria infra-estrutura de rede
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 372
ca sobrecarregada com o tratamento das mensagens de ataque e no consegue atender
ao trfego de usurios legtimos.
Um dos fatores que diculta a adoo de medidas contrrias aos ataques de inun-
dao o fato de no ser possvel distinguir o trfego de ataque do trfego de usurios
legtimos. Ou seja, os atacantes utilizam mensagens normalmente empregadas em comu-
nicaes convencionais. Desta forma, aes que priorizem o trfego legtimo em detri-
mento do trfego de ataque so difceis de serem tomadas.
Para que um ataque de inundao seja bem sucedido, um atacante deve gerar men-
sagens a uma taxa superior taxa na qual a vtima, ou a sua infra-estrutura de rede, con-
segue tratar estas mensagens. Este um obstculo para os ataques de inundao. Em
vtimas com poucos recursos, mais fcil obter o sucesso da negao de servio, uma
vez que necessrio um esforo menor para tornar o servio indisponvel. No entanto,
sendo a vtima superdimensionada, como o caso de servidores mais famosos, o sucesso
de um ataque no alcanado facilmente. Muitas vezes, o trfego gerado por apenas
uma estao de ataque no suciente para exaurir os recursos da vtima. Nestes casos,
so necessrias diversas estaes atacando em conjunto para que os recursos da vtima se
esgotem. Quando diversas estaes agem com um objetivo comum de atacar uma deter-
minada vtima, tem-se um ataque de negao de servio distribudo (Distributed DoS -
DDoS).
Os ataques distribudos so uma ameaa mesmo para vtimas superdimensiona-
das. Sempre possvel inundar uma vtima e negar o seu servio desde que um nmero
suciente de estaes participe do ataque. Alguns stios famosos como Yahoo, Ebay,
Amazon.com e CNN.com j foram alvos de ataques de negao de servio distribudos
bem sucedidos [Garber, 2000], [CNN.com, 2000]. Hoje em dia, diversas ferramentas que
automatizam ataques distribudos podem ser encontradas na Internet [Dittrich, 1999a],
[Dittrich, 1999c], [Dittrich, 1999b]. Com isso, o nvel de conhecimento necessrio para
se iniciar ataques distribudos reduzido drasticamente, fazendo com que atacantes inex-
perientes consigam inundar vtimas com poucos comandos.
Uma segunda maneira de se negar um servio atravs da explorao de al-
guma vulnerabilidade existente na vtima, os chamados ataques por vulnerabilidade.
Ao invs de inundar a vtima de forma a consumir seus recursos, tais ataques se apro-
veitam de determinadas vulnerabilidades para tornar seus servios inacessveis. Na mai-
oria dos casos, estas vulnerabilidades so o resultado de falhas no projeto de determi-
nada aplicao, do prprio sistema operacional ou at mesmo de um protocolo de co-
municao [Watson, 2004], [Gont, 2004]. Diversas vulnerabilidades deste gnero tm
sido identicadas e exploradas. Um caso particular dos ataques por vulnerabilidades so
aqueles que exigem somente um pacote para causar a negao do servio [CERT, 1996],
[Gont, 2004], [Cisco, 2003], [US-CERT, 2005]. Neste caso, ao receber um pacote con-
tendo determinadas caractersticas que ativam a vulnerabilidade, a vtima se encontra em
uma situao imprevista e reage diferentemente em cada caso. Como resultado, o servio
pode ser indenidamente interrompido at que uma interveno manual ocorra. Atravs
do envio peridico do mesmo pacote para a vtima, tais ataques podem ser prolongados
at que um mtodo de correo da vulnerabilidade seja divulgado. Estes ataques apre-
sentam um grande desao para sistemas de defesa, especialmente para os sistemas de
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 373
rastreamento, uma vez que estes dispem de apenas um pacote para identicar o atacante.
1.3.2. A Negao de Servio e a Arquitetura da Internet
Trs caractersticas so responsveis pelo sucesso da Internet: a velocidade de
transmisso de dados, a conabilidade e o compartilhamento do meio com a conseqente
reduo do custo de comunicao. Tais caractersticas provm da tcnica de comuta-
o por pacotes e dos protocolos TCP/IP (Transmission Control Protocol/Internetworking
Protocol). Entretanto, alguns princpios da comutao de pacotes e dos protocolos TCP/IP
facilitam a ploriferao de ataques de negao de servio.
Na Internet no h reserva de recursos em uma comunicao entre dois ns, pois
se adota o melhor esforo como procedimento bsico. Tal fato faz com que um ataque
de negao de servio busque consumir o mximo dos recursos da rede. Dessa forma, os
usurios legtimos so prejudicados, uma vez que os recursos, ora usados por eles, esto
sendo empregados em aes maliciosas.
O roteamento outro fator facilitador para os ataques de negao de servio. Na
Internet, um pacote pode ser encaminhado atravs de qualquer rota entre o n fonte e o n
destino. O processo de seleo de rotas feito pelos ns intermedirios e transparente
para a fonte e para o destino. Alm da transparncia na seleo de rotas, somente o ende-
reo de destino usado pela infra-estrutura de rede para que um pacote seja devidamente
roteado at o seu destino. Nenhuma vericao realizada para conrmar a autenticidade
dos pacotes IP, ou seja, no existem mtodos para assegurar que o endereo de origem
de cada pacote IP autntico. Desta forma, atacantes experientes que no necessitam de
comunicaes bidirecionais podem se aproveitar desta caracterstica para manter o ano-
nimato durante ataques de negao de servio. Tanto em ataques por inundao quanto
em ataques por vulnerabilidades, atacantes podem forjar o endereo IP de origem e enviar
tais pacotes para a vtima sem deixar nenhum rastro que possa identic-los.
Como a seleo de rotas feita pelos ns intermedirios, torna-se difcil detectar
e ltrar pacotes IP com endereo de origem forjado. A Figura 1.3 ilustra esse problema.
Os pacotes gerados pelo n A e destinados ao n B so encaminhados atravs do roteador
R
1
. O roteador R
2
est localizado em outro ponto da Internet. Quando um pacote com
endereo de origem do n A e destinado ao n B recebido por R
2
, este n no consegue
determinar se o endereo da fonte contido no pacote forjado, ou se o roteador R
1
falhou
e, por isso, os pacotes esto sendo encaminhados por outra rota. Dessa forma, o roteador
R
2
encaminha normalmente o pacote para o n B.
Rede
2
R
B A
B A
A B
A B
R
1
A
B
Figura 1.3. O problema do roteamento e da autenticidade dos endereos IP de origem.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 374
A topologia da Internet tambm contribui para os ataques de negao de servio.
O ncleo da rede composto por enlaces de alta capacidade. Por outro lado, os ns nas
bordas so normalmente providos de enlaces de baixa capacidade e que esto conectados
ao ncleo. Esta assimetria permite que os ns localizados no ncleo encaminhem paco-
tes de diversas origens distintas para diferentes destinos. Como resultado, ela tambm
possibilita que os ns localizados nas bordas sejam inundados pelo trfego agregado de
outros ns. Isto exatamente o que ocorre durante um ataque de negao de servio dis-
tribudo. Para atacar uma determinada vtima, cada n gera somente uma pequena parcela
do trfego agregado. Este trfego gerado pode nem ser detectado como uma anomalia em
determinadas redes e passar desapercebido pelos roteadores.
A arquitetura da Internet tambm diculta a adoo de mecanismos de defesa
contra ataques de negao de servio. Na Internet, para garantir requisitos como a esca-
labilidade e o custo reduzido, a complexidade est localizada nos ns de borda da rede.
Tal fato provm do modelo de melhor esforo, adotado para o encaminhamento simples
dos pacotes na camada de rede, e do paradigma m-a-m, segundo o qual requisitos es-
peccos da aplicao devem ser garantidos pelos protocolos da camada de transporte e
de aplicao nos usurios nais. Por estes motivos, mecanismos de defesa localizados na
infra-estrutura de rede so criticados, como ser visto na Seo 1.4.
A forma como a Internet gerenciada tambm cria desaos adicionais no com-
bate aos ataques de negao de servio. No h hierarquia. A Internet formada por
uma comunidade de redes, interconectadas para prover acesso global aos seus usu-
rios [Mirkovic et al., 2004]. Cada uma das redes que compe a Internet gerenciada
localmente, de acordo com polticas denidas por seus proprietrios. Neste sentido, a
adoo de mecanismos de defesa contra ataques de negao de servio, que necessitam
operar em um grande nmero de ns da rede, prejudicada. Como no existe uma enti-
dade central, no h como garantir a adoo de tal sistema em larga escala.
1.3.3. A Motivao para os Atacantes
Diversos fatores, positivos ou negativos, podem motivar um ataque de negao de
servio. Um usurio bem-intencionado pode iniciar um ataque para provar que poss-
vel inundar a vtima ou explorar alguma de suas vulnerabilidades. Em caso de sucesso,
pode-se tentar encontrar uma soluo para evitar que ataques originados de usurios mal-
intencionados aconteam. Uma vez encontrada a soluo, ela pode ser amplamente di-
vulgada para acelerar o processo de proteo.
Os atacantes tambm podem agir em busca de reconhecimento na comunidade
virtual. Um atacante que consegue forar um stio bem conhecido a sair do ar ganha uma
certa visibilidade e bem considerado pelos colegas, podendo inclusive ser admitido em
um determinado grupo de ataque de mais alto nvel. Por outro lado, com a automao de
fases importantes de ataques de negao de servio distribudos e o fcil acesso a estes
procedimentos [Mirkovic e Reiher, 2004], tal tarefa cou ainda mais fcil. Agora, at
mesmo atacantes com pouca experincia so capazes de deixar suas vtimas inacessveis,
ganhando a reputao desejada.
Um ataque de negao de servio tambm pode ser motivado por lucro nanceiro.
Um usurio com habilidade suciente para iniciar um ataque pode deixar um determinado
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 375
servidor fora do ar por um certo perodo em troca de uma remunerao paga por tercei-
ros. Uma empresa poderia contratar tais servios e usar estes ataques para prejudicar a
imagem de seus concorrentes e se beneciar diretamente. Este procedimento pernicioso
alcana requintes de organizao inimaginveis, pois existem redes inteiramente forma-
das por computadores comprometidos, os chamados zumbis, que esto sendo alugadas
de forma a serem usadas em ataques de negao de servio [Reuters, 2004]. O traba-
lho de comprometer um determinado nmero de estaes e control-las remotamente
realizado inicialmente e depois os recursos disponveis em cada uma destas estaes
colocado disposio de quem quiser alug-los para qualquer tipo de atividade, como
o envio de spams, fraudes digitais e ataques de negao de servio. Outro exemplo as-
sustador o uso destes ataques como forma de extorso. Uma maneira que vem sendo
usada freqentemente por atacantes exigir um pagamento de determinados stios para
evitar que seu servidor seja atacado [Shachtman, 2003]. Representantes de organizaes
que fazem o pagamento tm o stio assegurado enquanto aqueles que no pagam sofrem
consecutivos ataques de curta durao.
Motivos polticos tambm podem ser a causa de um ataque de negao de ser-
vio. Um determinado grupo com idias diferentes de uma determinada organizao ou
instituio pode atacar a sua rede e os seus servidores de modo a impedir a divulgao
de certas informaes. Como exemplo, o stio da rede de televiso Al-Jazeera sofreu um
intenso ataque de negao de servio distribudo durante a investida americana no Ira-
que [Gray e Fried, 2003]. Aparentemente, o ataque foi direcionado aos servidores DNS,
cuja funo converter o nome do stio no seu respectivo endereo IP, usados pela emis-
sora. Como conseqncia, no era possvel determinar o seu endereo IP e o acesso era
negado.
1.3.4. Classicao dos Ataques
Diversos fatores, como o nmero de atacantes envolvidos e o tipo de recurso ex-
plorado na vtima, podem ser usados para classicar os ataques de negao de servio.
Nesta seo, os ataques so classicados em: por inundao, por reetor, a infra-estrutura
de redes, por vulnerabilidades e distribudos.
Ataques por Inundao
Um dos ataques de negao de servio mais conhecidos o ataque por inunda-
o de segmentos TCP SYN, que explora o procedimento de abertura de conexo do
protocolo de transporte TCP. O protocolo TCP utilizado em servios que necessitam
de entrega convel de dados, como a transferncia de arquivos. Uma conexo TCP se
inicia com a negociao de determinados parmetros entre o cliente e o servidor. A Fi-
gura 1.4 ilustra o processo de abertura de uma conexo TCP. Inicialmente, o cliente envia
um segmento TCP SYN para o servidor, indicando um pedido de abertura de conexo.
Este segmento leva consigo um parmetro denominado nmero de seqncia inicial. O
nmero de seqncia possibilita que o receptor reconhea dados perdidos, repetidos ou
fora de ordem. Aps o recebimento do segmento TCP SYN, o servidor necessita de tempo
para processar o pedido de conexo e alocar memria para armazenar informaes sobre
o cliente. Em seguida, um segmento TCP SYN/ACK enviado como resposta de forma a
noticar o cliente que o seu pedido de conexo foi aceito. O segmento de resposta reco-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 376
nhece o nmero de seqncia do cliente e envia o nmero de seqncia inicial do servidor.
Por m, o cliente envia um segmento TCP ACK para reconhecer o nmero de seqncia
do servidor e completar a abertura da conexo. Esse procedimento conhecido como o
acordo de trs vias (three-way handshake).
T
e
m
p
o
SYN
SYN/ACK
seq = y, ack = x+1
ACK
seq = x+1, ack = y+1
seq = x
Servidor Cliente
Figura 1.4. Abertura de uma conexo TCP e o acordo de trs vias.
A partir deste procedimento, os recursos da vtima podem ser explorados de ma-
neiras distintas. Para analisar com mais detalhes como cada recurso explorado, so
denidos alguns parmetros relacionados vtima e ao atacante. Seja t
a
o intervalo de
tempo entre cada segmento TCP SYN enviado pelo atacante, t
p
o tempo necessrio para
que a vtima processe um pedido de conexo TCP e envie uma resposta, e t
m
o tempo em
que um determinado recurso de memria ca alocado para uma conexo TCP.
Um ataque ao processamento da vtima pode ser realizado quando o atacante con-
segue gerar segmentos a uma taxa mais rpida do que a vtima consegue process-los, ou
seja, quando t
a
<t
p
. A Figura 1.5 mostra um ataque de negao de servio realizado para
sobrecarregar o processamento da vtima. Neste caso, a vtima no consegue processar
os pedidos de conexo em tempo hbil, o que faz com que a la de pedidos encha e que
muitos deles sejam descartados. Desta forma, caso um usurio legtimo tente acessar o
servio que est sendo atacado, muito provvel que seu pedido de conexo seja des-
cartado junto com o trfego de ataque. Isso ocorre porque o trfego do usurio legtimo
precisa disputar o mesmo recurso com os inmeros segmentos enviados pelo atacante.
importante ressaltar ainda que, para permanecer annimo, o atacante no precisa usar seu
endereo IP verdadeiro para realizar o ataque. Na verdade, qualquer endereo IP pode
ser usado como endereo de origem nos pacotes de ataque. O uso de endereos de ori-
gem forjados no altera em nada o efeito sofrido pela vtima. No entanto, a resposta ao
pedido de conexo no retorna para o atacante, mas sim para o endereo usado em seus
pacotes. Desta forma, o atacante consegue no s negar o servio da vtima, mas tambm
permanecer annimo.
Um outro recurso que pode ser explorado durante ataques por inundao de seg-
mentos TCP SYN a memria da vtima. Quando o servidor recebe um pedido de aber-
tura de conexo TCP, ele aloca uma pequena quantidade de memria para armazenar
determinadas informaes sobre o estado da conexo, como os nmeros de seqncia ini-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 377
T
e
m
p
o SYN
SYN
t
p
t
a
Atacante Vtima
SYN/ACK
Figura 1.5. Ataque de negao de servio consumindo o processamento da vtima.
ciais, os endereos IP e as portas TCP usadas nesta conexo. Em seguida, um segmento
TCP SYN/ACK enviado de volta para o cliente de forma a nalizar o acordo em trs
vias. Neste ponto, dito que a conexo TCP se encontra semi-aberta. Os recursos re-
servados inicialmente cam ento alocados at que a conexo seja nalizada por meios
convencionais, ou at que um temporizador estoure indicando que o esperado segmento
TCP ACK no foi recebido. Neste caso, a memria alocada nalmente liberada para ser
aproveitada em conexes futuras. Em um ataque visando esgotar a memria, o atacante
forja o endereo IP de origem dos pacotes, substituindo-o por algum endereo no utili-
zado. Estes pacotes so ento enviados para a vtima de forma a iniciar simultaneamente
diversas conexes semi-abertas, consumindo a sua memria. Para que este tipo de ata-
que tenha sucesso, necessrio que o atacante consiga gerar segmentos a uma taxa maior
do que a vitima consegue liberar recursos para as novas conexes, ou seja, preciso que
t
a
<t
m
. A Figura 1.6 ilustra o caso em que o recurso atacado a memria da vtima. Nesta
situao, a mesma disputa entre o trfego legtimo e o trfego de ataque ocorre na vtima.
medida que uma conexo libera sua memria, um outro pedido de abertura de conexo
processado. Devido ao volume de trfego de ataque enviado para a vtima, muito pro-
vavelmente este novo pedido processado no legtimo e s serve para ocupar a memria
da vtima por um determinado perodo. Quando a memria se esgota, novos pedidos de
abertura de conexo no so atendidos. importante observar que, mesmo com limites de
memria controlados pelo sistema operacional, a negao de servio ocorre quando a me-
mria destinada para as conexes se esgota, sem ser necessrio o esgotamento completo
de toda a memria da vtima.
Nota-se, por denio, que a desigualdade t
m
>t
p
sempre vlida. Desta forma, trs pos-
sibilidades podem ocorrer. A primeira possibilidade ocorre quando t
a
< t
p
< t
m
, ou seja,
o intervalo entre o envio de pacotes de ataque menor que o tempo de processamento da
vtima. Este o caso abordado anteriormente onde o processamento da vtima sobrecar-
regado. Vale tambm ressaltar que, alm do processamento, a memria da vtima tambm
sobrecarregada. Isto ocorre porque os pedidos de conexo que a vtima consegue aten-
der a tempo, alocam um espao de memria que s liberado quando o temporizador
estourar, uma vez que pacotes com endereos de origem forjados so usados. A segunda
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 378
T
e
m
p
o
SYN
SYN
t
a
t
m
Atacante Vtima
SYN/ACK
Figura 1.6. Ataque de negao de servio consumindo a memria da vtima.
possibilidade ocorre quando t
p
t
a
< t
m
. Neste caso, a vtima consegue processar as re-
quisies, mas espaos de memria vo sendo consumidos por cada nova conexo e no
so liberados a tempo para atender a todas as conexes. Portanto, novas conexes no
so aceitas por falta de memria. O ltimo caso ocorre quando o atacante no consegue
gerar pacotes de ataque a uma taxa suciente nem para sobrecarregar a memria, ou seja,
t
a
t
m
. Neste caso, os recursos da vtima no so atacados diretamente e outras formas
de ataques so necessrias para negar o servio oferecido.
Uma soluo proposta por Schuba et al. [Schuba et al., 1997] sugere que o servi-
dor no armazene nenhum estado ao receber um segmento TCP SYN, de forma a evitar
ataques por inundao que sobrecarreguem a memria. A idia dos autores que somente
um segmento TCP SYN/ACK seja enviado como resposta e que o nmero de seqncia
enviado pelo servidor seja o valor hash dos endereos IP de origem e destino, das por-
tas TCP, do nmero de seqncia inicial do cliente e de um valor secreto armazenado
no servidor. Ao receber o segmento TCP ACK, o servidor verica se o seu nmero de
seqncia est correto atravs do clculo do valor hash. Caso esteja correto, a memria
enm alocada para a conexo. Apesar de ser eciente contra ataques que visam esgotar a
memria, este mecanismo apresenta pequenas desvantagens. Um problema a possibili-
dade de conexes serem estabelecidas somente com o segmento TCP ACK. Apesar de a
probabilidade deste caso ocorrer seja pequena, tal evento no impossvel. Alm disso, o
protocolo TCP no consegue mais oferecer a tolerncia a falhas para o caso de conexes
semi-abertas, uma vez que no h mais registro destas conexes no servidor.
importante ressaltar que o consumo de processamento e memria da vtima
atravs de ataques de inundao no ocorre somente em ataques ao protocolo TCP. Na
verdade, o conceito apresentado aqui mais geral e pode ser aplicado a outros protocolos
usados. O ataque ao processamento da vtima pode ser realizado praticamente a qualquer
protocolo, uma vez que todas as mensagens recebidas precisam ser processadas. O ataque
memria, por outro lado, exige algumtipo de alocao de recursos de memria na vtima
para que tenha sucesso.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 379
Ataques por Reetor
Um outro tipo de ataque de negao de servio conhecido o ataque por reetor.
Este ataque tambm um ataque por inundao que visa consumir recursos da vtima.
Porm, devido a presena de uma estao intermediria entre o atacante e a vtima, ele
aqui tratado como um ataque diferenciado. A idia usar a estao intermediria para
reetir o trfego de ataque em direo vtima. Tal manobra diculta ainda mais a desco-
berta da identidade dos atacantes, uma vez que o trfego que chega vtima originado
no reetor, e no no prprio atacante. Para a reexo do trfego de ataque, necessrio
que o atacante envie algum tipo de requisio (REQ) para o reetor, usando como ende-
reo de origem o endereo da vtima ao invs do seu prprio endereo. Ao receber uma
requisio, o reetor no consegue vericar a autenticidade da origem dessa requisio e,
conseqentemente, envia uma resposta (RESP) diretamente para a vtima. A Figura 1.7
mostra este procedimento de maneira sucinta.
T
e
m
p
o
t
r
t
p
RESP
REQ
RESP
REQ
t
a
Atacante Refletor Vtima
Figura 1.7. Ataque de negao de servio por um reetor.
Para que o processamento da vtima seja sobrecarregado, necessrio que t
a
<t
p
.
Entretanto, como o objetivo do ataque usar os recursos do reetor e no inund-lo,
preciso que o reetor consiga processar as requisies a tempo. Desta forma, o tempo
de processamento do reetor t
r
precisa ser menor ou igual ao intervalo entre pacotes de
ataque, ou seja, t
r
t
a
. Caso contrrio, o processamento do reetor ser sobrecarregado e
o trfego excedente ser descartado, no apresentando efeito na vtima. Portanto, o ideal
para o atacante gerar os pacotes de ataque de acordo com a desigualdade t
r
t
a
<t
p
.
importante ressaltar que este tipo de ataque no restrito a um determinado
protocolo. Para o seu funcionamento, necessrio somente um protocolo qualquer que
envie um pacote de resposta ao atender a algum tipo de requisio. Desta forma, o pr-
prio protocolo TCP abordado na seo anterior pode ser usado para tal nalidade. No
caso, o atacante envia diversos segmentos TCP SYN para o reetor, que os responde com
segmentos TCP SYN/ACK direcionados para a vtima. Outra possibilidade o uso do
protocolo UDP (User Datagram Protocol) associado ao servio de DNS. Neste caso, o
atacante pode enviar diversas requisies ao servio de DNS do reetor, que envia uma
resposta para a vtima.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 380
Uma das vantagens deste tipo de ataque que o prprio reetor pode contribuir
para o consumo de recursos da vtima. Isso ocorre quando uma mensagem de requi-
sio enviada pelo atacante menor que a mensagem de resposta enviada pelo ree-
tor. Neste caso, dito que o reetor tambm atua como amplicador do trfego de ata-
que. Um exemplo tpico onde o trfego enviado pelo atacante amplicado o ataque
Smurf [CERT, 1998], ilustrado na Figura 1.8. Neste caso, o atacante envia pacotes ICMP
para o endereo IP de difuso de uma determinada rede usando o endereo IP de origem
da vtima. Como conseqncia, todos as estaes daquela rede respondem requisio,
enviando uma resposta para a vtima. Neste caso, todas as estaes da rede foram usadas
como reetores apenas com o envio de um nico pacote.
H
1 2
H H
3
H
5 4
H
1
R
A
V
Figura 1.8. Ataque atravs da inundao ICMP: o atacante A envia pacotes ping
para a rede reetora se passando pela vtima V para provocar uma inundao
endereada vtima.
Outro exemplo de ataque por reetor inunda as vtimas com pacotes UDP. Neste
caso, um atacante pode deixar fora do ar duas vtimas, fazendo com que as duas enviem
continuamente pacotes uma para a outra. Para que tal fato ocorra, o atacante deve enviar
um pacote aparentemente originado pelo servio ICMP echo da vtima V
1
para o servio
de gerao de caracteres (chargen) [Postel, 1983] da vtima V
2
. Como mostra a Figura 1.9,
ao receber o pacote ICMP echo com endereo de origem de V
1
, a vtima V
2
envia uma
resposta para a vtima V
1
, que responde novamente para V
2
e dessa forma cria-se um
loop. Conseqentemente, o pacote de ataque nunca vai deixar a rede. Portanto, se um
atacante envia um grande nmero de pacotes ICMP echo com o endereo IP de origem
forjado, ele pode consumir a banda passante e sobrecarregar a vtima. O servio chargen
tambm pode ser utilizado para amplicar o trfego de ataque. Apenas com o envio de um
pequeno pacote para tal servio, uma grande seqncia de caracteres gerada e enviada
como resposta. Desta forma, supondo um fator de amplicao de 50, o trfego enviado
pelo atacante a 128 kbps chega na vtima a 6,4 Mbps.
Ataques a Infra-estrutura de Rede
Ataques de negao de servio muitas vezes so direcionados a stios famosos na
Internet. Desta forma, os seus autores conseguem uma fama maior como resultado do
ataque. Nestes casos, provvel que a prpria candidata vtima seja superdimensio-
nada, ou seja, possua recursos de processamento e de memria em abundncia. Como
conseqncia, ataques distribudos de pequena escala no conseguem consumir tais re-
cursos rpido o suciente para que a vtima negue o seu servio para usurios legtimos.
Como uma alternativa, o atacante pode tentar concentrar seus esforos em algum ponto
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 381
.
.
.
V
2 1
V
1
A
V
2
V
Figura 1.9. Ataque atravs da inundao UDP: o atacante A envia pacotes para a
vtima V
2
se passando pela vtima V
1
para provocar uma troca innita de mensa-
gens entre as vtimas.
crucial para o funcionamento do servio que no dependa da vtima. Um exemplo tentar
consumir toda a banda passante da vtima com o trfego de ataque. Desta forma, por mais
que a vtima consiga atender a todas as requisies que lhe chegam, muitas requisies
so ainda perdidas na infra-estrutura de rede. Neste caso, o ponto onde as requisies so
perdidas algum roteador entre o atacante e a vtima onde existe um gargalo, ou seja,
onde o trfego direcionado vtima maior do que o enlace de sada pode suportar. Desta
forma, requisies legtimas ao servio da vtima provavelmente so descartadas neste
roteador, uma vez que precisam disputar o mesmo recurso com o trfego enviado pelo
atacante. Tais ataques so difceis de serem combatidos, j que os pacotes no precisam
ter nenhum padro semelhante que possibilite ltr-los.
Outro ataque que pode negar o servio da vtima sem atac-la diretamente uma
inundao aos seus servidores DNS. Estes servidores so responsveis por traduzir no-
mes, usados pelas pessoas, em endereos IP, usados pelos computadores. Como geral-
mente as pessoas utilizam nomes para acessar um determinado servidor, um ataque ao
servio de resoluo de nomes acaba por negar servios de outros servidores. Um ataque
deste tipo foi recentemente direcionado ao stio da empresa Microsoft [Wagner, 2002].
Na poca, seus servidores DNS estavam localizados em um mesmo segmento de rede
e foi possvel atacar a todos de uma vez atravs da inundao deste segmento. Como
resultado, milhares de usurios caram sem acesso aos servios providos pela empresa.
Atualmente, seus servidores esto espalhados geogracamente e possuem enlaces redun-
dantes de forma a minimizar os efeitos de um ataque semelhante.
Um outro alvo potencial para ser atacado so os prprios roteadores respons-
veis por encaminhar os pacotes at a vtima. A funo dos roteadores simplesmente
encaminhar cada pacote recebido, de acordo com o seu endereo de destino. Para isso,
os roteadores difundem certas informaes na rede de forma que cada roteador consiga
construir uma tabela de roteamento, responsvel por associar cada endereo de destino
com uma interface de sada. Alm da simples inundao, outros tipos de ataques podem
ser direcionados a estes roteadores. Um atacante pode, por exemplo, encher a sua tabela
de roteamento para dicultar a busca de endereos na tabela e atrasar muito o encami-
nhamento dos pacotes. Ou ainda, o roteador pode ser enganado e acabar encaminhando o
trfego legtimo para um local errado ao invs de entreg-lo para a vtima.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 382
Ataques por Vulnerabilidade
Uma outra forma de negar os servios providos pela vtima deix-la inoperante
de alguma forma. Uma das maneiras de atingir este objetivo explorar alguma vulne-
rabilidade na implementao da pilha de protocolos ou da prpria aplicao da vtima.
Um exemplo deste tipo de vulnerabilidade ocorreu, por exemplo, na implementao do
protocolo TCP em sistemas operacionais Windows recentemente [Microsoft, 2002]. Para
a sua ativao, o atacante precisava construir um segmento TCP com determinadas carac-
tersticas e envi-lo para a vtima. Ao receber este segmento, a vtima passava para um
estado inesperado e o sistema operacional abortava, causando o congelamento total do seu
processamento. O envio peridico destes segmentos poderia deixar a vtima inoperante
por um bom tempo, dependendo da vontade do atacante.
Ataques de negao de servio tambm j exploraram vulnerabilidades no prprio
protocolo IP. Quando um determinado pacote grande demais para ser transmitido sobre
uma tecnologia de rede, o protocolo IP permite a quebra do pacote em fragmentos me-
nores e o envio de cada fragmento separadamente. Para isso, cada fragmento possui um
identicador, de forma que receptor consiga agregar os fragmentos de um mesmo pacote,
e um nmero de seqncia, para determinar aonde no pacote original aquele fragmento
se encontra. O receptor ento recebe os fragmentos e os concatena de forma a remontar
o pacote original. Assim, o ataque consistia no envio de diversos fragmentos IP perten-
centes ao mesmo pacote com nmeros de seqncia que se sobrepunham [CERT, 1997].
Desta forma, a vtima recebia uns poucos fragmentos intencionalmente mal formados e o
protocolo entrava em um estado no previsto, resultando no seu congelamento ou reini-
cializao. Mesmo com a correo de tais vulnerabilidades, ataques usando fragmentos
IP ainda so usados em ataques de negao de servio que visam consumir os recursos
da vtima. Tendo recebido um fragmento com um novo nmero identicador, a vtima
armazena este fragmento por um determinado perodo at que todos os fragmentos res-
tantes sejam recebidos ou at que um temporizador estoure. Alm disso, o processamento
de cada fragmento necessrio para determinar a sua posio dentro do pacote original.
Desta forma, um atacante pode inundar a vtima com diversos fragmentos, cada um com
um identicador diferente, de forma a esgotar a memria da vtima e aumentar o seu
processamento. Dependendo da freqncia com que tais fragmentos so enviados para a
vtima, a condio para a negao do seu servio pode ser atingida.
Gont [Gont, 2004] descreve um novo tipo de ataque a conexes TCP j estabe-
lecidas atravs do uso de somente um pacote ICMP. Uma das funes destes pacotes
relatar eventuais erros que ocorrem durante o roteamento de um pacote IP desde o emis-
sor at o destinatrio. O autor percebeu que possvel enviar um pacote ICMP forjado
para uma das entidades que se comunicam, de forma a ngir que algum erro ocorreu du-
rante a transmisso de um pacote. Desta forma, a conexo TCP desfeita e uma nova
conexo precisa ser estabelecida para o uso do servio. O envio contnuo destes pacotes
pode interromper o andamento de um servio baseado no protocolo TCP. A identicao
da origem de tais ataques que s utilizam um pacote para negar o servio da vtima ainda
desao para os sistemas de rastreamento atuais.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 383
Ataques Distribudos
Os ataques de negao de servio distribudos so geralmente usados em ataques
por inundao, quando uma estao sozinha no capaz de consumir algum recurso da
vtima. Portanto, diversas estaes precisam ser usadas para gerar o trfego de ataque em
direo vtima e negar o seu servio. Estas estaes geralmente no pertencem ao ata-
cante e so simplesmente computadores comprometidos por alguma falha de segurana.
Uma vez tendo comprometido uma estao, o atacante apaga os rastros deixados pela in-
vaso e instala um programa para comand-la remotamente. Estes computadores cam
ento sob o controle do atacante e, por isso, so chamados de agentes, escravos ou zumbis,
denotando que so comandados por uma outra entidade.
Diferentes maneiras podem ser usadas pelo atacante para penetrar no sistema de
outras estaes. Geralmente, estas estaes no possuem um sistema atualizado com as
ltimas verses dos programas usados. Como vulnerabilidades so encontradas freqen-
temente, possvel encontrar uma srie de estaes com verses ultrapassadas que pos-
suem vulnerabilidades de segurana. Algumas destas vulnerabilidades podem ser explo-
radas remotamente e liberar o acesso ao invasor. Com o acesso estao invadida,
possvel se aproveitar de outras vulnerabilidades locais para obter determinados privil-
gios de administrador e controlar totalmente estao invadida. Outra possibilidade que
vem sendo muito usada atualmente obter a senha de uma determinada conta do sistema
atravs de ataque de fora bruta. O invasor tenta inmeras possibilidades como senha para
a conta em questo at conseguir penetrar na estao atacada.
Como os ataques de negao de servio distribudos podem ser compostos por
centenas ou milhares de zumbis [Mirkovic et al., 2004], a invaso manual de cada zumbi
individualmente se torna uma atividade cansativa para o atacante. Alm disso, medida
que o nmero de zumbis aumenta, muito difcil controlar cada zumbi sem nenhuma
forma de automao. Por isso, algumas ferramentas foram criadas de forma a encontrar
estaes vulnerveis e invad-las automaticamente. Outras ferramentas possibilitam a
criao de redes hierrquicas para permitir o controle de um grande nmero de zumbis.
Atravs dessas ferramentas, o atacante consegue comandar a todos os zumbis que iniciem
um ataque a uma determinada vtima com um simples comando.
De forma a esconder a sua identidade, o atacante pode usar diversas estaes in-
termedirias entre si mesmo e os zumbis. Estas estaes so denominadas mestres e
cada uma controla um determinado conjunto de zumbis. O atacante controla diretamente
cada estao-mestre que, por sua vez, repassa os comandos do atacante para os zum-
bis. A Figura 1.10 ilustra uma rede composta por um atacante A, pelas estaes-mestre
M
1
, M
2
e M
3
e pelos zumbis Z
1
, Z
2
, Z
3
, . . . , Z
12
para atacar uma vtima V. Durante a exe-
cuo de um ataque, A comanda a M
1
, M
2
e M
3
que iniciem um determinado ataque di-
recionado a V. As estaes-mestre ento repassam o comando para os zumbis sob seu
controle e eles inundam a vtima. O ataque escolhido pelo atacante A e realizado por cada
zumbi Z
i
pode ser qualquer um daqueles descritos anteriormente, inclusive ataques por
reetores. Alm da vantagem de manter a identidade do atacante escondida, o uso destas
redes hierrquicas essencial para o controle de uma grande quantidade de zumbis.
Para se rastrear o atacante, necessrio primeiro identicar os zumbis para depois
descobrir quem so os mestres e, por m, chegar at o atacante. Logo, quanto mais cama-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 384
A
1
M
3
M
2
M
6
Z
1
Z
2
Z
3
Z
4
Z
5
Z
7
Z
8
Z
9
Z
10
Z
11
Z
12
Z
V
Figura 1.10. Ataque de negao de servio distribudo.
das existem nesta hierarquia, mais protegido est o atacante. A Figura 1.11 ilustra duas
tcnicas utilizadas para o atacante comandar as estaes-mestre. A primeira tcnica usada
por atacantes entrar em diversas estaes em seqncia antes de acessar os mestres. Ini-
cialmente, o atacante A entra em uma estao intermediria I
1
e, por meio dela, o controle
dos mestres enm realizado. Uma outra maneira de realizar este controle indireto usar
uma sala de bate-papo atravs do protocolo IRC (Internet Relay Chat), ou seja, um canal
IRC. Neste caso, os mestres ou os prprios zumbis entram automaticamente em uma sala
de bate-papo de um servidor escolhido pelo atacante e cam esperando ordens. O atacante
ento entra na sala e envia os comandos para que o ataque seja iniciado [Gibson, 2001].
Canal IRC
1
M
3
M
I
1
2
M
A
Figura 1.11. Estao intermediria ou um canal IRC para controlar as estaes-mestre.
Diversas vantagens para o atacante surgem com a distribuio de ataques de ne-
gao de servio. A primeira vantagem conseguir deixar vtimas superdimensionadas
inoperantes. Por possurem recursos em abundncia, estas vtimas so imunes a ataques
de negao de servio partindo de um nico atacante. Entretanto, quando diversas esta-
es so usadas para a gerao de trfego de ataque, a vtima pode ser seriamente afetada.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 385
Um fato importante que no importa o quo superdimensionada uma determinada v-
tima, ela sempre pode ter o seu servio negado desde que um nmero sucientemente
grande de zumbis seja reunido para o ataque. Caso a vtima tente amenizar o efeito de
um ataque distribudo atravs do aumento de seus recursos, o atacante pode simplesmente
usar mais zumbis e obter o mesmo resultado.
Para interromper um ataque distribudo em andamento, a identicao de somente
um zumbi no suciente. Como o trfego agregado de diversos zumbis est inundando
a vtima, provvel que, ao interromper um nico zumbi, o efeito na vtima seja des-
prezvel. Neste caso, preciso identicar grande parte dos zumbis que esto atacando a
vtima e tentar ltrar este trfego de ataque o mais perto das fontes possvel. Entretanto,
s a identicao dos zumbis j uma tarefa difcil que pode precisar da colaborao
de diversos provedores de acesso. Alm disso, preciso contatar o responsvel ou o ad-
ministrador do zumbi para que a inundao originada por ele termine. medida que o
nmero de zumbis cresce, no possvel realizar esta tarefa para cada zumbi e mais
difcil interromper o ataque.
Como soluo alternativa, possvel ainda tentar interromper a atividade de uma
estao-mestre diretamente. Porm, preciso antes identicar tais estaes para depois
tentar tomar alguma ao para interromper o ataque. Estas duas tarefas podem no ser
simples. A identicao de uma estao-mestre exige primeiro a identicao de pelo
menos um zumbi e a partir deste zumbi, tentar descobrir quem o est comandando re-
motamente. Alm disso, as ferramentas de controle destas estaes podem exigir algum
tipo de autenticao e bloquear o acesso de quem no autorizado. Desta forma, no
possvel parar o ataque sem a interveno do prprio administrador do zumbi.
1.3.5. Contramedidas aos Ataques de Negao de Servio
Existem algumas medidas capazes de evitar ou, pelo menos, reduzir os danos cau-
sados por ataques de negao de servio. Estas tcnicas podem ser divididas em duas
categorias: medidas preventivas e medidas reativas. As medidas preventivas buscam evi-
tar ou reduzir a chance de que um ataque de negao de servio ocorra. As medidas
reativas, por outro lado, tentam lidar com ataques em andamento ou j encerrados. Para
serem efetivas, os dois tipos de tcnicas devem ser empregadas em conjunto. importante
utilizar medidas preventivas para reduzir o nmero de ataques; no entanto, impossvel
garantir que no ocorrero ataques. Para que as medidas preventivas sejam totalmente
ecazes, necessria a sua adoo em larga escala, possivelmente de forma cooperativa
entre diversas administraes. Para estes ataques que escapam s medidas preventivas
adotadas, resta a utilizao de medidas reativas.
Medidas Preventivas
A medida preventiva mais imediata a manuteno de todos os softwares dos sis-
temas nais devidamente atualizados. Este procedimento, alm de minimizar os ataques
por vulnerabilidades como os discutidos na Seo 1.3.4, tambm diculta o domnio de
possveis zumbis. Fica claro, com isto, que a segurana dos usurios comea com os
prprios usurios. Os responsveis pelos sistemas nais no devem simplesmente espe-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 386
rar que a infra-estrutura de rede fornea a segurana de seus sistemas, mas devem ser
participantes ativos deste processo.
Uma tcnica preventiva, denominada ltragem de ingresso (ingress ltering), foi
sugerida para evitar que pacotes com endereos IP de origem forjados trafeguem na
rede [Ferguson e Senie, 2000]. Implementada em alguns roteadores, a ltragem de in-
gresso descarta pacotes cujos endereos de origemno pertencema determinados prexos
legitimamente anunciados. Em outras palavras, um roteador encarregado da agregao de
rotas anunciadas por diversas redes em seu domnio deve impedir a sada de pacotes cujo
endereo de origem no pertence a nenhuma dessas redes. A Figura 1.12 ilustra este
conceito. Na gura, o atacante A est querendo atacar a vtima V usando pacotes com
endereos de origem forjados, de forma a manter o anonimato. Seus pacotes seguem at
a vtima V atravs dos roteadores R
1
, R
2
e R
3
. Caso a ltragem de ingresso esteja im-
plementada em R
1
, somente aqueles pacotes cujo endereo de origem pertence a faixa
de endereos da Rede 1 so roteados. Pacotes com endereos de origem forjados so
automaticamente impedidos de sair da rede e descartados por R
1
. Desta forma, somente
pacotes cujo endereo de origem esto dentro da faixa de endereos da Rede 1 podem ser
usados para o ataque. Neste caso, a vtima V consegue descobrir facilmente a origem dos
pacotes a partir de uma rpida anlise no trfego de ataque recebido. Roteadores podem
ainda agregar faixas de endereos de origem para diminuir o processamento realizado por
pacote. No exemplo, supondo que as faixas de endereos das Redes 1, 2, 3 e 4 podem ser
agregadas em somente uma faixa de endereos, R
3
pode evitar a sada de pacotes forjados
vericando somente se o endereo do pacote est dentro da faixa agregada.
Rede 3
Rede 4
Rede 2
Rede 1
2
R
3
R
1
R
A
V
Figura 1.12. Filtragem de ingresso.
Apesar de simples, esta tcnica apresenta desvantagens. H uma indesejvel de-
pendncia entre a segurana do destinatrio nal e as polticas adotadas nos roteadores
ao longo do caminho. Na verdade, no existem incentivos para que domnios adotem a
ltragem de ingresso como parte da poltica de segurana, uma vez que somente estaes
fora do prprio domnio so beneciadas. Alm disso, a ltragem de ingresso precisa
ser implementada em uma escala global para ter efeito. Caso a implantao seja restrita
a poucos roteadores, somente ataques passando por esses roteadores sero controlados.
Uma outra desvantagem processamento adicional inserido durante o roteamento. Como
a ltragem inuencia diretamente no processo de roteamento, o exame do endereo de
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 387
origem de cada pacote pode requisitar certos recursos que nem todo roteador disponibi-
liza. Existem ainda tecnologias que podem ser afetadas pela ltragem de ingresso, como o
IP Mvel [Perkins, 2002], pois utilizam legitimamente pacotes com endereos de origem
forjados.
Uma generalizao da tcnica de ltragem de ingresso foi proposta por Li et
al. [Li et al., 2002]. Os autores propem um protocolo que fornece aos roteadores al-
gumas informaes que possibilitam validar o endereo de origem dos pacotes. A idia
bsica do protocolo que mensagens contendo informaes sobre endereos de origem
vlidos sejam propagadas a partir da prpria rede de origem para todos os roteadores da
rede. Desta forma, cada roteador consegue construir uma tabela de entrada que associa
cada interface a um conjunto de endereos de origem vlidos. Ao receber um pacote por
uma de suas interfaces, o roteador verica se o endereo de origem do pacote est dentro
do conjunto de endereos associados quela interface. Caso o endereo esteja dentro do
conjunto, o pacote roteado normalmente e, em caso contrrio, ele descartado. O pro-
tocolo proposto semelhante a um protocolo de roteamento, onde as informaes sobre
os endereos de destinos so propagadas de forma que os roteadores possam construir
uma tabela associando endereos de destino com interfaces de sada, a chamada tabela de
roteamento. A diferena que protocolos de roteamento visam determinar por qual inter-
face um pacote ser encaminhado enquanto que o protocolo de validao de endereo de
origem verica se o pacote foi recebido pela interface adequada.
A desvantagem principal do protocolo de validao proposto o processamento
adicional necessrio durante o roteamento de cada pacote. Caso este protocolo venha a
ser implementado, roteadores tero que fazer consultas a cada uma das tabelas. Uma con-
sulta na tabela de entrada necessria para determinar se o endereo de origem vlido e
outra consulta na tabela de roteamento necessria para determinar a interface de sada e
o prximo n a receber o pacote. Alm disso, o protocolo proposto tambm apresenta os
problemas de um protocolo de roteamento convencional, como a necessidade de atualiza-
es peridicas, a reao s mudanas topolgicas da rede, a garantia da integridade e da
autenticidade das mensagens trocadas e o uso eciente da banda. Como objetivo nal, ele
deve ainda garantir que pacotes com endereos de origem forjados sejam descartados e
que nenhum pacote com endereo legtimo o seja. Tudo isso torna o protocolo complexo.
Medidas Reativas
Nos casos em que o ataque no pode ser evitado, no resta alternativa se no tentar
faz-lo parar e buscar localizar o atacante para que sejam tomadas medidas reparativas.
Para isto, o primeiro passo necessariamente obter informaes sobre a origem do ataque.
O rastreamento de pacotes surge como uma forma de identicar a rota percorrida
por um determinado pacote at o seu verdadeiro emissor. No caso de ataques de negao
de servio, a identicao dos atacantes importante tanto para interromper o ataque
atravs de ltragem como para a adoo de medidas judiciais contra o prprio atacante.
Entretanto, o rastreamento ainda mais geral e pode ser til em qualquer ocasio onde
necessrio determinar a origem ou a rota percorrida por um determinado pacote.
A importncia do rastreamento ainda maior quando se leva em considerao que,
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 388
devido arquitetura da Internet, no se pode conar no endereo de origem de nenhum
pacote como forma de identicao de sua verdadeira origem. impossvel apenas ana-
lisando o pacote determinar se o endereo verdadeiro ou foi forjado. Desta forma, para
ser convel, toda informao sobre a origem de um ataque deve ser obtida atravs do
rastreamento, pois se deve sempre levar em conta a possibilidade de endereos forjados.
1.4. O Rastreamento de Pacotes IP
Orastreamento de pacotes temcomo nalidade identicar a rota percorrida por um
determinado pacote e o seu verdadeiro emissor. No caso de ataques de negao de servio,
fundamental identicar a origem do ataque, mesmo que estes no empreguem endereos
de origem forjados, de forma a ltrar o trfego de ataque na sua origem. Em ataques por
reetor e atravs de zumbis, o rastreamento deve ser realizado para se identicar o reetor
ou zumbi e a partir destes, um novo rastreamento deve ser realizado para se chegar aos
verdadeiros atacantes.
As tcnicas de rastreamento de pacotes IP podem ser divididas em duas catego-
rias: sistemas de rastreamento sem estado e sistemas de rastreamento baseados em au-
ditorias [Laufer et al., 2005b]. Os sistemas de rastreamento sem estados no armazenam
nenhum tipo de informao sobre a origem dos pacotes nem na infra-estrutura da rede,
nem nas estaes nais. Neste caso, toda a atividade de rastreamento se baseia no estado
da rede no momento em que o rastreamento feito. Por outro lado, os sistemas baseados
em auditoria armazenam de alguma forma, durante o processo de envio dos dados, infor-
maes que podem ser teis para reconstruir o caminho real percorrido pelos pacotes. A
Seo 1.4.1 discute possveis solues de rastreamento sem o armazenamento de informa-
es e a Seo 1.4.2 trata das solues que se baseiam na auditoria de dados armazenados
durante o processo de envio dos pacotes.
1.4.1. Sistemas de Rastreamento Sem Estado
As solues de rastreamento sem estados possuem a vantagem de no exigir uma
estrutura capaz de armazenar informaes sobre os pacotes enviados em tempo real. A
busca por uma tcnica que no requeira armazenagem de dados signicativa, pois o
nmero de pacotes comutados na rede enorme e, como conseqncia, o volume de
dados a ser armazenado grande. Tambm existe o aspecto legal que no permite que
se armazene contedo de pacotes que circulam na rede. No entanto, sem o auxlio de
dados de auditoria, a nica opo para determinar a rota seguida pelos pacotes do ataque
testar os enlaces (interfaces) da rede para determinar se o trfego de ataque passa ou
no por esse enlace. Desta forma, estas solues s podem ser utilizadas na deteco de
ataques por inundao e enquanto os ataques ainda esto em andamento, sendo incapazes
de realizar o rastreamento post mortem.
A soluo atualmente empregada para o rastreamento de ataques mais precria
possvel, pois se serve de procedimentos que requerem a interveno humana. Assim,
quando ocorre um ataque, a vtima entra em contato com o administrador da rede do seu
provedor de servio (Internet Service Provider - ISP) e solicita a determinao da rota de
ataque. A vtima ou o administrador do ISP procura uma caracterstica (assinatura) dos
pacotes usados no ataque ou faz-se uma anlise do trfego no roteador associado vtima.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 389
feito um teste no roteador mais prximo da vtima para determinar por qual enlace
(interface de rede) o trfego do ataque chega a esse ltimo roteador. Uma vez determinado
o enlace correto, o procedimento repetido no roteador localizado na outra extremidade
do enlace. Depois, salto-a-salto, este processo repetido at que seja determinado o
roteador de onde parte o ataque. Pode ser necessrio testar at d roteadores, onde d o
dimetro da rede. Em alguns casos, necessria a interao entre provedores de servio,
o que torna o processo lento.
Em situaes nas quais possvel manipular o roteamento da rede atravs da in-
cluso de algumas rotas estticas, uma opo fazer com que todo o trfego destinado
vtima seja direcionado a um roteador previamente determinado. Se esse roteador for
congurado de forma a estar no centro da rede, pode-se iniciar um teste de enlaces salto-
a-salto partindo do centro da rede. Desta forma, o teste de enlaces feito em no mximo
d/2 roteadores. Se a anlise estiver sendo feita numa rede similar a um ISP, na qual parte-
se do princpio de que os ataques s podem vir de algum conectado a um dos roteadores
de borda, existem duas outras opes para o teste de enlaces. A primeira, caso a rede
disponha de recursos para a construo de topologias lgicas sobre a topologia fsica, a
construo de uma rede lgica de rastreamento em sobreposio (overlay) ligada a todos
os roteadores de borda da rede em questo. Com isso, possvel realizar o teste de enla-
ces salto-a-salto partindo da vtima at o roteador de borda por onde o trfego de ataque
entra na rede atravs da rede lgica de rastreamento. Neste caso, o nmero mximo de
roteadores testados funo do dimetro da rede lgica. A outra opo, caso deseje-se
apenas determinar por qual roteador o trfego de ataque entra na rede, analisar estatsti-
cas de trfego nos roteadores de borda da rede. Assim, baseado na assinatura do ataque,
possvel determinar qual roteador de borda o responsvel pela entrada do trfego de
ataque na rede.
As duas tcnicas de rastreamento sem estados apresentadas nesta seo so, na
verdade, formas de automatizar e otimizar o teste dos enlaces. A primeira tcnica, cha-
mada CenterTrack [Stone, 2000], tem o escopo limitado rede de um nico ISP e busca
determinar por onde o trfego de ataque entra na rede deste ISP. Neste sistema, o ras-
treamento otimizado atravs da utilizao de uma rede lgica de rastreamento em so-
breposio, na qual so realizados os testes de enlace salto-a-salto. A segunda tcnica
conhecida como inundao controlada [Burch e Cheswick, 2000] e tem como objetivo
automatizar os testes de enlace salto-a-salto numa rede composta por diferentes ISPs e,
portanto, sem uma administrao central.
Para que a tcnica CenterTrack possa ser utilizada, necessria a construo de
uma rede lgica de rastreamento na rede do ISP em questo. Desta forma, esta tcnica
aumenta a complexidade da rede e acarreta umaumento nas tarefas administrativas do ISP.
Cuidados especiais devem ser tomados, por exemplo, para evitar que os tneis utilizados
na construo da topologia lgica da rede de rastreamento interram na operao dos
protocolos de roteamento que estejam sendo utilizados no interior da rede. No entanto,
esta tcnica temcomo vantagemrequerer a presena de ferramentas de diagnstico apenas
nos ns de borda e nos ns que compem o backbone da rede de rastreamento.
O backbone da rede de rastreamento pode ter diversas arquiteturas, cada uma ade-
quada a certas caractersticas da rede fsica do ISP [Stone, 2000], mas deve estar ligada
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 390
a todos os roteadores de borda da rede. Desta forma, este backbone liga todas possveis
entradas do trfego de ataque a todas as possveis vtimas. Uma vez descoberto o ataque,
so criadas rotas estticas apontando para a vtima que faro com que aps a convergn-
cia do protocolo de roteamento todo o trfego direcionado vtima passe pela rede de
rastreamento.
Aps a reconstruo das rotas atravs da rede lgica de rastreamento, pode-se re-
alizar testes de enlace salto-a-salto, partindo da vtima, atravs desta rede lgica. Embora
estes testes no identiquem com exatido todos os roteadores da rota, ele resultar na
descoberta do roteador por onde o trfego entra na rede. Caso deseje-se ltrar o trfego
de ataque, esta ltragem deve ser realizada neste roteador de entrada.
Esta tcnica apresenta algumas limitaes. Uma destas limitaes que merece
destaque que o sistema no ajuda no rastreamento de ataques originados no backbone
do ISP, pois este roteador pode no fazer parte da rede de rastreamento. Outro problema
surge quando a vtima um dos roteadores do backbone da rede do ISP. Neste caso, o
procedimento de direcionar o trfego destinado vtima atravs da rede de rastreamento
pode resultar em loops e colapso de tneis. A utilizao de tneis gera, ainda, mais
dois problemas. O primeiro deles a sobrecarga introduzida pelo uso de tneis. Desta
forma, se o ataque for realizado com vrios pacotes pequenos, o uso de tneis podem
aumentar o tamanho do pacote signicativamente. Em ltima instncia, os tneis serviro
como um amplicador do ataque. Alm disso, se os tneis no forem autenticados de
alguma forma, um ataque mais inteligente pode atrapalhar a operao do sistema forjando
pacotes de modo a que estes pacotes sejam injetados diretamente nos tneis. Uma questo
que tambm merece ateno que este sistema redireciona o trfego endereado para a
vtima. Esta caracterstica possibilita ao atacante descobrir atravs de ferramentas como
o traceroute que alguma coisa est errada e que ele est possivelmente sendo rastreado.
Sabendo disso, o atacante pode parar o ataque antes que o processo de identicao esteja
completo. Deve-se destacar, por m, que esta tcnica pode ser facilmente adaptada para
se tornar uma tcnica baseada em auditoria. Para isto, necessrio que equipamentos
capazes de farejar a rede sejam includos no backbone da rede de rastreamento.
A tcnica da inundao controlada busca automatizar o processo de teste de en-
laces em redes compostas por diferentes ISPs. Esta tcnica necessita que algumas fer-
ramentas estejam disponveis em todos ou, pelo menos, na maior parte dos roteadores
da rede considerada. A principal vantagem deste sistema possibilitar o rastreamento
sem a interveno dos ISPs envolvidos. Na realidade, esta tcnica pode at mesmo ser
empregada sem que a administrao do ISP tome conhecimento.
Este sistema se baseia no teste de enlace salto-a-salto na rede inteira. Para isso,
necessrio que o responsvel pelo rastreamento tenha conhecimento da topologia da
rede como um todo. Isto pode ser obtido atravs de traceroutes da vtima para as outras
redes. Este processo, alm de custoso do ponto de vista de tempo e recursos, complicado
caso existam enlaces assimtricos. Embora se possa assumir que a maior parte das rotas
so simtricas, pode ser necessria a utilizao de outros meios para obter uma viso
sucientemente detalhada da rede.
Um ponto interessante da inundao controlada a forma com que o teste de
enlace realizado. Ao invs de analisar o trfego que passa por um determinado en-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 391
lace e comparar com uma assinatura conhecida do ataque, na inundao controlada o
teste de enlace feito atravs da inundao do enlace em questo. Aps esta inunda-
o, determina-se se o enlace pertence ou no rota de ataque observando o uxo do
ataque que chega vtima. Se o uxo do ataque diminui aps a inundao do enlace,
assume-se que o enlace faz parte da rota de ataque e a diminuio do uxo na vtima se
deu por descarte de parte dos pacotes de ataque devido ao congestionamento criado no
enlace testado. Pode-se dizer que neste sistema o teste de enlace realizado de forma in-
direta. Duas questes importantes surgem com este tipo de teste de enlace. A primeira a
inuncia do comportamento do uxo do ataque sobre a identicao dos enlaces perten-
centes rota de ataque. Uma vez que a identicao depende da observao de variaes
do uxo na vtima, se o ataque for originalmente feito com um uxo imprevisvel de pa-
cotes, o teste de enlaces se torna muito difcil de ser realizado com alguma conana.
Alm disso, necessrio que o responsvel pelo rastreamento seja capaz de efetivamente
inundar o enlace testado, o que se torna mais difcil medida que a capacidade do en-
lace aumenta. importante destacar que essa inundao deve ser idealmente contida ao
enlace em questo para no mascarar resultados nem congestionar outras partes da rede.
Stone [Stone, 2000] sugere o uso do servio de gerao de caracteres (chargen). Esta
ferramenta gera um uxo contnuo de dados partindo do roteador em direo a quem se
conecta ao servio. A inundao pode ser restrita ao enlace em questo se o responsvel
pelo rastreamento utilizar o servio forjando o endereo de origem do pedido para fazer
parecer que quem est se conectando o roteador na outra extremidade do enlace tes-
tado. Os testes realizados demonstram que na maioria dos casos esta ferramenta capaz
de inundar o enlace, especialmente considerando-se que esta inundao facilitada pelo
trfego legtimo que circula pela rede. Os resultados mostram que na maioria das vezes
possvel identicar o segmento da rede de onde parte o ataque. Entretanto, em alguns
casos, o teste de enlace pode apresentar resultados que ajudam pouco na determinao da
rota de ataque.
Um aspecto importante da inundao controlada a sua implicao tica. Inundar
um enlace para testar se ele faz parte da rota de um ataque de negao de servio , de
certa forma, realizar um ataque de negao de servio ao ataque original. Este segundo
ataque, ao inundar a rede, pode prejudicar outros usurios. Surge ento a pergunta se o
rastreamento no pode causar mais dano do que o prprio ataque. Espera-se que se os
testes de enlace so feitos na escala temporal correta (apenas poucos segundos), a maior
parte dos usurios sequer percebem mudanas na rede. Por m, h a discusso sobre a
utilizao de servios disponveis nos roteadores, como o chargen. O fato de um ISP
deixar um servio funcionando em um roteador no signica que este ISP concorda que
qualquer um se utilize deste servio.
1.4.2. Sistemas de Rastreamento Baseados em Auditoria
O rastreamento de pacotes baseado em auditoria consiste basicamente na coleta
de informaes sobre os pacotes que circulam na rede a m de viabilizar a reconstruo
do caminho percorrido por pacotes provindos de atacantes. Este tipo de sistema pode
ser classicado segundo o local onde as informaes coletadas so armazenadas. Assim,
as informaes podem ser armazenadas nas estaes nais, na infra-estrutura de rede ou
ainda em ambas.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 392
Armazenamento nas Estaes Finais
O mecanismo mais simples de rastreamento de pacotes baseado em auditoria a
incluso do endereo IP de cada roteador pelo qual o pacote passa. Este um esquema
similar opo de Record Route do IP [Postel, 1981], na qual todo pacote possui o cami-
nho inteiro percorrido na rede, da fonte ao destino. Alm da simplicidade, este esquema
permite o rastreamento do caminho de ataque com apenas um pacote, o que seria ideal em
ataques distribudos. No entanto, ele apresenta algumas desvantagens que o torna pratica-
mente invivel [Savage et al., 2001]. A adio de dados ao pacote durante o roteamento
implica um acrscimo signicativo de processamento. Outro problema o aumento do
tamanho do pacote a cada roteador, podendo acarretar em fragmentaes desnecessrias
que podem sobrecarregar os roteadores.
Uma caracterstica bastante comum nos sistemas com armazenamento nas esta-
es nais a coleta de informaes atravs da marcao de pacotes. A marcao de
pacotes consiste na utilizao de campos no interior do pacote que possibilitem registrar
uma determinada caracterstica. Para efeito de rastreamento, so visadas as informaes
sobre o caminho percorrido pelo pacote do n origem at o n destino. Para no se al-
terar o tamanho original do pacote comum usar campos pouco usados do cabealho IP
para transportar estas informaes. A marcao pode ser determinstica, quando todos os
pacotes so marcados, ou probabilstica, quando os pacotes so marcados aleatoriamente
segundo uma determinada probabilidade.
A marcao de pacotes probabilstica (Probabilistic Packet Marking - PPM) foi
introduzida originalmente por Savage et al. [Savage et al., 2001]. Nesta abordagem, cada
roteador probabilisticamente insere informaes sobre si mesmo no cabealho IP do pa-
cote. Aps o recebimento de uma certa quantidade de pacotes, a vtima capaz de recons-
truir a rota de ataque. A Figura 1.13 mostra a idia bsica do mecanismo de marcao de
pacotes.
R
d
V
1
R A 2
R
3
R
probabilidade p
pacote marcado com
. . .
Figura 1.13. A marcao probabilstica de pacotes.
O atacante A envia pacotes em direo da vtima V. Estes pacotes seguiro o ca-
minho indicado, passando pelos roteadores R
1
, R
2
, R
3
, . . . , R
d
. Cada roteador do caminho
ir acrescentar ao cabealho do pacote o seu endereo IP, com uma certa probabilidade p.
A vtima V deve armazenar um nmero suciente de pacotes de modo a garantir a existn-
cia de pelo menos um pacote com o endereo de cada roteador do caminho. Deste modo,
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 393
aps o recebimento dos pacotes, a vtima capaz de reconstruir o caminho at o atacante.
A ordem dos roteadores na rota reconstruda deduzida a partir da quantidade de pacotes
marcados por cada roteador. A probabilidade de um pacote chegar marcado por um de-
terminado roteador inversamente proporcional sua distncia para a vtima. Isto porque
quanto mais prximo da vtima, menor a probabilidade de um outro roteador sobrescre-
ver o endereo j marcado. Assim, quanto maior a quantidade de pacotes marcados por
um determinado roteador, menor a sua distncia para a vtima. A probabilidade
i
de
um pacote chegar marcado por um determinado roteador R
i
expressa por

i
= p(1p)
di
, (1)
onde p a probabilidade de um pacote ser marcado por R
i
, d o nmero de roteadores na
rota de ataque e (d i) a distncia do roteador R
i
vtima.
Um dos problemas da marcao de pacote a quantidade de pacotes que a vtima
deve coletar. Por exemplo, se a distncia do atacante for igual a 15 (d = 15) e p = 0, 51
a vtima deve armazenar em mdia 42 mil pacotes para receber pelo menos um pacote
do ltimo roteador. Sendo que, para obter uma garantia de 95%, o nmero de pacotes
armazenados passa para aproximadamente 300 mil pacotes. Por isso, todos os mecanis-
mos baseados na marcao de pacotes partem da premissa que os ataques de negao de
servio so caracterizados pelo envio de milhares de pacotes [Savage et al., 2001]. Esta
grande quantidade de pacotes pode tornar a reconstruo da rota um procedimento lento.
Outro problema a falta de robustez em relao a mltiplos atacantes. Neste caso, haver
mais de um roteador com a mesma distncia dicultando a denio da rota de ataque.
A nica alternativa possvel seria o conhecimento da topologia para distinguir entre os
possveis caminhos. Por m, o atacante pode ainda tentar forjar um suxo da rota ao
acrescentar falsos endereos aos pacotes de ataque. A probabilidade
0
de um pacote
chegar a vtima com o endereo forjado pelo atacante

0
= (1p)
d
. (2)
Existe um compromisso entre a capacidade do atacante de forjar endereos e a
quantidade de pacotes necessrios para a reconstruo da rota. Quanto maior o valor
de p, menor a probabilidade da vtima receber um pacote marcado somente pelo ata-
cante, conforme a Equao 2. Por outro lado, quanto menor o valor de p, menos pacotes
recebidos so necessrios para o rastreamento. Existe um valor timo para p que mini-
miza a quantidade de pacotes a serem coletados. Um valor abaixo ou acima deste valor
implica um aumento da quantidade de pacotes.
Apesar das desvantagens, a marcao de pacotes apresenta algumas vantagens
interessantes. A marcao de pacotes no exige uma cooperao entre os ISPs. Diferen-
temente dos mecanismos baseados em inundao, o trfego adicional acrescentado pelo
esquema de marcao de pacotes no signicativo. Alm disso, um mecanismo baseado
na marcao de pacotes permite a descoberta da rota de ataque mesmo aps o seu trmino.
Por m, a marcao de pacotes no representa uma grande sobrecarga para os roteadores.
Este o princpio bsico do mecanismo de rastreamento baseado na marcao de
pacotes. Muitos trabalhos propuserampequenas adaptaes a mde minimizar as desvan-
tagens deste novo paradigma. Savage et al. propem a amostragem de enlaces (arestas)
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 394
no lugar de amostragem de ns (vrtices). Uma aresta pode representar um enlace entre
dois roteadores conectados diretamente, ou atravs de outros roteadores que no imple-
mentam o mecanismo. Assim, cada pacote marcado no apenas por um determinado n,
mas por dois ns consecutivos. Esta pequena modicao no esquema de marcao re-
solve o problema dos mltiplos atacantes, alm de facilitar a implementao progressiva.
Para tanto, so utilizados dois campos no cabealho do pacote onde sero armazenados os
endereos de comeo e m da aresta e um campo para computar a distncia, como mostra
a Figura 1.14.
distncia endereo 1 endereo 2
8 32 32 bits
Figura 1.14. Espao necessrio nos mecanismos de amostragem de arestas.
Quando um n decide marcar um determinado pacote, ele deve acrescentar seu
endereo no campo endereo 1 e emseguida zerar o campo distncia. Caso contrrio, o n
deve checar o campo distncia. Sempre que o valor deste campo for igual zero, o n deve
inserir seu endereo ao campo endereo 2 e incrementar o valor do campo distncia. Para
qualquer outro valor, o roteador deve apenas incrementar o valor do campo distncia. Ao
nal da coleta dos pacotes de ataque, a vtima ter informaes sobre diferentes arestas,
com diversas distncias da vtima, a partir das quais possvel construir um grafo, onde
a vtima a raiz e os roteadores mais prximos dos atacantes so as folhas. O nmero
mdio X de pacotes necessrios para a reconstruo da rota pode ser calculado segundo
a expresso do problema do coletador de cupons. Nesse problema, calculado o nmero
mdio de cupons que devem ser tirados de uma urna de forma a se ter pelo menos um
cupom de cada tipo. Assim, o nmero mdio X de pacotes necessrios expresso por
E(X)
ln(d)
p(1p)
d1
, (3)
onde d representa a distncia entre o atacante e a vtima e p a probabilidade de marcao.
Este valor referente a uma rota de ataque. No caso da amostragem de arestas, mesmo
que o atacante consiga forjar um endereo, o efeito ser o acrscimo de uma aresta ao
nal da rota. Isto signica que o atacante incapaz de forjar arestas entre a vtima e o
ltimo roteador da rota de ataque.
O fato de utilizar um espao adicional no campo do cabealho IP cria um pro-
blema de incompatibilidade com as verses anteriores. No mecanismo de amostragem de
arestas, necessrio um espao de 72 bits (Figura 1.14). Para solucionar este problema,
Savage et al. propem uma adaptao ao mecanismo de amostragem de arestas com o
objetivo de diminuir o tamanho do espao necessrio no cabealho IP, de maneira a utili-
zar um espao j existente e raramente utilizado. Assim, proposta a utilizao do campo
de identicao de fragmentao (IP identication), que contm 16 bits. A novidade est
na codicao da identicao das arestas, que antes era feito atravs dos endereos de
comeo e m das arestas. Nesta nova verso, os endereos so intercalados pelo seu pr-
prio hash e divididos em k fragmentos, como mostra a Figura 1.15. Assim, ao marcar um
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 395
pacote, ao invs de acrescentar seu endereo, o roteador deve acrescentar apenas um des-
ses fragmentos, escolhido aleatoriamente, e escrever em um outro espao do cabealho
o identicador de fragmento (ID frag), alm de zerar o campo distncia. O n seguinte,
caso no marque o pacote, aps vericar que o campo distncia est em zero, deve escre-
ver no campo fragmento o resultado da operao OU exclusivo (XOR) entre o n-simo
fragmento de seu endereo com o fragmento j escrito, onde n o nmero indicado no
campo identicador de fragmento (Figura 1.16).
... ...
...
do endereo Hash
F
2
F
3
F
1 k2
F
k1
F
k
F
Endereo
Figura 1.15. Gerao dos fragmentos.
distncia
i
R
+1
i
R
+
n
i
F
n
ID frag fragmento
1
5 8 bits
2
n
0 n
log k
Roteador
Roteador
n
F
F
i+1
Figura 1.16. Marcao do pacote na amostragem de arestas, usando fragmentos.
Apesar de permitir a utilizao de apenas 16 bits e manter a compatibilidade com
as verses anteriores, este novo esquema aumenta o nmero de pacotes necessrios para
a reconstruo da rota de ataque, pois necessrio coletar pelo menos uma amostra de
todos os fragmentos de cada aresta. Isto multiplica por k o nmero de pacotes necess-
rios. Alm disso, em um ataque distribudo com m atacantes, mesmo de posse de pelo
menos uma amostra de cada um dos k fragmentos de cada aresta, no nal, a vtima ter
m exemplares diferentes com a mesma distncia e o mesmo identicador de fragmento,
provindas de m roteadores diferentes. Assim, para remontar todos os fragmentos de um
mesmo roteador e obter seu endereo (intercalado pelo hash), a vtima deve testar todas
as combinaes possveis e checar o hash de cada uma. Dependendo do nmero de ata-
cantes, este procedimento pode implicar um processamento signicativo. Mesmo tendo
realizado todo este procedimento, ainda existe a possibilidade de obter endereos que,
apesar de possuir um hash vlido, no representam enlaces existentes. Estes enlaces so
chamados de falsos positivos.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 396
Pode-se mostrar que a proposta de amostragem de fragmentos sugerida por Sa-
vage et al. requer uma grande carga computacional e produz um signicativo nmero de
falsos positivos no processo de reconstruo da rota de ataque, na presena de mltiplos
atacantes [Song e Perrig, 2001]. Por exemplo, com somente 25 atacantes, esta abordagem
pode levar dias para computar a rota de ataque, apresentando milhares de falsos positivos.
Assim, Song e Perrig [Song e Perrig, 2001] propem um novo mecanismo de rastrea-
mento de pacotes baseado na amostragem de arestas, que apresenta uma complexidade
e nmero de falsos positivo inferior proposio de Savage et al. A principal diferena
entre as duas propostas est na codicao das arestas. Ao invs de acrescentar um frag-
mento do endereo IP intercalado com o hash do endereo, acrescentado o valor do
hash do endereo IP. Para isto, denida a utilizao de duas funes hash h e h

, ambas
de 11 bits. Cinco bits so utilizados para o campo distncia, totalizando 16 bits. Desta
forma, antes de encaminhar um pacote ao prximo n, o roteador R
i
deve decidir se ir
marcar o pacote, com uma probabilidade p. Sempre que um pacote marcado, o roteador
insere o valor h(E
i
) no campo aresta, onde E
i
o seu endereo, e zera o campo distncia.
Caso o pacote no seja marcado, o roteador R
i
deve checar o campo distncia. Se o valor
for igual zero, o roteador deve atualizar o contedo do campo aresta com o resultado
da operao OU exclusivo (XOR) entre o contedo do campo aresta e o valor h

(E
i
), e
incrementar o campo distncia. Para qualquer outro valor, apenas o campo distncia
incrementado, como mostra a Figura 1.17.
hash do endereo IP
i
R Roteador
i
R
+1
Roteador
( ) h i
E
+ ( ) h i
E i
E
+1 h( )
distncia
1
5
0
11 bits
Figura 1.17. Marcao do cabealho segundo Song e Perrig.
A reconstruo bastante simples. Primeiramente, considera-se que a vtima con-
tm um mapa dos roteadores da Internet, representado por um grafo cuja raiz a prpria
vtima. Assim, aps a coleta de pacotes, a vtima deve comparar o valor h(F
v
) com o
campo aresta de todos os pacotes cujo campo distncia tem o valor zero, onde F
v
contm
todos os lhos diretos da vtima. Todos os endereos cujo resultado da comparao
positivo so acrescentados a um conjunto denominado S
0
. O conjunto S
i
contm todos os
endereos IP cujo resultado da comparao positiva, onde i representa a distncia para a
vtima. Aps a identicao dos roteadores de distncia zero, a vtima realiza a operao
de OU exclusivo (XOR) entre o valor h

(S
0
) e o campo aresta de todos os pacotes cujo
campo distncia igual a um, e comparar o resultado com h(F
0
), onde F
0
so todos os
lhos do conjunto S
0
. Neste novo esquema, um falso positivo pode ocorrer quando o re-
sultado da funo hash de dois ns irmos, lhos do mesmo roteador, tem o mesmo valor.
A probabilidade deste evento ocorrer 2
11
. No caso da existncia de muitos vizinhos a
probabilidade da ocorrncia de falso positivo aumenta signicativamente. Para resolver
este problema, proposta uma pequena alterao no procedimento de marcao. Ao invs
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 397
de utilizar apenas duas funes hash independentes, so utilizado dois conjuntos g e g

de funes hash, todas independentes. Ao marcar um pacote, o roteador em questo deve


escolher uma funo hash do grupo g a ser utilizada. Aps fazer a marcao e zerar o
campo distncia, ele deve inserir o valor sorteado no campo identicador de funo hash
(ID hash). O roteador seguinte, que far a operao OU exclusivo (XOR) para delimitar
a aresta, deve utilizar a funo hash com o mesmo ID hash, mas do grupo g

. Durante
a reconstruo, uma determinada aresta s considerada como verdadeira se possuir um
nmero mnimo de marcaes, cada uma com um valor hash diferente. Desta forma, os
falsos positivos diminuem. Song e Perrig ainda propem um mecanismo de marcao de
pacotes com autenticao, baseado no esquema anterior, a m de evitar que roteadores
comprometidos possam forjar arestas e dicultar ou at mesmo impedir que a rota de
ataque seja construda.
Neste sistema de marcao de pacotes, pode-se calcular a capacidade do atacante
de forjar uma aresta [Park e Lee, 2001]. Para isto, basta que o atacante faa uma marcao
e o pacote no seja marcado por nenhum roteador do caminho. A probabilidade de um
pacote chegar na vtima semter sido marcado por nenhumroteador dada pela Equao 2.
Para que a vtima receba mais pacotes marcados pelo atacante que pacotes marcados pelo
primeiro roteador do caminho, basta que:

0

1
(1p)
d
p(1p)
d1
1p p
p 0, 5. (4)
Para que a vtima receba mais pacotes marcados pelo atacante que por todos os outros
roteadores, basta que:

0

d

i=1

i
(1p)
d

i=1
p(1p)
di
(1p)
d
1(1p)
d
p 12
1/d
. (5)
Por exemplo, para d = 10 tem-se p 0, 067. Isto mostra que o atacante pode forjar m
caminhos diferentes com a mesma probabilidade que o caminho original, como mostra a
Figura 1.18.
Se o valor de m for grande, ou seja, se o atacante for capaz de forjar muitos
caminhos, a vtima ter problemas para identicar o verdadeiro caminho. No entanto,
o valor de m limitado por (d 1) [Park e Lee, 2001]. Tambm mostrado que um
aumento no valor de p diminui o valor de m. Desta maneira, Park e Lee demonstram que
mecanismos baseados em PPM podem ser ecientes para ataques de apenas um atacante,
mas so vulnerveis a ataques distribudos com mltiplos atacantes. Isto ocorre, pois a
maneira de maximizar o nmero de caminhos forjados m forar a diminuio do valor
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 398
1
R
2
R R
d
V A
1
U
2
U
U
m
Caminho real
Caminho forjado
.

.

.
. . .
Figura 1.18. Caminhos forjados pelo atacante.
de p. A nica possibilidade seria diminuir o nmero de pacotes N enviados pelo atacante.
Isto porque N deve ser suciente para que a vtima possa receber pelo menos um pacote
do roteador R
1
. Entretanto, o valor de N no pequeno em ataques de negao de servio
por inundao. Assim, no caso de apenas um atacante, mostrado que com N entre 10
3
e
10
5
pacotes e d = 25, o valor de m ca limitado entre dois e cinco. Porm, em um ataque
com mltiplos atacantes, onde cada atacante possa reduzir signicativamente o nmero de
pacotes enviados, o valor de m tender (d 1), que no caso de d = 25 uma quantidade
signicativa de caminhos possveis para cada atacante.
Com objetivo de diminuir a complexidade do algoritmo de reconstruo de rota
e de aumentar a conabilidade a m de permitir o rastreamento de um ataque distri-
budo com um grande nmero de atacantes, um novo esquema de rastreamento foi pro-
posto [Goodrich, 2002]. Nesta nova proposta, foi introduzido o conceito de mensagem
(M
R
) que ser enviada pelo roteador R vtima. O contedo da mensagem depende do
seu tamanho. Mas a princpio, a mensagem mais simples contm o endereo IP do ro-
teador em questo, sendo possvel acrescentar outras informaes, como por exemplo, o
endereo do prximo roteador e at mesmo informaes para autenticao. O processo
de marcao de pacote basicamente o mesmo, com a diferena que no existe mais o
campo distncia. Isto signica que quando o pacote no marcado, no h sobrecarga
para o roteador. A codicao da mensagem no cabealho IP feita utilizando 25 bits.
Primeiramente, a mensagem preenchida, se necessrio, para que seu tamanho seja mlti-
plo de l. Em seguida gerada uma soma de vericao (checksum) de c bits da mensagem
(C(M
R
)). Depois a mensagem divida em l partes iguais, denominadas de palavras, w
0
,
w
1
, . . . , w
l1
. Os 25 bits do cabealho so divididos, como mostra a Figura 1.19.
log
2
l log
2
l
w
i
( ) C M ( )
R
bits
ndice palavra
c 25 c
Figura 1.19. Marcao do cabealho segundo Goodrich.
Ao marcar um pacote, o roteador deve escrever uma das palavras da mensagem
no campo palavra, o valor de C(M
R
), no campo checksum e o ndice da palavra no campo
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 399
ndice. A reconstruo bastante similar a de Savage et al. A diferena est na remonta-
gem da mensagem. O checksum alm de ser o responsvel por garantir se a mensagem foi
corretamente montada, serve tambm para identicar todas as palavras da mesma men-
sagem. Deste modo, basta que a vtima separe todos os pacotes que possuam o mesmo
checksum, eliminar as repeties e testar todas as combinaes possveis com as palavras
de mesmo ndice e mesmo checksum. Goodrich demonstra que seu mecanismo apresenta
uma complexidade bastante inferior s propostas de Savage et al. e Song e Perrig. Outro
fator importante o fato de conseguir rastrear ataques com at 1000 atacantes. Por ltimo,
o esquema de mensagem exvel, permitindo acrescentar informaes para autenticao
dos roteadores.
Aps diversos trabalhos na rea de marcao de pacotes, percebeu-se que o grande
problema dos mecanismos baseados na PPM o fato dos atacantes poderem forjar uma
marcao. Assim, acabar com a possibilidade do atacante forjar uma marcao, resolveria
o principal inconveniente deste tipo de abordagem. Por isso, foi proposto um novo meca-
nismo de marcao de pacotes determinstico que utiliza 17 bits (16 do campo Packet ID e
um do campo reservado ag) do cabealho IP [Belenky e Ansari, 2003b]. O mecanismo
pressupe que a marcao seja feita apenas pelos roteadores de borda. Desta maneira,
todo pacote que entrar por uma interface de borda ser marcado com o endereo IP
da respectiva interface. Como so usados apenas 17 bits, o endereo da interface di-
vido em duas partes. O roteador deve escrever no pacote uma das duas partes com igual
probabilidade. Em seguida deve-se acrescentar zero ou um ao campo ag, de acordo
com a parte do endereo escrita no campo Packet ID. Assim, aps a recepo de alguns
pacotes, a vtima obter as duas partes do endereo da interface de entrada do roteador
mais prximo do atacante. Com apenas 7 pacotes a vtima tem 99% de chance de obter
o endereo completo. Um dos problemas desta abordagem a fragmentao de pacotes,
pois todos os fragmentos de um determinado pacote devem conter o mesmo valor para o
campo Packet ID para serem corretamente remontados. Isto pode no acontecer, dado que
dois valores distintos podem ser escritos no campo Packet ID. Este problema foi resolvido
identicando os fragmentos e escrevendo a mesma parte do endereo da interface de en-
trada no campo Packet ID [Belenky e Ansari, 2003a]. Entretanto, esta abordagem possui
dois problemas graves que podem impedir que a vtima descubra o endereo da interface
de entrada do roteador de borda. O primeiro problema aparece quando o atacante envia
apenas um pacote com cada endereo IP. O segundo caso seria um ataque distribudo onde
m atacantes enviam pacotes com os mesmos endereos IP. Assim, para cada endereo IP
diferente a vtima receberia m pacotes para cada parte do endereo.
Ainda na tentativa de impedir o atacante de forjar as marcaes, foi desenvol-
vido um outro mecanismo de rastreamento baseado na marcao de pacotes, denominado
Dynamic Probabilistic Packet Marking (DPPM) [Liu et al., 2003]. Seu objetivo mini-
mizar a capacidade do atacante de forjar caminhos, que, como foi mostrado por Park e
Lee [Park e Lee, 2001], est diretamente relacionada com o valor de p e com o nmero N
de pacotes enviados pelo atacante. Como este ltimo fator determinado pelo atacante, a
nica opo mudar o valor de p. Desta forma, a proposta consiste em atribuir diferentes
probabilidades de marcao de acordo com a distncia que o pacote j percorreu. Assim,
para um caminho com d roteadores, o pacote ser marcado pelo roteador R
i
com a pro-
babilidade p
i
= 1/i. A probabilidade de um pacote chegar marcado pelo roteador R
i
na
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 400
vtima dado pela seguinte expresso

i
= p
i
d

j=i+1
1p
j
. (6)
A Equao 1 um caso particular da Equao 6, onde p
i
= p, para 1 i d. Expandindo
a Equao 6 e substituindo p
i
= 1/i, tem-se a seguinte expresso:

i
= p
i
d

j=i+1
1p
j
= p
i
(1p
i+1
)(1p
i+2
). . . (1p
d
)
=
_
1
i
__
1
1
i +1
__
1
1
i +2
_
. . .
_
1
1
d
_
=
1
d
. (7)
Isto signica que a probabilidade da vtima receber um pacote marcado pelo roteador
R
i
a mesma para todos os roteadores, no importando a distncia para a vtima. Este
resultado bastante interessante, pois a probabilidade do pacote chegar marcado pelo
atacante
0
, ou seja, a probabilidade do atacante forjar uma marcao igual zero.
Intuitivamente, pode-se ver este resultado a partir da seguinte expresso:

0
= 1
d

i=1

i
= 0 (8)
Alm disso, o valor mnimo de pacotes necessrios para a reconstruo da rota igual
d, pois N min(
i
) 1. Na PPM, min(
i
) =
1
, mas no DPPM todos os
i
so iguais
1/d. Logo,
N
1
d
1
N d. (9)
O grande problema desta abordagem saber quantos ns o pacote j percorreu.
Uma das possveis solues a utilizao do campo TTL (Time To Live) do cabealho
IP para a contagem dos saltos de distncia do atacante. No entanto, o atacante pode
facilmente forjar o TTL para tentar burlar o mecanismo de rastreamento de pacote. Por
isso, os autores sugerem a utilizao de um valor mximo de TTL inicial (TTL
max
) para
um pacote, de maneira que se um roteador recebe um pacote com TTL > TTL
max
, ele
deve sobrescrever o valor do TTL com TTL
max
. O valor sugerido para o TTL mximo
de 32 ou 64, considerando-se que a maioria das rotas da Internet possuem menos que
25 roteadores [Liu et al., 2003]. Neste caso, se o atacante escolhe um valor menor para
o campo TTL, como TTL = TTL
max
z, a probabilidade p
i
de um roteador marcar um
determinado pacote ser
p
i
=
1
z +i
. (10)
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 401
Substituindo este novo valor na Equao 6, obtm-se a probabilidade do pacote chegar a
vtima marcado pelo roteador R
i
,

i
=
1
z +d
. (11)
Assim, a probabilidade de chegar vtima um pacote marcado pelo atacante pode ser
escrito da seguinte maneira:

0
= 1
d

i=1

i
= 1
d
z +d
=
z
z +d
. (12)
Esta no aparenta ser uma boa soluo. Por exemplo, no caso de TTL
max
=64 e o atacante
ter marcado um TTL = 28 (z = 36),
0
ser igual a 0, 36. De acordo com os prprios
autores, este valor de TTL ainda suciente para alcanar a grande maioria dos stios da
Internet. O atacante poderia ainda diminuir o valor do TTL, de acordo com a distncia da
vtima, piorando ainda mais a ecincia do mecanismo de rastreamento.
Alm da preocupao com a capacidade do atacante de forjar arestas, existe ainda
um grande interesse na otimizao da codicao das arestas, para tornar o rastreamento
baseando na marcao de pacotes um sistema mais eciente. Um mecanismo denomi-
nado SNITCH [Aljifri et al., 2003] uma extenso a PPM na qual modicada a codi-
cao da identicao das arestas. Neste trabalho proposta a utilizao de uma tcnica
de compresso do cabealho IP, denida na RFC 2507 [M.Degermark et al., 1999] e na
RFC 1144 [Jacobson, 1990]. O objetivo desta tcnica de compresso do cabealho IP
diminuir o tamanho do pacote para aumentar a vazo de enlaces de baixa velocidade.
Esta tcnica pressupe a existncia de campos no cabealho IP que no mudam em uma
seqncia de pacotes do mesmo uxo. Estes campos so denominados de contexto do
pacote. Assim, apenas o primeiro pacote enviado conter todos os campos do cabealho
que ser associado a um contexto. Os pacotes seguintes, que possuam o mesmo contexto,
tero estes campos removidos do cabealho e armazenaro o identicador do contexto
ao qual esto associados (Context ID CID). O espao economizado com esta tcnica
igual a 144 bits. Na proposta de Aljifri et al. [Aljifri et al., 2003], estes 144 bits so
utilizados para a marcao dos pacotes. Desta maneira, ao decidir marcar um pacote, o
roteador associa o contexto deste pacote a um CID. Em seguida, o roteador compara o
contexto do primeiro pacote com o pacote seguinte. Caso os contextos sejam idnticos,
o roteador comprime este cabealho e acrescenta as informaes relativas ao mecanismo
de rastreamento. A vtima, ao receber este pacote, retira as informaes de rastreamento
antes de descomprimir o cabealho. Aps coletar o nmero suciente de pacotes, as du-
plicatas so eliminadas e a rota pode ser construda a partir das arestas e das distncias.
Apesar de conseguir aumentar a quantidade de dados escritos no cabealho, evitando a
fragmentao das informaes de rastreamento, a proposta apresenta o mesmo problema
da alta probabilidade do atacante forjar caminhos.
Uma alternativa para a codicao das informaes de rastreamento apresentada
por Dean et al. [Dean et al., 2002]. A codicao baseada em equaes algbricas. As-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 402
sim, cada roteador indica sua presena na rota de ataque, acrescentando o resultado de
um polinmio no qual a varivel o seu endereo IP. A vtima deve ter conhecimento
deste polinmio. Aps a recepo de um nmero suciente de pacotes, a reconstruo da
rota de ataque feita a partir da resoluo de um sistema de equaes. No entanto, a pro-
posta tambm baseada na marcao de pacotes e, por conseqncia, possui as mesmas
desvantagens em relao capacidade do atacante forjar marcaes. Alm disso, dife-
rente do sistema proposto por Savage et al., este sistema no apresenta nenhum cdigo
de deteco de erro para reduzir a probabilidade de se construir um sistema de equaes
utilizando equaes provenientes de rotas diferentes. Conseqentemente, ainda mais fal-
sos positivos so esperados para ataques distribudos de pequeno porte. Um outro tipo de
equaes algbricas foi sugerido na tentativa de diminuir a quantidade de bits usados para
a codicao [Bai et al., 2004].
Existe ainda outro mtodo baseado emauditoria, que no se baseia na marcao de
pacotes [Bellovin et al., 2003]. Ao rotear um pacote, cada roteador probabilisticamente
envia para a vtima um pacote ICMP com informaes sobre si mesmo e sobre seus rotea-
dores adjacentes. Para um uxo sucientemente longo, a vtima usa estes dados recebidos
para reconstruir a rota de ataque. Entretanto, como as informaes de auditoria so envi-
adas em pacotes separados, a autenticao das mensagens necessria de forma a evitar
mensagens forjadas pelo atacante. Logo, a adoo de uma infra-estrutura de chave pblica
se torna inevitvel. Uma extenso desta idia inclui novos conceitos como utilidade e
valor das mensagens de rastreamento [Mankin et al., 2001], a m melhorar o sistema.
Armazenamento na Infra-estrutura de Rede
Sob a perspectiva de armazenamento na prpria infra-estrutura de rede, a maneira
mais simples de recolher rastros de auditoria cada roteador registrar todos os pacotes
que o atravessam [Stone, 2000]. Porm, recursos excessivos so requisitados tanto para
armazenagem quanto para a minerao dos dados. Alm disso, a invaso de um roteador
acarretaria ainda em problemas de privacidade, uma vez que ele contm informaes
sobre todos os pacotes roteados.
Uma alternativa para reduzir a armazenagem de um grande volume de informa-
es utilizar um Filtro de Bloom [Bloom, 1970]. Ultimamente, estes ltros tm sido
amplamente usados em redes de computadores [Broder e Mitzenmacher, 2003].
O Filtro de Bloom [Bloom, 1970] uma estrutura de dados usada para representar
de forma compacta um conjunto S = {s
1
, s
2
, . . . , s
n
} de n elementos. Ele constitudo
por um vetor de m bits e por k funes hash independentes h
1
, h
2
, . . . , h
k
cujas sadas
variam uniformemente no espao discreto {0, 1, . . . , m1}. O vetor de bits obtido
da seguinte forma. Inicialmente, todos os seus bits encontram-se zerados. Para cada
elemento s
i
S, os bits do vetor correspondentes s posies h
1
(s
i
), h
2
(s
i
), . . . , h
k
(s
i
) so
preenchidos com 1. O mesmo bit pode ser preenchido diversas vezes sem restries. A
Figura 1.20 ilustra a insero de um elemento no ltro de maneira sucinta. Uma vez que
o Filtro de Bloom uma forma compacta de representar um conjunto de elementos, testes
de pertinncia podem ser realizados visando determinar se um elemento x pertence ou
no ao conjunto S. Para isso, verica-se se os bits do vetor correspondentes s posies
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 403
h
1
(x), h
2
(x), . . . , h
k
(x) esto preenchidos com 1. Se pelo menos um bit estiver zerado,
ento com certeza x S. Por outro lado, se todos os bits esto preenchidos, ento assume-
se que x S. Na verdade, um elemento externo x S pode ser reconhecido como um
autntico elemento do conjunto, criando um falso positivo. Tal anomalia ocorre quando
todos os bits h
1
(x), h
2
(x), . . . , h
k
(x) so preenchidos por um subconjunto dos elementos
de S.
s
i
h
1
(s
i
)
h
2
(s
i
)
h
k
(s
i
)

.
.
.
.
.
..
`
`
`
`
`
``
.
.
.
0
1
0
0
0
1
0
0
`
`
`
`
`
`
`
`
`
`

-
-
-
-
-
-
-
`

m bits
Figura 1.20. Insero de um elemento em um Filtro de Bloom.
A probabilidade de se encontrar um falso positivo para um elemento x S calcu-
lada de maneira trivial. Dado que as funes hash usadas so uniformes e independentes,
a probabilidade p de um determinado bit permanecer em zero mesmo depois de inseridos
os n elementos
p =
_
1
1
m
_
kn
e
kn/m
. (13)
Como o mesmo clculo se aplica para todos os bits do vetor, na mdia, uma frao e
kn/m
dos bits permanece zerada aps as inseres [Mitzenmacher, 2002]. Desta forma, a frao
mdia de bits preenchidos com 1 depois de n inseres
_
1e
kn/m
_
. A probabilidade
de falso positivo f ento a probabilidade de se encontrar um bit em 1 para cada uma das
k posies indicadas, ou seja
f =
_
1e
kn/m
_
k
. (14)
A utilizao do Filtro de Bloom no sistema de rastreamento permitiu a criao de
um mecanismo que possui a vantagem de rastrear um nico pacote IP que tenha passado
na rede sem a necessidade de se armazenar todo o trfego roteado [Snoeren et al., 2002].
Para isso, so usados Filtros de Bloom em dispositivos acoplados aos roteadores que
armazenam os pacotes roteados de forma compacta. Periodicamente, os ltros saturados
so armazenados para futuras requisies e trocados por novos ltros vazios. Para mais
tarde determinar se umpacote passou pelo roteador, o seu ltro simplesmente vericado.
Um processo repetitivo pode ser feito por cada roteador para reconstruir o caminho do
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 404
pacote at a sua verdadeira origem. Porm, mesmo com o uso de Filtros de Bloom, tal
sistema exige uma alta capacidade de armazenamento.
Um outro mecanismo baseado no armazenamento na infra-estrutura de rede con-
siste em cada roteador amostrar uma pequena porcentagem do trfego e armazenar os
sumrios dos pacotes amostrados [Li et al., 2004]. O compromisso da amostragem a
diculdade inserida no processo de rastreamento. Para minimizar o nmero de pacotes
necessrios para rastrear a origem de um ataque com acurcia, necessrio aumentar o
fator de correlao entre roteadores vizinhos. Este fator representa a porcentagem dos pa-
cotes amostrados por um roteador que tambm foram amostrados pelo roteador seguinte.
Alm disso, os autores introduzem um arcabouo que utiliza a teoria da informao para
responder algumas perguntas sobre a escolha de parmetros do sistema e sobre o compro-
misso entre os recursos necessrios e a acurcia do rastreamento.
O mtodo de amostragem independente no apresenta um bom funcionamento j
que o fator de correlao dos pacotes amostrados por roteadores vizinhos somente p, o
mesmo valor da taxa de amostragem. Para aumentar este fator, um outro mtodo abor-
dado pelos autores. A idia principal deste mtodo que, alm de amostrar o pacote, o
roteador tambm marca o pacote amostrado de modo que o prximo roteador possa coor-
denar a sua marcao com a do roteador anterior. O campo necessrio para a marcao
de apenas 1 bit e pode se localizar, por exemplo, no campo reserved ag, no utilizado do
cabealho IP.
O processo de rastreamento se inicia com a vtima vericando seus roteadores
vizinhos. Para cada roteador S, a vtima pede a vericao da passagem dos pacotes
do conjunto L
v
(conjunto de pacotes de ataque selecionados pela vtima) nos seus Fil-
tros de Bloom correspondentes. Se pelo menos um pacote reconhecido, o roteador S
monta um conjunto de pacotes L
S
a partir dos pacotes em L
v
que foram encontrados em S.
Agora, cada roteador R vizinho de S ser vericado com L
S
. Sendo R condenado, todo
o conjunto L
v
novamente repassado para o roteador para a formao de um conjunto
L
R
. Este processo repetido recursivamente para cada roteador. Atravs da elaborao
de um arcabouo de teoria da informao, os autores chegam a concluso de que a utili-
zao de k = 12 (k o nmero de funes hash usadas no Filtro de Bloom) um valor
timo para o desempenho do mtodo de rastreamento. As melhorias propostas por Li et
al. [Li et al., 2004] diminuem drasticamente o espao necessrio para o armazenamento
embora a capacidade de se rastrear um nico pacote seja comprometida.
Baseado ainda na tcnica de utilizao de funes hash para o armazenamento das
informaes de rastreamento nos roteadores da rede [Snoeren et al., 2001], foi proposto
um novo mecanismo que armazena as informaes referentes aos uxos a m de reduzir
a quantidade de informaes armazenadas [Lee et al., 2004]. Uma outra melhoria foi pro-
posta para melhorar a acurcia do grafo reconstrudo [Hilgenstieler e Duarte Jr., 2004].
Armazenamento Hbrido
Algumas propostas visam conciliar as vantagens do armazenamento nas estaes
nais com as do armazenamento na infra-estrutura de redes, a m de minimizar os pro-
blemas intrnsecos a cada uma das abordagens. Com este objetivo, proposto o armaze-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 405
namento hbrido, que consiste em armazenar parte das informaes na vtima e parte nos
roteadores da rede.
Dentro deste contexto, foi proposto um novo mecanismo que combina a marcao
de pacotes com o armazenamento de informaes nos roteadores [Choi e Dai, 2004]. O
esquema consiste em acrescentar ao cabealho o enlace pelo qual o pacote entrou. Para
isto, reservada uma parte do cabealho IP de 32 bits para armazenar as informaes.
O primeiro bit denido como o campo save ag que indica se as informaes de ras-
treamento referentes quele pacote foram armazenadas em algum roteador. Os 31 bits
restantes so utilizados para guardar os enlaces. Este campo sempre iniciado com o pri-
meiro bit em 1 e os outros em zero, pois o ltimo bit em 1 indica o m do ltimo enlace
acrescentado, como apresentado na Figura 1.21.
. . .
0 0 0 0 0 0 0 0 0 0 0
. . .
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
enlace
identificador de fim de enlaces
31 bits
0 0 0 0 0 0 0 0 0 1 0
SF
X X
enlace
Figura 1.21. Codicao do esquema de marcao utilizando armazenamento hbrido.
Assim, ao perceber que no h mais espao no cabealho para escrever o enlace,
o roteador dever criar um identicador para o pacote a partir da aplicao de uma funo
hash em uma parte esttica do pacote, ou seja, uma parte que no ir mudar at chegar
a vtima. Em seguida, o n deve armazenar todo o campo enlace em sua memria e
reinici-lo. Por ltimo, preciso fazer a marcao e atualizao do campo save ag com
o valor 1. Para economizar espao e, por conseqncia, minimizar o armazenamento de
informaes nos roteadores, os enlaces so representados por palavras geradas a partir do
cdigo de Huffman. O princpio de funcionamento deste cdigo representar as informa-
es mais freqentes com uma quantidade menor de bits. Desta maneira, cada roteador
armazena uma tabela de enlaces, que contm todos os enlaces com seus vizinhos. Cada
enlace ser associado a uma freqncia que ser utilizada para obter a sua codicao.
A freqncia de um enlace denida pela quantidade de pacotes que o atravessam. O
objetivo evitar ao mximo o armazenamento de informaes nos roteadores. A eci-
ncia deste mecanismo depende, basicamente, do nmero de vizinhos de cada roteador
e do nmero de roteadores no caminho. Choi e Dai consideram que o nmero mdio de
vizinhos na Internet 3,15. Pare este valor, a mdia de bits utilizados para representar
os enlaces 2. Isto signica que at 15 ns (152) no preciso o armazenamento nos
roteadores. Uma rota com mais de 15 ns ser armazena pelo menos uma vez em um
roteador intermedirio. Tambm mostrado que a quantidade de informao armazenada
inferior quantidade das propostas baseadas em hash.
A reconstruo da rota de ataque comea a partir do roteador que est diretamente
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 406
conectado a vtima. O primeiro passo consultar a tabela de enlaces deste roteador para
identicar a que enlace a primeira palavra se refere. Em seguida, deve-se fazer um deslo-
camento para esquerda de n bits, onde n representa o tamanho da palavra recm decodi-
cada. Este procedimento ser realizado at que o campo enlace retorne a sua condio
inicial (primeiro bit em 1 e o restante em zero). Neste momento, necessrio checar o
campo save ag. O valor deste campo em 0 signica que o procedimento de reconstruo
chegou ao m. O valor deste campo em 1 signica que existe informao sobre este pa-
cote armazenada no roteador em questo. Por isso, o n deve recuperar o campo enlace
armazenado e continuar o procedimento de reconstruo.
1.5. Um Novo Sistema de Rastreamento de Pacotes IP
Esta seo apresenta brevemente o sistema de rastreamento de pacotes IP pro-
posto [Laufer et al., 2005c]. Esse sistema objetiva rastrear a origem de cada pacote in-
dividualmente. Ele baseado na insero de informaes nos pacotes para evitar o ar-
mazenamento na infra-estrutura da rede. Resumidamente, cada roteador insere no pacote
uma assinatura que indica a sua presena na rota. Ao receber um pacote de ataque, a
vtima usa as marcaes feitas pelos roteadores para reconstruir a rota reversa. Para dimi-
nuir o espao necessrio no cabealho e o custo de processamento, um Filtro de Bloom
embutido em cada pacote para armazenar a rota de ataque. Para isso, um campo xo
reservado para o ltro no cabealho do pacote. A tcnica de Filtro de Bloom usada
para que a quantidade de informaes inserida seja reduzida e permanea constante. Um
tamanho constante para as marcaes importante para evitar tanto a fragmentao dos
pacotes quanto o processamento resultante da adio de dados. Alm disso, uma ge-
neralizao do Filtro de Bloom foi proposta para evitar que o atacante possa forjar as
assinaturas e prejudicar o rastreamento.
O procedimento de marcao para o sistema de rastreamento bem simples e
ocorre pouco antes de reencaminhar um pacote. Neste momento, o roteador insere no
ltro daquele pacote o endereo IP da sua interface de sada. Dessa forma, ao receber
um pacote de ataque, a vtima dispe de um ltro cujos elementos so os endereos de
todos os roteadores da rota de ataque. Uma vantagem importante desse procedimento
de marcao o seu baixo processamento adicional. Na verdade, o clculo dos valores
hash no precisa ser realizado para cada pacote roteado. Os valores hash do endereo
IP de cada interface do roteador podem ser calculados inicialmente e armazenados em
um registrador existente para cada interface. Esse registrador pode ser interpretado como
um Filtro de Bloom com somente um elemento inserido: o endereo IP da interface.
Quando um pacote vai ser encaminhado, o seu ltro atualizado com o resultado de uma
operao OU bit-a-bit do prprio ltro do pacote com o registrador da interface de sada
do roteador. Dessa forma, o endereo IP da interface de sada do roteador adicionado
ao ltro do pacote de maneira eciente.
Para reconstruir a rota de ataque, o seguinte algoritmo utilizado. Inicialmente,
a vtima verica quais dos seus roteadores vizinhos esto presentes no ltro do pacote
recebido. Aquele que for reconhecido como elemento do ltro identicado como o ro-
teador pelo qual o pacote chegou e , portanto, integrado rota de ataque. Em seguida,
o roteador vizinho recebe o ltro da vtima de forma a continuar o procedimento de re-
construo. Ele ento verica qual dos seus roteadores vizinhos tambm reconhecido
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 407
como elemento do ltro, identicando assim o prximo componente da rota de ataque. O
processo ento realizado sucessivamente por cada roteador visando reconstruir o cami-
nho do pacote at a sua verdadeira origem. Quando nenhum roteador reconhecido, o
procedimento termina e o ltimo roteador identicado considerado a fonte do ataque. A
Figura 1.22 ilustra a reconstruo de rota iniciada pela vtima V em direo ao atacante A.
Inicialmente, o atacante envia um pacote para a vtima que passa por (R
5
, R
4
, R
2
, R
1
). Ao
receber o pacote de ataque, a vtima inicia o procedimento de reconstruo, testando a
presena de R
1
no ltro do pacote recebido (1). Como R
1
reconhecido, ele recebe o l-
tro de V e continua o procedimento. Assim, R
1
verica a presena dos seus vizinhos R
2
e
R
3
no ltro (2). Como somente R
2
reconhecido, o ltro ento repassado somente para
R
2
, que faz o mesmo procedimento com seu vizinho R
4
(3). O roteador R
4
verica qual
dos seus dois vizinhos R
3
e R
5
reconhecido pelo ltro (4); somente R
5
reconhecido.
Finalmente, R
5
testa a presena de R
7
no ltro (5). Uma resposta negativa retornada e o
procedimento de reconstruo termina.
1
R
2
R
3
R
6
R
7
R
4
R
5
R
V
A
(2)
(2)
(3)
(4)
(4)
(5)
(1)
Figura 1.22. Exemplo do procedimento de reconstruo de rota.
Algumas vantagens surgem como resultado da adoo dessa abordagem. Em pri-
meiro lugar, a rota completa de cada pacote pode ser determinada individualmente. Tal
comportamento idealizado por todo sistema de rastreamento de pacotes, uma vez que
possibilita a identicao de qualquer fonte em um ataque distribudo. Alm disso, ne-
nhuma informao armazenada na infra-estrutura de rede. Todos os dados relativos
ao rastreamento esto localizados na prpria vtima, que opta por guard-los ou no de
acordo com a poltica de segurana local. Outra vantagem que o sistema proposto no
s evita o processamento resultante da fragmentao e da adio de dados ao pacote como
tambm introduz muito pouco processamento adicional ao roteamento. Na verdade, so-
mente uma operao OU bit-a-bit adicionada ao processo de roteamento. Alm disso,
possvel realizar o rastreamento aps o trmino do ataque e sem ajuda de operadores de
rede. No caso, todo o procedimento de reconstruo pode ser automatizado e tornar-se
independente de intervenes manuais.
Por outro lado, esta abordagem tambm possui desvantagens presentes em outros
sistemas de rastreamento [Bellovin et al., 2003], [Dean et al., 2002], [Savage et al., 2001],
[Snoeren et al., 2002], [Song e Perrig, 2001]. Primeiramente, um processamento adicio-
nal introduzido ao roteamento de pacotes. Embora o sistema proposto introduza menos
processamento que outros sistemas, roteadores com poucos recursos podem ser afetados.
Alm disso, como em qualquer outro sistema de rastreamento, a cooperao dos roteado-
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 408
res fundamental para a correta marcao dos pacotes. Se alguns roteadores no marcam
os pacotes, provvel que existam lacunas na rota reconstruda e que a origem do ataque
no seja encontrada. Uma outra desvantagem que o prprio atacante no encontrado
pelo rastreamento; na verdade, somente o roteador mais prximo do atacante revelado.
Aps a identicao deste roteador, maiores esforos so necessrios para identicar o
atacante. Por m, a adoo de um Filtro de Bloom para representar a rota de ataque in-
troduz uma certa probabilidade de falso positivo. Durante o algoritmo de reconstruo,
um falso positivo implica a incorreta integrao de um roteador rota de ataque. Porm,
se esta probabilidade pequena, a ocorrncia de falsos positivos no tem impacto signi-
cativo na reconstruo. Algumas rotas para um mesmo pacote existiriam em paralelo,
mas ainda assim o escopo de possveis atacantes seria restringido. No entanto, como o
atacante tem controle sobre o contedo inicial do pacote, ele pode preencher com 1 to-
dos os bits do cabealho do pacote que so reservados ao ltro. Ao saturar o ltro, o
atacante faz com que a vtima receba um ltro cujos bits esto todos preenchidos com 1.
Conseqentemente, todo roteador integrado rota de ataque durante a reconstruo,
tornando impraticvel a descoberta da rota verdadeira.
Para minimizar a possibilidade do atacante burlar o sistema e torn-lo menos de-
pendente da condio inicial do ltro, uma generalizao do Filtro de Bloom tambm
proposta. O chamado Filtro de Bloom Generalizado (FBG) estaria integrado a cada pa-
cote, de forma a armazenar os roteadores atravessados. A idia bsica do FBG utilizar
tanto funes hash que preenchem bits como funes que zeram bits. Desta forma,
possvel mostrar que a probabilidade de falso positivo limitada e depende pouco da con-
dio inicial do ltro. Por outro lado, falsos negativos que eram inexistentes no Filtro de
Bloom convencional so introduzidos com esta generalizao. Na Subseo 1.5.1, a idia
do FBG formalizada e uma anlise das probabilidades de falso negativo e falso positivo
desenvolvida a m de mostrar a eccia dessa nova abordagem.
1.5.1. O Filtro de Bloom Generalizado
Assim como o ltro convencional, o Filtro de Bloom Generalizado uma estrutura
de dados usada para representar de forma compacta um conjunto S ={s
1
, s
2
, . . . , s
n
} de n
elementos. Ele constitudo por um vetor de m bits e por k
0
+k
1
funes hash indepen-
dentes g
1
, g
2
, . . . , g
k
0
, h
1
, h
2
, . . . , h
k
1
cujas sadas variam uniformemente no espao discreto
{0, 1, . . . , m1}. O vetor de bits calculado de maneira semelhante ao do caso conven-
cional. Entretanto, no h mais a restrio de que seus bits so inicialmente zerados. No
FBG, os bits do vetor podem assumir qualquer valor inicial. Para cada elemento s
i
S, os
bits do vetor correspondentes s posies g
1
(s
i
), g
2
(s
i
), . . . , g
k
0
(s
i
) so zerados e os bits
correspondentes s posies h
1
(s
i
), h
2
(s
i
), . . . , h
k
1
(s
i
) so preenchidos com 1. No caso de
uma coliso entre uma funo g
i
com uma funo h
j
em um mesmo elemento, arbitra-se
que o bit zerado i, j. O mesmo bit pode ser zerado ou preenchido diversas vezes sem
restries. A Figura 1.23 ilustra a insero de um elemento em um ltro generalizado.
Posteriormente, testes de pertinncia podem ser realizados visando determinar a aliao
de um elemento ao conjunto. Para vericar se um elemento x pertence a S, preciso che-
car se os bits g
1
(x), g
2
(x), . . . , g
k
0
(x) esto zerados e se os bits h
1
(x), h
2
(x), . . . , h
k
1
(x) esto
preenchidos com 1. Se pelo menos um bit est invertido, ento assume-se que x S. Dife-
rentemente do ltro convencional, agora h uma possibilidade de um elemento x S no
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 409
ser reconhecido pelo ltro, criando um falso negativo. Tal anomalia ocorre quando pelo
menos um dos bits g
1
(x), g
2
(x), . . . , g
k
0
(x) preenchido ou quando pelo menos um dos
bits h
1
(x), h
2
(x), . . . , h
k
1
(x) zerado por algum outro elemento inserido posteriormente.
Por outro lado, se nenhum bit est invertido, ento assume-se que x S. Na verdade, um
elemento externo x S pode ser reconhecido como um autntico elemento do conjunto,
criando um falso positivo. Um falso positivo ocorre quando os bits g
1
(x), g
2
(x), . . . , g
k
0
(x)
esto zerados e os bits h
1
(x), h
2
(x), . . . , h
k
1
(x) esto preenchidos com 1 em virtude de um
subconjunto dos elementos de S ou da prpria condio inicial do vetor.
s
i
g
1
(s
i
)
.
.
.
g
k
0
(s
i
)
h
1
(s
i
)
.
.
.
h
k
1
(s
i
)

.
.
.
.
.
.
.
-
-
-
-
-
-
-
`
`
`
`
`
`
`
1
1
0
0
1
1
0
.
.
.
.
.
.
.

`
`
`
`
`
`
`

m bits
Figura 1.23. Insero de um elemento em um Filtro de Bloom Generalizado.
Falsos Positivos
A probabilidade de falso positivo de um FBG calculada de maneira similar do
caso convencional. Entretanto, necessrio primeiramente calcular a probabilidade de
um bit ser preenchido ou zerado durante a insero de um elemento. Dado que no caso
de uma coliso as funes g
i
sempre tm prioridade sobre as funes h
j
, a probabilidade
q
0
de um determinado bit ser zerado durante a insero de um elemento expressa pela
probabilidade de pelo menos uma das k
0
funes zerar o bit. Assim, q
0
expresso por
q
0
=
_
1
_
1
1
m
_
k
0
_

_
1e
k
0
/m
_
. (15)
Por outro lado, a probabilidade q
1
de um determinado bit ser preenchido durante a inser-
o de um elemento a probabilidade de pelo menos uma das k
1
funes preencher o bit
e nenhuma das k
0
funes o zerar. Dessa forma, q
1
denido como
q
1
=
_
1
_
1
1
m
_
k
1
_
_
1
1
m
_
k
0

_
1e
k
1
/m
_
e
k
0
/m
. (16)
Por m, a probabilidade de um bit especco permanecer intocado, isto , no ser nem
preenchido e nem zerado por um elemento, simplesmente
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 410
(1q
0
q
1
) =
_
1
1
m
_
k
0
+k
1
e
(k
0
+k
1
)/m
. (17)
Como o mesmo clculo se aplica para todos os bits do vetor, na mdia, uma frao q
0
de bits zerada, uma frao q
1
de bits preenchida e uma frao (1 q
0
q
1
) de bits
permanece intocada a cada insero de elemento. Seguindo o mesmo raciocnio, tem-se
na mdia b
0
=m.q
0
bits zerados, b
1
=m.q
1
bits preenchidos e (mb
0
b
1
) bits intocados
a cada insero.
A partir destes valores, possvel determinar a frao de bits zerados e a frao de
bits preenchidos do vetor depois das n inseres. Aprobabilidade p
0
(n) de umbit estar em
0 aps as n inseres calculada atravs das probabilidades de n+1 eventos mutuamente
exclusivos. O primeiro evento aquele onde o bit est inicialmente em 0 e permanece
intocado pelos n elementos inseridos. Notando que p
0
(0) representa a probabilidade do
bit estar inicialmente em 0, a probabilidade de tal evento p
0
(0)(1q
0
q
1
)
n
. Os outros
n eventos so aqueles onde o bit zerado pelo (ni)-simo elemento e no mais tocado
pelos i elementos seguintes, para 0 i n 1. A probabilidade de ocorrncia de cada
um destes eventos expressa por q
0
(1q
0
q
1
)
i
. Dessa forma, a probabilidade p
0
(n)
pode ser expressa por
p
0
(n) = p
0
(0)(1q
0
q
1
)
n
+
n1

i=0
q
0
(1q
0
q
1
)
i
= p
0
(0)(1q
0
q
1
)
n
+q
0
_
1(1q
0
q
1
)
n
1(1q
0
q
1
)
_
= p
0
(0)(1q
0
q
1
)
n
+
q
0
q
0
+q
1
_
1(1q
0
q
1
)
n
_
. (18)
Analogamente, a probabilidade p
1
(n) de um bit estar em 1 depois das n inseres
p
1
(n) = p
1
(0)(1q
0
q
1
)
n
+
n1

i=0
q
1
(1q
0
q
1
)
i
= p
1
(0)(1q
0
q
1
)
n
+q
1
_
1(1q
0
q
1
)
n
1(1q
0
q
1
)
_
= p
1
(0)(1q
0
q
1
)
n
+
q
1
q
0
+q
1
_
1(1q
0
q
1
)
n
_
, (19)
e obviamente p
0
(n)+p
1
(n) =1. Dado que o mesmo clculo pode ser aplicado para todos
os bits do vetor, na mdia, uma frao p
0
(n) dos bits ca em 0 e uma frao p
1
(n) dos
bits ca em 1 depois de n inseres.
A partir das propores de bits no vetor, a probabilidade de falso positivo calcu-
lada de maneira trivial. Dado que na mdia b
0
bits so zerados e b
1
bits so preenchidos a
cada insero de umelemento, a probabilidade de falso positivo f
p
de umFBG calculada
da seguinte forma
f
p
= p
0
(n)
b
0
p
1
(n)
b
1
= p
0
(n)
b
0
[1p
0
(n)]
b
1
= [1p
1
(n)]
b
0
p
1
(n)
b
1
. (20)
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 411
Falsos Negativos
Falsos positivos ocorrem para elementos externos com a mesma probabilidade
para cada elemento checado. Por outro lado, falsos negativos ocorrem somente para ele-
mentos inseridos com uma probabilidade diferente para cada elemento. Na verdade, um
fator que afeta diretamente a probabilidade de falso negativo a ordem de insero. Por
exemplo, os elementos inseridos primeiro tm uma maior probabilidade de serem falsos
negativos do que os elementos inseridos por ltimo. Isso ocorre porque mais inseres
so realizadas depois dos primeiros elementos e, portanto, mais provvel que um dos
seus bits marcados seja invertido.
A probabilidade de falso negativo pode ser calculada se antes for determinada
a probabilidade de um bit do (n i)-simo elemento inserido no ser invertido pelos i
elementos seguintes, para 0 i n 1. Como nos falsos positivos, a probabilidade
p
00
(n i) de um bit zerado pelo (n i)-simo elemento permanecer zerado ao m das i
inseres calculada a partir das probabilidades de i +1 eventos mutuamente exclusivos.
O primeiro evento aquele em que o bit permanece intocado por todas as i inseres
subseqentes; tal evento ocorre com probabilidade (1 q
0
q
1
)
i
. Os outros i eventos
so aqueles onde o bit zerado pelo (n j)-simo elemento e no mais tocado pelos
j elementos seguintes, para 0 j i 1. Dessa maneira, a probabilidade p
00
(n i)
expressa por
p
00
(ni) = (1q
0
q
1
)
i
+
i1

j=0
q
0
(1q
0
q
1
)
j
= (1q
0
q
1
)
i
+q
0
_
1(1q
0
q
1
)
i
1(1q
0
q
1
)
_
= (1q
0
q
1
)
i
+
q
0
q
0
+q
1
_
1(1q
0
q
1
)
i
_
. (21)
Analogamente, a probabilidade p
11
(ni) de um bit preenchido pelo (ni)-simo
elemento permanecer preenchido aps as i inseres seguintes
p
11
(ni) = (1q
0
q
1
)
i
+
i1

j=0
q
1
(1q
0
q
1
)
j
= (1q
0
q
1
)
i
+q
1
_
1(1q
0
q
1
)
i
1(1q
0
q
1
)
_
= (1q
0
q
1
)
i
+
q
1
q
0
+q
1
_
1(1q
0
q
1
)
i
_
. (22)
A partir das Equaes 21 e 22, a probabilidade de falso negativo de qualquer ele-
mento inserido no ltro pode ser determinada. A probabilidade de falso negativo f
n
(ni)
do (ni)-simo elemento no ser reconhecido pelo ltro aps as i inseres subseqentes
calculada tomando-se o complemento da probabilidade de nenhum de seus bits serem
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 412
invertidos. Logo, esta probabilidade igual a
f
n
(ni) = 1p
00
(ni)
b
0
p
11
(ni)
b
1
. (23)
O Filtro de Bloom como um Caso Particular
Como esperado, o Filtro de Bloom na verdade um caso particular do FBG. Para
os falsos positivos, a Equao 20 se reduz probabilidade do ltro convencional quando
seus parmetros so usados, isto , k
0
= 0, p
0
(0) = 1 e p
1
(0) = 0. Nesse caso, tem-
se p
0
(n) = e
k
1
n/m
, p
1
(n) = 1 e
k
1
n/m
, b
0
= 0 e b
1
= m(1 e
k
1
/m
). Expandindo a
expresso de b
1
em srie e notando que mk
1
, pode-se chegar simplicao realizada
para o caso convencional
b
1
= m(1e
k
1
/m
)
= m
_
1
_
1
k
1
m
+
k
2
1
2m
2

__
k
1
. (24)
Logo, a probabilidade de falso positivo f
p
se reduz probabilidade do Filtro de Bloom
convencional, conforme a Equao 14.
De forma semelhante, a probabilidade de falso negativo na Equao 23 se reduz
a zero para o caso do Filtro de Bloom convencional. Nesse caso, k
0
= 0 e, portanto,
b
0
= 0 e p
11
= 1, para 0 i n 1. Assim, independentemente de outros parmetros,
a probabilidade de falso negativo zero. Para o ltimo elemento inserido, ou seja, para
o n-simo elemento, esta probabilidade tambm zero dado que nenhum outro elemento
pode inverter os seus bits. Neste caso, i = 0 e p
00
= p
11
= 1; logo, a probabilidade de
falso negativo tambm se reduz a zero.
Aplicao
No sistema de rastreamento proposto, os elementos inseridos no FBG so na ver-
dade os endereos IP dos roteadores. Portanto, o nmero de elementos n representa o
nmero de roteadores atravessados pelo pacote de ataque. Alm disso, o tamanho do ve-
tor de bits m exatamente o nmero de bits alocados no cabealho do pacote para o FBG.
Os parmetros k
0
e k
1
so o nmero de funes hash que zeram e preenchem bits em
cada roteador, respectivamente. Estas funes devem ser as mesmas em cada roteador de
forma a permitir a reconstruo da rota de ataque posteriormente. Por m, p
0
(0) e p
1
(0)
representam a frao inicial de bits zerados e a frao inicial de bits preenchidos, respec-
tivamente. Esses dois parmetros esto sob o controle do atacante, que responsvel pela
criao do pacote de ataque e pela inicializao do contedo do FBG.
A implementao do Filtro de Bloom nos roteadores muda um pouco com a ge-
neralizao. Existem bits que so zerados e bits que so preenchidos a cada insero e,
portanto, uma nica operao OU bit-a-bit no suciente para atualizar o ltro. Dessa
forma, necessria uma operao OU bit-a-bit seguida de uma operao E bit-a-bit para
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 413
preencher e zerar os bits indicados, respectivamente. Assim, dois registradores so ne-
cessrios para cada interface do roteador. Para congurar esses registradores, o endereo
IP da interface usado como entrada para as funes hash. O primeiro registrador tem
todos os seus bits inicializados com 0 e os bits indicados pelas funes h
j
so preenchi-
dos com 1. O segundo registrador tem os seus bits inicializados com 1 e os bits indicados
pelas funes g
i
so colocados em 0. Quando o pacote vai ser reencaminhado, o FBG do
pacote atualizado inicialmente com o resultado de uma operao OU bit-a-bit do prprio
FBG com o primeiro registrador da interface. Em seguida, uma operao E bit-a-bit do
FBG com o segundo registrador realizada para nalizar a atualizao.
A ordem das operaes um resultado da prioridade adotada. Na verdade, se for
decidido que as funes h
j
tm precedncia sobre as funes g
i
, a nica modicao a ser
realizada que a operao E deve ser realizada antes da operao OU.
1.5.2. Um Procedimento Aprimorado de Reconstruo de Rota
Se por um lado o uso de um FBG limita a ao do atacante na gerao de falsos
positivos, por outro, ele introduz falsos negativos no procedimento de reconstruo de
rota. Um falso negativo signica no detectar um roteador por onde o pacote realmente
passou. Ao deixar de detectar um roteador atravessado, tambm no so detectados todos
os roteadores cuja rota depende deste roteador. Por exemplo, suponha que na reconstruo
ilustrada na Figura 1.22 h um falso negativo no roteador R
4
. Ou seja, o roteador R
4
no
reconhecido pelo ltro generalizado durante a vericao realizada por R
2
(3). Neste
caso, os roteadores R
3
e R
5
no so checados, uma vez que R
4
no foi integrado rota de
ataque. Em conseqncia, o roteador R
5
tambm no integrado rota de ataque. Desta
forma, somente um falso negativo pode ser suciente para interromper o procedimento de
reconstruo e evitar a determinao da verdadeira rota de ataque.
Para resolver este problema, proposto um procedimento aprimorado de recons-
truo que elimina os falsos negativos ao custo de uma maior probabilidade de falso po-
sitivo. Este novo procedimento de reconstruo baseado no fato que, durante a travessia
do pacote pela rede, roteadores subseqentes podem inverter os bits marcados por rote-
adores anteriores e causar falsos negativos durante a reconstruo. No exemplo anterior,
durante o percurso do pacote de ataque por (R
5
, R
4
, R
2
, R
1
), ou R
1
ou R
2
inverteu algumbit
marcado previamente por R
4
. Em conseqncia, o ltro do pacote recebido no reconhece
R
4
durante o procedimento de reconstruo de rota. De forma a evitar este problema, cada
roteador envia junto com o FBG algumas informaes adicionais para os seus vizinhos
durante a reconstruo. Esta informao contm os bits marcados pelo prprio roteador e
pelos roteadores anteriores no procedimento de reconstruo. A Figura 1.24 ilustra bre-
vemente este conceito. Na gura, o roteador R
1
primeiramente reconhece o roteador R
2
no FBG recebido pela vtima e, portanto, R
1
lhe repassa o FBG de forma a continuar a re-
construo. Entretanto, R
1
tambm envia outros dois vetores de bits, m
0
e m
1
, indicando
quais bits foram zerados e preenchidos, respectivamente, por R
1
durante a travessia do
pacote. Por sua vez, o roteador R
2
, ao reconhecerem algum roteador vizinho, tambm lhe
repassa o prprio FBG e os dois vetores de bits adicionais indicando as marcaes feitas
por ele e por R
1
. Desta forma, um roteador R
i
sempre repassa para os prximos roteadores
o FBG junto com dois vetores de bits, m
0
e m
1
, indicando os bits zerados e preenchidos
por R
i
e pelos roteadores anteriores no procedimento de reconstruo.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 414
V
1
R
2
R
3
R
0 1 0 0 0 0
. . .
0 0 0 0 0 1
. . .
0 0 1 1 0 1
. . .
m
0
m
1
FBG
Figura 1.24. O procedimento aprimorado de reconstruo de rota.
O processo de vericao dos vizinhos se altera um pouco em virtude da infor-
mao adicional recebida por cada roteador. Primeiramente, antes de checar a presena
de cada vizinho no FBG, o roteador atualiza os vetores m
0
e m
1
usando o endereo IP
da interface pela qual a requisio de reconstruo chegou. Aps a atualizao, os testes
dos vizinhos so iniciados. Quando um vizinho no reconhecido pelo FBG, o roteador
no descarta aquele vizinho diretamente. Ao invs disso, o roteador verica se algum bit
marcado por este vizinho foi invertido por algum roteador seguinte durante a travessia do
pacote. Para isso, ele utiliza os vetores m
0
e m
1
recebidos. Desta forma, caso os bits do
vizinho que esto invertidos no FBG estiverem marcados como reescritos, ento o vizi-
nho reconhecido como um elemento do ltro. Caso contrrio, aquele vizinho ento
descartado. No exemplo dado anteriormente, ao no reconhecer o roteador R
4
no FBG,
o roteador R
2
verica se os bits invertidos de R
4
esto marcados ou no vetor m
0
ou no
vetor m
1
. Como certamente eles esto, o roteador R
4
integrado rota de ataque e o
procedimento de reconstruo continua.
Uma importante vantagem do procedimento aprimorado de reconstruo que
falsos negativos no podem mais ocorrer. Dado que os bits reescritos de cada roteador
agora podem ser checados a cada salto, os roteadores realmente atravessados so sempre
integrados rota reconstruda. Portanto, a rota de ataque real est sempre no grafo de
ataque reconstrudo. Por outro lado, a probabilidade de falso positivo aumenta medida
que um roteador testado mais longe da vtima e mais perto do atacante. Isso ocorre
porque a frao dos bits marcados em m
0
e m
1
aumenta para cada roteador integrado
rota de ataque. Assim, roteadores que no eramantes reconhecidos porque algumdos seus
bits estava invertido, agora podem ser reconhecidos com maior probabilidade. Entretanto,
resultados experimentais comprovam que isto no um problema grave e que o atacante
pode ser facilmente identicado [Laufer et al., 2005a], [Laufer, 2005].
A probabilidade de falso positivo do procedimento aprimorado de reconstruo de
rota pode ser calculada de uma maneira simples. Primeiramente, calculada a probabi-
lidade de um bit especco de m
0
estar preenchido em um determinado roteador durante
a reconstruo. importante ressaltar que um bit preenchido em um roteador no signi-
ca necessariamente que o bit foi preenchido por este roteador. No caso, o bit pode ter
sido preenchido pelo prprio roteador ou por algum roteador anterior no procedimento
de reconstruo. Este evento ocorre com probabilidade q
0
, uma vez que preencher um
bit de m
0
equivalente a zerar um bit no FBG. Portanto, a probabilidade s
0
(i) de um bit
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 415
especco de m
0
estar preenchido em um roteador a i saltos da vtima a probabilidade
de pelo menos um dos roteadores anteriores ou o prprio roteador preencher o bit. Desta
forma, a probabilidade s
0
(i)
s
0
(i) = 1(1q
0
)
i
. (25)
De maneira semelhante, a probabilidade s
1
(i) de um bit especco de m
1
estar preenchido
em um determinado roteador a i saltos da vtima a probabilidade de pelo menos um
roteador anterior ou o prprio roteador preencher o bit. A probabilidade deste evento
q
1
, uma vez que preencher um bit em m
1
equivalente a preencher um bit no FBG.
Portanto, a probabilidade s
1
(i) denida como
s
1
(i) = 1(1q
1
)
i
. (26)
Como o mesmo clculo pode ser realizado para cada bit dos dois vetores, na mdia, uma
frao s
0
(i) de bits est preenchida em m
0
e uma frao s
1
(i) de bits est preenchida em
m
1
durante o procedimento de reconstruo em um roteador a i saltos da vtima.
Desta maneira, um bit interpretado como zero nos testes de pertinncia com os
vizinhos se um bit estiver zerado no FBG ou se ele estiver preenchido tanto no FBG e no
vetor m
1
. Portanto, a frao t
0
(i) de bits interpretados como zero nos testes de pertinncia
realizados por um determinado roteador a i saltos da vtima
t
0
(i) = p
0
(n) + p
1
(n)s
1
(i). (27)
Analogamente, a frao t
1
(i) de bits interpretados como um
t
1
(i) = p
1
(n) + p
0
(n)s
0
(i). (28)
A partir das Equaes (27) e (28), a probabilidade de um falso positivo f
p
(i) para
umdeterminado roteador a i saltos da vtima no procedimento aprimorado de reconstruo
de rota pode ser calculada e expressa por
f
p
(i) =t
0
(i)
b
0
t
1
(i)
b
1
, (29)
onde b
0
e b
1
so respectivamente o nmero mdio de bits em 0 e o nmero mdio de bits
em 1 necessrios para um falso positivo ocorra, conforme descrito na Subseo 1.5.1.
Referncias
[Aljifri et al., 2003] Aljifri, H., Smets, M. e Pons, A. (2003). IP Traceback using Header
Compression. Computers & Security, 22(2):136151.
[Bai et al., 2004] Bai, C., Feng, G. e Wang, G. (2004). Algebraic Geometric Code Based
IP Traceback. Em IEEE International Conference on Performance, Computing, and
Communications, pginas 4956, Phoenix, AZ, EUA.
[Belenky e Ansari, 2003a] Belenky, A. e Ansari, N. (2003a). Accommodating Fragmen-
tation in Deterministic Packet Marking for IP Traceback. Em IEEE GLOBECOM 2003
Conference, pginas 13741378, San Francisco, CA, EUA.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 416
[Belenky e Ansari, 2003b] Belenky, A. e Ansari, N. (2003b). IP Traceback With Deter-
ministic Packet Marking. IEEE Communications Letters, 7(4):162164.
[Bellovin et al., 2003] Bellovin, S. M., Leech, M. D. e Taylor, T. (2003). ICMP Trace-
back Messages. Internet Draft: draft-ietf-itrace-04.txt.
[Bloom, 1970] Bloom, B. H. (1970). Space/Time Trade-offs in Hash Coding with Al-
lowable Errors. Communications of the ACM, 7(13):442426.
[Broder e Mitzenmacher, 2003] Broder, A. e Mitzenmacher, M. (2003). Network Appli-
cations of Bloom Filters: A Survey. Internet Mathematics, 1(4):485509.
[Burch e Cheswick, 2000] Burch, H. e Cheswick, B. (2000). Tracing Anonymous Pac-
kets to their Approximate Source. Em USENIX LISA00, pginas 319327, Nova Or-
leans, LA, EUA.
[Bykkokten, 2005] Bykkokten, O. (2005). Orkut.com. http://www.orkut.com/.
[CERT, 1996] CERT (1996). CERT Advisory CA-1996-26 Denial-of-Service Attack via
ping. http://www.cert.org/advisories/CA-1996-26.html.
[CERT, 1997] CERT (1997). CERT Advisory CA-1997-28 IP Denial-of-Service Attacks.
http://www.cert.org/advisories/CA-1997-28.html.
[CERT, 1998] CERT (1998). CERT Advisory CA-1998-01 Smurf IP Denial-of-Service
Attacks. http://www.cert.org/advisories/CA-1998-01.html.
[Choi e Dai, 2004] Choi, K. H. e Dai, H. K. (2004). A Marking Scheme Using Huffman
Codes for IP Traceback. Em 7th International Symposium on Parallel Architectures,
Algorithms and Networks - ISPAN04, pginas 421428, Hong Kong, China.
[Cisco, 2003] 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.
[CNN.com, 2000] CNN.com (2000). Denial of service hackers take on new targets.
http://www.cnn.com/2000/TECH/computing/02/09/denial.of.service.03.
[Dean et al., 2002] Dean, D., Franklin, M. e Stubbleeld, A. (2002). An Algebraic
Approach to IP Traceback. ACM Transactions on Information and System Security,
5(2):119137.
[Dittrich, 1999a] Dittrich, D. (1999a). The DoS Projects trinoo distributed denial of
service attack tool. http://staff.washington.edu/dittrich/misc/trinoo.analysis.txt.
[Dittrich, 1999b] Dittrich, D. (1999b). The stacheldraht distributed denial of service
attack tool. http://staff.washington.edu/dittrich/misc/stacheldraht.analysis.txt.
[Dittrich, 1999c] Dittrich, D. (1999c). The Tribe Flood Network distributed denial of
service attack tool. http://staff.washington.edu/dittrich/misc/tfn.analysis.txt.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 417
[Ferguson e Senie, 2000] Ferguson, P. e Senie, D. (2000). Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source Address Spoong. RFC
2827.
[FTC, 2005] FTC (2005). The CAN-SPAM Act: Requirements for Commercial Emai-
lers. http://www.ftc.gov/bcp/conline/pubs/buspubs/canspam.htm.
[Garber, 2000] Garber, L. (2000). Denial-of-Service Attacks Rip the Internet. IEEE
Computer, 4(33):1217.
[Gibson, 2001] Gibson, S. (2001). The Strange Tale of the Attacks Against GRC.COM.
Gibson Research Corporation. http://www.grc.com/dos/grcdos.htm.
[Globo Online, 2005] Globo Online (2005). Brasil 5
o
maior receptor de spam; spywa-
res representam 22% das infeces.
http://oglobo.globo.com/online/plantao/169450846.asp.
[Gont, 2004] Gont, F. (2004). ICMP Attacks Against TCP. Internet Draft: draft-gont-
tcpm-icmp-attacks-03.txt.
[Goodrich, 2002] Goodrich, M. T. (2002). Efcient Packet Marking for LargeScale IP
Traceback. Em 9th ACM Conference on Computer and Communications Security -
CCS02, pginas 117126, Washington, DC, EUA.
[Gordon et al., 2005] Gordon, L. A., Loeb, M. P., Lucyshyn, W. e Richardson, R. (2005).
2005 CSI/FBI Computer Crime and Security Survey.
[Gray e Fried, 2003] Gray, P. e Fried, I. (2003). Al-Jazeera suffers DoS attack. ZDNet
UK. http://news.zdnet.co.uk/business/0,39020645,2132585,00.htm.
[Grupo Brasil AntiSPAM, 2005] Grupo Brasil AntiSPAM (2005). Cdigo de tica An-
tiSPAM e Melhores Prticas de Uso de Mensagens Eletrnicas.
http://brasilantispam.org/main/codigo.htm.
[Hilgenstieler e Duarte Jr., 2004] Hilgenstieler, E. e Duarte Jr., E. P. (2004). Uma Arqui-
tetura para Rastreamento de Pacotes na Internet. Em IV Workshop em Segurana de
Sistemas Computacionais - WSeg 2004, Gramado, RS, Brasil.
[Holmes, 2005] Holmes, N. (2005). In Defense of Spam. IEEE Computer Magazine,
38(4):8688.
[Hormel Foods, 2000] Hormel Foods (2000). Your Use of Our Trademark SPAM on
Your Page-O-SPAM Website. http://www.rsi.com/spam/.
[IBM Report, 2005] IBM Report (2005). Phishing attacks in May jumped more than 200
percent. Relatrio tcnico, IBM.
[ICQ, 2005] ICQ (2005). Icq.com - community, people search and messaging service!
http://www.icq.com/.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 418
[Jacobson, 1990] Jacobson, V. (1990). Compressing TCP/IP Headers for Low-Speed
Serial Links. RFC 1144.
[Laufer, 2005] Laufer, R. P. (2005). Rastreamento de Pacotes IP contra Ataques de Ne-
gao de Servio. Tese de mestrado, COPPE/UFRJ.
[Laufer et al., 2005a] Laufer, R. P., Velloso, P. B., de O. Cunha, D. e Duarte, O. C. M. B.
(2005a). Um Procedimento Alternativo de Reconstruo de Rota para o Rastreamento
de Pacotes IP. Em XXII Simpsio Brasileiro de Telecomunicaes - SBrT05, Campi-
nas, SP, Brasil.
[Laufer et al., 2005b] Laufer, R. P., Velloso, P. B. e Duarte, O. C. M. B. (2005b). Defea-
ting DoS Attacks with IP Traceback. Em IFIP Open Conference on Metropolitan Area
Networks - MAN2005, Ho Chi Minh, Vietn.
[Laufer et al., 2005c] Laufer, R. P., Velloso, P. B. e Duarte, O. C. M. B. (2005c). Um
Novo Sistema de Rastreamento de Pacotes IP contra Ataques de Negao de Servio.
Em XXIII Simpsio Brasileiro de Redes de Computadores - SBRC2005, Fortaleza,
CE, Brasil.
[Lee et al., 2004] Lee, T.-H., Wu, W.-K. e Huang, T.-Y. W. (2004). Scalable Packet Di-
gesting Schemes for IP Traceback. Em IEEE International Conference on Communi-
cations ICC04, pginas 10081013, Paris, Frana.
[Leech, 1996] Leech, M. (1996). DefUsername/Password Authentication for SOCKS
V5. RFC 1929.
[Li et al., 2002] Li, J., Mirkovic, J., Wang, M., Reiher, P. e Zhang, L. (2002). SAVE:
Source Address Validity Enforcement Protocol. Em Proceedings of the IEEE INFO-
COM 2002 Conference, pginas 15571566, Nova Iorque, NY, EUA.
[Li et al., 2004] Li, J., Sung, M., Xu, J. e Li, L. (2004). Large-Scale IP Traceback in
High-Speed Internet: Practical Techniques and Theoretical Foundation. Em Procee-
dings of the 25th IEEE Symposium on Security and Privacy, Oakland, CA, EUA.
[Liu et al., 2003] Liu, J., Lee, Z.-J. e Chung, Y.-C. (2003). Efcient Dynamic Probabilis-
tic Packet Marking for IP Traceback. Em IEEE International Conference on Networks
- ICON03, pginas 475480, Sydney, Austrlia.
[Mankin et al., 2001] 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.
[M.Degermark et al., 1999] M.Degermark, Nordgren, B. e S.Pink (1999). IP Header
Compression. RFC 2507.
[Microsoft, 2002] Microsoft (2002). Stop 0A in Tcpip.sys When Receiving Out Of Band
(OOB) Data. Microsoft Corporation. http://support.microsoft.com/kb/q143478.
[Microsoft, 2005] Microsoft (2005). Microsoft Network - MSN.
http://messenger.msn.com/.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 419
[Mirkovic et al., 2004] Mirkovic, J., Dietrich, S., Dittrich, D. e Reiher, P. (2004). Internet
Denial of Service: Attack and Defense Mechanisms. Prentice Hall PTR, 1
a
edio.
[Mirkovic e Reiher, 2004] Mirkovic, J. e Reiher, P. (2004). A Taxonomy of DDoS At-
tack and DDoS Defense Mechanisms. ACM SIGCOMM Computer Communications
Review, 34(2):3953.
[Mitzenmacher, 2002] Mitzenmacher, M. (2002). Compressed Bloom Filters.
IEEE/ACM Transactions on Networking, 10(5):604612.
[Moore et al., 2001] Moore, D., Voelker, G. e Savage, S. (2001). Inferring Internet De-
nial of Service Activity. Em Proceedings of the 2001 USENIX Security Symposium,
Washington, DC, EUA.
[Park e Lee, 2001] Park, K. e Lee, H. (2001). On the Effectiveness of Probabilistic Packet
Marking for IP Traceback under Denial of Service Attack. EmProceedings of the IEEE
INFOCOM 2001 Conference, Anchorage, AK, EUA.
[Perkins, 2002] Perkins, C. E. (2002). IP Mobility Support for IPv4. RFC 3220.
[Postel, 1981] Postel, J. (1981). Internet Protocol. RFC 791.
[Postel, 1983] Postel, J. (1983). Character Generator Protocol. RFC 864.
[Reuters, 2004] Reuters (2004). Scotland Yard and the case of the rent-a-zombies. ZD-
Net.com. http://news.zdnet.com/2100-1009_22-5260154.html.
[Sahami et al., 1998] Sahami, M., Dumais, S., Heckerman, D. e Horvitz, E. (1998). A
bayesian approach to ltering junk E-mail. Em Learning for Text Categorization:
Papers from the 1998 Workshop, Madison, WI, EUA. AAAI Technical Report WS-98-
05.
[Savage et al., 2001] Savage, S., Wetherall, D., Karlin, A. e Anderson, T. (2001).
Network Support for IP Traceback. IEEE/ACMTransactions on Networking, 9(3):226
237.
[Schuba et al., 1997] Schuba, C. L., Krsul, I. V., Kuhn, M. G., Spafford, E. H., Sunda-
ram, A. e Zamboni, D. (1997). Analysis of a Denial of Service Attack on TCP. Em
Proceedings of the 1997 IEEE Symposium on Security and Privacy, pginas 208223,
Oakland, CA, EUA.
[Shachtman, 2003] Shachtman, N. (2003). Porn Purveyors Getting Squeezed. Wired
News. http://wired-vig.wired.com/news/print/0,1294,59574,00.html.
[Snoeren et al., 2001] Snoeren, A. C., Partridge, C., Sanchez, L. A., Jones, C. E., Tcha-
kountio, F., Kent, S. T. e Strayer, W. T. (2001). Hash-Based IP Traceback. Em Proce-
edings of the ACM SIGCOMM01 Conference, pginas 314, San Diego, CA, EUA.
[Snoeren et al., 2002] Snoeren, A. C., Partridge, C., Sanchez, L. A., Jones, C. E., Tcha-
kountio, F., Schwartz, B., Kent, S. T. e Strayer, W. T. (2002). Single-Packet IP Trace-
back. IEEE/ACM Transactions on Networking, 10(6):721734.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 420
[Song e Perrig, 2001] Song, D. X. e Perrig, A. (2001). Advanced and Authenticated
Marking Schemes for IP Traceback. Em Proceedings of the IEEE INFOCOM 2001
Conference, Anchorage, AK, EUA.
[SpamAssassin, 2005] SpamAssassin (2005). The apache spamassassin project.
http://spamassassin.apache.org/.
[Spammer-X et al., 2004] Spammer-X, Posluns, J. e Sjouwerman, S. (2004). Inside the
SPAM Cartel: Trade Secrets from the Dark Side. Syngress Publishing, 1
a
edio.
[Stone, 2000] Stone, R. (2000). CenterTrack: An IP Overlay Network for Tracking DoS
Floods. Em 9th USENIX Security Symposium, pginas 199212, Denver, CO, EUA.
[US-CERT, 2005] US-CERT (2005). Vulnerability Note VU#222750: TCP/IP Imple-
mentations Do Not Adequately Validate ICMP Error Messages.
http://www.kb.cert.org/vuls/id/222750.
[Wagner, 2002] Wagner, J. (2002). Dealing With Massive Attack: DNS Protection. Inter-
netnews.com. http://www.internetnews.com/dev-news/article.php/1487331.
[Watson, 2004] Watson, P. A. (2004). Slipping in the Window: TCP Reset Attacks. Em
2004 CanSecWest Conference, Vancouver, Canad.
Simpsio Brasileiro em Segurana da Informao e de Sistemas Computacionais 421

Potrebbero piacerti anche