it-swarm.com.de

Welche Sicherheitsmechanismen werden in BGP verwendet und warum schlagen sie fehl?

Ich habe gerade über Indosat gelesen, der versehentlich versucht, das Internet zu übernehmen . Ich habe auf einer polnischen Infosec-Website gelesen, dass sich die meisten ihrer angekündigten Routen nicht verbreiten konnten, aber einige von ihnen das gesamte Internet erreichten. Ich fragte mich, welche Sicherheitsmechanismen das BGP-Protokoll schützen und warum sie bei diesen wenigen bestimmten Routen versagten und Akamai und andere verletzten.

27
d33tah

Ein Wort zu BGP

BGP ist das Routing-Protokoll, mit dem das Internet funktioniert. Die aktuelle Version ist BGP v4 und wird seit 1995 verwendet. Internet Service Provider (ISPs) haben die Kontrolle über ein oder mehrere Netzwerke und verwenden BGP, um ihre Netzwerke durch Austausch ihren Kollegen bekannt zu machen Routing-Informationen (Internetrouten) über das Netzwerk, das sie steuern. Diese Netzwerke sind unabhängige Routingdomänen mit der Bezeichnung Autonomous Systems (AS) . Jedem AS wird eine eindeutige Kennung (AS-Nummer oder ASN) zugewiesen, und heute sind etwa 40'000 ASN zugeordnet. Der Prozess des Routings zwischen diesen AS wird als Interdomain-Routing bezeichnet, und BGP ist das Protokoll, mit dem dies erreicht wird.

Jeder BGP-Router enthält eine Routing Information Base (RIB), in der die Routing-Informationen gespeichert sind. Wenn ein Router beschließt, seine RIB zu aktualisieren, gibt er diese Informationen anschließend an alle anderen benachbarten BGP-Router weiter, mit denen er verbunden ist, indem er " Hey, ich kann über AS-Nummern zum Netzwerk 1.2.3.0/12 weiterleiten X, Y, Z ". Sie werden wiederum entscheiden, ob sie ihre eigenen Tabellen aktualisieren und die Informationen weiter verbreiten möchten.

Beachten Sie, dass es in BGP keine automatische Erkennung von Peers gibt. Stattdessen müssen Peers manuell konfiguriert werden, um Routing-Informationen auszutauschen.

BGP Exposition gegenüber Angriffen

Das BGP-Protokoll selbst bietet nicht viele Sicherheitsmechanismen.

Das BGP-Design enthielt keinen spezifischen Schutz vor Angriffen oder absichtlichen Fehlern von Kollegen oder Außenstehenden, die zu Störungen des Routing-Verhaltens führen könnten. Beispiele für solche Angriffe sind:

  • Wie in BGP-VULN (RFC4272 ), angegeben, gibt es keine BGP-internen Mechanismen, die vor Angriffen schützen, die Daten ändern, löschen, fälschen oder wiedergeben Dies kann das gesamte Netzwerk-Routing-Verhalten stören. Als TCP/IP-Protokoll ist BGP allen TCP/IP-Angriffen ausgesetzt, z. B. IP-Spoofing, Sitzungsdiebstahl usw. Jeder Außenstehende kann glaubwürdige BGP-Nachrichten in die Kommunikation zwischen BGP-Peers einspeisen und dadurch falsche Routing-Informationen einspeisen.
  • Wenn ein Router neue Routing-Informationen ankündigt, stellt BGP nicht sicher, dass er die ihm zugewiesene AS-Nummer verwendet. Dies bedeutet, dass ein BGP-Router Routen mit einer beliebigen AS-Nummer ankündigen kann.
  • Ein AS kann ein Präfix aus dem Adressraum ankündigen, der nicht von einem anderen AS zugewiesen wurde oder zu einem anderen AS gehört. Dies wird als Präfix-Hijacking bezeichnet und kann verwendet werden, um Man-in-the-Middle-Angriff auszuführen, der ursprünglich auf DefCon 16 demonstriert ​​war von Alex Pilosov und Anton "Tony" Kapela;
  • BGP bietet keine gemeinsame, globale Ansicht der korrekten Routing-Informationen, die das Erkennen ungültiger oder böswilliger Routen erheblich erleichtern würde.

Kurz gesagt, BGP ist in hohem Maße falschen Routenwerbung ausgesetzt , und es gibt heute keinen Plan, diese Situation zu beheben.

BGP-Sicherheitsschutz

Aus Sicherheitsgründen sieht es also ziemlich schlecht aus. Andererseits gibt es in BGP auch einige positive Sicherheitsaspekte:

  • BGP-Peering-Assoziationen sind in der Regel langlebig und statisch. Dies bedeutet, dass diese Assoziationen zwischen Peers und Routenwerbung effizient überwacht werden können und eine schnelle Reaktion der verschiedenen Interessengruppen im Falle einer Internet-Entführung ermöglicht. Es gibt viele Dienste, die BGP-Überwachung anbieten (einige kostenlos und Open Source und kommerzielle Produkte );
  • BGP-Router können eine Routenfilterung implementieren, die die Auswahl eingehender Ankündigungen ermöglicht, obwohl es dafür keinen weitgehend implementierten Standard gibt. Es liegt an jedem ISP, zu entscheiden, ob und wie er diese implementieren möchte.
  • BGP implementiert eine TCP MD5-Signaturoption (a MAC , wie in RFC 2385 definiert) zum Schutz von BGP-Sitzungen vor TCP Reset (RST) Dos-Angriffen. Es wird derzeit von den meisten Routerherstellern (z. B. Cisco ) und Open-Source-Betriebssystemen (z. FreeBSD ). Dieser Schutz deckt jedoch nur eine begrenzte Anzahl von Angriffen ab und beruht auf schwachen Technologien.
  • Das Fehlen umständlicher Sicherheitsmaßnahmen ermöglicht auch schnelle Reaktionen auf die Verbreitung von DDoS und Malware über Dolinen und Blackhole-Routing .

Zukünftige Verbesserungen

Jüngste Bemühungen innerhalb der Normungsgremien und in der Forschungsgemeinschaft haben versucht, neue Architekturen für die BGP-Sicherheit bereitzustellen. Das beinhaltet:

  • Verwenden von Public Key Infrastructure , um öffentliche kryptografische Schlüssel zwischen Peers freizugeben und Routern zu ermöglichen, die Integrität von BGP-Ankündigungen auf globaler Ebene festzustellen und zu bestätigen, dass eine Entität berechtigt ist, eine bestimmte Ressource anzukündigen;
  • Verwenden von IPsec zum Sichern der BGP-Sitzung und der zwischen Peers übertragenen Nachrichten;
  • Einrichtung einer unabhängigen Behörde zur Validierung von Routeninformationen zwischen Domänen. Diese Autorität eines Drittanbieters wird von BGP-Routern verwendet, um die empfangenen Ansagen zu überprüfen.

Ein umfangreiches Update von BGP wäre erforderlich, um diese Probleme zu beheben und einen angemessenen Schutz gegen ausgefeilte BGP-Angriffe zu bieten. RFC 4278 , eine Reifegradstudie der BGP-Sicherheitsmechanismen ist der Ansicht, dass der marginale Nutzen solcher Systeme in dieser Situation gering und den Übergangsaufwand nicht wert wäre.


Zusätzliche Ressourcen, die Sie vielleicht interessieren:

Implementierung der Authentifizierungsoption TCP TCP-AO und Die TCP Authentifizierungsoption RFC

Was ist der Zweck von BGP TTL Sicherheit?

BGP Looking Glass : Gemäß ihrer Website:

BGP Looking Glass-Server sind Server im Internet, auf die remote zugegriffen werden kann, um Routing-Informationen anzuzeigen. Im Wesentlichen fungiert der Server als eingeschränktes schreibgeschütztes Portal für Router aller Organisationen, auf denen der Looking Glass-Server ausgeführt wird. In der Regel werden öffentlich zugängliche Spiegelserver von ISPs oder NOCs betrieben.

31
ack__

Ich denke, der Artikel " Ein Überblick über BGP-Sicherheitsprobleme und -lösungen " ist sehr nützlich, um Ihre Frage zu beantworten.

BGP ist besonders anfällig für Routing-bezogene Angriffe, insbesondere wenn ISPs ihre Routenwerbung falsch konfigurieren. Zu den bemerkenswerten Vorfällen, die nicht böswillig sind, gehören Pakistan Telecom blockiert YouTube, malaysische ISP blockiert Yahoo oder türkische ISP übernimmt das Internet usw. Solche Vorfälle können möglicherweise das gesamte Internet lahm legen und von Angreifern verwendet werden, um Schaden zu verursachen.

Daher sind sich die Sicherheitsleute der Schwachstellen von BGP bewusst und arbeiten an einer Lösung. Laut der Umfrage nennt die US-Regierung beispielsweise die BGP-Sicherheit als Teil der nationalen Strategie zur Sicherung des Cyberspace. Darüber hinaus arbeitet die Internet Engineering Task Force (IETF) an einem neuen Entwurf zur Sicherung von BGP.

In BGP sendet ein Router (oder BGP-Sprecher) eine Routenanzeige, wenn eine neue Route verfügbar ist, und eine Auszahlungsnachricht, wenn die Route nicht mehr vorhanden ist. Jedes autonome System (AS) fügt seine AS-Nummer am Anfang des AS-Pfads hinzu, bevor die Route zum nächsten AS angekündigt wird. Mit anderen Worten, BGP ist ein Pfadvektorprotokoll, das die möglichen Routen zum Erreichen bestimmter Ziele ankündigt.

Um den Weiterleitungspfad zu bestimmen, gibt jeder IP-Router dem längsten (und spezifischeren) Präfix Vorrang, das der Ziel-IP-Adresse entspricht. Beispielsweise ist eine Routenanzeige von 211.120.132.0/22 ​​spezifischer als 211.120.0.0/12. Wenn ich aus bestimmten Gründen möchte, dass Datenverkehr über meinen Router geleitet wird, kann ich Hunderte spezifischerer Routen ankündigen. Das Filtern solcher verdächtigen BGP-Ankündigungen ist eine einfache Möglichkeit, solche Routing-Angriffe zu verhindern. ISPs filtern möglicherweise Routen von Kunden nach Präfixen, die der Kunde nicht besitzt, begrenzen die Anzahl der Präfixe, die jeder benachbarte Router ankündigen kann, oder bogons usw. Die Filterung allein reicht jedoch nicht aus, da nicht alle ISPs "Best Practices" zum Filtern von Routen anwenden. Sie können also immer noch falsche Routen von anderen ISPs empfangen, die diese unwissentlich weiterleiten.

Secure BGP (S-BGP) ist eine der bemerkenswerten Lösungen für die aktuellen Routing-Probleme, wird jedoch aufgrund des hohen kryptografischen Rechenaufwands und der Zusammenarbeit der Internetregister nicht häufig eingesetzt. In S-BGP werden PKI und Zertifikate verwendet, um den Besitz der angegebenen Präfixe und Pfadinformationen zu authentifizieren. Dies verhindert im Wesentlichen, dass ein ISP eine Routenwerbung fälscht, die er nicht besitzt. Daher sollten mehr Anreize gegeben werden, um die Bereitstellung von S-BGP im Internet zu fördern.

Ich habe mich nur auf das Routing von Angriffen konzentriert. Es gibt jedoch noch andere Angriffe gegen Vertraulichkeit, Nachrichtenintegrität oder DoS, die in der Umfrage zu finden sind.

5
jingyang

Es gibt zwei mögliche Sicherheitsprobleme mit BGP: Sie sprechen möglicherweise mit dem falschen Gerät oder das richtige Gerät sagt möglicherweise das Falsche.

Das Sprechen von BGP mit dem falschen Gerät kann so dramatisch sein, als würde jemand das Kabel zu Ihrem BGP-Nachbarn zu einem anderen Router umleiten und diesen Router dann als Ihren BGP-Nachbarn ausgeben lassen. Das weltlichere Risiko besteht aus TCP Reset-Angriffen. TCP Sitzungen können unbegrenzt aktiv bleiben und auch für lange Zeiträume inaktiv sein. Es ist also weit davon entfernt Unvorstellbar, dass wenn Systeme A und B eine TCP Sitzung und System A Neustart haben, A TCP Pakete von B nach dem Neustart erhält. Offensichtlich A dann nicht mehr hat eine aktive TCP -Sitzung. Daher sendet es B ein "TCP-Reset" -Paket, das B auffordert, die Sitzung abzubrechen.

Da TCP hat keine starken Sicherheitsfunktionen), kann ein Dritter ein gefälschtes TCP auf A zurücksetzen, das von B zu stammen scheint. A wird dann seine abreißen TCP Sitzung und damit die BGP-Sitzung, die über diese TCP Sitzung läuft), wobei der Verkehrsfluss zwischen A und B unterbrochen wird, bis eine neue Sitzung eingerichtet werden kann. Der Angreifer muss ein Paket mit den richtigen IP-Adressen, Portnummern und TCP Sequenznummer) senden. Die IP-Adressen sind normalerweise nicht zu schwer herauszufinden und eine Portnummer ist 179 (die BGP-Portnummer) Der Angreifer sendet also einfach Pakete mit allen möglichen verbleibenden Port- und Sequenznummern. Innerhalb einer Minute treffen sie die richtige Kombination, und Sie können sich von dieser BGP-Sitzung verabschieden.

Es gibt drei Sicherheitsmechanismen, die davor schützen können: das BGP TCP MD5-Passwort, BGPsec und das Generalized TTL Sicherheitsmechanismus () GTSM).

Das BGP TCP MD5-Passwortsystem ist in RFC 2385 , veröffentlicht 1998, beschrieben. Auf nur sechs Seiten ist es ein sehr kurzer RFC. Wenn Sie also noch nie einen gelesen haben RFC vor 2385 ist ein guter Anfang.

2
Dgitsss

Vor ein paar Tagen eine sehr ähnliche Frage gestellt Wie funktioniert die BGP-Filterung, um Routing-Hijacking zu verhindern?

Aus meiner Forschung geht hervor, dass der einzige Weg, sich vor solchen "Angriffen" zu schützen, darin besteht, ausgehende Routen vom PoV von Indosat und eingehende Routen vom PoV des Rest der Welt zu filtern.

Indosat hätte eine Liste legitimer Routen, die ausgehend akzeptiert werden, während die anderen abgelehnt werden. Dann sollte Indosat andere Anbieter bezüglich der aktuellen legitimen Routen kontaktieren, damit sie einen eingehenden Filter anwenden können, der nur diese zulässt und die anderen ablehnt.

Was ich noch nicht weiß, ist, wie die Filterung unter der Haube funktioniert, was der Umfang meiner Frage war.

1
eez0