Le ping of death (ping de la mort en français) est une attaque his­to­rique de réseau. Elle entraîne un arrêt immédiat des systèmes vul­né­rables. Heu­reu­se­ment, ce type d’attaque ne fonc­tionne plus sur la plupart des systèmes depuis 1998.

L’attaque ping of death, ou ping of death attack en anglais, utilise le protocole ICMP (Internet Control Message Protocol). En principe, d’autres pro­to­coles basés sur l’IP peuvent également être utilisés. Les systèmes modernes sont sécurisés contre le ping of death et aujourd’hui les hackers pri­vi­lé­gient l’uti­li­sa­tion du ping flood.

Qu’est-ce qu’un ping of death ?

Le ping of death fait partie des attaques par déni de service (DoS). Pour lancer une attaque, le hacker envoie un paquet de données mal­veil­lant à sa cible. Le trai­te­ment du paquet de données par le système cible déclenche une erreur et le système s’arrête.

On peut comparer le ping of death à un colis piégé : c’est l’ouverture du paquet qui active le mécanisme et attaque ou détruit la cible. La commande Ping est gé­né­ra­le­ment utilisée sur un réseau pour vérifier si une machine est dis­po­nible. La commande ping est basée sur le protocole ICMP (Internet Control Message Protocol). Ce protocole est utilisé pour com­mu­ni­quer des in­for­ma­tions sur le statut sur Internet.

Sous le terme générique d’attaque par déni de service, il existe dif­fé­rents types de modèles d’attaque : le ping of death, comme le SYN flood, fait partie des attaques du protocole. Il existe également des attaques sur la couche ap­pli­ca­tion, notamment le flood HTTP, et les attaques vo­lu­mé­triques qui inondent la cible d’un flux de données. Parmi ces dernières figurent le ping flood, dont le nom indique la fonction, et le UDP flood, qui est devenu célèbre avec le « Low Orbit Ion Cannon », un outil DDoS très puissant.

Fonc­tion­ne­ment du ping of death

Pour effectuer une attaque par ping of death, le hacker crée un paquet ICMP qui dépasse la taille autorisée. Lors du transfert le paquet est divisé en plusieurs petits éléments. Lors du réas­sem­blage dans le système cible, le dernier fragment fait dépasser la taille autorisée. Sur les systèmes non protégés, cela provoque un dé­bor­de­ment de la mémoire tampon. La con­sé­quence : le système se bloque ou s’arrête com­plè­te­ment, ce qui entraîne un effet de déni de service.

Un paquet « echo » ICMP fait gé­né­ra­le­ment une taille de 56 octets. Un paquet de type « ping of death » au contraire, avec ses quelque 65 535 octets, est près de mille fois plus vo­lu­mi­neux. Le protocole Internet (IP) sur lequel se base ce type d’attaques est res­pon­sable de la li­mi­ta­tion à une taille totale de 65 535 octets par paquet.

Pour générer un paquet « ping of death », on utilise la commande ping dans la ligne de commande. Le paramètre d’options dont la valeur détermine la taille du champ de données ICMP est le point central de cette attaque. Sur les systèmes Windows, l’option est appelée '-l' (pour « load »). Dans d’autres systèmes, on utilise l’option '-s' (pour « size ») à la place.

Ping of death sous Windows :

ping <adresse ip> -l 65500 -w 1 -n 1

Ping of Death sous Linux/UNIX/macOS :

ping <adresse ip> -s 65500 -t 1 -n 1

Mesures de pro­tec­tion contre les attaques de type ping of death (ping of death attacks)

Le ping of death est une attaque his­to­rique. Depuis la dé­cou­verte de cette attaque en 1997, des mo­di­fi­ca­tions ont été apportées aux logiciels serveur et aux systèmes d’ex­ploi­ta­tion. Des contrôles sup­plé­men­taires per­met­tent de s’assurer que la taille maximale des paquets n’est pas dépassée lors de la fusion des fragments IP. Une autre solution consiste à utiliser une mémoire tampon plus im­por­tante pour éviter qu’elle ne soit dépassée. La plupart des systèmes actuels ne sont donc plus vul­né­rables au ping of death.

En outre, les paquets mal­veil­lants sont également filtrés lorsqu’ils tran­si­tent par le réseau. Cela peut se faire au niveau des routeurs et des pare-feu ou en utilisant un CDN (Content Delivery Networks). L’en-tête IP de chaque fragment est contrôlé. La formule « position du fragment + longueur totale ≤ 65 535 octets » doit être vraie pour chaque fragment. Si un fragment IP enfreint cette règle, la taille totale autorisée sera dépassée lors de l’as­sem­blage. Dans ce cas, le paquet est supprimé.

En résumé

Dans la mesure où les systèmes modernes sont gé­né­ra­le­ment protégés contre le ping of death, il ne constitue guère une menace pour les uti­li­sa­teurs d’aujourd’hui.

Aller au menu principal