Address Resolution Protocol


modèle OSI              pile de protocoles                
7 - couche application HTTP, SMTP, FTP, SSH, IRC, SNMP, SIP ...
4 - couche de transport TCP, UDP, SCTP, RTP, DCCP ...
3 - couche réseau IPv4, IPv6, ARP, IPX ...
2 - couche de liaison Ethernet, 802.11 WiFi, Token ring, FDDI, ...
1 - couche physique RS-232, RS-449, ...

L'Address resolution protocol, également connu sous le nom d'ARP, est un terme anglais désignant un protocole effectuant la traduction d'une adresse de protocole de couche réseau (typiquement une adresse IP) en une adresse ethernet (typiquement une adresse MAC), ou même de tout matériel de couche de transport.

Il a été défini dans la RFC 826 : An Ethernet Address Resolution Protocol.

Sommaire

Scénario typique de l'utilisation d'ARP

  1. L'adresse IP est présente dans le cache de l'émetteur, il suffit de lire l'adresse MAC correspondante pour envoyer la trame ethernet. L'utilisation d'ARP s'arrête ici dans ce cas ;
  2. L'adresse IP est absente du cache de l'émetteur. Dans ce cas, cet ordinateur va placer son émission en attente et effectuer une requête ARP en broadcast. Cette requête est de type « quelle est l'adresse MAC correspondant à l'adresse IPadresseIP ? Répondez à adresseMAC ».

Il suffit donc d'un broadcast et d'un unicast pour créer une entrée dans le cache ARP de deux ordinateurs.

Sécurité du protocole ARP

Le protocole ARP est vulnérable à des attaques locales reposant principalement sur l'envoi de messages ARP erronés à un ou plusieurs ordinateurs. Elles sont regroupées sous l'appellation « Pollution de cache ARP » (« ARP cache poisoning » en anglais). La vulnérabilité d'un ordinateur à la Pollution de cache ARP dépend de l'implémentation du protocole ARP par son système d'exploitation.

Typiquement une attaque de ce genre consiste à envoyer un paquet « arp who as » à une machine A. Ce paquet spécialement forgé contiendra, en adresse IP source, l'adresse IP du poste dont nous voulons usurper l'identité (B) (spoofing IP) et l'adresse MAC de notre carte réseaux. Le destinataire (C) va ainsi créer une entrée associant notre adresse MAC à l'adresse IP du poste B. En effet, si nous demandons l'adresse MAC d'un poste, il y a de forte chance que ce soit pour communiquer avec ce dernier, et donc, qu'il ait à nous répondre dans le futur. Le destinataire de l'"arp who as" utilise notre paquet pour créer une entrée dans sa table MAC. Ceci est une faiblesse connue de l'implémentation d'ARP et permet de corrompre facilement un cache ARP distant.

Ces attaques peuvent provoquer une écoute des communications entre deux machines (MIM ou Man in the Middle), le vol de connexion, une surcharge des commutateurs servant de structure au réseau informatique ou un déni de service (il suffit de faire une attaque de type MIM puis de refuser les packets).

Pour lutter contre ce type d'attaques, il est possible :

Un cas d'école à la limite du bizutage

Deux PC sont connectés à un réseau. L'un fonctionne très bien, l'autre ne peut communiquer avec aucun domaine malgré un paramétrage réseau sans défaut. Premier diagnostic imaginable : panne du DNS.

Toutefois, une vérification de l'adresse MAC du DNS dans le cache ne donne pas les même résultat sur ces deux PC ! Second diagnostic imaginable : un pirate vient de prendre l'adresse IP du DNS (pratique courante, accompagnée en général d'un denial of service simultané sur l'adresse MAC du vrai serveur DNS). Pourquoi le premier PC n'en est-il pas affecté ? Parce que l'adresse MAC de l'ancien DNS est toujours dans son cache et que lui ne voit donc pas le faux DNS pirate.

Un examen de l'adresse MAC montre que l'adaptateur du pirate est fabriqué par un constructeur qui ne fait que des adaptateurs PCMCIA pour portables. L'hypothèse du pirate semble se confirmer et la certitude qu'il a un portable réduit le nombre de coupables possibles.

Des essais de ping du DNS depuis différents endroits du bâtiment suggèrent que le pirate se trouve dans l'aile Nord. En effet, le serveur DNS est au centre et des pings effectués depuis les trois autres ailes donnent, eux, l'adresse du bon DNS.

Un nouveau venu équipé en effet d'un portable est rapidement localisé à l'étage. Vérification d'identité et de paramétrage faites, il s'agit simplement d'un jeune commercial qui s'est trompé en paramétrant son réseau et a rentré l'adresse IP du DNS qui lui avait été fournie... dans le champ qui était réservé à sa propre adresse IP ! Davantage de peur que de mal, donc; et une journée comme les autres dans la vie d'un responsable réseau (qui rédigera plus clairement sa documentation la prochaine fois).

Liens externes

See also: Address Resolution Protocol, Adresse IP, Adresse MAC, Broadcast, Cache ARP, Communication, Commutateur, Couche application, Couche de liaison