Warum wird ARP in IPv6 durch NDP ersetzt?


48

ARP wurde durch das NDP (Neighbor Discovery Protocol) ersetzt. Aber ich kenne den genauen Grund dafür nicht.

  • Gibt es Sicherheitsprobleme bei ARP?
  • Warum wird ARP durch NDP ersetzt?
  • Was sind die Vorteile von ARP?

Kann jemand dies in einfachen Worten erklären?

Antworten:


65

Gibt es Sicherheitsprobleme bei ARP?

Ja. Hier sind einige:

  • ARP-Spoofing.

    Falsche ARP-Nachrichten werden über ein LAN gesendet, wodurch die MAC-Adresse eines Angreifers mit der IP-Adresse eines legitimen Computers oder Servers im Netzwerk verknüpft wird.

    Weitere Informationen zu ARP-Spoofing / Poisoning finden Sie weiter unten.

  • MAC Flooding.

    Die Übersetzungstabelle, in der nachverfolgt wird, welche MAC-Adressen sich an welchen physischen Ports befinden, verfügt über einen begrenzten Arbeitsspeicher. Dadurch kann ein Switch durch Fluten der Übersetzungstabelle ausgenutzt werden. Primitive Switches, die nicht wissen, wie sie mit den überschüssigen Daten umgehen sollen, schlagen fehl und senden alle Netzwerk-Frames an alle Ports.

  • MAC Duplizieren.

    Bei einer MAC-Duplizierungsattacke wird ein Switch verwechselt, wenn man annimmt, dass zwei Ports dieselbe MAC-Adresse haben. Da die Daten an beide Ports weitergeleitet werden, ist keine IP-Weiterleitung erforderlich.

Quellensicherheit von TCP / IP Address Resolution Protocol (ARP)


Warum wurde ARP durch NDP ersetzt?

Es bietet Verbesserungen und zusätzliche Funktionen für IPv6.

Im Folgenden finden Sie einen Vergleich von NDP und den Protokollen Address Resolution Protocol (ARP), ICMP Router Discovery (RDISC) und ICMP Redirect (ICMPv4).


Wie verteidigt sich NDP gegen ARP Spoofing / Poisoning?

Es verwendet das Secure Neighbor Discovery (SEND) -Protokoll. Kryptografisch generierte Adressen stellen sicher, dass die beanspruchte Quelle einer NDP-Nachricht der Eigentümer der beanspruchten Adresse ist.

Eine der Funktionen des IPv6 Neighbor Discovery Protocol (NDP) ist das Auflösen von IP-Adressen (Network Layer) in Adressen der Verbindungsschicht (z. B. Ethernet). Diese Funktion wird in IPv4 vom Address Resolution Protocol (ARP) ausgeführt. Das Secure Neighbor Discovery (SEND) -Protokoll verhindert, dass ein Angreifer, der Zugriff auf das Broadcast-Segment hat, NDP oder ARP missbraucht, um Hosts dazu zu verleiten, den für einen anderen Benutzer bestimmten Datenverkehr zu senden. Dies wird als ARP-Vergiftung bezeichnet.

Zum Schutz vor ARP-Vergiftungen und anderen Angriffen auf NDP-Funktionen sollte SEND dort eingesetzt werden, wo der Zugriff auf das Broadcast-Segment möglicherweise nicht möglich ist.

SEND verwendet RSA-Schlüsselpaare, um kryptografisch generierte Adressen gemäß RFC 3972 (Cryptographically Generated Addresses, CGA) zu erstellen. Dies stellt sicher, dass die beanspruchte Quelle einer NDP-Nachricht der Eigentümer der beanspruchten Adresse ist.

Source Konfigurieren der sicheren IPv6-Nachbarerkennung


Wie funktioniert ARP-Spoofing?

ARP-Spoofing wird auch als ARP Poison Routing (APR) oder ARP Cache Poisoning bezeichnet.

ARP-Spoofing ist eine Art von Angriff, bei dem ein böswilliger Akteur gefälschte ARP-Nachrichten (Address Resolution Protocol) über ein lokales Netzwerk sendet. Dies führt dazu, dass die MAC-Adresse eines Angreifers mit der IP-Adresse eines legitimen Computers oder Servers im Netzwerk verknüpft wird.

Sobald die MAC-Adresse des Angreifers mit einer authentischen IP-Adresse verbunden ist, empfängt der Angreifer alle Daten, die für diese IP-Adresse bestimmt sind.

Durch ARP-Spoofing können böswillige Parteien Daten während der Übertragung abfangen, ändern oder sogar stoppen. ARP-Spoofing-Angriffe können nur in lokalen Netzwerken auftreten, die das Address Resolution-Protokoll verwenden.

Quell-Veracode- ARP-Spoofing


Wie funktioniert ein ARP-Spoofing-Angriff?

Die Schritte zu einem ARP-Spoofing-Angriff umfassen normalerweise:

  1. Der Angreifer öffnet ein ARP-Spoofing-Tool und legt die IP-Adresse des Tools so fest, dass sie mit dem IP-Subnetz eines Ziels übereinstimmt. Beispiele für beliebte ARP-Spoofing-Software sind Arpspoof, Cain & Abel, Arpoison und Ettercap.

  2. Der Angreifer sucht mit dem ARP-Spoofing-Tool nach den IP- und MAC-Adressen der Hosts im Subnetz des Ziels.

  3. Der Angreifer wählt sein Ziel aus und beginnt, ARP-Pakete über das LAN zu senden, die die MAC-Adresse des Angreifers und die IP-Adresse des Ziels enthalten.

  4. Während andere Hosts im LAN die gefälschten ARP-Pakete zwischenspeichern, gehen die Daten, die diese Hosts an das Opfer senden, stattdessen an den Angreifer. Von hier aus kann der Angreifer Daten stehlen oder einen komplexeren Folgeangriff starten.

Quell-Veracode- ARP-Spoofing

Der Angreifer kann sich dafür entscheiden, die Pakete zu untersuchen (auszuspionieren), während der Datenverkehr an das eigentliche Standard-Gateway weitergeleitet wird, um eine Entdeckung zu vermeiden, die Daten vor der Weiterleitung zu ändern (Man-in-the-Middle-Angriff) oder einen Denial-of-Service zu starten Angriff, indem einige oder alle Pakete im Netzwerk verworfen werden.

Quelle Wikipedia ARP-Spoofing


Vergleich [von NDP] mit IPv4

Das IPv6 Neighbor Discovery-Protokoll entspricht einer Kombination der IPv4-Protokolle Address Resolution Protocol (ARP), ICMP Router Discovery (RDISC) und ICMP Redirect (ICMPv4).

In IPv4 gibt es kein allgemein vereinbartes Protokoll oder keinen allgemein vereinbarten Mechanismus für die Erkennung der Nichterreichbarkeit von Nachbarn, obwohl das Dokument zu den Hostanforderungen [HR-CL] einige mögliche Algorithmen für die Erkennung toter Gateways (eine Untergruppe der Probleme, die mit der Erkennung der Nichterreichbarkeit von Nachbarn zusammenhängen) spezifiziert.

Das Neighbor Discovery-Protokoll bietet eine Vielzahl von Verbesserungen gegenüber den IPv4-Protokollen:

  • Die Routerermittlung ist Teil des Basisprotokollsatzes. Hosts müssen die Routing-Protokolle nicht "abhören".

  • Router Advertisements enthalten Link-Layer-Adressen. Es ist kein zusätzlicher Paketaustausch erforderlich, um die Verbindungsschichtadresse des Routers aufzulösen.

  • Router Advertisements enthalten Präfixe für einen Link. Für die Konfiguration der "Netzmaske" ist kein separater Mechanismus erforderlich.

  • Router Advertisements aktivieren die automatische Adresskonfiguration.

  • Router können eine MTU ankündigen, die von Hosts auf der Verbindung verwendet werden soll, und so sicherstellen, dass alle Knoten auf Verbindungen ohne genau definierte MTU denselben MTU-Wert verwenden.

  • Multicasts mit Adressauflösung "verteilen" sich auf 16 Millionen (2 ^ 24) Multicast-Adressen, wodurch Interrupts mit Adressauflösung auf anderen Knoten als dem Ziel erheblich reduziert werden. Darüber hinaus sollten Nicht-IPv6-Computer überhaupt nicht unterbrochen werden.

  • Weiterleitungen enthalten die Link-Layer-Adresse des neuen ersten Hops. Beim Empfang einer Umleitung ist keine separate Adressauflösung erforderlich.

  • Ein Link kann mehrere Präfixe enthalten. Standardmäßig lernen Hosts alle On-Link-Präfixe von Router Advertisements. Router können jedoch so konfiguriert werden, dass einige oder alle Präfixe in Router Advertisements weggelassen werden. In solchen Fällen gehen Hosts davon aus, dass Ziele nicht verbunden sind, und senden Datenverkehr an Router. Ein Router kann dann gegebenenfalls Weiterleitungen ausgeben.

  • Im Gegensatz zu IPv4 geht der Empfänger einer IPv6-Umleitung davon aus, dass der neue nächste Hop online ist. In IPv4 ignoriert ein Host Umleitungen und gibt einen nächsten Hop an, der gemäß der Netzwerkmaske des Links nicht online ist. Der IPv6-Umleitungsmechanismus entspricht der in [SH-MEDIA] angegebenen XRedirect-Funktion. Es wird erwartet, dass es bei Nicht-Broadcast- und Shared-Media-Links nützlich ist, bei denen es für Knoten unerwünscht oder nicht möglich ist, alle Präfixe für On-Link-Ziele zu kennen.

  • Die Erkennung der Nichterreichbarkeit von Nachbarn ist Teil der Basis, die die Robustheit der Paketzustellung bei fehlgeschlagenen Routern, teilweise fehlgeschlagenen oder partitionierten Verbindungen oder Knoten, die ihre Verbindungsschichtadressen ändern, erheblich verbessert. Zum Beispiel können mobile Knoten die Verbindung trennen, ohne dass die Konnektivität aufgrund veralteter ARP-Caches verloren geht.

  • Im Gegensatz zu ARP erkennt Neighbor Discovery Half-Link-Fehler (mithilfe der Neighbor Unreachability Detection) und verhindert, dass Datenverkehr an Nachbarn gesendet wird, bei denen keine bidirektionale Konnektivität besteht.

  • Anders als bei der IPv4-Routerermittlung enthalten die Routerankündigungsnachrichten kein Einstellungsfeld. Das Präferenzfeld wird nicht benötigt, um Router unterschiedlicher "Stabilität" zu handhaben. Die Neighbor Unreachability Detection erkennt tote Router und wechselt zu einem funktionierenden Router.

  • Die Verwendung von verbindungslokalen Adressen zur eindeutigen Identifizierung von Routern (für Router Advertisement- und Redirect-Nachrichten) ermöglicht es Hosts, die Router-Zuordnungen beizubehalten, falls die Site neu nummeriert wird, um neue globale Präfixe zu verwenden.

  • Durch Festlegen des Hop-Limits auf 255 ist Neighbor Discovery immun gegen Off-Link-Absender, die versehentlich oder absichtlich ND-Nachrichten senden. Off-Link-Absender können in IPv4 sowohl ICMP-Redirects- als auch Router Advertisement-Nachrichten senden.

  • Durch die Platzierung der Adressauflösung auf der ICMP-Ebene ist das Protokoll medienunabhängiger als ARP und es können bei Bedarf generische Authentifizierungs- und Sicherheitsmechanismen auf der IP-Ebene verwendet werden.

Quell RFC 4861 Neighbor Discovery in IPv6


Weitere Lektüre


Wie verteidigt die NDP eine Agaistenvergiftung?
Grawity

@ Grawity Gute Frage! Es verwendet das Secure Neighbor Discovery (SEND) -Protokoll. Antwort aktualisiert.
DavidPostill

2
Hmm, wie viele Betriebssysteme verwenden tatsächlich SEND obwohl
Grawity

2
@DavidPostill Nein, IPsec funktioniert auf einer anderen Ebene als ARP / NDP. Es benötigt einen funktionierenden Kommunikationskanal, um seine Sicherheitsfunktionen einzurichten.
scai

4
@ DavidPostill Toller Beitrag. Ihr Beitrag ist jedoch insofern irreführend, als er darauf hindeutet, dass SeND (a) ein integraler Bestandteil von NDP und (b) eine gemeinsame Lösung ist. Dies ist nicht der Fall - SeND ist ein Add-On und es gibt keine anderen SeND-Implementierungen als experimentelle. Darüber hinaus weist SeND eigene Mängel auf und eröffnet Möglichkeiten für Denial-of-Service-Angriffe. Schließlich ist davon auszugehen, dass SeND niemals abheben wird (zumindest nicht in seiner jetzigen Form) und daher nicht zu laut vorgeschlagen werden sollte.
Gegenmodus

9

NDP bietet mehr Funktionen als ARP , darunter:

  • Über NDP können Geräte im Netzwerk die MAC- / Link-Layer-Adresse ermitteln (gleiche Funktion wie ARP).

  • Mithilfe von NDP können Geräte im Netzwerk den Pfad ermitteln, um ein anderes Gerät in einem externen Netzwerk zu erreichen, und den besten Router zum Zielgerät ermitteln.

  • NDP ermöglicht die automatische Konfiguration von IPv6-Adressen.

Im Vergleich zu ARP ist der Mechanismus anders:

ARP verwendet Broadcast-Nachrichten, während NDP Multicast-ICMPv6-Nachrichten verwendet.

Das Gerät sendet eine Multicast-Nachricht, die als "Neighbor Solicitation ICMP Message" oder NS bezeichnet wird . Das Zielgerät antwortet mit einer "Neighbor Advertisement ICMP-Nachricht" oder NA .

Die NS-Nachricht verwendet eine spezielle Multicast-Zieladresse, die als Multicast-Adresse für angeforderte Knoten bezeichnet wird und alle Hosts mit denselben letzten 24 Bits ihrer IPv6-Adressen darstellt. Die Verwendung von Multicast anstelle von Broadcast reduziert den Fluss von unnötigem Datenverkehr im Netzwerk.


5

Die Einführung von NDP anstelle von ARP beruhte hauptsächlich auf dem Wunsch, die Kontrollprotokolle rund um IP zu konsolidieren. IPv4 verfügt über mehrere Steuerungsprotokolle wie ICMP, IGMP und ARP / RARP. Bei IPv6 wurden sowohl NDP (Nachfolger von ARP) als auch MLD (Nachfolger von IGMP) als Unterprotokolle von ICMPv6 ausgelegt, so dass es nur ein Steuerprotokoll gibt. Es gab keinen Sicherheitsgrund dafür, ND ist genauso anfällig für Spoofing wie ARP, und ND wurde nicht für Sicherheitszwecke entwickelt.

In den frühen Tagen der IPv6-Entwicklung galt IPsec als dasgenerische Sicherheitsmaßnahme und war somit verpflichtend. Diese Anforderung wurde jedoch auf eine Empfehlung herabgestuft (RFC 6434, glaube ich, hauptsächlich aufgrund von eingebetteten Geräten und IoT, die einfach keine Public-Key-Berechnungen durchführen können, und sie würden über PKI-Probleme aller Art stolpern sowieso) und funktioniert nicht gut (höflich gesprochen) für die Sicherung von ND. SeND wurde eingeführt, um die Sicherheit auf ND zu heben, aber wie bei praktisch allen früheren Versuchen im Software-Design der rückwirkenden Sicherheit war das Ergebnis beispielsweise nicht optimal. Da es außer einigen experimentellen Implementierungen noch keine Implementierungen von SeND gibt, ist SeND für alle praktischen Zwecke nicht vorhanden. Darüber hinaus besteht Grund zu der Annahme, dass SeND - zumindest in seiner jetzigen Form - niemals abheben wird.

Im Gegensatz dazu sieht SAVI vielversprechender aus, erfordert jedoch Änderungen an der Vermittlungsinfrastruktur, und SAVI-fähige Geräte sind nicht ganz billig, sodass sie sich auch nicht schnell vermehren werden. SAVI arbeitet mit der Begründung, dass innerhalb einer Site "bekannt" sein sollte, welche Zuordnungen zwischen HW-Adressen (dh MAC-Adressen) und IP-Adressen legitim sind, und dass es daher möglich sein sollte, gefälschte NDP-Nachrichten zu identifizieren und zu entfernen.

Die besten Rezepte sind die einfachsten, werden aber oft übersehen: Teilen Sie große LANs in kleinere auf, damit ARP- und ND-Spoofing nur für Ziele im selben LAN funktioniert. Wenn Sie nicht vertrauenswürdige Geräte nur in ihre eigenen LAN-Segmente stellen (keine Firewall- / Filterregeln erforderlich), wird die Angriffsfläche erheblich reduziert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.