Route 666
Seite 5: Ă–ffentliche Informationen
Ă–ffentliche Informationen
Fast alle Routing-Protokolle lassen sich sehr einfach identifizieren, selbst wenn sich der Angreifer nicht dirkt im anzugreifenden Netz befindet. RIP kann man einfach durch einen UDP-Portscan auf Port 520 finden. Ist dieser Port offen, nimmt das System wahrscheinlich Routing-Informationen via RIP 1 oder 2 an. Die meisten anderen Protokolle, mit Ausnahme von BGP4, werden ĂĽber eigene IP-Protokolltypen transportiert. IGRP hat Protokolltyp 9, EIGRP 88 und OFPS 89.
IP-Protokolle kann man mit Hilfe der nmap-Option -sO herausfinden. Da es nur 256 verschiedene Protokolle gibt, dauert ein solcher Scan auch nicht allzu lange. Wenn nmap alle 256 Protokolle als offen anzeigt, so liegt das an der Natur des Negativ-Scans. nmap versucht fĂĽr jedes Protokoll die ICMP-Meldung "protocol not supported" zu erhalten. Sendet der Router keine ICMP-Pakete, kann man die unterstĂĽtzen Protokolle nicht identifizieren.
Bei Routing-Protokollen mit autonomen Systemen muss der Angreifer auĂźerdem noch das AS herausfinden. Dies kann er innerhalb der Multicast-Domain passiv oder aktiv von auĂźerhalb tun. Der Autonomous System Scanner [4] bietet eine entsprechende Funktion.
Um tatsächlich eine neue Route in ein Netzwerk einzuschleusen, ist das Verständnis des Aufbaues notwendig. Schnell hat man eine falsche Route gesendet und verursacht einen schweren Ausfall im gesamten Netz. Auch ist nicht zu empfehlen, zu allgemeine Routen zu verwenden. Je mehr Systeme theoretisch über diese Route erreicht werden können, desto geringer ist die Chance, dass sie Verwendung findet. Router wählen im Zweifel fast immer die Route mit der größten Netzmaske (closest match). Außerdem muss der Angreifer ja sonst viel mehr Verkehr bearbeiten als gewollt.
Ist das Einschleusen einer Route geglĂĽckt, muss der Angreifer sicherstellen, dass diese Information auch bei den anderen Routern erhalten bleibt. Entsprechend dem angegriffenen Protokoll muss er dazu die Informationen weiterhin periodisch senden oder zumindest die Existenz dem Nachbarn anzeigen.
Populationsproblem
Ein Spezialfall von Routing-Protokoll-Angriffen ist das Problem der Nachbarerkennung. Sowohl IGRP als auch EIGRP und OSPF erkennen an Multicast-Paketen einen neuen Router, den sie als Nachbar betrachten sollen. Kein Standard dieser Protokolle erwähnt eine Regelung zu Obergrenzen bezüglich der Menge der Nachbarrouter.
Ein Angreifer kann die meisten Router durch ein einfaches Übervölkern mit Nachbarn in die Knie zwingen oder gar zum Absturz bringen. Dazu braucht er nur HELO-Pakete für das entsprechende Protokoll und AS mit zufällig gewählten Absenderadressen aus demselben Netz an die Multicast-Adresse zu senden. Da die Router Tabellen über ihre bekannten Nachbarn führen müssen, laufen diese über oder werden so groß, dass das System viel CPU-Leistung verbraucht, um Einträge zu finden und alte Einträge zu löschen. Selbst wenn das schnelle Füllen der Tabellen nicht zu einem Buffer Overflow und damit zu einem sofortigen Crash führt [7], kann ein konstantes Senden von HELO-Paketen mit einem einzigen PC im Netz die verfügbare CPU-Leistung der Router permanent binden und ein Arbeiten im Netz unmöglich machen.
Angriffe abwehren
Das Verhindern von Angriffen auf eine Routing-Infrastruktur ist zuweilen recht aufwendig. Wird zum Beispiel ein MD5-Hash zur Authentifizierung von Routing-Informationen verwendet, so müssen alle Router denselben Schlüssel haben, um an der Kommunikation teilnehmen zu können. Wird ein Router und damit sein Schlüssel kompromittiert, muss der Schlüssel überall getauscht werden. Gleichzeitig soll die Stabilität des Netzes nicht leiden. Es ist schon häufig vorgekommen, dass ungeplantes Umstellen auf MD5 ein OSPF-Netz vollständig durcheinandergebracht hat, da die Hälfte der Router MD5 sprachen und die andere Hälfte nicht.
Am besten und einfachsten zu implementieren ist hier eine Perimeter Security: Auf den äußeren Schnittstellen der Router werden Filter für die verwendeten Routing-Protokolle eingesetzt. Bei OSPF oder EIGRP kann man mit einem einfachen IP-Protokolltyp-Filter alle Pakete dieser Art von außen verwerfen. Auch innerhalb eines Unternehmensnetzwerkes kann ein solcher Filtermechanismus auf den Switches und Routern eingesetzt werden, an denen sich die Arbeitsstationen der Mitarbeiter befinden.
Einige Hersteller unterstützen auch das feste Einstellen von zu erwartenden Nachbar-Routern über IP-Adressen. Obwohl ein Angreifer noch immer die Absenderadresse eines der konfigurierten Geräte verwenden kann, ist auch diese Maßnahme zu empfehlen. Sie kostet nahezu keine CPU-Zeit und der Angreifer hat ein schwereres Leben, da Techniken wie das AS-Scanning nicht mehr funktionieren.
Fazit
Flexible Netzwerke benötigen eine dynamische Anpassung der Routing-Pfade. Dies trifft auf Unternehmensnetze genauso zu wie auf das Internet. Aufgrund der großen Menge an benötigten Routern für ein Netzwerk wird das dynamische Routing oft so einfach wie nur möglich gehalten, um den Aufwand für Wartung und Pflege zu minimieren. Sogar einige große Internet Service Provider verwenden einfach zu handhabende Protokolle wie EIGRP in ihren eigenen Netzen. Diese gewollte Simplifikation macht auch das Leben für Angreifer einfacher, da sie mit etwas Erfahrung in TCP/IP und einer Routing-Software [6] auf dem eigenen System die Datenflüsse in nahezu beliebiger Art umleiten können. Glücklicherweise wird für einen erfolgreichen Angriff noch immer einiges an Information aus dem angegriffenen Netzwerk benötigt, sodass Script-Kiddies diese Spielwiese bislang nicht entdeckt und ausgenutzt haben. Die meisten heutigen Unternehmensnetze und Teile des Internet stehen jedenfalls auf einer sehr wackligen Basis, und es dürfte nur eine Frage der Zeit und Motivation sein, bis eines dieser großen Netzwerke durch ein paar IP-Pakete zum Einsturz gebracht wird.