Blackholing

Blackholing ist die gezielte Anweisung an ein vorgelagertes Netz, den Verkehr zu einer bestimmten eigenen Adresse zu verwerfen, statt ihn zuzustellen. Es ist das gröbste, schnellste und am weitesten verbreitete Mittel gegen einen Überlastangriff (DDoS).

Der Gedanke

Bei einem Angriff auf ein einzelnes Ziel ist nicht das Ziel das Problem, sondern die Leitung dorthin. Ein Anschluss mit 10 Gbit/s ist bei einem Angriff mit 50 Gbit/s dicht, und zwar vollständig — betroffen ist nicht nur das angegriffene Ziel, sondern alles, was über denselben Anschluss läuft.

Aus dieser Lage folgt die Überlegung: Wenn der Verkehr ohnehin nicht zugestellt werden kann, ist es besser, ihn so früh wie möglich loszuwerden. Also nicht am eigenen Anschluss, sondern beim Vorlieferanten oder am Internet-Knoten, wo die Kapazität um Größenordnungen höher ist.

Das Ziel bleibt dabei unerreichbar. Blackholing rettet nicht den angegriffenen Dienst, sondern alles andere.

Wie Blackholing ausgelöst wird

Technisch ist es eine BGP-Ankündigung mit einer besonderen Kennzeichnung. Das angegriffene Netz kündigt die betroffene Einzeladresse — ein /32 bei IPv4, ein /128 bei IPv6 — mit der genormten Community 65535:666 an.

Der Empfänger dieser Ankündigung behandelt sie nicht als Weg, sondern als Auftrag: Verkehr zu dieser Adresse wird verworfen. Die Umsetzung erfolgt an allen Randpunkten seines Netzes gleichzeitig, binnen Sekunden.

Normal:      198.51.100.0/24  ->  Kunde
Blackhole:   198.51.100.17/32 mit 65535:666  ->  verwerfen

Weil die längere Präfixlänge gewinnt, überlagert der Blackhole-Eintrag den normalen Weg für genau diese eine Adresse. Der Rest des Netzes bleibt erreichbar.

Ausgelöst am eigenen Router

Eine verwandte Technik arbeitet innerhalb eines Netzes: Ein zentraler Router kündigt intern Adressen an, deren Verkehr an allen Eingangspunkten verworfen werden soll. Dort wird der Verkehr auf eine Schnittstelle gelenkt, die nichts weiterleitet.

Das Verfahren wird als RTBH (Remotely Triggered Black Hole) bezeichnet. Der Unterschied zur Variante oben liegt nur darin, wessen Netz den Verkehr verwirft — der Mechanismus ist derselbe.

Blackholing nach Quelle

Gelegentlich wird versucht, nicht das Ziel, sondern die Absenderadresse zu sperren. Das ist bei Überlastangriffen fast immer wirkungslos: Die Absenderadressen sind entweder gefälscht oder über so viele übernommene Geräte verteilt, dass eine Liste nicht zu pflegen ist.

Wirksam ist die Variante allenfalls gegen einen einzelnen, bekannten Störer — dann handelt es sich aber eher um eine Zugangssperre als um Angriffsabwehr.

Stolperstellen

Der angegriffene Dienst ist offline. Das ist keine Nebenwirkung, sondern die Funktionsweise. Der Angreifer erreicht sein Ziel insofern — nur eben nicht auf Kosten aller anderen Dienste desselben Anschlusses. Wer das nicht in Kauf nehmen kann, braucht Verkehrsreinigung (Traffic Scrubbing) statt Blackholing.

Präfixfilter müssen die Einzeladresse zulassen. Übergänge filtern Ankündigungen üblicherweise nach Präfixlänge und lassen nichts Längeres als /24 durch. Für Blackhole-Ankündigungen muss diese Grenze gezielt geöffnet werden — und zwar nur für Ankündigungen mit der entsprechenden Kennung. Fehlt die Ausnahme, verpufft die Ankündigung wirkungslos, und zwar genau dann, wenn sie gebraucht wird.

RPKI kollidiert mit der Präfixlänge. Das ist die unauffälligste Falle. Ein ROA legt neben dem Präfix eine Höchstlänge fest. Deckt es 198.51.100.0/24 ohne erweiterte Höchstlänge ab, ist die Blackhole-Ankündigung 198.51.100.17/32 ungültig und wird von jedem Partner verworfen, der nach RPKI filtert. Wer Blackholing nutzen will, muss die Höchstlänge in seinen ROA von vornherein auf /32 beziehungsweise /128 setzen — im Angriffsfall dauert eine Änderung zu lange, bis sie überall angekommen ist.

Die Kennung muss am Übergang vereinbart sein. Nicht jeder Anbieter wertet sie aus, und manche verwenden eigene Kennungen statt der genormten. Das gehört zu den Dingen, die vor dem Angriff geklärt sein müssen.

Die Reichweite ist begrenzt. Ein Blackhole bei einem Transit-Anbieter wirkt nur für Verkehr, der über diesen Anbieter kommt. Bei mehreren Übergängen muss die Ankündigung überall erfolgen.

Das Entfernen wird oft vergessen. Ein Blackhole-Eintrag, der nach dem Angriff stehen bleibt, ist eine Störung ohne erkennbare Ursache. Die Ankündigung sollte deshalb von vornherein befristet oder überwacht werden.

Abgrenzung

Verkehrsreinigung (Scrubbing) leitet den Verkehr über einen Dienst um, der Angriffsverkehr herausfiltert und den Rest zustellt. Sie hält den Dienst erreichbar, ist aber aufwendig, teuer und braucht Vorlauf. Blackholing ist das Gegenteil: sofort, kostenlos, und mit dem Verlust des Ziels bezahlt.

Flowspec erlaubt eine feinere Anweisung an das vorgelagerte Netz — etwa nur Verkehr eines bestimmten Protokolls oder Ports zu verwerfen. Das wäre meist die bessere Wahl, ist aber weit seltener verfügbar.

Filterung am eigenen Anschluss hilft nicht gegen Überlast, weil die Leitung dorthin bereits dicht ist. Genau deshalb gibt es Blackholing.

RPKI entscheidet darüber, ob eine Blackhole-Ankündigung überhaupt angenommen wird, hat aber mit der Angriffsabwehr selbst nichts zu tun.

Erstellt: