1. À propos de l'ARP Spoofing
L'ARP Spoofing, également appelé ARP Poisoning ou empoisonnement ARP, est une technique consistant à falsifier les associations entre des adresses IPv4 et des adresses MAC au sein d'un réseau local.
Pour comprendre cette attaque, il faut rappeler le rôle du protocole ARP, pour Address Resolution Protocol. Dans un réseau local IPv4 utilisant Ethernet, ARP permet notamment de déterminer l'adresse MAC correspondant à une adresse IPv4 connue.
Association normale entre IP et MAC
Supposons qu'un ordinateur possède l'adresse IPv4 192.168.1.20 et l'adresse MAC 00:AA:BB:CC:DD:EE. Une association légitime peut alors être représentée ainsi :
| Adresse IPv4 | Adresse MAC | État |
|---|---|---|
| 192.168.1.20 | 00:AA:BB:CC:DD:EE | Association légitime |
Principe de la falsification
Lors d'un ARP Spoofing, un attaquant présent sur le réseau local cherche à faire accepter une association incorrecte. Une machine peut alors associer une adresse IPv4 connue à une adresse MAC qui n'est pas celle de l'équipement légitime.
| Adresse IPv4 | Adresse MAC attendue | Adresse MAC falsifiée |
|---|---|---|
| 192.168.1.1 | 10:20:30:40:50:60 | AA:BB:CC:DD:EE:FF |
Dans cet exemple pédagogique, 192.168.1.1 représente la passerelle. Si une machine accepte l'association falsifiée, certaines communications destinées à la passerelle peuvent être dirigées vers un autre équipement.
Pourquoi ARP est-il vulnérable ?
Le protocole ARP traditionnel a été conçu dans un contexte où les réseaux locaux étaient considérés comme relativement fiables. Il ne fournit pas à lui seul un mécanisme cryptographique permettant d'authentifier les associations IP/MAC annoncées.
Une machine peut donc, selon son système et son état, mettre à jour son cache ARP à partir d'informations reçues sur le réseau.
ARP Spoofing et IPv4
L'ARP Spoofing concerne les réseaux utilisant IPv4 et ARP. IPv6 n'utilise pas ARP : il emploie notamment le Neighbor Discovery Protocol basé sur ICMPv6.
2. Fonctionnement d'une attaque ARP Spoofing
Pour comprendre le mécanisme sans réaliser d'attaque, considérons un réseau local pédagogique composé de trois machines.
| Équipement | Adresse IPv4 | Adresse MAC |
|---|---|---|
| Passerelle | 192.168.1.1 | 10:20:30:40:50:60 |
| Victime | 192.168.1.20 | 00:AA:BB:CC:DD:EE |
| Machine malveillante | 192.168.1.50 | AA:BB:CC:DD:EE:FF |
Situation normale
Dans une situation normale, le cache ARP de la victime doit associer l'adresse IPv4 de la passerelle à sa véritable adresse MAC.
| Adresse IPv4 | Adresse MAC |
|---|---|
| 192.168.1.1 | 10:20:30:40:50:60 |
Introduction d'une fausse association
Lors d'un empoisonnement ARP, l'objectif de l'attaquant est de faire accepter à la victime une fausse correspondance IP/MAC. La victime peut alors croire que l'adresse IPv4 de la passerelle correspond à l'adresse MAC de la machine de l'attaquant.
| Adresse IPv4 | Adresse MAC enregistrée après falsification |
|---|---|
| 192.168.1.1 | AA:BB:CC:DD:EE:FF |
Redirection du trafic
Si la falsification réussit, certaines trames que la victime voulait transmettre à la passerelle peuvent être envoyées à l'adresse MAC de l'attaquant.
Selon le comportement de la machine intermédiaire, le trafic peut être retransmis vers sa destination légitime afin que la communication continue. Cette situation peut participer à la mise en place d'une attaque de type Man-in-the-Middle.
Empoisonnement dans les deux directions
Dans certains scénarios de type MITM, plusieurs équipements peuvent recevoir de fausses associations. L'objectif est alors de placer logiquement la machine malveillante sur le chemin de certaines communications locales.
Le principe général peut être résumé ainsi :
- La victime possède initialement une association IP/MAC correcte.
- Une fausse information ARP est introduite sur le réseau local.
- Une association incorrecte peut être enregistrée dans le cache ARP.
- Une partie du trafic peut être envoyée vers une mauvaise adresse MAC.
- Le trafic peut être intercepté, redirigé ou perturbé.
Cette description explique le fonctionnement conceptuel de l'attaque. Dans un laboratoire pédagogique, il est préférable de commencer par observer les échanges ARP avec Wireshark et de comparer les tables ARP avant d'étudier des scénarios de sécurité plus avancés.
3. Risques et conséquences de l'ARP Spoofing
Une falsification ARP réussie peut avoir plusieurs conséquences selon la topologie du réseau, les protocoles utilisés et les protections mises en place.
Interception du trafic
Lorsque la machine malveillante est placée sur le chemin des communications, elle peut tenter d'observer le trafic qui la traverse.
Cette situation montre pourquoi les protocoles applicatifs doivent utiliser un chiffrement de bout en bout approprié, notamment HTTPS pour les communications Web.
Man-in-the-Middle
Une attaque Man-in-the-Middle, souvent abrégée MITM, consiste à interposer un système entre plusieurs participants à une communication.
L'ARP Spoofing constitue l'une des techniques pouvant contribuer à réaliser un MITM dans certains réseaux locaux IPv4.
Vol d'informations non protégées
Lorsque des protocoles transmettent des informations sensibles sans chiffrement, une interception du trafic peut exposer ces données.
L'utilisation de HTTPS, SSH, de VPN correctement configurés et d'autres protocoles cryptographiques réduit considérablement les informations directement exploitables à partir d'une simple interception réseau.
Redirection des communications
Une falsification des associations ARP peut contribuer à rediriger certaines communications locales vers une machine qui n'était pas leur destination prévue.
Déni de service
Si le trafic est redirigé vers une machine qui ne le retransmet pas correctement, la communication peut être interrompue. L'ARP Spoofing peut donc également contribuer à certaines formes de déni de service local.
HTTPS limite-t-il les conséquences ?
HTTPS est particulièrement important face à ce type de menace. Même lorsqu'un attaquant parvient à observer les paquets circulant entre un navigateur et un serveur HTTPS correctement authentifié, le contenu applicatif est normalement protégé par TLS.
L'utilisateur doit cependant rester attentif aux avertissements concernant les certificats. Accepter un certificat non fiable sans comprendre la raison de l'alerte peut réduire les protections attendues.
ARP Spoofing et Wi-Fi
L'ARP Spoofing peut également concerner certains réseaux Wi-Fi IPv4 lorsque plusieurs clients appartiennent au même environnement local et peuvent communiquer entre eux. Des mécanismes comme l'isolation des clients peuvent limiter certaines interactions directes entre appareils selon la configuration du point d'accès.
4. Détecter l'ARP Spoofing avec Python
La détection peut notamment reposer sur la surveillance des changements d'associations entre adresses IPv4 et adresses MAC. Les exemples suivants utilisent uniquement des données fictives et sont destinés à l'apprentissage de la défense.
Comparer une association connue avec une nouvelle observation
Le programme suivant compare l'adresse MAC connue de la passerelle avec une nouvelle valeur observée. Un changement inattendu déclenche une alerte.
1 2 3 4 5 6 | mac_connue = "10:20:30:40:50:60" mac_observee = "AA:BB:CC:DD:EE:FF" if mac_connue == mac_observee: print("Association ARP normale") else: print("Alerte : association ARP modifiée") |
Sortie :
1 | Alerte : association ARP modifiée |
Cette alerte ne constitue pas automatiquement la preuve d'une attaque. Un remplacement de routeur, une modification de l'infrastructure ou certains mécanismes de haute disponibilité peuvent également modifier l'adresse MAC observée.
Comparer deux tables ARP
Le programme suivant compare une table de référence avec une nouvelle table observée. Il permet d'identifier les adresses IPv4 dont l'adresse MAC a changé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | table_reference = { "192.168.1.1": "10:20:30:40:50:60", "192.168.1.20": "00:AA:BB:CC:DD:EE" } table_actuelle = { "192.168.1.1": "AA:BB:CC:DD:EE:FF", "192.168.1.20": "00:AA:BB:CC:DD:EE" } for adresse_ip in table_reference: if adresse_ip in table_actuelle: if table_reference[adresse_ip] != table_actuelle[adresse_ip]: print("Changement détecté :", adresse_ip) print("Ancienne MAC :", table_reference[adresse_ip]) print("Nouvelle MAC :", table_actuelle[adresse_ip]) |
Sortie :
1 2 3 | Changement détecté : 192.168.1.1 Ancienne MAC : 10:20:30:40:50:60 Nouvelle MAC : AA:BB:CC:DD:EE:FF |
Rechercher une même adresse MAC associée à plusieurs IP
Le programme suivant recherche, dans des données pédagogiques, les cas où plusieurs adresses IPv4 sont associées à la même adresse MAC. Une telle situation peut être légitime dans certains environnements, mais elle peut également justifier une vérification.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | table_arp = { "192.168.1.1": "AA:BB:CC:DD:EE:FF", "192.168.1.20": "00:11:22:33:44:55", "192.168.1.50": "AA:BB:CC:DD:EE:FF" } mac_vers_ip = {} for adresse_ip, adresse_mac in table_arp.items(): if adresse_mac not in mac_vers_ip: mac_vers_ip[adresse_mac] = [] mac_vers_ip[adresse_mac].append(adresse_ip) for adresse_mac, adresses_ip in mac_vers_ip.items(): if len(adresses_ip) > 1: print("Adresse MAC à vérifier :", adresse_mac) print("Adresses IP :", adresses_ip) |
Sortie :
1 2 | Adresse MAC à vérifier : AA:BB:CC:DD:EE:FF Adresses IP : ['192.168.1.1', '192.168.1.50'] |
Créer un rapport de surveillance
Le programme suivant rassemble plusieurs observations fictives dans un rapport simple. Il montre comment des événements peuvent être regroupés avant une analyse par un administrateur réseau.
1 2 3 4 5 6 7 8 9 | rapport = { "passerelle": "192.168.1.1", "mac_attendue": "10:20:30:40:50:60", "mac_observee": "AA:BB:CC:DD:EE:FF", "changement_detecte": True } print("RAPPORT ARP") for cle, valeur in rapport.items(): print(cle, ":", valeur) |
Sortie :
1 2 3 4 5 | RAPPORT ARP passerelle : 192.168.1.1 mac_attendue : 10:20:30:40:50:60 mac_observee : AA:BB:CC:DD:EE:FF changement_detecte : True |
Observer ARP avec Wireshark
Wireshark est particulièrement utile pour analyser ARP dans un laboratoire. Il permet d'observer les requêtes et réponses ARP et d'étudier les changements inhabituels d'associations.
Lors d'une investigation, l'administrateur peut comparer les informations observées avec l'inventaire réel des équipements du réseau afin de déterminer si une modification est légitime.
5. Prévention et protection contre l'ARP Spoofing
La protection contre l'ARP Spoofing repose sur plusieurs mécanismes complémentaires. Certaines mesures empêchent ou détectent les falsifications, tandis que d'autres réduisent les conséquences d'une interception éventuelle.
Dynamic ARP Inspection
Le Dynamic ARP Inspection, ou DAI, est une fonctionnalité disponible sur certains commutateurs administrables. Elle permet de vérifier certains messages ARP et de rejeter ceux qui ne correspondent pas aux informations considérées comme fiables par le commutateur.
Dans certains déploiements, DAI fonctionne notamment avec les informations obtenues grâce au DHCP Snooping.
DHCP Snooping
Le DHCP Snooping permet à certains commutateurs de surveiller les échanges DHCP et de construire une base d'associations entre plusieurs informations telles que l'adresse IP, l'adresse MAC et le port du commutateur.
Cette base peut ensuite contribuer au fonctionnement de mécanismes comme Dynamic ARP Inspection.
Segmentation du réseau
La segmentation permet de limiter la taille des domaines de diffusion et de séparer des groupes d'équipements selon leurs besoins.
Les VLAN constituent notamment un moyen de séparer logiquement différents groupes d'appareils sur une infrastructure commutée.
Isolation des clients
Sur certains réseaux Wi-Fi, l'isolation des clients peut empêcher ou limiter les communications directes entre les appareils connectés au même point d'accès.
Utiliser des protocoles chiffrés
Le chiffrement ne supprime pas l'ARP Spoofing lui-même, mais il réduit considérablement la valeur des données interceptées lorsque les protocoles sont correctement configurés.
- utiliser HTTPS pour les sites Web ;
- préférer SSH aux protocoles d'administration non chiffrés ;
- utiliser des VPN appropriés sur les réseaux non fiables ;
- ne pas ignorer les avertissements concernant les certificats TLS.
Surveiller les changements ARP
Les modifications inattendues de l'adresse MAC associée à des équipements critiques, notamment la passerelle par défaut, doivent être surveillées et investiguées.
Entrées ARP statiques
Dans certains environnements très limités, des associations ARP statiques peuvent être envisagées pour certains équipements critiques. Cette méthode devient toutefois difficile à administrer dans des réseaux importants ou changeants et ne constitue pas une solution générale.
Contrôler l'accès au réseau
Limiter l'accès au réseau local réduit la possibilité qu'un appareil non autorisé puisse participer directement aux échanges de niveau liaison.
Les organisations peuvent notamment utiliser des mécanismes de contrôle d'accès réseau adaptés à leur infrastructure.
Réagir à une suspicion d'ARP Spoofing
Lorsqu'un administrateur soupçonne une falsification ARP, une démarche structurée peut être suivie :
- identifier les associations IP/MAC inhabituelles ;
- vérifier l'adresse MAC réelle de la passerelle et des équipements concernés ;
- identifier le port du commutateur associé à l'adresse MAC suspecte lorsque l'infrastructure le permet ;
- isoler l'équipement suspect selon les procédures de l'organisation ;
- analyser les captures réseau et journaux disponibles ;
- vérifier les paramètres des commutateurs et points d'accès ;
- corriger la configuration ayant permis l'incident ;
- surveiller le réseau après intervention.
Laboratoire pédagogique
L'étude de l'ARP Spoofing doit être réalisée uniquement dans un laboratoire contrôlé ou sur un réseau pour lequel une autorisation explicite a été obtenue. Un environnement composé de machines virtuelles isolées permet d'étudier ARP, les caches ARP et les captures Wireshark sans perturber un réseau réel.
6. À retenir
L'ARP Spoofing est une technique de falsification des associations entre adresses IPv4 et adresses MAC dans un réseau local utilisant ARP.
Cette attaque exploite notamment le fait qu'ARP ne fournit pas à lui seul un mécanisme cryptographique permettant d'authentifier les associations IP/MAC annoncées.
Une fausse association peut amener une machine à envoyer certaines trames vers une adresse MAC différente de celle de l'équipement légitime.
L'ARP Spoofing peut ainsi contribuer à une attaque Man-in-the-Middle, à une redirection du trafic ou à certaines formes de déni de service.
L'utilisation de HTTPS, SSH et d'autres protocoles chiffrés est essentielle : même si un attaquant parvient à intercepter des paquets, le chiffrement correctement configuré contribue à protéger leur contenu.
La détection peut notamment s'appuyer sur la surveillance des changements d'associations IP/MAC, l'analyse des trames ARP avec Wireshark et la comparaison des observations avec un inventaire réseau fiable.
Des mécanismes tels que Dynamic ARP Inspection, DHCP Snooping, la segmentation, l'isolation des clients et le contrôle d'accès au réseau peuvent renforcer la protection.
Enfin, l'ARP Spoofing constitue un excellent sujet pédagogique pour comprendre les relations entre ARP, Ethernet, IPv4, adresses MAC, commutation, interception réseau et sécurité des réseaux locaux.
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



