28.5.1 Sicherheit und Robustheit von BGP
BGP gehört zur Klasse der Pfadvektor-Routing-Protokolle, bei denen jeder Knoten die „beste“ Route für jedes Ziel an alle seine Nachbarn bekannt gibt. Ein BGP-Knoten speichert alle von seinen Nachbarn gesendeten Pfade, verwendet und veröffentlicht aber nur den nach einer bestimmten Richtlinie „besten“ Pfad. Wenn dieser primäre Weg ausfällt, zieht BGP diesen Weg zurück und wählt den nächstbesten Ersatzweg.
Der Hauptgrund für die Beliebtheit von BGP ist seine große Flexibilität bei der Einrichtung und Nutzung von Routen, so dass jeder Internetdienstanbieter (ISP) seine gewünschten Richtlinien umsetzen kann, ohne sie veröffentlichen zu müssen. Leider sind diese Flexibilität und Undurchsichtigkeit auch die Ursache für viele Probleme mit BGP, wie z. B. inkompatible Konfigurationen verschiedener ISP, mangelnde globale Transparenz der Qualität oder des Status von Routen und die Unfähigkeit, einen koordinierten Ansatz zur Behandlung von Routing-Problemen zu entwickeln. Selbst wenn alle Pfade strikt auf der Grundlage von Kostenschätzungen ausgewählt werden, zeigt BGP oft unerwünschtes Verhalten wie lange Konvergenzverzögerungen und Oszillationen, da die Informationen über die Pfadverfügbarkeit in der Regel abgeleitet und nicht explizit weitergegeben werden. Infolgedessen kann es vorkommen, dass BGP einen ausgefallenen Pfad durch den nächstbesten ersetzt, ohne zu bemerken, dass seine lokale Bewertung dieses Pfades falsch ist. Das Fehlen von Informationen über die Gültigkeit einer Route kann dazu führen, dass BGP eine Reihe von Ersatzrouten durchläuft, bevor es eine gültige Route auswählt. Der Zyklus von Zurückziehungen/Ankündigungen kann eine beträchtliche Zeit lang andauern. Diese Verzögerung wird als Konvergenzverzögerung (oder Wiederherstellungszeit) bezeichnet. Diese Schwachstellen können sogar von einem Angreifer ausgenutzt werden, um BGP zu einem schlechteren Verhalten als sonst zu veranlassen.
Das Konvergenzproblem wurde in der Literatur eingehend untersucht. Insbesondere wurde von Labovitz et al. gezeigt, dass die Konvergenzverzögerung für isolierte Routenentzüge in 30 % der Fälle größer als drei Minuten ist und bis zu 15 Minuten betragen kann. Sie fanden auch heraus, dass die Paketverlustrate um das 30-fache und die Paketverzögerung um das 4-fache während der Wiederherstellung ansteigen kann. Es gibt auch viele Versuche, die BGP-Konvergenzverzögerung durch eine Reihe von Techniken zu verbessern. Reference untersucht das Problem der Paketübermittlungsleistung und schlägt eine Technik zur Verringerung von Paketverlusten und Verzögerungen vor.
Wir untersuchen nun die Robustheit der Routing-Tabellen selbst. Obwohl es schwierig ist, Routing-Tabellen direkt zu beschädigen, könnten legitime Routing-Tabellen-Aktualisierungsnachrichten gekapert werden, um inkonsistente Routing-Tabellen zu erstellen. Alternativ dazu könnten gefälschte Aktualisierungsnachrichten gesendet werden, um die Rechen-, Speicher- oder sonstigen Ressourcen der Router zu erschöpfen. Ein verwandtes Problem ist die Störung der QoS-Einstellungen, die ausgenutzt werden kann, um die ordnungsgemäße Behandlung des Datenverkehrs zu stören. Eine Unterdrückung, Duplizierung oder Änderung von Routenaktualisierungsnachrichten kann zu Fehlauslieferungen und Überlastungen führen. Derartige Angriffe wurden in der Literatur ausführlich behandelt, und der Schutz erfolgt über kryptografische Mittel wie die Authentifizierung von Aktualisierungsnachrichten und die Verschlüsselung von Paketinhalten oder Headern. Die Referenz bietet einen umfassenden Überblick über BGP-Schwachstellen und zahlreiche Schutzmechanismen.
Secure BGP (SBGP) verwendet signierte Routen-Updates, indem es zwei PKI-Hierarchien nutzt, eine zur Gewährleistung der Integrität von IP-Präfixen und die andere für AS-Nummern. Das Hauptziel von SBGP besteht darin, die Integrität des in den Routenaktualisierungen aufgezeichneten „AS-Pfads“ und der beworbenen IP-Präfixe sicherzustellen. (Der AS-Pfad ist die Liste der AS, die eine BGP-Routenankündigung oder eine Rückzugsnachricht durchläuft, bevor sie ihr Ziel erreicht). Die Verwendung einer PKI-Hierarchie ist unerlässlich, um eine Vertrauenskette für jedes IP-Präfix und jeden AS-Pfad zu haben; der Bedarf an mehreren öffentlichen Schlüsseloperationen macht das Verfahren jedoch recht langsam. Hu, Perrig und Johnson diskutieren einen schnellen Mechanismus zur Sicherung von Routing-Updates für BGP. Die Autoren plädieren für die Verwendung symmetrischer Kryptographie, die wesentlich effizienter ist als die Verwendung von PKI. Sie plädieren für die Verwendung von Hash-Ketten mit einem Nachrichten-Authentifizierungscode (MAC) an jedem Knoten entlang des Pfades, den die Aktualisierungspakete nehmen, um sicherzustellen, dass die Aktualisierungen nicht verfälscht und Knoten zum Pfad hinzugefügt oder von diesem entfernt werden. Obwohl ein solches System Aktualisierungen sichern kann, gibt es immer noch Probleme mit dem Schlüsselaustausch und dem Overhead bei der Überprüfung von MACs über Hash-Ketten hinweg. Die Inter-Domain-Route-Validierung (IRV) ist eine ganz andere Authentifizierung, bei der ein IRV-Server in jeder AS optional die Aktualisierung vom Absender der AS validieren kann.
Obwohl kryptografische Techniken in der Lage sind, Routing-Updates gegen unbefugte Änderungen zu sichern, bringen sie zusätzliche Komplexität mit sich und erhöhen damit die Wahrscheinlichkeit von Fehlkonfigurationen. Die Probleme von SBGP, das eine PKI-Hierarchie verwendet, ähneln den DNSSEC-Problemen, die in Abschnitt 28.3.3 erörtert wurden.
In seltenen Fällen kann ein AS selbst böswillig werden, vielleicht durch die Kompromittierung durch einen Angreifer. Ein böswilliger BGP-AS könnte zum Beispiel beschließen, eine nicht funktionierende Route nicht zurückzuziehen oder eine funktionierende Route nicht in den Satz der aktuellen Routen aufzunehmen. Ein böswilliger AS könnte auch fälschlicherweise bekannt geben, dass er den wünschenswertesten (z. B. kürzesten) Pfad zu einem bestimmten Ziel hat. Dies führt dazu, dass der gesamte Verkehr zu diesem Ziel über diesen AS geleitet wird, und der AS kann entweder den Verkehr ausspähen oder einfach einen Teil oder den gesamten Verkehr verwerfen und eine Dienstverweigerung verursachen. Auch die Änderung des AS-Pfads kann ähnliche Auswirkungen haben. Es kann sehr schwierig sein, trotz einiger böswilliger AS ein robustes Routing zu erreichen, aber es kann ausreichen, solche AS einfach zu erkennen und unter Quarantäne zu stellen.