• Nenhum resultado encontrado

A fim de compreender como funciona a contramedida denominada ras- treamento por contra-ataque, conv´em observar como funciona o di´alogo entre um computador cliente, que demanda servi¸co, e um computador servidor, que provˆe o servi¸co demandado. Este ´e o assunto da pr´oxima subse¸c˜ao.

3.2.1

Conex˜ao Cliente-Servidor

No ambiente da arquitetura cliente-servidor a execu¸c˜ao de servi¸cos de alto n´ıvel requer fun¸c˜oes capazes de criar uma infra-estrutura de comunica¸c˜ao en- tre rede de computadores. Essas fun¸c˜oes devem garantir a interliga¸c˜ao entre redes, mesmo que sejam heterogˆeneas, e s˜ao implementadas por meio de equipamentos (hardware) e de programas (software) apropriados.

50

computadores, que nada mais ´e do que um d´ı´alogo simples entre dois equipa- mentos. Um dos computadores ´e o servidor, isto ´e, aquele sempre pronto para receber alguma solicita¸c˜ao. O outro ´e o cliente, que a qualquer instante pode solicitar algum servi¸co.

Quando um computador cliente deseja estabelecer uma conex˜ao com um computador servidor, o di´alogo entre os mesmos segue um roteiro tal como o seguinte:

• O cliente envia uma mensagem SYN para o servidor.

• Ao receber a mensagem SYN o servidor responde com outra, SYN- ACK, de confirma¸c˜ao.

• Quando o cliente recebe a resposta do servidor, estabelece a conex˜ao respondendo com ACK.

Uma vez conclu´ıdo o di´alogo supra, a conex˜ao entre cliente e servidor fica estabelecida e os dados do servi¸co espec´ıfico podem ser intercambiados entre os dois computadores.

Como se pode ver, o protocolo ´e de concep¸c˜ao bastante simples. Esse fato influencia n˜ao somente na facilidade de implementa¸c˜ao do protocolo, como tamb´em na eficiˆencia com que o mesmo opera a transmiss˜ao de dados. Contudo, ataques do tipo DoS costumam ser desfechados exatamente tirando proveito dessa simplicidade, conforme ser´a apresentado na pr´oxima subse¸c˜ao.

3.2.2

O Congestionamento TCP-SYN

A descri¸c˜ao do processo de comunica¸c˜ao entre dois computadores mostrou que, enquanto uma conex˜ao est´a ativa, na mem´oria de cada um dos computa- dores fica presente um registro com os dados identificadores dessa conex˜ao. O computador cliente ter´a apenas um registro, enquanto o servidor ter´a um registro para cliente ao mesmo conectado, todos armazenados em uma tabela

na mem´oria principal.

Naturalmente, existe uma capacidade m´axima para esta tabela armazenar registros de clientes, acima da qual o funcionamento do servidor ficar´a com- prometido, recusando novas solicita¸c˜oes. A esta situa¸c˜ao de negar a per- miss˜ao para inserir novos registros para identificar conex˜oes se denomina nega¸c˜ao de servi¸co.

Enquanto est´a sendo estabelecido o di´alogo de conex˜ao, e o servidor envia a mensagem SYN-ACK ao cliente, sabe-se que ´e criado um registro na tabela de conex˜oes TCP, que permanece no estado ”em aberto”at´e ser recebida uma mensagem ACK do cliente, que lhe corresponda. Naturalmente, essa espera n˜ao ´e indefinida e a tentativa de conex˜ao falhar´a se n˜ao for completada no tempo apropriado.

O ataque decorrente da elevada intensidade de um fluxo TCP-SYN ocorre quando uma grande quantidade de mensagem SYN ´e enviada ao servidor, de modo que a tabela de conex˜oes TCP fique repleta de registros ”em aberto”. A continuidade do fluxo atacante far´a com que novos registros ”em aberto”substituam os mais antigos, de modo que impedir´a `as mensagens ver- dadeiras chegar ao servidor. Em decorrˆencia, o servidor negar´a servi¸co aos clientes verdadeiros.

Al´em desta forma de ataque, cujos detalhes podem ser vistos em [12], na pr´oxima subse¸c˜ao ser´a tratada uma outra, dentro da mesma modalidade de congestionamento.

3.2.3

Ataque do Tipo Smurf

Todas as mensagens enviadas para uma rede de computadores devem passar pelo conjunto de roteadores aos quais a mesma se liga. Uma grande quantidade de mensagens congestiona os roteadores, de modo que toda essa atividade resulta em perda de pacotes destinados `a rede. Os ataques cujo objetivo ´e o congestionamento do tr´afego em uma rede tˆem sido comunicados ao CERT por administradores de redes e provedores de servi¸cos de Internet

52

desde o ano de 1998. Trata-se de uma modalidade de ataque do tipo DoS que utiliza o protocolo ICMP (Internet Control Message Protocol), atrav´es do qual s˜ao forjadas mensagens que, uma vez enviadas, requerem um eco como resposta.

Tais ataques resultam em uma grande quantidade de pacotes sendo envia- dos de variados locais remotos para a v´ıtima e produzindo congestionamento na rede. A nomenclatura “ataque do Tipo Smurf” ´e oriunda de um programa denominado Smurf, segundo [13] utilizado por atacantes para executar a¸c˜oes dessa natureza.

A pr´oxima subse¸c˜ao descreve os aspectos da t´ecnica do rastreamento por contra-ataque, como uma forma de responder a um ataque do tipo DoS.

3.2.4

T´ecnica de Contra-Ataque

A fim de mitigar a tarefa de responder a um ataque do tipo DoS, Hal Burch e Bill Cheswick propuseram em [9], p. 313-315, uma contramedida para o ataque DoS. Trata-se de um m´etodo que se comp˜oe de trˆes etapas, respectivamente denominadas 1) Tra¸car Mapas, 2) Localizar Fontes Inter- medi´arias e 3) Ligar Fontes Intermedi´arias.

Uma importante caracter´ıstica do m´etodo ´e o fato de que o mesmo n˜ao requer aux´ılio ou interven¸c˜ao de provedores de Internet para a sua aplica¸c˜ao. Al´em disso, ainda conforme Burch et alli, o rastreamento requer apenas al- guns minutos, depois que a v´ıtima percebe que est´a sob ataque. Cada uma dessas etapas tem o seu detalhamento mostrado a seguir.

• Etapa 1 - Tra¸car Mapa

Nesta etapa deve ser tra¸cado um mapa da Internet mostrando as tra- jet´orias que partem da v´ıtima, com os seus respectivos roteadores, e chegando `as maiores distˆancias poss´ıveis da mesma. Existem t´ecnicas destinadas `a realiza¸c˜ao dessa tarefa, como mostrado em [27], p. 1-10 e [15], p. 1-6.

• Etapa 2 - Localizar Fontes Intermedi´arias de Ataque

Em seguida, devem ser localizadas na rede as fontes de onde provem o ataque. Para isto, utiliza-se um servi¸co gerador de caracteres baseado no protocolo UDP, ver [47], por meio do qual envia-se uma curta rajada de caracteres a cada um dos roteadores localizados na Etapa 1 anterior. Caso um dos roteadores atingidos pela rajada de caracteres esteja na trajet´oria de ataque, o fluxo de pacotes atacantes sofrer´a uma perturba¸c˜ao.

• Etapa 3 - Ligar Fontes Intermedi´arias de Ataque

Uma vez localizadas as fontes intermedi´arias de ataque, deve-se uti- lizar o mapa constru´ıdo na etapa 1 para se determinar quais outras fontes, ligadas `a ´ultima localizada, precisam ser atingidas pela rajada de caracteres. Prossegue-se atrav´es da rede, de roteador em roteador, “podando-se” os ramos que n˜ao perturbam o ataque. Desse modo, restar˜ao os ramos da ´arvore atrav´es dos quais ocorre o ataque DoS. Ent˜ao, repete-se a etapa 2, at´e quando for poss´ıvel estender o pro- cedimento para a localiza¸c˜ao e fontes intermedi´arias de ataque. A in- terliga¸c˜ao dos roteadores localizados como atacantes forma a trajet´oria de ataque.

A t´ecnica descrita por meio das trˆes etapas mostradas anteriormente aparenta ser de simples aplica¸c˜ao. Al´em disso, a menos do programa des- tinado a tra¸car o mapa da rede, os recursos usados n˜ao apresentam grande sofistica¸c˜ao tecnol´ogica.

3.2.5

Alguns Coment´arios

Uma r´apida reflex˜ao sobre a natureza dessa contramedida, destinada ao rastreamento reverso do n´umero IP , mostra que ela pr´opria ´e um ataque

54

DoS. No que concerne `a efic´acia e `a eficiciˆencia, nada garante que a t´ecnica se mostre adequada. De fato, segundo Burch et alli, ver [9], p. 313-315, apesar de a experiˆencia ter funcionado em uma intranet, cujo ambiente est´a sob controle, n˜ao h´a certeza de que se possa obter resultados positivos se aplicada no ˆambito da Internet. O que h´a de concreto, se essa t´ecnica for extrapolada para a Internet, ´e a certeza do impacto desfavor´avel que causar´a no funcionamento da propria rede e nos usu´arios da mesma.

Deve-se ter em mente que a abordagem utilizada para o rastreamento re- verso do n´umero IP foi baseada unicamente em argumentos computacionais. Nos pr´oximos cap´ıtulos ser˜ao apresentados argumentos com fundamenta¸c˜ao matem´atica, que permitem extrair maior riqueza de detalhes, quando associados ao apelo computacional.