6. Security Considerations (Sicherheitsüberlegungen)
Dieser Abschnitt beschreibt verschiedene mögliche Sicherheitsbedenken im Zusammenhang mit dem PIM-SM-Protokoll. Der Leser wird auf [8], [14] und [15] für weitere Diskussionen über PIM-SM und Multicast-Sicherheit verwiesen.
Beachten Sie, dass PIM auf einer MRIB beruht, die außerhalb von PIM gefüllt wird; daher wird empfohlen (RECOMMENDED), die Quellen von Änderungen an der MRIB zu sichern.
6.1. Attacks Based on Forged Messages (Angriffe basierend auf gefälschten Nachrichten)
Das Ausmaß möglicher Schäden hängt von der Art der akzeptierten gefälschten Nachrichten ab. Wir betrachten als Nächstes die Auswirkungen möglicher Fälschungen, einschließlich gefälschter link-lokaler Nachrichten (Join/Prune, Hello und Assert) und gefälschter Unicast-Nachrichten (Register und Register-Stop).
6.1.1. Forged Link-Local Messages (Gefälschte link-lokale Nachrichten)
Join/Prune-, Hello- und Assert-Nachrichten werden alle an die link-lokale ALL-PIM-ROUTERS-Multicast-Adresse gesendet und werden daher nicht von einem konformen Router weitergeleitet. Eine gefälschte Nachricht dieses Typs kann ein LAN nur erreichen, wenn sie von einem lokalen Host gesendet wurde oder von einem kompromittierten oder nicht konformen Router auf das LAN zugelassen wurde.
-
Eine gefälschte Join/Prune-Nachricht kann dazu führen, dass Multicast-Verkehr an Links geliefert wird, an denen es keine legitimen Anfragenden gibt, was möglicherweise Bandbreite auf diesem Link verschwendet. Eine gefälschte Leave-Nachricht auf einem Multi-Access-LAN ist im Allgemeinen kein signifikanter Angriff in PIM, da jeder legitim beigetretene Router auf dem LAN das Leave mit einem Join überschreiben würde, bevor der Upstream-Router aufhört, Daten an das LAN weiterzuleiten.
-
Durch Fälschen einer Hello-Nachricht kann ein nicht autorisierter Router sich selbst als designierten Router (Designated Router) auf einem LAN wählen lassen. Der designierte Router auf einem LAN ist (in Abwesenheit von Asserts) verantwortlich für die Weiterleitung von Verkehr an dieses LAN im Namen lokaler Mitglieder. Der designierte Router ist auch verantwortlich für die Register-Kapselung von Paketen zum RP, die von Hosts auf dem LAN stammen. Somit kann die Fähigkeit lokaler Hosts, Multicast-Verkehr zu senden und zu empfangen, durch eine gefälschte Hello-Nachricht beeinträchtigt werden.
-
Durch Fälschen einer Assert-Nachricht auf einem Multi-Access-LAN könnte ein Angreifer den legitimen designierten Forwarder dazu bringen, die Weiterleitung von Verkehr an das LAN zu stoppen. Eine solche Fälschung würde verhindern, dass Hosts downstream dieses LANs Verkehr empfangen.
6.1.2. Forged Unicast Messages (Gefälschte Unicast-Nachrichten)
Register-Nachrichten und Register-Stop-Nachrichten werden von Zwischenroutern unter Verwendung normaler IP-Weiterleitung an ihr Ziel weitergeleitet. Ohne Datenherkunftsauthentifizierung kann ein Angreifer, der sich irgendwo im Netzwerk befindet, möglicherweise eine Register- oder Register-Stop-Nachricht fälschen. Als Nächstes betrachten wir die Auswirkung einer Fälschung jeder dieser Nachrichten.
-
Durch Fälschen einer Register-Nachricht kann ein Angreifer den RP dazu bringen, gefälschten Verkehr in den gemeinsamen Multicast-Baum einzuspeisen.
-
Durch Fälschen einer Register-Stop-Nachricht kann ein Angreiker einen legitimen DR daran hindern, Pakete beim RP zu registrieren. Dies kann verhindern, dass lokale Hosts auf diesem LAN Multicast-Pakete senden.
Die beiden obigen PIM-Nachrichten werden nicht von Zwischenroutern geändert und müssen nur vom beabsichtigten Empfänger untersucht werden. Daher können diese Nachrichten Ende-zu-Ende authentifiziert werden. Angriffe auf Register- und Register-Stop-Nachrichten gelten nicht für eine reine PIM-SSM-Implementierung, da diese Nachrichten für PIM-SSM nicht erforderlich sind.
6.2. Non-cryptographic Authentication Mechanisms (Nicht-kryptografische Authentifizierungsmechanismen)
Ein PIM-Router sollte (SHOULD) eine Option bereitstellen, um die Menge der Nachbarn einzuschränken, von denen er Join/Prune-, Assert- und Hello-Nachrichten akzeptiert. Entweder eine statische Konfiguration von IP-Adressen oder eine IPsec-Sicherheitsassoziation kann verwendet werden. Darüber hinaus sollte ein PIM-Router keine (SHOULD NOT) Protokollnachrichten von einem Router akzeptieren, von dem er noch keine gültige Hello-Nachricht empfangen hat.
Ein designierter Router darf nicht (MUST NOT) ein Paket in Register kapseln und an den RP senden, es sei denn, die Quelladresse des Pakets ist eine legale Adresse für das Subnetz, in dem das Paket empfangen wurde. Ebenso sollte ein designierter Router kein (SHOULD NOT) Register-Stop-Paket akzeptieren, dessen IP-Quelladresse keine gültige RP-Adresse für die lokale Domäne ist.
Eine Implementierung sollte (SHOULD) einen Mechanismus bereitstellen, der es einem RP ermöglicht, den Bereich der Quelladressen einzuschränken, von denen er Register-gekapselte Pakete akzeptiert.
Alle Optionen, die den Bereich der Adressen einschränken, von denen Pakete akzeptiert werden, müssen (MUST) standardmäßig alle Pakete zulassen.
6.3. Authentication (Authentifizierung)
Dieses Dokument verweist auf RFC 5796 [8], das Mechanismen zur Authentifizierung von PIM-SM link-lokalen Nachrichten unter Verwendung des IPsec Encapsulating Security Payload (ESP) oder (optional) des Authentication Header (AH) spezifiziert. Es weist auch darauf hin, dass nicht link-lokale PIM-SM-Nachrichten (d.h. Register- und Register-Stop-Nachrichten) durch eine normale Unicast-IPsec-Sicherheitsassoziation (Security Association, SA) zwischen zwei Kommunikanten gesichert werden können.
6.4. Denial-of-Service Attacks (Denial-of-Service-Angriffe)
Es gibt eine Reihe möglicher Denial-of-Service-Angriffe gegen PIM, die durch das Generieren falscher PIM-Protokollnachrichten oder sogar durch das Generieren von falschem Verkehr verursacht werden können. Die Authentifizierung von PIM-Protokollverkehr verhindert einige, aber nicht alle dieser Angriffe. Zwei der möglichen Angriffe umfassen Folgendes:
-
Das schnelle Senden von Paketen an viele verschiedene Gruppenadressen kann an sich ein Denial-of-Service-Angriff sein. Dies führt zu vielen Register-gekapselten Paketen, die den DR, den RP und die Router zwischen dem DR und dem RP belasten.
-
Das Fälschen von Join-Nachrichten kann dazu führen, dass ein Multicast-Baum eingerichtet wird. Eine große Anzahl gefälschter Joins kann Router-Ressourcen verbrauchen und zu einem Denial-of-Service führen.