Landing, Ping of Death e Teardrop

Tre semplici attacchi storici per fare Denial of Service


Clock Icon 2 min Calendar Icon 07-02-2024 Like Icon 12

In questo post, descriviamo tre attacchi molto famosi, nati negli anni '90, che causavano il crash dei sistemi informatici: il Landing, il Ping of Death e il Teardrop. Per fortuna, questi attacchi sono stati risolti; infatti, basta davvero poco per bloccarli. Tuttavia comprenderne il funzionamento è fondamentale per orientare le azioni da compiere nella progettazione di un nuovo protocollo o un dispositivo.

Landing

Questo attacco consiste nel creare un pacchetto TCP SYN con indirizzo e porta sorgente identici a quelli dell' indirizzo e della porta destinazione della vittima. In questo modo, la vittima risponde al SYN inviando un pacchetto a se stessa, entrando in un loop per poi finire con un collasso totale del sistema. Ovviamente questo attacco è risolvibile cestinando i pacchetti che hanno un indirizzo sorgente uguale all'indirizzo del destinatario.


Ping of Death

Questo attacco sfrutta la frammentazione dei pacchetti, in particolare l'attaccante costruisce i frammenti settando un offset in modo che la taglia del pacchetto riassemblato superi i 65535 byte. In questo modo, quando la vittima riceve i frammenti e assembla il pacchetto, si creano situazioni di overflow nella memoria. Per annullare l'attacco, è sufficiente controllare i valori nei campi dell'header utilizzati per la frammentazione.


Teardrop

Anche questo attacco sfrutta la frammentazione, ovvero l'attaccante inserisce nei pacchetti frammentati informazioni di spaziatura sbagliate. In questo modo, quando la vittima riassembla i frammenti, ci saranno dei vuoti o dei frammenti sovrapposti che creano instabilità e crash nel sistema.