Qu'est-ce que l'ARP (protocole de résolution d'adresse) ?

Vous connaissez peut-être le concept des adresses IP. Chaque ordinateur d'un réseau en possède au moins un. Lors de la communication entre réseaux, ces adresses IP identifient de manière unique la source et la destination du trafic réseau afin qu'il puisse être acheminé et traité de manière fiable. Lors de la communication avec un appareil sur le même réseau, un ordinateur n'utilise pas directement l'adresse IP. Au lieu de cela, il traduit cette adresse IP en une adresse MAC. ARP est le protocole permettant de gérer les traductions IP vers MAC et de les communiquer sur le réseau.

ARP signifie protocole de résolution d'adresse. Il s'agit d'un protocole sans état qui comporte des composants de diffusion et de demande-réponse. ARP est principalement utilisé dans les réseaux IPv4, bien que d'autres systèmes de mise en réseau l'utilisent également. Les réseaux IPv6 implémentent la fonctionnalité ARP et certaines fonctionnalités supplémentaires avec NDP. Ou Protocole de découverte de voisin.

Les adresses MAC qui ont été identifiées sont stockées dans une table ARP sur chaque appareil. Chaque entrée de la table ARP expire régulièrement. Mais peut être mis à jour passivement lorsque le trafic ARP est diffusé sur le réseau, minimisant ainsi la quantité totale de trafic ARP nécessaire.

Sonde ARP et réponse

Si un ordinateur doit transmettre un paquet réseau, il regarde l'adresse IP de destination. Il sait qu'il doit l'envoyer au routeur pour les appareils d'un réseau différent. Cela peut alors diriger le paquet vers le bon réseau. Si le paquet est destiné à un périphérique sur le réseau local, l'ordinateur doit connaître l'adresse MAC correcte à laquelle l'envoyer.

En tant que premier port d'escale, l'ordinateur vérifiera sa table ARP. Cela devrait avoir une liste de tous les périphériques connus sur le réseau local. Si l'adresse IP et MAC cible sont là, il utilisera la table ARP pour compléter et envoyer le paquet. Si l'adresse IP n'a pas d'entrée dans la table ARP, l'ordinateur doit le découvrir via une sonde ARP.

L'ordinateur diffuse une sonde ARP sur le réseau demandant "qui a " avec remplacé l'adresse IP correspondante. Chaque appareil du réseau verra ce message car il s'agit d'une diffusion. La plupart l'ignoreront car il ne leur est pas destiné. Mais l'appareil qui a cette adresse IP répondra avec un autre message de diffusion disant " appartient à " à nouveau avec et remplacés par leurs valeurs respectives. L'ordinateur d'origine mettra alors à jour sa table ARP et enverra le paquet au destinataire prévu.

Noter: La réponse de la sonde ARP est également une diffusion. Cela permet à tous les autres périphériques réseau de mettre à jour leurs tables ARP sans les obliger à créer des sondes ARP identiques. Cela permet de minimiser le trafic ARP.

Sonde ARP sur connexion

Lorsqu'un ordinateur se connecte à un réseau, il doit obtenir une adresse IP. Cela peut être spécifié manuellement mais est généralement alloué dynamiquement par un DHCP (Protocole de contrôle dynamique de l'hôte) serveur. Le serveur DHCP est généralement une fonction du routeur réseau mais peut être exécuté par un périphérique séparé. Une fois qu'un nouvel appareil a une adresse IP, soit par configuration manuelle, soit par DHCP. L'appareil doit rapidement vérifier qu'aucun autre appareil n'utilise déjà cette adresse IP.

Pour ce faire, l'appareil diffuse un paquet de sonde ARP, demandant à tout appareil utilisant sa nouvelle adresse IP d'y répondre. La réponse attendue est le silence. Aucun autre appareil ne doit réagir, en particulier dans un réseau DHCP. Après de courts délais, l'appareil diffusera à nouveau le même message plusieurs fois. Cette répétition aide dans les cas où un paquet peut avoir été abandonné sur le chemin vers ou depuis un périphérique avec une adresse IP en conflit. Une fois qu'il n'y a pas eu de réponse à quelques sondes ARP, l'appareil peut commencer à utiliser sa nouvelle adresse IP. Pour ce faire, il doit envoyer un ARP gratuit.

ARP gratuit

Une fois qu'un appareil a déterminé que l'adresse IP qu'il souhaite utiliser n'est pas utilisée, il envoie un ARP gratuit. Il s'agit simplement de diffuser sur le réseau " a .” Ceci est généralement formaté comme s'il s'agissait d'une réponse à une sonde ARP standard, juste sans qu'une sonde ARP ne le demande jamais, d'où le nom "ARP gratuit".

Des requêtes ARP gratuites sont également régulièrement envoyées au réseau, tout comme des rappels à tous les autres appareils indiquant que l'ordinateur est toujours connecté, en ligne et possède son adresse IP.

Usurpation ARP

ARP est un protocole sans état, il n'y a pas de connexion et tous les messages sont diffusés sur le réseau dans son ensemble. Tous les périphériques écoutent et mettent en cache les réponses ARP dans leurs tables ARP. Ceci, cependant, conduit à une vulnérabilité dans le système. En supposant qu'un attaquant puisse se connecter physiquement au réseau, il peut exécuter un logiciel qui diffuse de manière malveillante des paquets de réponse ARP gratuits incorrects. Chaque appareil du réseau verra les paquets ARP malveillants, leur fera implicitement confiance et mettra à jour leurs tables de routage. Ces tables ARP désormais incorrectes sont appelées « empoisonnées ».

Cela pourrait simplement être utilisé pour causer des problèmes de réseau en dirigeant le trafic dans la mauvaise direction. Il y a un pire scénario, cependant. Si l'attaquant usurpe les paquets ARP pour l'adresse IP du routeur et les pointe vers son propre appareil, il recevra et pourra voir tout le trafic réseau. En supposant que l'appareil dispose d'une autre connexion réseau pour transférer le trafic, il peut prendre un homme au milieu (MitM) position. Cela permet à l'attaquant d'effectuer des attaques malveillantes telles que la suppression HTTPS, lui permettant potentiellement de voir et de modifier tout le trafic réseau.

Noter: Il existe certaines protections contre les attaques MitM. L'attaquant ne serait pas en mesure de dupliquer le certificat HTTPS d'un site Web. Tout utilisateur dont le trafic est intercepté devrait recevoir des erreurs de certificat de navigateur.

Il existe cependant de nombreuses communications essentielles et non cryptées, notamment sur un réseau interne. Ce n'est pas tellement le cas sur un réseau domestique. Pourtant, les réseaux d'entreprise construits sur Windows sont particulièrement vulnérables aux attaques d'usurpation ARP.

L'empoisonnement ARP permet les attaques MitM - Source: Wikipédia

Conclusion

ARP signifie protocole de résolution d'adresse. Il est utilisé dans les réseaux IPv4 pour traduire les adresses IP en adresses MAC, comme cela est nécessaire dans les réseaux locaux. Il consiste en des diffusions de demande et de réponse sans état. Les réponses, ou leur absence, permettent à un appareil de déterminer quelle adresse MAC est associée à une adresse IP ou si une adresse IP est inutilisée. Les appareils mettent en cache les réponses ARP pour mettre à jour leurs tables ARP.

Les appareils peuvent également diffuser régulièrement des annonces gratuites indiquant que leur adresse MAC est associée à leur adresse IP. L'absence de mécanisme d'authentification permet à un utilisateur malveillant de diffuser de faux paquets ARP pour empoisonner les tables ARP et diriger le trafic vers lui-même pour effectuer une analyse du trafic ou des attaques MitM.