ARP poisoning ou empoisonnement ARP : définition, techniques, défense et prévention

L’empoisonnement ARP et l’usurpation ARP sont des cyberattaques recourant à l’envoi de messages ARP malveillants.

Les attaques ARP sont difficiles à détecter et dévastatrices si elles aboutissent. 

Un cybercriminel qui exécute et réussit une telle attaque peut potentiellement mettre la main sur tous les documents de votre réseau. Il pourrait espionner vos activités, ou encore bloquer votre trafic réseau et exercer un chantage sa victime pour qu’il le rétablisse. 

Nous allons vous expliquer comment fonctionne une attaque ARP. Nous vous présenterons également quelques solutions à appliquer immédiatement pour protéger votre serveur.

 

Empoisonnement/usurpation ARP

 

Qu’est ce que l'ARP ?

En 2001, le protocole ARP (Address Resolution Protocol) a été introduit par des développeurs pour la programmation sous Unix. Il était décrit à l’époque comme un outil robuste capable d’établir des connexions IP avec de nouveaux hôtes. 

Ce processus est essentiel, en particulier si votre réseau ne cesse de s’étendre et que vous avez besoin d’ajouter de nouvelles fonctionnalités sans autoriser vous-même chaque requête. 

Le protocole ARP se base sur le concept d’adresse MAC (Media Access Control) — à savoir l’adresse unique, définie au niveau matériel d’une carte réseau Ethernet. Cette suite de caractères est attribuée en usine, bien qu’elle puisse être modifiée de manière logicielle. 

En théorie, un système ARP fonctionne de la manière suivante :

  • Acceptation des requêtes. Un nouveau terminal demande à rejoindre le réseau local (LAN) et fournit une adresse IP. 
  • Résolution. Les terminaux sur le réseau ne communiquent pas par adresse IP. La table (ou cache) ARP convertit l’adresse IP en adresse MAC. 
  • Envoi de requêtes. Si la table ARP ne connaît pas l’adresse MAC à utiliser pour une adresse IP, l’expéditeur envoie une requête ARP, qui interroge d’autres machines sur le réseau pour obtenir les informations manquantes. 

Cette fonctionnalité permet aux administrateurs réseau de gagner un temps précieux. Les requêtes sont gérées en arrière-plan et le réseau effectue les opérations nécessaires. Mais ce n’est pas sans danger.

En quoi consistent les attaques ARP ?

Un développeur malveillant pourrait exposer des vulnérabilités et s’infiltrer sur votre réseau à votre insu dans l’espoir d’accéder à des données importantes. 

Il existe deux types d’attaques ARP:

  • Usurpation ARP : un pirate envoie de faux paquets ARP reliant l’adresse MAC d’un attaquant à l’adresse IP d’un ordinateur déjà sur le LAN. 
  • Empoisonnement ARP : après une usurpation ARP réussie, un pirate modifie la table ARP d’une entreprise afin de falsifier les correspondances entre adresses MAC et IP. L’attaque se propage.

L’objectif est de relier l’adresse MAC d’un pirate au réseau. Ainsi, tout trafic envoyé au réseau compromis sera redirigé vers le cybercriminel. 

À la fin d’une attaque ARP réussie, un cybercriminel peut réaliser les actions suivantes :

  • Détourner le trafic. Un pirate peut examiner tout le trafic envoyé au réseau avant de l’acheminer. 
  • Refuser le service. Un pirate peut refuser d’acheminer le trafic du réseau infecté jusqu’au paiement d’une rançon. 
  • Intercepter. Un pirate à l’origine d’une attaque man-in-the-middle a presque le champ libre. Il peut même modifier des documents avant leur envoi. Ces attaques compromettent la confidentialité et érodent la confiance des utilisateurs. Elles sont l’une des cybermenaces les plus redoutables et dangereuses. 

Pour prendre le contrôle d’un hôte, un pirate doit agir vite. Les processus ARP expirent au bout de 60 secondes environ. Mais sur un réseau, les requêtes peuvent persister jusqu’à 4 heures. C’est plus qu’il n’en faut à un pirate pour organiser et exécuter une attaque.

Vulnérabilités ARP connues 

Vitesse, efficacité et autonomie étaient les objectifs du développement du protocole ARP. La sécurité n’était pas un aspect pris en compte. Le protocole s’est d’ailleurs avéré très facile à usurper et à détourner à des fins malveillantes. 

Pour y parvenir, un pirate n’a besoin que de quelques outils:

  • Connexion : le cybercriminel a besoin de prendre le contrôle d’une machine connectée au réseau. C’est encore mieux s’il est directement connecté au réseau.
  • Compétences en programmation : le pirate doit savoir comment écrire des paquets ARP qui sont immédiatement acceptés ou stockés sur le système. 
  • Outils externes : le pirate peut utiliser un outil d’usurpation, comme Arpspoof, pour envoyer des réponses ARP falsifiées ou illégitimes. 
  • Patience : certains pirates s’infiltrent rapidement dans les systèmes, tandis que d’autres doivent envoyer des dizaines, voire des centaines de requêtes pour arriver à leurs fins. 

Le protocole ARP est sans état et les réseaux ont tendance à mettre en cache les réponses ARP. Plus elles persistent, plus elles deviennent dangereuses. Une seule réponse mise en cache pourrait être exploitée lors d’une prochaine attaque et entraîner un empoisonnement ARP. 

Aucune méthode de vérification d’identité n’est intégrée aux systèmes ARP traditionnels. Les hôtes ne sont pas en mesure de vérifier l’authenticité des paquets, ni même d’en déterminer l’origine.

Prévention de l’empoisonnement ARP 

Pour prendre le contrôle d’un réseau, les pirates suivent une série d’étapes prévisibles. Ils envoient un paquet ARP usurpé, puis une requête établissant une connexion avec le réseau visé. La requête est distribuée à tous les ordinateurs sur le réseau, dont les cybercriminels peuvent alors prendre le contrôle. 

Les administrateurs réseau ont le choix entre deux techniques pour détecter l’usurpation ARP.

  1. Passive : surveillance du trafic ARP afin de détecter toute incohérence de mappage. 
  2. Active : injection de paquets ARP falsifiés dans le réseau. Une attaque par usurpation de ce type vous permet d’identifier les vulnérabilités de votre système. Si vous les corrigez rapidement, vous pourrez bloquer les attaques. 

Certains développeurs tentent d’écrire leur propre code afin de détecter une usurpation, mais c’est une pratique risquée. Si le protocole est trop strict, il déclenchera trop de fausses alertes et ralentira les accès. À l’inverse, si le protocole est trop permissif, les attaques en cours pourraient échapper à la détection et vous donner un faux sentiment de sécurité. 

Le chiffrement peut s’avérer utile. Si un pirate s’infiltre dans votre système et n’obtient que du texte brouillé sans clé de décodage, les dégâts sont limités. Vous devez toutefois appliquer le chiffrement de façon systématique pour bénéficier d’une protection optimale. 

L’utilisation d’un VPN pourrait également renforcer votre sécurité. Les terminaux se connectent via un tunnel chiffré et toutes les communications sont immédiatement chiffrées.

Outils de protection disponibles

Bon nombre de sociétés proposent des programmes de surveillance vous permettant à la fois de superviser votre réseau et de détecter les problèmes ARP. 

En voici quelques exemples :

  • Arpwatch : cet outil Linux permet de surveiller l’activité Ethernet, notamment les modifications apportées aux adresses IP et MAC. Examinez le journal tous les jours et aidez-vous des horodatages pour comprendre à quel moment est survenue l’attaque.
     
  • ARP-GUARD : cet outil propose une représentation graphique de votre réseau, avec des illustrations des commutateurs et des routeurs. Correctement configuré, il permet de déterminer quels terminaux se trouvent sur votre réseau et de définir des règles afin de contrôler les futures connexions.
     
  • XArp : cet outil permet de détecter les attaques survenant derrière votre pare-feu. Vous recevez une alerte dès le début d’une attaque et pouvez utiliser l’outil pour déterminer la marche à suivre.
     
  • Wireshark : cet outil fournit une représentation graphique de tous les terminaux sur votre réseau. Il est puissant, mais son implémentation exige des compétences pointues.
     
  • Filtrage des paquets : cette technique de pare-feu permet de gérer l’accès au réseau en surveillant les paquets IP entrants et sortants. Les paquets sont autorisés ou bloqués en fonction des adresses IP, des ports et des protocoles source et de destination.
     
  • Entrées ARP statiques : ces entrées ARP sont ajoutées au cache et conservées de façon permanente. Elles feront office de mappages permanents entre les adresses MAC et les adresses IP. 

Protégez-vous avec Okta 

Vous devez assurer la protection de vos systèmes, mais vous ne savez pas par où commencer, ni quelles mesures prendre ? Okta a la solution. Découvrez comment nous pouvons vous aider à prévenir les attaques par empoisonnement ARP.

Références

ARP Networking Tricks. Octobre 2001. Computerworld. 

Domain 4: Communication and Network Security (Designing and Protecting Network Security). (2016). CISSP Study Guide (Third Edition). 

Fact Sheet: Man-in-the-Middle Attacks. Mars 2020. Internet Society. 

On Investigating ARP Spoofing Security Solutions. Avril 2010. International Journal of Internet Protocol Technology. 

Traditional ARP. Janvier 2017. Practical Networking. 

Address Resolution Protocol Spoofing Attacks and Security Approaches: A Survey. Décembre 2018. Security and Privacy. 

ARP Attack Detection Limitations. Security the Infosec Bag. 

Arpwatch Tool to Monitor Ethernet Activity in Linux. Avril 2013. TecMint. 

ARP-GUARD Datasheet. ARP-GUARD. 

XArp — Page d’accueil.

Wireshark — Page d’accueil.