Sécurité du protocole ARP    Enregistrer au format PDF


par Sphix

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-has » à la machine d’Alice. Ce paquet spécialement forgé contiendra, en adresse IP source, l’adresse IP de la machine de Bob dont nous voulons usurper l’identité (spoofing IP) et l’adresse MAC de la carte réseaux de notre machine Mallory. La machine d’Alice va ainsi créer une entrée associant notre adresse MAC à l’adresse IP de la machine de Bob. Alice, destinataire de l’« arp who-has », utilise notre paquet pour créer une entrée dans sa table MAC. Si Alice veut communiquer avec Bob au niveau IP, c’est notre poste qui recevra les trames de Alice puisque notre adresse MAC est enregistré dans le cache empoisonné de Alice comme équivalence pour l’IP du poste Bob. 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 :

De mettre en place des entrées statiques dans le cache ARP de chaque machine du réseau (commande arp -s). Ceci n’est applicable qu’à un faible nombre de machines (privilégier les plus critiques, comme les serveurs et les passerelles) à moins de souhaiter y passer ses jours et ses nuits (Attention cependant au fait que sur les Sytèmes d’Exploitation Microsoft Windows antérieurs à la version XP, une entrée statique peut être mise à jour, la seule différence est qu’elle n’expire pas.) ;

De limiter les adresses MAC sur chaque port (renseignement statique) des commutateurs s’ils le permettent (fonction Port Security). Les commutateurs de niveau 3 par exemple offrent la possibilité de paramétrer des associations port/MAC/IP statiques. Mais cela rend évidemment plus difficile la maintenance du parc.

De surveiller les messages ARP circulant sur réseau informatique, à l’aide d’outils de surveillance tels qu’ARPwatch (outil du Network Research Group (NRG), the Information and Computing Sciences Division (ICSD), Lawrence Berkeley National Laboratory (LBNL) : http://www-nrg.ee.lbl.gov/ ), d’arpalert : http://www.arpalert.net/, ou, d’IDS (Systèmes de Détection d’Intrusion)

Il faut savoir que chaque entrée a une durée de vie (cela oblige d’ailleurs l’attaquant à corrompre régulièrement le cache de la victime) . Certains Systèmes d’exploitation comme Solaris permettent de modifier la valeur de ce temps d’expiration (commande ndd) - Une valeur courte rendra la corruption plus facilement visible.

Documentations publiées dans cette rubrique