O que é Ataque IP Spoofing ?
| Disfarce. É
isto que este ataque faz. Muitas comunicações entre computadores na
Internet se baseiam em "parceiros" confiáveis. Um computador X pode manter
uma comunicação com um computador Y de forma que não seja necessária a
constante verificação de autenticidade entre eles. O hacker, então, se
disfarça, dizendo para o computador X que "ele" é o computador Y. Desta
forma o computador X vai aceitar seus comandos tranqüilamente, enquanto
ele deita e rola pelo sistema.
Um pouco mais de detalhes: os pacotes IP possuem um endereço destino e um endereço origem. Normalmente o endereço origem reflete a realidade, mas nada impede que um hacker altere este pacote para que ele pareça ter vindo de outro lugar. Só que não é tão simples assim... Além de enganar o destino, neste caso o computador X, é necessário que se sobrecarregue o computador Y, para que ele não responda às mensagens de X, o que faria com que Y dissesse: "Mas eu não te perguntei nada!", e X cancelaria a conexão. Faz-se necessária, ainda, uma "previsão" do número de seqüência mandado por X. Este número é enviado por X ao originador da conexão (supostamente o Y). Mas Y não irá responder, devido à sobrecarga explicada anteriormente. Então o hacker deve prever o número de seqüência mandado por X para que seja enviado um novo pacote com estes números de seqüência, fingindo novamente ter sido enviado por Y, e forjando a autenticação. A previsão deste número de seqüência é um processo demorado e criativo. Durante a negociação da conexão, os computadores trocam informações para efetuarem o "handshake" ou "aperto de mão". Dentre as informações trocadas estão os números de seqüência, que devem ser repetidos para o destino, para que este se certifique da autenticidade da conexão. O que o hacker pode fazer é o seguinte: enviar, através de um pacote legítimo, com o endereço de origem verdadeiro, vários pedidos de conexão à X. Este responde com um número de seqüência para que o hacker o repita e efetue a conexão, mas a máquina de origem (o hacker) não tem privilégios e não lhe interessa fechar esta conexão. Então ele não responde a estes pacotes de X, apenas os guarda e verifica seu número de seqüência. Apnúmeros e então mandar um pedido de ós vários pedidos de conexão com X, o hacker pode "aprender" como X gera seus conexObviamente, o hacker não vai receber os ão, desta vez com o endereço de origem sendo Y (o computador confiável). pacotes de X com os n(computador Y, que, a esta altura, úmeros de seqüência, pois estes irão para o endereço de origem precisa estar sobrecarregado para nhacker prevê e manda o número ão repondê-los), mas, com base nos cálculos anteriores, o de seqüência correto para o computador X, fechando a conexão. Esta conexão é unidirecional, pois todas as respostas de X serão destinadas ao computador Y, e não ao computador do hacker. Então o hacker age "às cegas", pois não recebe nenhum tipo de retorno de X, pelo menos enquanto configura X para aceitar conexões do seu próprio computador. Ao terminar, o hacker tira o disfarce: desfaz a conexão falsa com X, e faz uma legítima, agora que X pode aceitar conexões confiáveis através do computador do hacker, com todos os privilégios possíveis e imagináveis. |