zurück zur Übersicht

Angriff auf die Firewall: So stoppen Sie BlackNurse

Christian Osterbrink, Alexander Sieber und Daniel Vollmer haben sich den BlackNurse Angriff vorgenommen. Ergebnis: Durch das Tweaken einiger Settings lässt sich die Gefahr entschärfen.


BlackNurse attackiert gezielt die FirewallNormale DDoS Angriffe (Distributed Denial of Service) sind inzwischen leider gehäuft zu beobachten: Der Angreifer überlastet einen Service, sodass dieser legitime Anfragen nicht mehr beantworten kann.

Dazu wird in der Regel ein sogenanntes Botnet verwendet, also ein Netz von Fremdrechnern, die mit einer Malware zur Fernsteuerung infiziert sind.

Bei BlackNurse jedoch geht es um eine bestimmte Art von ICMP flood attacks, die ein bisschen anders funktionieren.

Alles kann der Schwachpunkt sein

Vulnerabilitys gibt es heutzutage wie Sand am Meer. Mit der Digitalisierung steigt auch die Anzahl potenzieller Fehlerquellen. Diese Fehler können in manchen Fällen als Einstiegstor für einen Angriff verwendet werden. Vorhandene und bekannte Verwundbarkeiten können beispielsweise beim MITRE Institut eingesehen werden [1].  Der Blick auf die CVEs (Common Vulnerabilities and Exposures) verrät die Anzahl der bisher entdeckten und veröffentlichten Sicherheitslücken. Nicht alle, aber zumindest viele dieser Verwundbarkeiten werden natürlich auch ausgenutzt – beispielsweise um Massen von vernetzten Geräten in Bots zu verwandeln.

Ein illustrierendes Beispiel für die Macht der Bots ist der DDoS-Angriff auf Dyn DNS durch das Botnet Mirai (wir berichteten hier). Für diesen Angriff wurden zahlreiche IoT (Internet of Things)-Geräte zu einem Botnetz vereinigt und für eine massive DDoS-Attacke missbraucht.

Normalerweise basiert ein erfolgreicher DDoS-Angriff auf einer gnadenlosen Überlastung der Infrastruktursysteme. Eine weitere Methode DDoS-Angriffe durchzuführen besteht darin, Programmfehler auszunutzen, um eine Fehlfunktion des Systems auszulösen. Dasselbe Ziel, Nichtverfügbarkeit, wird damit schneller und effizienter erreicht.

Der Schwachpunkt, der diesen Angriff ermöglicht, kann variieren. Vom Internetzugang über das Betriebssystem bis zu den Diensten, die ein Host anbietet – alles kann gegebenenfalls angegriffen werden.

BlackNurse attackiert gezielt die Firewall

Im Fall des BlackNurse-Angriffs funktioniert dies wie folgt: Der Angriff basiert auf dem ICMP-Protokoll und verwendet kein stupides Überfluten des Opfernetzwerks mit ICMP-Requests, sondern setzt auf ICMP-Type3-Code3 (Nachgelagert an diesen Artikel die Auszüge aus dem RFC-Paket).

Der Sinn dahinter: Dadurch fliegt der Angriff meist unter dem Radar der Anti-DDoS-Lösungen. Bisher wogen sich Anwender mit großen Internetanbindungen in Sicherheit. Dieser Angriff ist aber auch auf Infrastrukturen möglich, die einer herkömmlichen Attacke standhalten würden. Diese Infrastrukturen sind meist mit professionellen Firewallsystemen ausgestattet. Doch genau diese Systeme sind verwundbar durch BlackNurse.

Angriffsablauf

Die meisten ICMP-Attacken basieren auf ICMP-Type9-Code0-Paketen, besser bekannt als Ping-Flood-Attacks. Der BlackNurse-Angriff basiert ebenso auf ICMP, jedoch aus ICMP-Type3-Code3-Paketen. Als Voraussetzung für einen erfolgreichen Angriff muss gegeben sein, dass das Zielsystem ICMP-Type3-Code3 erlaubt. Ist das der Fall, reicht schon eine Privatanwender-Bandbreite von 15-18Mbit/s aus, um die notwendigen 40.000 – 50.000 Pakete pro Sekunde zu senden und so effizient das Zielsystem zu beeinträchtigen. Während der Angriff abläuft, passiert folgendes:

  • Es ist eine hohe CPU-Auslastung auf den verschiedenen Firewallsystemen festzustellen.
  • Die Anwender/Systeme im LAN hinter der Perimeterfirewall sind nicht mehr in der Lage Pakete vom WAN zu empfangen oder an das WAN zu senden
  • Die Firewall nimmt keine Pakete mehr an.

Nachdem der Angriff beendet wurde, erholt sich das Firewallsystem schnell wieder und geht in den normalen Betrieb über. Unglücklicherweise benötigt die Attacke zur Durchführung kaum tiefe technische Kenntnisse. Eine gute Nachricht ist dagegen, dass nicht alle Router im Internet ICMP Pakete mit den Type3-Code3 zu unterstützen scheinen. Allerdings sollte man sich nicht auf diese Vermutung verlassen.

Die interessante Frage ist also: Wie erkenne ich, ob meine Systeme verwundbar sind, und was kann ich dagegen unternehmen?

Sind meine Systeme verwundbar?

Der Aufwand, den man benötigt, um seine Systeme auf Anfälligkeit für diese Attacke zu überprüfen, hält sich in Grenzen. Folgendes muss für einen erfolgreichen Test gegeben sein:

  • produktives Firewallingsystem
  • Testsystem im LAN
  • Testsystem im WAN

Auf dem Testsystem im WAN werden nun mittels des Security-Tools hping3 die entsprechenden ICMP-Type3-Code3 Pakete erzeugt und an das Zielsystem gesendet. Wenn das zu testende System anfällig gegenüber dieser Attacke ist, so wird sich dies in einer hohen CPU-Auslastung auf der Firewall darstellen. Nebeneffekte hierbei können sein, dass das Testsystem im LAN nicht mehr in der Lage ist, über den Perimeterschutz hinweg Kommunikation aufrecht zu erhalten und gegebenenfalls erneut aufzubauen.

Die benötigten Befehle sind wie folgt:

hping3 -1 -C 3 -K 3 -i u20 dest-ip
hping3 -1 -C 3 -K 3 –flood dest-ip

Die Dokumentation von hping3 hilft bei weiteren Fragen zu den Parametern gerne aus. Je nachdem wie groß die zu testende Firewall ist, ist es ratsam, hier ein System mit entsprechender Angriffsleistung zu verwenden.

Auch Firewalls großer Hersteller betroffen

Um die Gefahr dieses Szenarios auf unsere Kunden abzuschätzen, haben wir einen Testaufbau mit Firewalls von Palo Alto Networks durchgeführt. Hierbei sind wir zu folgenden Ergebnissen gekommen:

  • Ein Angriff mit hping3 und den Parametern -1 -C 3 -K 3 -i u20 dst-ip kann die Dataplane zu 100% auslasten und benötigt auf Seiten des Angreifers relativ geringe Kenntnisse und wenig Hardwareausstattung.
  • Der Angriff funktioniert auch dann, wenn die Firewall-Policy ICMP verbietet.
  • Der Angriff funktioniert auch dann, wenn der Traffic über die Firewall geroutet wird.
  • Der Angriff funktioniert auch dann, wenn der Traffic an ein Firewall-Interface gerichtet wird.
  • Wird der Traffic an ein Firewall-Interface gerichtet, taucht er nicht als Session auf und kann somit auch nicht manuell in den Discard-Status gesetzt werden.
  • Die Default-Zone-Werte sind viel zu hoch eingestellt und Plattform-unspezifisch.
  • Der Angriff funktioniert auf Hardware-Plattformen und virtuellen Palo Alto Firewalls. Allerdings sind virtuelle Palo Alto Firewalls robuster, wenn sie ausreichend CPU-Ressourcen zugewiesen bekommen haben.
  • Die Werte bzgl. ICMP-Flooding müssen extrem niedrig gesetzt werden. Ein Drop von 40000 p/s auf 2000 p/s sorgt auf einer PA-200 nur für eine Halbierung der Last. Allerdings erhöhen mehrere parallele hping-Prozesse die Last auf der Data Plane bereits wieder.
  • Die Deaktivierung von Discard ICMP embedded with error message (über Zone-Protection-Profil > Packet based attack protection > ICMP Drop) verringert die Last noch einmal erheblich (auf PA-200 von 50% auf 16%). Allerdings führt dies auch dazu, dass bestimmte ICMP-Pakete nicht mehr geforwarded werden.

Basierend auf diesen Tests kommen wir zu folgendem Ergebnis: Momentan ist auch jede Palo Alto Networks-Firewall, die ICMP-Type3-Code3-Pakete forwarded, oder diese über eines ihrer Interfaces erhält, potentiell gefährdet! Diese Gefährdung zeigt sich durch eine Überlastung der Data Plane. Das Blocken des ICMP-Traffics auf der Firewall führt nicht zur gewünschten Entwarnung. Das Problem besteht auch unabhängig von Interface-Management-Profilen.

Als Gegenmaßnahme wird im Admin-Guide (für die aktuelle Version 7.1 hier) empfohlen eine entsprechende realistische Anpassung der Werte vorzunehmen. Was unter den gegebenen Umständen als „realistisch“ anzunehmen ist, kann je nach Umgebung stark differenziert ausfallen.

Soforthilfe: Firewall-Konfiguration zum Schutz vor BlackNurse

Unsere Best-Practice Empfehlung kann in folgenden Punkten zusammengefasst werden:

  1. Erstellen von Zone-Protection-Profilen oder DDoS Regeln mit aktivierten ICMP-Flood Einstellungen
  2. Wir empfehlen die Verwendung von DDoS-Regeln, da diese feiner reguliert werden können als Zone-Protection-Profile
  3. Blocking von ICMP Flood mit einer oder mehreren DDoS Regeln
    • Erstellen von Regeln mit SRC und Dest-Zonen die zu schützen sind
  4. Erstellen eines Classified (per SRC-IP Adresse) DDoS-Profils mit aktiviertem ICMP-Flood (sorgt dafür dass nur die SRC-IP, die das Flooding verursacht, geblockt wird).
  5. DDoS-Rule Action = Protect
  6. Best-Practise Empfehlungen für unterschiedliche Plattformen:
    • PA-200 und PA-500
      • Für interne Zonen (Alarm Rate 300PPS, Activate 400PPS, Max Rate 500 PPS, Duration 300s)
      • Für externe Zonen (Richtung Internet) (Alarm Rate 100PPS, Activate 150PPS, Max Rate 200 PPS, Duration 300s)
    • PA-30xx und PA-50xx
      • Für interne Zonen (Alarm Rate 500PPS, Activate 1500PPS, Max Rate 2000 PPS, Duration 300s)
      • Für externe Zonen (Richtung Internet) (Alarm Rate 250PPS, Activate 500PPS, Max Rate 750 PPS, Duration 300s)
  7. Die Option Discard ICMP embedded with error message aktivieren, wenn das System nicht unmittelbar auf diese Funktion angewiesen ist.

Diese Best-Practise Werte sind realistische Werte, die von uns im LAB und auf Real-World Maschinen getestet wurden und die dazu beitragen, Angriffe deutlich zu erschweren und der Maschine ausreichende Performance auf der Dataplane zu garantieren.

Die Werte hängen aber auch stark mit der jeweiligen FW-Umgebung (z.B. aktuelle normale DP-Auslastung) und der Verwendung des ICMP-Protokolls zB zu Monitoring Zwecken ab. Gfgf müssen solche Systeme über eine weitere DDoS-Regel von den Protection-Maßnahmen ausgenommen werden.

Nach dem Setzen dieser Best-Practice-Empfehlungen wird die Firewall bei einem Angriff, der auf BlackNurse aufbaut, entlastet und der Aufwand des Angreifers signifikant erhöht.

Sollte der Fall eintreten, dass ein Angriff von extern auf den Unternehmensperimeter durchgeführt wird, sollte gegebenenfalls in Abstimmung mit dem Provider dafür gesorgt werden, dass ICMP-Pakete dieses Typs schon auf den Provider-Routern gefiltert werden und den Perimeter gar nicht erst erreichen.

Für alle Fälle empfehlen wir, die DDoS-Profile auch auf interne Zonen anzuwenden.

Falls Sie weitere Unterstützung benötigen, zögern Sie nicht uns zu kontaktieren!

News: Inzwischen gibt es auch von LogRhythm Tipps, wie man BlackNurse Attacken von Netzwerkseite her detektieren kann. Mehr dazu im Blogpost zu Blacknurse hier.


  1. Die MITRE Corporation ist eine Organisation zum Betrieb von Forschungsinstituten im Auftrag der Vereinigten Staaten, die durch Abspaltung vom Massachusetts Institute of Technology (MIT) entstanden ist. Diese NonProfit-Organisation sammelt hier die Verwundbarkeiten an einer zentralen und neutralen Stelle.

Links:
https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/
https://tools.ietf.org/html/rfc2780
https://tools.ietf.org/html/rfc792
http://soc.tdc.dk/blacknurse/blacknurse.pdf
https://de.wikipedia.org/wiki/Denial_of_Service
http://researchcenter.paloaltonetworks.com/2016/11/note-customers-regarding-blacknurse-report/
https://www.paloaltonetworks.com/documentation/71/pan-os/pan-os

Bild: ©iT-CUBE SYSTEMS AG 2016

Schreibe einen Kommentar