Citation :
Sécurité passive
Il s'agit de mesures visant à empêcher l'ARP cache poisoning, en figeant l'association IP/MAC sur les OS (utilisation des entrées statiques des tables ARP). Ceci est lourd et pratiquement inexploitable à grande échelle. Qui plus est, certains OS gèrent mal ces entrées statiques qui peuvent être alors corrompues. C'est le cas des Windows 9x, NT et 2000 (XP a corrigé le problème). Ces OS sont donc fondamentalement vulnérables à ce type d'attaque et font profiter de leur faiblesse les logiciels (firewall, proxy, serveurs web...) qui leur sont dédiés.
Le verrouillage IP/MAC peut également être pris en charge au niveau applicatif. Par exemple, certains firewalls (dont iptables) sont capables de contrôler l'association IP/MAC des paquets entrants. L'utilisation de commutateurs de niveau 3, capables de gérer l'association MAC/IP/port est également une solution au problème.
Sécurité active
Lorsqu'il n'est pas réaliste de verrouiller les entrées ARP de chaque machine, il est possible de mettre en oeuvre une solution de détection centralisée, qui agit comme une sonde de détection. Certaines sondes sont d'ailleurs capables de détecter des paquets ARP anormaux, susceptibles de signifier un ARP cache poisoning. Cependant, cette attaque étant réalisable avec des paquets normaux, la sonde n'a que peu d'intérêt. L'utilisation de logiciels comme arpwatch permet de centraliser les associations MAC/IP, et de contrôler en temps réel les messages ARP pour vérifier qu'un poisoning n'est pas en cours. Des alertes sont alors générées en cas de divergence. Il pourrait même être envisagé un système de contre mesure consistant à repositionner la bonne association MAC/IP sur une machine venant de se faire poisoner. Ce repositionnement pourrait s'effectuer par le même processus que celui qui a permis l'attaque : par ARP cache poisoning !
|