Votre ordinateur possède deux adresses sur Internet : une adresse physique permanente ou adresse MAC (Media Access Control) et une adresse IP (Internet Protocol) logique. Mais comme de nombreux ordinateurs changent d’adresse IP en permanence, comment les réseaux peuvent-ils associer plusieurs IP à une seule adresse MAC ?
C’est là qu’intervient le protocole ARP (Adress Resolution Protocol), connu officiellement sous le nom de protocole de résolution d’adresse.
Le travail d’ARP consiste à traduire l’adresse MAC d’un ordinateur en adresse(s) IP – une fonction plutôt utile pour tout réseau. Toutefois, malgré son utilité, le protocole ARP peut également présenter plusieurs risques de sécurité, notamment ceux d’intercepter des données potentiellement sensibles.
Mais comment tout cela fonctionne-t-il ?
Dans cet article, nous allons définir le protocole ARP, le comparer à d’autres protocoles réseau similaires, explorer ses différents types et cas d’utilisation, ainsi que les risques liés à son utilisation dans votre réseau. Poursuivez votre lecture pour en savoir plus sur ce protocole réseau courant – et parfois risqué.
Qu’est-ce que le protocole ARP ?
Le protocole de résolution d’adresse ou ARP est un moyen courant pour les réseaux de traduire (ou résoudre) l’adresse IP d’un ordinateur en son adresse de machine physique.
Comme ces deux adresses diffèrent en longueur et en format, ARP est essentiel pour permettre aux ordinateurs et autres périphériques de communiquer sur un réseau. Pour vraiment comprendre pourquoi c’est important, cependant, faisons un rapide rappel sur ces deux types d’adresses et comment ils sont liés à nos modèles de réseaux quotidiens.
Adresses IP et MAC
Votre ordinateur, votre smartphone et d’autres appareils connectés ont deux adresses sur Internet : une adresse IP et une adresse MAC.
Mais pourquoi avoir deux adresses distinctes pour un seul appareil ?
Imaginez un instant que votre ordinateur soit un mobile home. Lorsque le mobile home sort de la chaine de fabrication, il peut avoir un numéro de série (ou un autre identifiant unique) qui le sépare de tous les autres mobiles homes. En d’autres termes, le mobile home peut être identifié par son numéro de série.
Supposons maintenant que vous garez le mobile home dans votre quartier. Selon le terrain où vous l’avez garé, le mobile home se verra attribuer une adresse de rue – disons « 27 Kinsta Lane ». Si votre mobile home est garé dans ce même lot, son adresse de rue restera 27 Kinsta Lane. Cependant, vous pouvez tout aussi bien le déplacer sur la route pour lui donner une nouvelle adresse, par exemple « 93 Kinsta Lane ».
Remarquez ici que le fait de garer votre mobile home lui donne deux formes d’identification : son numéro de série et son adresse de rue. Ici, l’adresse municipale indique à tout le monde où se trouve le mobile home par rapport au reste du monde, tandis que le numéro de série distingue le mobile home des autres mobiles homes qui pourraient se trouver sur le même terrain.
Les adresses IP et MAC de votre ordinateur servent exactement les mêmes objectifs, à ceci près que le quartier de notre exemple est désormais un réseau local.
Ici, l’adresse MAC de votre ordinateur est son identifiant physique unique sur un réseau – tout comme le numéro de série de votre mobile home était son identifiant physique unique. À cet effet, l’adresse MAC est souvent appelée adresse physique ou adresse matérielle. Tout comme un numéro de série, vous ne pouvez pas modifier l’adresse MAC de votre ordinateur.
De son côté, l’adresse IP de votre ordinateur est son « adresse postale » sur le réseau. Lorsqu’un ordinateur se connecte à un réseau, une adresse IP lui est attribuée, tout comme un mobile home se voit attribuer une adresse municipale une fois qu’elle est garée dans un parking.
Cependant, si l’ordinateur se déconnecte du réseau, il perd l’adresse IP, tout comme le fait de retirer un mobile home d’un parking le dissocie de son adresse de rue. Se reconnecter au réseau revient également à garer le mobile home ailleurs, où l’ordinateur se verra attribuer une nouvelle adresse IP, tout comme le mobile home se verrait attribuer une nouvelle adresse de rue.
Bien sûr, les adresses IP et MAC sont toujours très différentes des adresses de rue et des numéros de série.
Alors qu’un postier peut distribuer du courrier à un mobile home sans connaitre son numéro de série, l’équivalent Internet – le protocole Internet ou IP – a besoin des deux adresses pour distribuer du courrier ou des paquets au bon ordinateur.
En bref, les adresses MAC et les adresses IP identifient les appareils sur un réseau de différentes manières. Voici quelques-unes des principales différences entre les deux :
- Adresses de couches différentes. Les adresses MAC et IP fonctionnent sur différentes couches du modèle OSI (Open Systems Interconnection), qui décrit les différentes étapes par lesquelles passent les données lorsqu’elles sont envoyées entre ordinateurs. Sans entrer dans les détails, les adresses MAC fonctionnent sur la couche liaison de données (ou couche 2), qui traduit directement les signaux électriques envoyés sur un câble en données logiques. Les adresses IP fonctionnent une couche plus haut, sur la couche Réseau (ou couche 3), qui gère l’adressage et le routage sur le réseau – presque comme si vous écriviez une adresse sur une enveloppe.
- Portée locale ou mondiale. Les adresses MAC sont utilisées pour identifier différents appareils à une échelle « locale », comme différents ordinateurs partageant un réseau dans un immeuble de bureaux. Les adresses IP fonctionnent de manière plus globale, en contrôlant la manière dont les appareils à travers l’Internet se localisent et communiquent entre eux.
- Différents formats d’adresses. Puisque les adresses MAC et IP travaillent sur des couches différentes et font des choses différentes, elles ont également des formats différents. Une adresse MAC a un format semblable à un numéro de série de 12 chiffres regroupés par paires et séparés par des traits d’union ou des deux points (00:00:00:00:00:00), tandis qu’une adresse IPv4 typique est une adresse de 32 bits (bit signifiant chiffre binaire) regroupée en quatre nombres décimaux (000.000.000.0000). Bien que vous n’ayez pas besoin de connaitre les détails pour l’instant, notez que l’association de ces deux formats d’adresse est la principale fonction du protocole ARP.
- Les adresses MAC sont permanentes. Les adresses MAC sont attribuées à un appareil par le fabricant dès sa construction. Cette adresse est essentiellement « intégrée » au matériel réseau de l’appareil, ce qui la rend permanente et inchangeable – tout comme le numéro de série de notre mobile home de tout à l’heure. Les adresses IP sont temporaires et sont attribuées chaque fois que le périphérique se connecte à un réseau. Par conséquent, les appareils peuvent avoir un nombre illimité d’adresses IP différentes au cours de leur vie.
- Physique vs. logique. Par extension de ce qui précède, une adresse MAC est également appelée adresse physique ou adresse matérielle, tandis que les adresses IP sont parfois (mais pas aussi couramment) appelées adresses logiques.
- Attribuées à des moments différents. Comme mentionné précédemment, les adresses MAC sont attribuées une fois au moment de la fabrication. Les adresses IP peuvent ensuite être attribuées un nombre illimité de fois, aussi souvent que l’appareil se connecte à un réseau.
Alors, où intervient le protocole ARP ?
Puisque chaque ordinateur possède les deux adresses, il doit y avoir un moyen d’associer l’une à l’autre afin que les paquets soient livrés au bon endroit. Cela nous amène à la fonction principale du protocole ARP : relier l’adresse MAC d’un périphérique à son adresse IP, qui change constamment, et vice versa.
Voyons de plus près comment cela fonctionne exactement.
Comment fonctionne le protocole ARP ?
Maintenant que nous avons répondu à la question « Qu’est-ce qu’ARP ? », comprenons comment il fonctionne. ARP maintient une liste actualisée des adresses MAC et de leurs adresses IP associées. Cette liste est généralement maintenue par une passerelle ou un routeur – essentiellement, tout commutateur réseau responsable de la gestion du flux de données entre les réseaux et les périphériques.
Pour donner un sens à tout cela, regardons le schéma ci-dessous.
Ici, l’ordinateur « HOST » sur la gauche essaie d’envoyer quelque chose à l’ordinateur sur la droite avec l’adresse IP 34.40.21.20. Pour réussir à envoyer des données à cet ordinateur, l’ordinateur HOST a besoin de son adresse IP et de son adresse MAC.
Heureusement, l’ordinateur HOST possède déjà l’adresse IP de l’ordinateur. Il ne lui manque plus que l’adresse MAC de l’ordinateur, et c’est là que le protocole ARP entre en jeu.
Les appareils et les commutateurs connectés au réseau (dans ce cas, un routeur) maintiennent une liste de traductions d’adresses IP vers MAC connues sur leurs systèmes d’exploitation. Cette liste est connue sous le nom de cache ARP ou de table ARP, qui nécessite des mises à jour constantes pour suivre l’évolution constante des adresses IP.
Lorsqu’un ordinateur veut envoyer quelque chose à une adresse IP spécifique, il vérifie d’abord son cache ARP pour voir s’il existe une adresse MAC correspondante. S’il ne l’a pas, il envoie des paquets de requête pour l’adresse MAC.
Illustrons ce processus à l’aide des deux ordinateurs du schéma :
- L’ordinateur HOST vérifie son cache ARP pour voir s’il connait déjà l’adresse MAC de 34.40.21.20. Si c’est le cas, il a tout ce dont il a besoin et envoie le message.
- L’ordinateur HOST envoie une requête pour l’adresse MAC de 34.40.21.20.
- Le routeur reçoit la demande d’adresses réseau de l’ordinateur HOST et utilise ARP pour tenter de localiser l’adresse MAC.
- ARP essaie de référencer le cache ARP existant du routeur, et si l’adresse MAC ne peut pas être trouvée, il envoie une requête à 34.40.21.20.
- 34.40.21.20 renvoie son adresse MAC (A5:22:98:5C:24:93) au routeur.
- Le routeur met à jour son cache ARP et renvoie l’adresse MAC de 34.40.21.20 à l’ordinateur HÔTE, complétant ainsi la requête.
- L’ordinateur HÔTE envoie quelque chose à 34.40.21.20.
Bien qu’il ne s’agisse que d’un exemple de base, il devrait vous donner une idée de la fonction principale du protocole ARP.
Une autre fonction essentielle du protocole ARP consiste à maintenir (et à purger) les traductions IP vers MAC dans le cache ARP. Garder le cache ARP relativement clair n’est pas seulement nécessaire pour obtenir les dernières informations ; cela permet également d’éliminer les adresses inexactes ou inutilisées. Comme nous le verrons plus tard, la purge des traductions est également nécessaire pour éviter que les adresses IP ne tombent entre de mauvaises mains.
Les entrées d’un cache ARP peuvent également être dynamiques ou statiques. Les entrées dynamiques sont celles qui sont alimentées automatiquement de la manière que nous avons déjà décrite. Toutefois, les utilisateurs peuvent également spécifier manuellement les entrées statiques qu’ils souhaitent conserver en permanence. Ceci est utile pour les périphériques réseau persistants avec des adresses IP fixes (c’est-à-dire statiques).
ARP vs DHCP vs DNS : Quelle est la différence ?
Si vous êtes un tant soit peu familier avec les réseaux, vous avez probablement entendu parler du protocole de configuration dynamique des hôtes (DHCP) et/ou du système de noms de domaine (DNS). Si c’est le cas, vous vous demandez peut-être comment le protocole ARP en réseau diffère de ces protocoles similaires.
- DHCP vs ARP : ARP existe en grande partie parce que les adresses IP sont toujours modifiées et réaffectées sur un réseau. DHCP est responsable de ce changement constant, étant le protocole qui configure une adresse IP dynamique pour les hôtes – d’où le nom de protocole de configuration dynamique des hôtes. Le DHCP permet également d’éviter les conflits tels que l’attribution de la même adresse IP à plusieurs ordinateurs.
- DNS vs ARP : Là où ARP associe les adresses IP et MAC, DNS associe les adresses IP et les noms de domaine (comme « kinsta.com »). Tous les sites web s’appuient sur l’hébergement web pour héberger leurs pages web, leurs images et tout ce qui les compose. Comme tout autre périphérique réseau, les serveurs d’hébergement web ont une adresse IP. Grâce au DNS, cependant, vous n’avez pas besoin de saisir l’adresse IP d’un hôte pour accéder à un site web. Au lieu de cela, il vous suffit de saisir une URL comme « www.example.com », et le serveur DNS va chercher l’adresse IP correspondante pour que votre navigateur web puisse demander et servir les pages de l’hôte web.
Utilisations et types d’ARP
Bien que le protocole ARP puisse sembler être un gros processus monolithique, il peut être mis en œuvre de nombreuses manières différentes.
Lorsque l’on explique ce qu’est le protocole ARP, il existe quatre types particuliers : le proxy ARP, le gratuit ARP, le reverse ARP (RARP) et l’inverse ARP (IARP). Chaque type présente des cas d’utilisation différents et, dans certains cas, des avantages et des inconvénients distincts.
Qu’est-ce que le Proxy ARP ?
Un proxy ARP est le cas où un commutateur configuré en ARP (tel qu’un routeur) traite les demandes ARP (c’est-à-dire les demandes d’adresses MAC) provenant de périphériques/hôtes situés en dehors de son réseau immédiat. Le commutateur envoie sa propre adresse MAC en réponse, servant effectivement de « représentant » de chaque hôte de son réseau.
Pour clarifier, regardons de plus près le diagramme ci-dessus. Ici, le routeur vert au milieu dessert deux réseaux locaux distincts : 10.0.0.0/24 et 10.0.4.0/24.
Disons que l’hôte B veut envoyer un message à l’hôte D. Alors que cela ne poserait aucun problème si l’hôte D se trouvait sur le même réseau local (comme l’hôte A), il se trouve malheureusement sur un réseau différent. Par conséquent, l’hôte B se retrouve dans une situation délicate : comment peut-il obtenir l’adresse MAC de l’hôte D ?
Heureusement, le routeur vient à la rescousse. Lorsque l’hôte B envoie un message de demande ARP au routeur, ce dernier intervient et fournit sa propre adresse MAC en réponse. Avec l’adresse MAC du routeur en main, l’hôte B envoie son message au routeur, qui agit maintenant littéralement comme un « proxy » pour l’hôte B. Le routeur envoie ensuite le message de l’hôte B à l’hôte D, le destinataire prévu.
Comme vous pouvez l’imaginer, le proxy ARP est extrêmement courant dans les réseaux informatiques, avec des utilisations typiques comme les connexions VPN et les pare-feu.
Toutefois, le proxy ARP présente certains inconvénients, dont la plupart découlent de configurations incorrectes. L’un de ces inconvénients est le risque accru d’envoyer des messages au mauvais endroit, car les appareils situés en dehors du réseau peuvent ne pas être conscients des configurations incorrectes lorsqu’ils n’ont affaire qu’à un proxy ARP. Les ARP proxy peuvent également servir de vecteurs pour des attaques par déni de service (DoS), que nous explorerons un peu plus tard.
Qu’est-ce qu’un ARP gratuit ?
Un ARP gratuit est une réponse ARP qui n’a pas été demandée auparavant. En d’autres termes, le ARP gratuit est gratuit dans l’envoi des réponses ARP, diffusant effectivement sa traduction IP vers MAC à chaque hôte/appareil du réseau. C’est presque comme si quelqu’un envoyait un « e-mail groupé » pour faire savoir à tout le monde qu’il a mis à jour ses coordonnées.
L’ARP gratuit a plusieurs applications utiles. Tout d’abord, il est essentiel pour mettre à jour les caches et le mappage ARP, notamment lorsqu’un nouveau périphérique ou nœud rejoint le réseau. Dans le cas d’un nouveau périphérique, le protocole ARP gratuit évite d’envoyer et de répondre à des requêtes ARP individuelles à tous les autres périphériques du réseau local.
Assurer la redondance est une autre utilisation importante du protocole ARP gratuit. Par exemple, certains réseaux redondants peuvent utiliser deux routeurs ou plus avec la même adresse IP. Lorsqu’un de ces routeurs tombe en panne, le routeur « survivant » envoie un ARP gratuit pour informer le réseau de l’endroit où envoyer les messages.
Qu’est-ce que le ARP inverse (RARP) ?
Le protocole ARP inversé (RARP) fait exactement ce que son nom suggère. Il envoie une adresse IP au lieu d’une adresse MAC.
Mais pourquoi faire cela ? Les adresses IP ne sont-elles pas déjà connues des hôtes sur un réseau ?
Pas toujours. Aussi improbable que cela puisse paraitre, certains hôtes ne connaissent même pas leur propre adresse IP. Cela est souvent dû au fait qu’un hôte n’a tout simplement pas la mémoire ou l’espace nécessaire pour stocker ses informations IP, ce qui rend une requête RARP nécessaire pour communiquer. N’oubliez pas que seules les adresses MAC sont attribuées de manière permanente – et, par conséquent, les hôtes peuvent ne rien savoir d’autre que leur adresse MAC !
Qu’est-ce que le protocole ARP inverse (IARP ou InARP) ?
Comme RARP, ARP inverse (abrégé en IARP ou InARP) envoie également des adresses IP au lieu des adresses MAC. Cependant, contrairement au RARP, le ARP inverse fonctionne exactement de la même manière que le ARP traditionnel, à ceci près qu’il traduit les adresses MAC en adresses IP plutôt que les adresses IP en adresses MAC.
IARP est particulièrement utile pour les adresses IP qui changent constamment (merci encore au DHCP). Ici, un hôte peut connaitre l’adresse MAC d’un autre hôte ou routeur dont l’adresse IP a changé depuis. Avec seulement l’adresse MAC en main, IARP est nécessaire pour que l’hôte obtienne la nouvelle adresse IP et envoie son message.
Qu’est-ce que l’ARP Spoofing ?
Également connu sous le nom ARP Poisoning, l’ARP Spoofing consiste pour les pirates à envoyer de faux messages ARP à un réseau cible dans le but d’associer leur propre adresse MAC à une adresse IP légitime sur le réseau.
En cas de succès, les messages destinés à l’ordinateur possédant l’adresse IP légitime seront envoyés au pirate à la place. Cela permet au pirate de lancer plusieurs autres types de cyberattaques, notamment :
Man in The Middle (MTM)
Une attaque de type man-in-the-middle (MTM) consiste pour un pirate à « écouter » le trafic réseau, interceptant potentiellement des données précieuses telles que des mots de passe, des informations bancaires, etc. Dans le cas des attaques par spoofing ARP, les pirates utilisent des messages ARP frauduleux pour rediriger le trafic réseau à travers leurs ordinateurs, le transmettant souvent au destinataire prévu pour faire croire que rien ne s’est passé.
Détournement de session
Le détournement de session consiste pour un pirate à voler et à s’approprier l’ID de session d’un utilisateur, un type de données particulier qui autorise les utilisateurs à effectuer certaines actions sur des sites Web. Souvent distribués par les sites web sous la forme de cookies, les ID de session permettent aux utilisateurs de rester connectés ou d’accéder aux paniers d’achat sauvegardés.
En redirigeant le trafic par le biais de l’usurpation ARP, les pirates peuvent facilement accéder aux ID de session et se faire passer pour l’utilisateur. Cela signifie qu’ils pourront faire tout ce que l’utilisateur est autorisé à faire, comme accéder aux comptes bancaires connectés.
Déni de service (DoS)
Une attaque par déni de service (DoS) ou déni de service distribué (DDoS) peut prendre deux formes : un pirate bloque les messages vers un hôte ou un pirate submerge un hôte avec trop de messages. Cette dernière forme est plus souvent le cas.
Dans les deux cas, cependant, l’usurpation ARP est ce qui permet aux pirates de bloquer ou de transmettre des messages en masse. En interceptant le trafic réseau régulier, le pirate peut bloquer les messages à leurs destinataires ou les rediriger vers une seule cible.
Résumé
Nous avons fourni ici une réponse approfondie à la question « Qu’est-ce que ARP ? » – l’un des protocoles les plus courants et les plus utiles dans les réseaux informatiques. Grâce à ARP, les ordinateurs et les périphériques réseau peuvent associer des adresses MAC physiques à des adresses IP en constante évolution, permettant ainsi la communication facile dont nous bénéficions aujourd’hui.
Toutefois, même le protocole ARP le mieux intentionné peut entrainer des failles de sécurité et des cyberattaques. Avec des fonctions de sécurité telles que la protection DDoS, l’hébergement WordPress infogéré de Kinsta peut aider à se protéger contre de nombreuses cyberattaques liées à l’usurpation ARP.