2. Überprüfung der inventarisierten ND-Probleme
2.1. Multicast kann Performance- und Zuverlässigkeitsprobleme verursachen
In einigen Fällen verwendet ND Multicast für NS, NA, RS und RA. Multicast ist in bestimmten Szenarien (z. B. verkabelte Netzwerke) sehr effizient, kann aber in anderen Szenarien (z. B. große L2-Netzwerke oder drahtlose Netzwerke) ineffizient sein.
Im Allgemeinen kann Multicast in großen L2-Netzwerken eine große Menge an Protokollverkehr erzeugen. Dies verbraucht Netzwerkbandbreite, erhöht den Verarbeitungsaufwand und kann die Netzwerkleistung beeinträchtigen [RFC7342].
In drahtlosen Netzwerken kann Multicast aufgrund einer höheren Wahrscheinlichkeit von Übertragungskollisionen, niedrigeren Datenraten und fehlender Bestätigung ineffizient oder unzuverlässig sein (Abschnitt 3.1 von [RFC9119]).
Die multicast-bezogenen Leistungsprobleme für verschiedene ND-Nachrichten werden im Folgenden zusammengefasst:
-
Problem 1: LLA DAD verschlechtert die Performance
In einem L2-Netzwerk mit N Adressen (das viel größer als die Anzahl der Hosts sein kann, da jeder Host mehrere Adressen haben kann) kann es N solcher Multicast-Nachrichten geben. Wenn N groß ist, kann dies Leistungsprobleme verursachen.
-
Problem 2: Periodische unaufgeforderte RA des Routers erschöpfen die Host-Batterie
Multicast-RAs sind im Allgemeinen auf 1 Paket pro MIN_DELAY_BETWEEN_RAS (3 Sekunden) begrenzt, und normalerweise gibt es nur einen oder zwei Router auf einem Link, daher ist es unwahrscheinlich, dass sie Leistungsprobleme verursachen. Für batteriebetriebene Hosts können solche Nachrichten sie jedoch aufwecken und ihre Batterie entleeren [RFC7772].
-
Problem 3: GUA DAD verschlechtert die Performance
Identisch mit Problem 1.
-
Problem 4: Adressauflösung des Routers zum Host verschlechtert die Performance
Identisch mit Problem 1.
-
Problem 5: Adressauflösung von Host zu Host verschlechtert die Performance
Identisch mit Problem 1.
-
Zu untersuchendes Problem: Multicast-NAs für MAC-Adressänderungen des Hosts können die Performance verschlechtern
Mit randomisierten und sich ändernden MAC-Adressen [MADINAS] kann es eine große Anzahl solcher Multicast-Nachrichten geben.
In drahtlosen Netzwerken hat Multicast eine höhere Wahrscheinlichkeit, Paketverluste zu verursachen. Da DAD das Fehlen einer Antwort als nicht erkannte doppelte Adresse behandelt, können Paketverluste verhindern, dass doppelte Adressen erkannt werden. Die Multicast-Zuverlässigkeitsprobleme werden im Folgenden zusammengefasst:
-
Problem 6: LLA DAD ist in drahtlosen Netzwerken nicht vollständig zuverlässig
-
Problem 7: GUA DAD ist in drahtlosen Netzwerken nicht vollständig zuverlässig
Hinweis: IPv6-Adresskollisionen sind äußerst unwahrscheinlich. Daher sind diese beiden Probleme eher theoretisch als praktisch.
2.2. Vertrauen in alle Knoten kann On-Link-Sicherheitsprobleme verursachen
In Szenarien wie öffentlichen Zugangsnetzen können einige Knoten nicht vertrauenswürdig sein. Ein Angreifer auf dem Link kann die folgenden On-Link-Sicherheitsprobleme verursachen [RFC3756] [RFC9099]:
-
Problem 8: Quell-IP-Adressen-Spoofing
Ein Angreifer kann die IP-Adresse eines anderen Knotens als Quelladresse in ND-Nachrichten verwenden, um sich als dieser Knoten auszugeben. Der Angreifer kann dann verschiedene Umleitungs- oder Denial-of-Service (DoS)-Angriffe starten.
-
Problem 9: DAD-Verweigerung
Ein Angreifer kann wiederholt auf die DAD-Nachrichten eines Opfers antworten und das Adresskonfigurationsverfahren des Opfers fehlschlagen lassen, was zu einem DoS gegen das Opfer führt.
-
Problem 10: Bösartige RAs
Ein Angreifer kann RAs an Opfer-Hosts senden, um sich als Router auszugeben. Der Angreifer kann dann verschiedene Umleitungs- oder DoS-Angriffe starten.
-
Problem 11: Gefälschte Weiterleitungen
Ein Angreifer kann gefälschte Weiterleitungen an Opfer-Hosts senden, um deren Verkehr zu legitimen Routern oder zu sich selbst umzuleiten.
-
Problem 12: Replay-Angriffe
Ein Angreifer kann gültige ND-Nachrichten erfassen und später wiedergeben.
2.3. Router-NCE-on-Demand kann Weiterleitungsverzögerung, NCE-Erschöpfung und Adressverantwortlichkeitsprobleme verursachen
Wenn ein Router ein Paket an einen Knoten weiterleiten muss, aber noch keinen Neighbor-Cache-Eintrag (NCE) für diesen Knoten hat, erstellt er zunächst einen NCE im Zustand INCOMPLETE. Der Router sendet dann ein NS per Multicast an die Solicited-Node-Multicast-Adresse des Knotens. Wenn das Ziel mit einer NA antwortet, die die MAC-Adresse enthält, aktualisiert der Router den NCE mit dieser Adresse und ändert seinen Zustand in REACHABLE, wodurch der Eintrag vervollständigt wird. Dieser Prozess wird in diesem Dokument als "Router-NCE-on-Demand" bezeichnet.
Router-NCE-on-Demand kann die folgenden Probleme verursachen:
-
Problem 13: NCE-Erschöpfung
Ein Angreifer kann eine große Menge an Paketen senden, die auf nicht existierende IP-Adressen abzielen, und den Router zwingen, viele NCEs im Zustand INCOMPLETE zu erstellen. Die daraus resultierende Ressourcenerschöpfung kann dazu führen, dass der Router nicht mehr richtig funktioniert. Diese Schwachstelle, die in diesem Dokument als "NCE-Erschöpfung" beschrieben wird, erfordert nicht, dass der Angreifer auf dem Link ist.
-
Problem 14: Router-Weiterleitungsverzögerung
Wenn ein Paket am Router ankommt, puffert der Router es, während er versucht, die MAC-Adresse des Hosts zu bestimmen. Diese Pufferung verzögert die Weiterleitung und kann je nach Puffergröße des Routers zu Paketverlusten führen. Diese Verzögerung wird in diesem Dokument als "Router-NCE-on-Demand-Weiterleitungsverzögerung" bezeichnet.
-
Problem 15: Mangel an Adressverantwortlichkeit
Bei SLAAC generieren Hosts IP-Adressen. Der Router kennt die IP-Adresse eines Hosts erst, wenn ein NCE-Eintrag erstellt wurde. Bei DHCPv6 [RFC8415] kennt der Router möglicherweise die Adresse eines Hosts nicht, es sei denn, es wird DHCPv6-Snooping durchgeführt. In öffentlichen Zugangsnetzen, in denen die Teilnehmerverwaltung häufig auf IP-Adressen- (oder Präfix-) Identifizierung beruht, stellt dieser Mangel an Adressverantwortlichkeit eine Herausforderung dar [AddrAcc]. Ohne die IP-Adressen der Hosts zu kennen, können Netzwerkadministratoren Teilnehmer nicht effektiv verwalten, was besonders in öffentlichen Zugangsnetzen problematisch ist. Darüber hinaus bietet ND [RFC4861] keinen Mechanismus, um NCEs zu Verwaltungs- oder Überwachungszwecken abzurufen, sobald der Router sie erstellt hat (wie in Abschnitt 2.6.1 von [RFC9099] angegeben).
2.4. Zusammenfassung der ND-Probleme
Die in den Abschnitten 2.1, 2.2 und 2.3 besprochenen ND-Probleme werden im Folgenden zusammengefasst. Diese Probleme ergeben sich aus drei Hauptursachen: Multicast, Vertrauen in alle Knoten und Router-NCE-on-Demand. Die Beseitigung einer dieser Ursachen mildert auch die entsprechenden Probleme. Diese Beobachtungen bieten Orientierung für den Umgang mit und die Vermeidung von ND-bezogenen Problemen.
-
Multicast-bezogene Probleme:
-
Leistungsprobleme:
- Problem 1: LLA DAD verschlechtert die Performance
- Problem 2: Periodische unaufgeforderte RA des Routers erschöpfen die Host-Batterie
- Problem 3: GUA DAD verschlechtert die Performance
- Problem 4: Adressauflösung des Routers zum Host verschlechtert die Performance
- Problem 5: Adressauflösung von Host zu Host verschlechtert die Performance
-
Zuverlässigkeitsprobleme:
- Problem 6: LLA DAD ist in drahtlosen Netzwerken nicht vollständig zuverlässig
- Problem 7: GUA DAD ist in drahtlosen Netzwerken nicht vollständig zuverlässig
-
-
Vertrauen-in-alle-Knoten-bezogene Probleme:
- Problem 8: Quell-IP-Adressen-Spoofing
- Problem 9: DAD-Verweigerung
- Problem 10: Bösartige RAs
- Problem 11: Gefälschte Weiterleitungen
- Problem 12: Replay-Angriffe
-
Router-NCE-on-Demand-bezogene Probleme:
- Problem 13: NCE-Erschöpfung
- Problem 14: Router-Weiterleitungsverzögerung
- Problem 15: Mangel an Adressverantwortlichkeit
Diese Probleme sind potenzielle Schwachstellen und manifestieren sich nicht in allen Nutzungsszenarien.
Wenn diese Probleme in einem bestimmten Deployment wahrscheinlich auftreten, wird empfohlen, die verfügbaren Minderungslösungen zu berücksichtigen, die im nächsten Abschnitt besprochen werden.