title: ARP poisoning
text: # ARP poisoning
  
  L'ARP spoofing (« usurpation » ou « parodie ») ou ARP poisoning (« empoisonnement ») est une technique utilisée en informatique pour attaquer tout réseau local utilisant le protocole de résolution d'adresse ARP, les cas les plus répandus étant les réseaux Ethernet et Wi-Fi. Cette technique permet à l'attaquant de détourner des flux de communications transitant entre une machine cible et une passerelle : routeur, box, etc. L'attaquant peut ensuite écouter, modifier ou encore bloquer les paquets réseaux.
  
  ## Illustration du propos
  
  Définissons le contexte :
  
  L'attaquant va envoyer un paquet ARP qu'il aura lui-même forgé à l'aide d'outils comme Scapy.
  
  Seul l'argument type peut laisser songeur ici : il existe 2 types de paquet ARP : is-at et who-has. Dans notre cas, voila ce que l'attaquant envoie :
  
  Il faut traduire cela par : « l'adresse ip 192.168.1.1 correspond à l'adresse MAC <adresse_mac attaquant>. »
  
  Il existe plusieurs méthodes d'attaque ARP :
  
  * gratuitous ARP : l'attaquant émet une trame ARP en broadcast (à tout le réseau) dans laquelle il fait correspondre son adresse MAC à l'adresse IP de la passerelle. Le gratuitous ARP est initialement prévu pour que les équipements venant d'arriver sur le réseau s'annoncent (ce qui permet par exemple de détecter les IP dupliquées). Ce type de requête très utilisé par des équipements de réseau n'est pas mauvais en soi mais pourrait être détourné si les destinataires sont très mal protégés. Pour illustrer ce type d'attaque avec l'exemple ci-dessus, il faudrait remplacer l'argument ip_destination par l'adresse IP de broadcast (ex. : 192.168.1.255) ;
  * émission d'une requête ARP forgée (vue plus haut) : l'attaquant émet une requête en unicast vers la victime en spécifiant comme adresse IP émettrice, l'adresse IP qu'il veut usurper et en indiquant sa propre adresse MAC comme l'adresse MAC de l'émetteur. Ainsi, lorsque la victime reçoit la requête, elle enregistre la correspondance IP/MAC dans sa table ARP alors que celle-ci est erronée. Ce type d'attaque est notamment utilisé par les logiciels de type Cain et Abel.
  
  ## Précision
  
  L'ARP spoofing est une étape de l'attaque de l'homme du milieu.
  
  ## Contre-mesure
  
  Il est préférable pour un petit réseau d’utiliser une table statique. Une table ARP statique permet de fixer l’association de l’adresse IP avec l’adresse MAC d’un équipement. Dans un réseau plus large, le travail serait trop fastidieux. En effet, pour n machines, chaque machine doit posséder n-1 entrées dans sa table ARP donc n^2-n entrées au total. Il existe également des logiciels permettant la détection et la prévention de l’attaque par déni de service. Ils se basent sur la connaissance des adresses MAC et IP ou la redondance des adresses MAC. Dans une approche active, les réponses ARP contenant des adresses MAC suspectes sont bloquées. Il existe des configurations où plusieurs adresse IP sont associées une seule carte réseau. Les machines ayant cette configuration peuvent donc être considérées comme suspectes et bloquées ensuite. Dans une approche passive, ces logiciels envoient des notifications quand il y a un changement dans la table ARP.
  
  