Qu’est-ce que le protocole de résolution d’adresse (ARP) ?
Le protocole ARP (Address Resolution Protocol) est une procédure permettant de mapper une adresse IP dynamique à une adresse de machine physique permanente dans un réseau local (LAN). L’adresse physique de la machine est également connue sous le nom d’adresse MAC (media access control).
Le travail d’ARP consiste essentiellement à traduire des adresses 32 bits en adresses 48 bits et vice versa. Ceci est nécessaire car les adresses IP dans la version IP 4 (IPv4) sont 32 bits, mais les adresses MAC sont 48 bits.
ARP fonctionne entre les couches 2 et 3 du modèle d’interconnexion des systèmes ouverts (modèle OSI). L’adresse MAC existe sur la couche 2 du modèle OSI, la couche de liaison de données. L’adresse IP existe sur la couche 3, la couche réseau.
ARP peut également être utilisé pour l’IP sur d’autres technologies de réseau local, telles que l’anneau à jetons, l’interface de données distribuées par fibre optique (FDDI) et l’IP sur ATM.
Fonctionnement de l’ARP
Lorsqu’un nouvel ordinateur rejoint un réseau local, une adresse IP unique lui est attribuée pour l’identification et la communication. Lorsqu’un paquet entrant destiné à une machine hôte sur un réseau local particulier arrive à une passerelle, celle-ci demande au programme ARP de trouver une adresse MAC qui correspond à l’adresse IP. Une table appelée cache ARP conserve un enregistrement de chaque adresse IP et de son adresse MAC correspondante.
Tous les systèmes d’exploitation d’un réseau Ethernet IPv4 conservent un cache ARP. Chaque fois qu’un hôte demande une adresse MAC afin d’envoyer un paquet à un autre hôte du réseau local, il vérifie son cache ARP pour voir si la traduction d’adresse IP en adresse MAC existe déjà. Si c’est le cas, une nouvelle demande ARP n’est pas nécessaire. Si la traduction n’existe pas déjà, la demande d’adresses réseau est envoyée et ARP est effectuée.
ARP diffuse un paquet de requête à toutes les machines du réseau local et demande si l’une des machines utilise cette adresse IP particulière. Lorsqu’une machine reconnaît l’adresse IP comme étant la sienne, elle envoie une réponse afin que ARP puisse mettre à jour le cache pour référence future et poursuivre la communication.
Les machines hôtes qui ne connaissent pas leur propre adresse IP peuvent utiliser le protocole ARP inverse (RARP) pour la découverte.
La taille du cache ARP est limitée et est périodiquement nettoyée de toutes les entrées pour libérer de l’espace. Les adresses ont tendance à rester dans le cache pendant quelques minutes seulement. Les mises à jour fréquentes permettent aux autres périphériques du réseau de voir lorsqu’un hôte physique modifie les adresses IP demandées. Dans le processus de nettoyage, les entrées inutilisées sont supprimées ainsi que toute tentative infructueuse de communication avec des ordinateurs qui ne sont pas actuellement sous tension.
Proxy ARP
Proxy ARP permet à un proxy réseau de répondre aux requêtes ARP pour les adresses IP situées en dehors du réseau. Cela permet de transférer avec succès des paquets d’un sous-réseau à un autre.
Quand un paquet d’enquête ARP est diffusé, la table de routage est examinée pour trouver quel périphérique sur le réseau local peut atteindre la destination la plus rapide. Ce périphérique, qui est souvent un routeur, sert de passerelle pour transférer des paquets en dehors du réseau vers leurs destinations prévues.
Usurpation d’ARP et empoisonnement du cache ARP
Les LAN utilisant ARP sont vulnérables à l’usurpation d’ARP, également appelée routage de poison ARP ou empoisonnement du cache ARP.
L’usurpation d’ARP est une attaque de périphérique dans laquelle un pirate diffuse de faux messages ARP sur un réseau local afin de lier l’adresse MAC d’un attaquant à l’adresse IP d’un ordinateur ou d’un serveur légitime du réseau. Une fois qu’un lien a été établi, l’ordinateur cible peut d’abord envoyer des trames destinées à la destination d’origine à l’ordinateur du pirate ainsi que toutes les données destinées à l’adresse IP légitime.
L’usurpation d’ARP peut affecter sérieusement les entreprises. Lorsqu’elles sont utilisées sous leur forme la plus simple, les attaques d’usurpation d’ARP peuvent voler des informations sensibles. Cependant, les attaques peuvent également faciliter d’autres attaques malveillantes, notamment les suivantes:
- attaques de l’homme du milieu
- attaques par déni de service
- détournement de session
Histoire et avenir de l’ARP
L’ARP a été proposé et discuté pour la première fois dans Request for Comments (RFC) 826, publié en novembre 1982 par David C. Plummer. Le problème de la résolution des adresses était immédiatement évident dans les premiers jours de la suite IP, car Ethernet est rapidement devenu la technologie LAN préférée, mais les câbles Ethernet nécessitaient des adresses 48 bits.
Les adresses IPv6, qui sont de 128 bits, utilisent le protocole de découverte voisin pour acquérir des informations de configuration au lieu d’ARP. Alors que les adresses IPv4 sont actuellement plus courantes, l’utilisation d’IPv6 augmente. Cette augmentation est en grande partie due à l’afflux d’appareils IoT nécessitant des adresses IP. La découverte de voisins fonctionne dans la couche 2 du modèle OSI et utilise le protocole ICMP (Internet Control Message Protocol) version 6 pour découvrir les nœuds voisins.