Qu'est-ce que l'Internet Control Message Protocol (ICMP) ?

L'ICMP ou Internet Control Message Protocol est utilisé pour diagnostiquer les problèmes de réseau sur Internet.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir l'ICMP
  • Décrire comment fonctionnent le ping et traceroute
  • Comprendre comment le protocole ICMP peut être utilisé dans les attaques DDoS.

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce que l'Internet Control Message Protocol (ICMP) ?

Le protocole ICMP (Internet Control Message Protocol) est un protocole de la couche réseau utilisé par les appareils du réseau pour diagnostiquer les problèmes de communication du réseau. ICMP est principalement utilisé pour déterminer si les données atteignent ou non leur destination en temps voulu. Le protocole ICMP est généralement utilisé sur les périphériques de réseau, tels que les routeurs. Le protocole ICMP est essentiel pour les rapports d'erreurs et les tests, mais il peut également être utilisé dans les attaques par déni de service distribué (DDoS).

À quoi sert l'ICMP ?

L'objectif principal d'ICMP est de signaler les erreurs. Lorsque deux périphériques se connectent sur Internet, l'ICMP génère des erreurs à partager avec le périphérique émetteur dans le cas où certaines données n'ont pas atteint la destination prévue. Par exemple, si un paquet de données est trop volumineux pour un routeur, ce dernier abandonne le paquet et renvoie un message ICMP à la source originale des données.

Une utilisation secondaire du protocole ICMP consiste à effectuer des diagnostics réseau ; les utilitaires de terminal courants traceroute et ping fonctionnent tous deux à l'aide d'ICMP. L'utilitaire traceroute est utilisé pour afficher le chemin de routage entre deux périphériques Internet. Le chemin de routage est le chemin physique réel des routeurs connectés qu'une requête doit traverser avant d'atteindre sa destination. Le trajet entre deux routeurs est connu sous le nom de « saut », et un traceroute indique également le temps requis pour chaque saut le long du chemin. Cela peut être utile pour déterminer les sources de retard du réseau.

L'utilitaire ping est une version simplifiée de traceroute. Un ping teste la vitesse de la connexion entre deux périphériques et indique exactement le temps que met un paquet de données pour atteindre sa destination et revenir au périphérique de l'expéditeur. Bien que le ping ne fournisse pas de données sur le routage ou les sauts, il reste une mesure très utile pour évaluer la latence entre deux périphériques. Les messages ICMP echo-request et echo-reply sont généralement utilisés pour effectuer un ping.

Malheureusement, les attaques réseau peuvent exploiter ce processus, en créant des moyens de perturbation tels que l'attaque par inondation ICMP et l'attaque par ping of death .

Comment fonctionne l'ICMP ?

Contrairement au protocole Internet (IP) , ICMP n'est pas associé à un protocole de couche de transport tel que TCP ou UDP. Cela fait d'ICMP un protocole sans connexion : un dispositif n'a pas besoin d'ouvrir une connexion avec un autre dispositif avant d'envoyer un message ICMP. Le trafic IP normal est envoyé à l'aide de TCP, ce qui signifie que deux périphériques qui échangent des données effectuent d'abord une poignée de main TCP pour s'assurer que les deux périphériques sont prêts à recevoir des données. Le protocole ICMP n'ouvre pas de connexion de cette manière. Le protocole ICMP ne permet pas non plus de cibler un port spécifique sur un appareil.

Qu'est-ce qu'un paquet ICMP ?

Un paquet ICMP est un paquet qui utilise le protocole ICMP. Les paquets ICMP comprennent un en-tête ICMP derrière un en-tête IP normal. Lorsqu'un routeur ou un serveur doit envoyer un message d'erreur, le corps du paquet ICMP ou la section de données contient toujours une copie de l'en-tête IP du paquet à l'origine de l'erreur.

Comment l'UDP est-il utilisé dans les attaques DDoS ?

Attaque par inondation ICMP

On parle d'inondation ping ou d'inondation ICMP lorsque l'attaquant tente de submerger un dispositif ciblé avec des paquets d'écho-requête ICMP. La cible doit traiter et répondre à chaque paquet, consommant ses ressources informatiques jusqu'à ce que les utilisateurs légitimes ne puissent plus recevoir de service.

Attaque ICMP flood :

flood ICMP, plusieurs demandes d'écho et réponses d'écho

Attaque du ping de la mort

Une attaque par ping de la mort consiste, pour l'attaquant, à envoyer un ping d'une taille supérieure à la taille maximale autorisée pour un paquet à une machine ciblée, provoquant le blocage ou le plantage de la machine. Le paquet est fragmenté en chemin vers sa cible, mais lorsque la cible réassemble le paquet dans sa taille maximale initiale, la taille du paquet provoque un dépassement de tampon.

L'attaque par ping de la mort est en grande partie historique à ce stade. Cependant, les anciens équipements de réseau peuvent encore y être sensibles.

Attaque Smurf

Dans une attaque de type Smurf, l'attaquant envoie un paquet ICMP avec une adresse IP source usurpée. L'équipement de réseau répond au paquet en envoyant les réponses à l'adresse IP usurpée et en inondant la victime de paquets ICMP indésirables. Comme le "ping de la mort", l'attaque Smurf n'est aujourd'hui possible qu'avec des équipements anciens.

ICMP n'est pas le seul protocole de couche réseau utilisé dans les attaques DDoS de couche 3 . Les attaquants ont également utilisé les paquets GRE dans le passé, par exemple.

En général, les attaques DDoS de la couche réseau ciblent les équipements et les infrastructures de réseau, par opposition aux attaques DDoS de la couche applicative , qui ciblent les propriétés web. Cloudflare Magic Transit est un moyen de se défendre contre les attaques DDoS de la couche réseau.