Chaque réseau basé sur des paquets IP possède une taille d’unité de transmission maximale (MTU). La MTU, comme le terme l’indique, est la taille maximale du paquet qui peut être transmis sur le réseau.
Les paquets IP dont la taille dépasse la taille MTU doivent être divisés en fragments ou paquets plus petits pour pouvoir être acheminés sur le réseau.
Dans ce guide, je vous explique tout sur la fragmentation IP – ce qu’elle est, ce qu’elle fait, à quoi elle sert, comment elle est utilisée et ses inconvénients, en termes simples pour une meilleure compréhension.
Enfin quelques aspects de sécurité avec les attaques autour de la fragmentation IP.
Qu’est-ce que la fragmentation des paquets IP
Lorsqu’un hôte envoie un paquet IP sur le réseau, il ne peut pas être plus grand que la taille maximale supportée par ce réseau local. Cette taille est déterminée par le MTU (Maximum transmission unit) de la liaison de données et du réseau IP, qui sont généralement les mêmes.
Un réseau contemporain typique de bureau, de campus ou de centre de données fourni sur Ethernet aura des MTU de 1500 octets.
Cependant, les paquets qui sont initialement transmis sur un réseau supportant un MTU peuvent devoir être acheminés sur des réseaux (tels qu’un WAN ou un tunnel VPN) avec un MTU plus petit. Dans ces cas, si la taille du paquet dépasse la MTU inférieure, les données du paquet doivent être fragmentées (si possible).
Cela signifie qu’elles sont divisées en morceaux transportés dans de nouveaux paquets (fragments) dont la taille est égale ou inférieure à la MTU inférieure. C’est ce qu’on appelle la fragmentation. Les données contenues dans ces fragments sont ensuite généralement réassemblées lorsqu’elles atteignent leur destination.
A quoi sert la fragmentation IP
La fragmentation permet ;
- aux protocoles de la couche transport d’ignorer l’architecture du réseau sous-jacent, ce qui réduit les frais généraux
- aux protocoles IP et des couches supérieures de travailler sur des chemins et des supports de réseau variables et divers sans la nécessité et la surcharge d’un protocole de découverte de chemin
La fragmentation présente un certain nombre d’inconvénients qui font que son utilisation doit être évitée dans la mesure du possible :
- La perte d’un seul fragment entraîne le renvoi de tous les fragments lorsqu’un protocole de couche de transport fiable tel que TCP est utilisé (en fait, l’expéditeur renvoie un paquet et la fragmentation se produit à nouveau)
- Seul le premier fragment contient les en-têtes de la couche supérieure, ce qui peut causer des problèmes avec les pare-feu, les boîtes intermédiaires et les routeurs (c’est-à-dire la fonctionnalité NAT) qui dépendent de l’inspection de ces en-têtes
- La fragmentation ajoute un petit degré de latence et d’inefficacité aux communications réseau
- La fragmentation peut entraîner la livraison de paquets dans le désordre et la nécessité d’un réordonnancement (en particulier si seuls certains paquets sont fragmentés ou si l’agrégation de liens ou d’autres technologies de fractionnement du chemin sont utilisées)
- La fragmentation et le réassemblage sont gourmands en CPU (et dans certains cas en mémoire) et il vaut mieux les éviter si possible
- Les hôtes et, moins souvent, les périphériques réseau impliqués dans le réassemblage doivent allouer de la mémoire pour stocker tous les fragments jusqu’à ce qu’ils puissent être réassemblés et n’ont aucun moyen de savoir combien ils sont. Cela présente de nombreux risques en matière de sécurité et de disponibilité
Dans la majorité des cas et pour de meilleurs performances, la fragmentation IP doit donc être évitée.
La fragmentation IP : comment ça marche ?
Les routeurs vérifie la taille des paquets IP en fonction du MTU du prochain routeur (saut).
Si le paquet dépasse le MTU du routeur suivant, le premier routeur divise la charge utile en deux ou plusieurs paquets, chacun avec ses propres en-têtes.
Le routeur modifie certains champs de l’en-tête IP pour indiquer que les paquets sont fragmentés et doivent être réassemblés, combien de paquets il y a et dans quel ordre ils sont envoyés.
Ainsi, le processus de fragmentation et de réassemblage fait intervenir divers champs d’en-tête IP qui sont divisés en morceaux/fragments.
En IPv4
- Le champ Identification (16 bits) contient un numéro d’identification unique qui est un mélange d’adresses IP source et destination. Le champ Protocole, qui contient la valeur du paquet original, permet à la destination de différencier les divers fragments de paquets provenant de la même source
- Le champ Fragment Offset (13 bits au total) est utilisé pour indiquer la position initiale des données dans le fragment, par rapport aux données de départ du paquet IP d’origine. Il est ensuite utilisé pour réassembler les données de tous les fragments (arrivés ou non)
- Le champs Don’t Fragment (DF) permet d’indiquer de ne pas fragmenter (0 ou 1). Un routeur qui reçoit un paquet réseau plus grand que le MTU du prochain avec un drapeau Don’t Fragment (DF) à 1 va détruire le paquet. Dans ce cas, des erreurs doivent être envoyées à l’expéditeur, comme une erreur ICMP de type 3 : “Destination Unreachable”, code 4 : “Fragmentation required, and DF set”
- Le champs More Fragments (MF). Lorsqu’il est positionné à 1, tous les bits de ce champ du dernier paquet IP seront mis à 0, exactement comme le paquet IP d’origine (sauf s’il s’agit d’un fragment).
En IPv6
En IPv6, les données ne peuvent être fragmentées que sur l’hôte source. Cela signifie que la fragmentation ne peut pas être effectuée sur d’autres réseaux, sauf sur la source.
La fragmentation IP ne peut pas être effectuée si PMTUD n’est pas utilisé. Les nœuds ne peuvent pas utiliser un MTU supérieur à 1280 octets, qui est le minimum d’IPv6, s’ils ne mettent pas en œuvre la découverte de MTU de chemin (PMUTD).
Si la taille du paquet IP est supérieure à celle à MTU, le routeur IPv6 doit le rejeter et envoyer à l’expéditeur une erreur ICMPv6 de type 2 “Packet Too Big” – code 0.
De ce fait, IPV6 ne possède pas l’en-tête Don’t Fragment (DF).
- Le champ Identification de 32 bits est le même que le champ IPv4 de 16 bits contenant un numéro d’identification unique pour la combinaison des adresses source et destination. Le champ Protocol n’est pas disponible en IPv6
- Le champ appelé Next Header (8 bits) précise le type d’en-tête, comme un en-tête de protocole de couche supérieure ou un en-tête d’extension IPv6. Les 8 bits suivants sont ensuite réservés
- Le champ Fragment Offset (13 bits) est utilisé de manière similaire à IPv4. Après cela, les 2 bits suivants sont réservés
Path MTU Discovery (PMTUD)
PMTUD est une technique normalisée permettant de déterminer la taille maximale des unités de transmission (MTU) sur le chemin du réseau entre deux hôtes IP (Internet Protocol).
Il vise à éviter la fragmentation en découvrant dynamiquement le MTU d’un chemin entre deux hôtes à l’aide de messages ICMP.
Le fonctionnement diffère d’IPV4 à IPv6.
En IPV4, l’hôte source envoie des paquets au destinataire avec le drapeau Don’t Fragment (DF) à 1.
Si la taille du paquet est trop élevé le long du chemin, un routeur répond par un message ICMP de type 3 ou 4.
L’hôte source renvoi un nouveau paquet avec une taille plus petite.
Le processus se répète jusqu’à trouver la taille maximale (MTU) acceptée par les routeurs le long du chemin.
PMTUD ne fonctionne que si tous les périphériques réseau accepte ICMP. Si le protocole est filtré par un firewall, cela ne fonctionnera pas.
Le principe de PMTUD en IPV6 est le même, simplement comme évoque, IPV6 ne possède pas l’en-tête Don’t Fragment (DF).
Comme les paquets avec un MTU trop élevé sont détruits, cela envoie.
Un message ICMP “Packet Too Big” est envoyé. Ce qui permet de renvoyer un nouveau paquet de test plus réduit jusqu’à trouver la taille du paquet adéquate.
Quelles sont les attaques sur la fragmentation IP
Une attaque par fragmentation IP utilise la fragmentation IP pour perturber les services ou désactiver les appareils. Il s’agit donc d’une attaque par déni de service (DoS).
Il existe de nombreuses formes d’attaques par fragmentation IP. Elles consistent généralement à envoyer des datagrammes qu’il sera impossible de réassembler à la livraison. Le but est d’abuser des ressources des serveurs et de les empêcher d’effectuer les opérations qu’ils sont censés faire.
Voici quelques-unes des attaques par fragmentation IP les plus utilisées :
L’attaque par fragment minuscule.
Chaque paquet IP est composé d’un en-tête et d’une charge utile. L’en-tête contient les informations qui dirigent le paquet vers sa destination, tandis que la charge utile est un corps de données qu’il transporte vers celle-ci.
Une attaque par petits fragments se produit lorsqu’un petit fragment de paquet pénètre dans le serveur. Cela se produit lorsque l’un des fragments est si petit qu’il ne peut même pas contenir son propre en-tête. Une partie de l’en-tête de ce paquet est envoyée comme un nouveau fragment. Cela peut causer des problèmes de réassemblage et arrêter un serveur.
Attaques par fragmentation UDP (Used Datagram Protocol) et ICMP (Internet Control Message Protocol).
Dans ces attaques, les serveurs sont inondés de paquets surdimensionnés ou autrement corrompus qu’ils doivent rejeter. Cela peut rapidement surcharger les ressources d’un serveur et l’empêcher d’effectuer les opérations prévues.
Attaque par fragmentation TCP (Transmission Control Protocol) (ou attaque Teardrop).
L’attaque Teardrop utilise des paquets conçus pour être impossibles à réassembler à la livraison. Ils peuvent être incomplets ou se chevaucher. Elle est généralement dirigée vers les systèmes de défragmentation ou de sécurité.
Sans protection adéquate, ces paquets peuvent provoquer le blocage ou le plantage d’un système d’exploitation qui ne peut les traiter.
Plus de détails : https://en.wikipedia.org/wiki/IP_fragmentation_attack
Liens
- Protocole TCP, UDP, ICMP : fonctionnement et différences
- Le protocole TCP/IP : définition, architecture et couches
- L’établissement d’une connexion TCP/IP
- ICMP (Internet message protocol) : définition, fonctionnement du protocole
- UDP (User Datagram Protocol) : définition, structure du protocole
- Qu’est-ce que l’adresse IP ?
- La fragmentation des paquets IP : tout savoir
- Qu’est-ce que le MTU et MSS et comment l’optimiser
- Qu’est-ce que le routage IP et les types de routage
- Les couches du modèle OSI pour les nuls
- Les réseaux informatiques – le dossier
L’article La fragmentation des paquets IP : tout savoir est apparu en premier sur malekal.com.
0 Commentaires