Pourquoi ARP est-il remplacé par NDP dans IPv6?


49

Le protocole ARP a été remplacé par le protocole NDP (Neighbor Discovery Protocol). Mais je ne sais pas la raison exacte pour cela.

  • Existe-t-il des problèmes de sécurité dans ARP?
  • Pourquoi l'ARP est-il remplacé par le NPD?
  • Quels sont les avantages de l'ARP?

Quelqu'un peut-il expliquer cela en termes simples?

Réponses:


67

Existe-t-il des problèmes de sécurité dans ARP?

Oui. Voilà quelque:

  • ARP Spoofing.

    De faux messages ARP sont envoyés sur un réseau local, ce qui permet de lier l'adresse MAC d'un attaquant à l'adresse IP d'un ordinateur ou d'un serveur légitime sur le réseau.

    Voir ci-dessous pour plus d'informations sur le spoofing / empoisonnement ARP.

  • Inondations MAC.

    La table de traduction qui répertorie les adresses MAC sur lesquelles les ports physiques ont une quantité de mémoire limitée. Cela permet à un commutateur d'être exploité en inondant la table de traduction. Les commutateurs primitifs, ne sachant pas comment gérer les données en excès, s'ouvriront avec «l'échec de l'ouverture» et diffuseront toutes les trames réseau vers tous les ports.

  • Duplication MAC.

    Dans une attaque de duplication MAC, un commutateur est amené à penser que deux ports ont la même adresse MAC. Étant donné que les données seront transférées aux deux ports, aucun transfert IP n'est nécessaire.

Sécurité de source du protocole de résolution d'adresse TCP / IP (ARP)


Pourquoi l'ARP a-t-il été remplacé par le NPD?

Il fournit des améliorations et des fonctionnalités supplémentaires pour IPv6.

Voir ci-dessous une comparaison du protocole NDP et des protocoles [ARP], de la découverte de routeur ICMP [RDISC] et de la redirection ICMP [ICMPv4].


Comment le NPD se défend-il contre le spoofing / empoisonnement ARP?

Il utilise le protocole Secure Neighbor Discovery (SEND). Les adresses générées par cryptographie garantissent que la source revendiquée d'un message NDP est le propriétaire de l'adresse revendiquée.

L'une des fonctions du protocole de découverte de voisin IPv6 (NDP) consiste à résoudre les adresses IP de couche réseau en adresses de couche liaison (Ethernet, par exemple), une fonction exécutée en IPv4 par le protocole ARP (Address Resolution Protocol). Le protocole SEND (Secure Neighbor Discovery) empêche l’attaquant ayant accès au segment de diffusion d’abuser de NDP ou d’ARP pour inciter les hôtes à envoyer le trafic de l’attaquant à une autre personne, technique connue sous le nom d’empoisonnement ARP.

Pour vous protéger contre l'intoxication par les ARP et d'autres attaques contre les fonctions du NPD, SEND devrait être déployé dans les cas où il serait impossible d'empêcher l'accès au segment de diffusion.

SEND utilise des paires de clés RSA pour produire des adresses générées de manière cryptographique, comme défini dans le document RFC 3972, Cryptographically Generated Addresses (CGA). Cela garantit que la source revendiquée d'un message NDP est le propriétaire de l'adresse revendiquée.

Source Configuration de la découverte sécurisée de voisins IPv6


Comment fonctionne le spoofing ARP?

ARP Spoofing est également appelé routage ARP de poison (APR) ou empoisonnement de cache ARP.

Le spoofing ARP est un type d'attaque dans lequel un acteur malveillant envoie des messages ARP (Address Resolution Protocol) falsifiés sur un réseau local. Il en résulte une liaison de l'adresse MAC d'un attaquant avec l'adresse IP d'un ordinateur ou d'un serveur légitime sur le réseau.

Une fois que l'adresse MAC de l'attaquant est connectée à une adresse IP authentique, l'attaquant commencera à recevoir les données destinées à cette adresse IP.

Le spoofing ARP peut permettre à des tiers malveillants d'intercepter, de modifier ou même d'arrêter des données en transit. Les attaques d'usurpation ARP ne peuvent se produire que sur des réseaux locaux utilisant le protocole de résolution d'adresses.

Usurpation ARP de Veracode Source


Comment fonctionne une attaque par spoofing ARP?

Les étapes d’une attaque par usurpation d’ARP incluent généralement:

  1. L'attaquant ouvre un outil d'usurpation ARP et définit l'adresse IP de l'outil pour correspondre au sous-réseau IP d'une cible. Arpspoof, Cain & Abel, Arpoison et Ettercap sont des exemples de logiciels d'usurpation d'identité ARP populaires.

  2. L'attaquant utilise l'outil ARP Spoofing pour rechercher les adresses IP et MAC des hôtes du sous-réseau de la cible.

  3. L’attaquant choisit sa cible et commence à envoyer sur le réseau local des paquets ARP contenant l’adresse MAC de l’attaquant et l’adresse IP de la cible.

  4. Alors que d'autres hôtes sur le réseau local mettent en cache les paquets ARP usurpés, les données que ces hôtes envoient à la victime sont ensuite transmises à l'attaquant. À partir de là, l'attaquant peut voler des données ou lancer une attaque de suivi plus sophistiquée.

Usurpation ARP de Veracode Source

L’attaquant peut choisir d’inspecter les paquets (espionnage) tout en transférant le trafic vers la passerelle par défaut afin d’éviter la découverte, de modifier les données avant de le transmettre (attaque par interception) ou de mener un déni de service. attaque en provoquant la suppression de tout ou partie des paquets du réseau.

Source Wikipedia spoofing ARP


Comparaison [du NPD] avec IPv4

Le protocole de découverte de voisin IPv6 correspond à une combinaison des protocoles IPv4 ARP, de découverte de routeur ICMP [RDISC] et de redirection ICMP [ICMPv4].

Dans IPv4, il n'existe pas de protocole ni de mécanisme généralement convenu pour la détection d'inaccessibilité de voisin, bien que le document Configuration requise pour les hôtes [HR-CL] spécifie certains algorithmes possibles pour la détection de passerelle morte (un sous-ensemble des problèmes abordés par la détection d'inaccessibilité de voisin).

Le protocole de découverte de voisin apporte une multitude d’améliorations par rapport à l’ensemble de protocoles IPv4:

  • Découverte de routeur fait partie de l'ensemble de protocoles de base; les hôtes n'ont pas besoin de "surveiller" les protocoles de routage.

  • Les annonces de routeur portent des adresses de couche liaison; aucun échange de paquets supplémentaire n'est nécessaire pour résoudre l'adresse de couche liaison du routeur.

  • Les annonces de routeur portent des préfixes pour un lien; il n'est pas nécessaire de disposer d'un mécanisme distinct pour configurer le "masque de réseau".

  • Les annonces de routeur activent la configuration automatique des adresses.

  • Les routeurs peuvent annoncer un MTU à utiliser par les hôtes sur la liaison, en s'assurant que tous les nœuds utilisent la même valeur de MTU sur les liaisons dépourvues de MTU bien définie.

  • Les multidiffusions de résolution d'adresses sont "réparties" sur 16 millions (2 ^ 24) adresses de multidiffusion, ce qui réduit considérablement les interruptions liées à la résolution d'adresses sur des nœuds autres que la cible. De plus, les machines non IPv6 ne doivent pas du tout être interrompues.

  • Les redirections contiennent l'adresse de la couche liaison du nouveau premier saut; la résolution d'adresse séparée n'est pas nécessaire à la réception d'une redirection.

  • Plusieurs préfixes peuvent être associés au même lien. Par défaut, les hôtes apprennent tous les préfixes sur liaison des annonces de routeur. Toutefois, les routeurs peuvent être configurés pour omettre certains ou tous les préfixes des annonces de routeur. Dans ce cas, les hôtes supposent que les destinations sont hors liaison et envoient du trafic aux routeurs. Un routeur peut alors émettre des redirections, le cas échéant.

  • Contrairement à IPv4, le destinataire d'une redirection IPv6 suppose que le nouveau saut suivant est en liaison. Dans IPv4, un hôte ignore les redirections spécifiant un saut suivant qui n'est pas sur la liaison en fonction du masque de réseau de la liaison. Le mécanisme de redirection IPv6 est analogue à la fonction XRedirect spécifiée dans [SH-MEDIA]. Il devrait être utile sur les liaisons multimédias non diffusées et partagées pour lesquelles il est indésirable ou impossible pour les nœuds de connaître tous les préfixes des destinations sur liaison.

  • La détection d'inaccessibilité du voisin fait partie de la base, ce qui améliore considérablement la robustesse de la livraison de paquets en présence de routeurs défaillants, de liaisons partiellement défaillantes ou partitionnées, ou de nœuds qui changent leurs adresses de couche liaison. Par exemple, les nœuds mobiles peuvent se déconnecter sans perte de connectivité en raison de la présence de caches ARP obsolètes.

  • Contrairement à ARP, la détection de voisin détecte les défaillances de demi-liaison (à l'aide de la détection d'inaccessibilité du voisin) et évite l'envoi de trafic aux voisins avec lesquels la connectivité bidirectionnelle est absente.

  • Contrairement à la découverte de routeur IPv4, les messages Annonce de routeur ne contiennent pas de champ de préférence. Le champ de préférence n'est pas nécessaire pour gérer des routeurs de "stabilité" différente; la détection d'inaccessibilité du voisin détectera les routeurs inactifs et passera à un routeur en état de fonctionnement.

  • L'utilisation d'adresses de liens locaux pour identifier de manière unique les routeurs (pour les messages d'annonce de routeur et de redirection) permet aux hôtes de gérer les associations de routeurs dans l'éventualité d'une nouvelle numérotation du site afin d'utiliser de nouveaux préfixes globaux.

  • En définissant la limite de saut sur 255, la découverte de voisin est immunisée contre les expéditeurs hors liaison qui envoient accidentellement ou intentionnellement des messages ND. Dans IPv4, les expéditeurs hors liaison peuvent envoyer des messages de redirection ICMP et d'annonce de routeur.

  • Le fait de placer la résolution d'adresses au niveau de la couche ICMP rend le protocole plus indépendant du support que le protocole ARP et permet d'utiliser les mécanismes d'authentification et de sécurité de couche IP génériques, le cas échéant.

Découverte du voisin source RFC 4861 dans IPv6


Lectures complémentaires


Comment le NPD défend-il l'empoisonnement à la volaille?
Grawity

@grawity Bonne question! Il utilise le protocole Secure Neighbor Discovery (SEND). Réponse mise à jour.
DavidPostill

2
Hmm, combien de systèmes d'exploitation utilisent réellement SEND si
grawity

2
@DavidPostill Non, IPsec fonctionne sur une couche différente de celle d'ARP / NDP. Il lui faut un canal de communication fonctionnel pour établir ses fonctions de sécurité.
scai

4
@DavidPostill Great post. Cependant, votre message est trompeur en ce qu'il suggère que SeND est (a) une partie intégrante du NPD et (b) une solution commune. Ce n'est pas le cas - SeND est un add-on, et il n'y a aucune implémentation de SeND en dehors de celle expérimentale. De plus, SeND a ses propres défauts et ouvre des possibilités d'attaques par déni de service. Enfin, il est raisonnable de supposer que SeND ne décollera jamais (du moins pas dans sa forme actuelle) et ne devrait donc pas être proposé trop fort.
contre-mode

9

NDP a plus de fonctionnalités que ARP , y compris:

  • Par le biais de NDP, les périphériques du réseau peuvent déterminer l'adresse MAC / adresse de couche liaison (même fonction que ARP).

  • En utilisant NDP, les périphériques du réseau peuvent localiser le chemin d'accès pour atteindre un autre périphérique d'un réseau externe, en localisant le meilleur routeur pour le périphérique de destination.

  • NDP permet la configuration automatique des adresses IPv6.

En le comparant à ARP, le mécanisme est différent:

ARP utilise des messages de diffusion, tandis que NDP utilise des messages ICMPv6 en multidiffusion.

Le périphérique envoie un message de multidiffusion appelé "Message ICMP de sollicitation de voisin" ou NS . Le périphérique de destination répond par un message "Annonce de voisin ICMP" ou NA .

Le message NS utilise une adresse de destination de multidiffusion spéciale appelée adresse de multidiffusion de nœud sollicité qui représente tous les hôtes avec les mêmes 24 derniers bits de leurs adresses IPv6. L'utilisation de la multidiffusion au lieu de la diffusion réduit le flux de trafic inutile sur le réseau.


5

L'introduction du NPD au lieu de l'ARP était principalement due à la volonté de consolider les protocoles de contrôle autour de la propriété intellectuelle. IPv4 bénéficie de plusieurs protocoles de contrôle tels que ICMP, IGMP et ARP / RARP. Avec IPv6, NDP (successeur d'ARP) et MLD (successeur d'IGMP) ont été conçus en tant que sous-protocoles de ICMPv6, de sorte qu'il n'existe qu'un seul protocole de contrôle. Il n'y avait aucune raison de sécurité pour cela, ND est aussi susceptible d'être usurpé que l'ARP, et ND n'a pas été conçu pour la sécurité.

Au début du développement IPv6, IPsec était considéré comme lemesure de sécurité générique et était donc obligatoire. Cette exigence, cependant, a été réduite à une recommandation (RFC 6434, je pense, principalement en raison d'appareils intégrés et de l'IdO, qui ne sont tout simplement pas capables d'effectuer des calculs de clé publique) de toute façon) et ne fonctionne pas bien (poliment parlant) pour sécuriser la maladie de Newcastle. SeND a été introduit pour intégrer la sécurité à ND, mais comme pour pratiquement toutes les tentatives précédentes de conception de logiciel de sécurité rétroactive, le résultat a été, par exemple, loin d'être optimal. Comme il n’existe toujours pas d’implémentation de SeND, à l’exception de quelques expérimentales, SeND n’existe pratiquement pas. De plus, il y a des raisons de croire que SeND - du moins dans sa forme actuelle - ne décollera jamais.

En revanche, SAVI semble plus prometteur mais nécessite des modifications de l’infrastructure de commutation et les équipements compatibles avec SAVI n’étant pas d'un prix très avantageux, ils ne vont donc pas proliférer rapidement. SAVI travaille sur le terrain selon lequel, sur un site, il convient de "connaître" les correspondances entre les adresses matérielles (par exemple les adresses MAC) et les adresses IP sont légitimes et il devrait donc être possible d'identifier et de supprimer les faux messages NDP.

Les meilleures recettes sont les plus simples, mais elles sont souvent négligées: divisez les grands réseaux locaux en réseaux plus petits, car l'usurpation ARP et ND ne fonctionne que pour les cibles situées dans le même réseau local. Par conséquent, le simple fait de placer des périphériques non fiables dans leurs propres segments de réseau local (aucune règle de filtrage / pare-feu nécessaire) réduira considérablement la surface d'attaque.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.