A possibilidade de ataques que exploram a fragmentação de pacotes IP está relacionada ao modo como são implementados a fragmentação e o reagrupamento.

Os sistemas não tentam processar o pacote até que todos os fragmentos sejam recebidos e reagrupados. Isso cria a possibilidade de ocorrer um estouro (overflow) na pilha TCP quando há o reagrupamento de pacotes cujo tamanho total seja maior que o espaço que foi reservado, ou seja, pacotes maiores podem ser criados para forçar o estouro da pilha. O resultado disso são problemas como o travamento do sistema (característica de ataque do tipo Denial of Service), que comprometem a disponibilidade de recursos.

Outro ataque consiste em gerar pacotes com o offset de fragmentação negativo, que pode causar resultados inesperados caso a pilha TCP/IP do sistema de destino não realize uma verificação antes de tentar reagrupar os pacotes.

A fragmentação de pacotes foi explorada em ataques, inicialmente, no fim de 1996 pelo Ping da Morte. O ataque consistia no envio de pacotes ICMP Echo Request (ping) com tamanho de 65.535 Bytes. Esse tamanho, maior do que o normal, fazia com que diversos sistemas travassem por causa da sobrecarga do buffer da pilha TCP/IP, que não era capaz de reagrupar um pacote tão grande. O ping foi empregado inicialmente devido à sua facilidade de uso, embora outros pacotes IP grandes, sejam eles TCP (conhecido como ataque Teardrop) ou UDP, possam causar esse mesmo tipo de problema.

O problema existiu devido a erros de programação da pilha TCP/IP em sistemas operacionais e em equipamentos de redes. Atualmente, os sistemas já corrigiram esse problema por meio de atualizações e instalações de correções (patches). Porém, a fragmentação e o reagrupamento podem ser utilizados para ataques mais sofisticados, com o intuito de driblar firewalls ou Sistemas de Detecção de Intrusão (IDS). Saiba+

Copyright © 2014 AIEC.