Schwerwiegende Sicherheitslücke in „BIG-IP“-Produkten von F5 Network könnte zu weitreichenden Cyberangriffen führen
Load Balancing ist ein wichtiger Prozess des Web-Managements, der viele Internetdienste am Laufen hält. Ohne sie würden Banken, Regierungen und andere Organisationen, die eine Vielzahl von Menschen mit Online-Diensten versorgen, Schwierigkeiten haben, ihre Webseiten am Laufen zu halten. Während einer routinemäßigen Sicherheitsbewertung entdeckte F-Secure Senior Security Consultant Christoffer Jerkeby, dass ein obskurer Programmierfehler es Angreifern ermöglichen könnte, den beliebten BIG-IP Loads Balancer von F5 Networks zu manipulieren. Weitere Untersuchungen ergaben, dass ein Angreifer nach einem erfolgreichen Exploit das kompromittierte Gerät gegen das Unternehmen oder sogar Einzelpersonen, die die betroffenen Dienste nutzen, gegen sie einsetzen könnte.
Christoffers Command Injection in F5 iRules Whitepaper und Folien für alle technischen Details können Sie hier herunterladen, oder lesen Sie weiter für eine kurze Zusammenfassung.
Kein Patch für den Programmierfehler
Der Fehler ist keine Sicherheitslücke, der mit einem einfachen Software-Update behoben werden kann. Der Fehler entsteht bei der Konfiguration (oder Fehlkonfiguration) der iRules von BIG-IPs durch die Unternehmen selbst. iRules sind Routinen, die geschrieben wurden, um eingehenden Webverkehr auf den richtigen Webserver zu leiten. Diese iRules werden mit der Tool Command Language (Tcl) erstellt. Bestimmte Programmierungsmaßnahmen, die für ein Unternehmen durchaus funktionsfähig und praktisch erscheinen mögen, können es einem Angreifer ermöglichen, beliebige Tcl-Befehle zu injizieren, die im betreffenden Tcl-Skripts ausgeführt werden können. Genauer gesagt ermöglicht das Design der Sprache, die für die Definition von iRules (Tcl 8.4, um es zu präzisieren) verwendet wird, den Austausch in Anweisungen und Befehlen, mit denen Angreifer Code injizieren können. Es ist vergleichbar mit der Form von Injektionsangriffen in SQL oder Shell-Skriptsprachen, bei denen beliebige Benutzereingaben als Code interpretiert und ausgeführt werden. Einige iRules analysieren Daten aus eingehenden Webanforderungen und deuten diese fälschlicherweise als Befehle zur Ausführung.
<example> Payload: [HTTP::respond 666 {vuln}] URL Encoded Payload: %5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D $ curl -I --cookie cookie=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D https://www.host.com/index.aspx | grep vuln $ curl -I -H RequestHeader=%5BHTTP%3A%3Arespond%20666%20%7Bvuln%7D%5D https://www.host.com/index.aspx | grep vuln </example>
Der Programmierfehler und die Klasse der Sicherheitslücke sind nicht neu und sind zusammen mit anderen Sicherheitslücken bei der Befehlsinjektion (z.B. SQL-Injektionsangriffe) in anderen gängigen Sprachen seit einiger Zeit bekannt. Aber die Konsequenzen dieser Angriffe können schwerwiegend sein. Und die hohe Popularität von BIG-IPs bei großen Unternehmen veranlasste Christoffer, der seine Forschung auf Sicherheitskonferenzen präsentiert, das Thema zu erörtern.
Angriffe können so einfach sein wie das Ausfüllen eines Online-Formulars
In einigen Fällen kann die Ausnutzung eines anfälligen Systems so einfach sein, wie die Übermittlung eines Befehls oder Codes als Teil einer Webanfrage. Der Prozess besteht im Wesentlichen aus drei Schritten:
- Ein Feld identifizieren, in dem die iRules einen Befehl ersetzen, indem sie a) Tcl-Strings in Felder und Headernamen eingeben und b) nach Hinweisen suchen, dass der Code ausgeführt wurde.
- Testen der Injektionsstelle mit dem Befehl “info”.
- Auf externe Ressourcen zurückgreifen, um Persistenz zu schaffen.
Sobald dies der Fall ist, hat der Exploit das Gerät, auf dem sich die BIG-IP-Software befindet, effektiv gefährdet, so dass der Angreifer sie als Startpunkt nutzen kann, um weitere Angriffe durchzuführen. Zu den Möglichkeiten für Folgeangriffe gehören der Diebstahl von Daten aus dem Unternehmen, das Abfangen und Manipulieren des Webverkehrs, um sensible Informationen (wie Passwörter) preiszugeben, oder in einigen Fällen Angriffe auf Personen, die versuchen, Dienste zu nutzen, die von dem gefährdeten BIG-IP-Gerät bereitgestellt werden.
Zu allem Überfluss gibt es Fälle, in denen das kompromittierte Gerät die Aktionen der Gegner nicht aufzeichnet, so dass es keine Beweise dafür gibt, dass ein Angriff stattgefunden hat. In anderen Fällen könnte ein Angreifer Protokolle löschen, die Beweise für seine Aktivitäten nach der Exploitphase enthalten – was die Untersuchung von Vorfällen erheblich behindert.
“Dieses Konfigurationsproblem ist wirklich ziemlich schwerwiegend, weil ein Angreifer unbemerkt eindringen, eine Reihe von Zielvorgaben einhalten und anschließend seine Spuren verwischen kann. Außerdem sind viele Unternehmen nicht darauf vorbereitet, Fehler zu finden oder zu beheben, die tief in den Software verankert sind, was zu einem potenziell großen Sicherheitsproblem führt”, sagt Christoffer. “Wenn du nicht weißt, wonach du suchen sollst, ist es schwer, dieses Problem vorherzusehen, und noch schwieriger, mit einem tatsächlichen Angriff umzugehen.”
Mögliche Auswirkungen und Schadensbegrenzungen
F-Secure sind keine konkreten Berichte über die Verwendung dieses Fehlers bei Angriffen auf Unternehmen bekannt. Christoffer ist sich nicht sicher, wie viele Unternehmen auf der ganzen Welt von dem Problem betroffen sind. Aber sein Team fand auf der Grundlage einer von ihm entwickelten grundlegenden Web-Scan-Technik über 300.000 aktive BIG-IP-Implementierungen im Web. In Anbetracht der methodischen Randbedingungen könnte der tatsächliche Wert deutlich höher sein. Allerdings sind nicht alle BIG-IP-Implementierungen von diesem Problem betroffen.
Dieses Sicherheitsproblem ist ein Programmierfehler innerhalb der iRules (Tcl-Skripte) selbst. Unternehmen schaffen sich selbst das Problem, in dem sie ihre BIG-IP Load Balancer konfigurieren. Da also an BIG-IP selbst nichts auszusetzen ist, ist es kein Problem, das F5 oder irgendjemand mit einem einfachen Software-Patch beheben kann. Es liegt an den Unternehmen, das Problem selbst zu untersuchen und zu beheben.
“Der Vorteil dieses Sicherheitsproblems besteht darin, dass nicht jeder, der das Produkt benutzt, betroffen ist. Der Nachteil ist jedoch, dass das Problem nicht mit einem Patch oder Software-Update des Herstellers behoben werden kann, so dass es an den Unternehmen liegt, die entsprechenden Arbeiten durchzuführen, um zu prüfen, ob sie von dem Problem betroffen sind, und es zu beheben, wenn sie es entdecken”, erklärt Christoffer. “Deshalb ist es wichtig, dass jeder, der BIG-IP verwendet, proaktiv handelt.”
Die Erkennung von Angriffen mit diesen Techniken ist theoretisch möglich, aber schwierig. Es ist schneller und effektiver, eine Codeüberprüfung durchzuführen und alle zugrunde liegenden Tcl-Code-Probleme zu beheben, als eine Implementierungserkennung.
F-Secure und F5 arbeiten zusammen, um Unternehmen bei der Lösung des Problems zu unterstützen. F-Secure hat F5 vor einigen Monaten über Christoffers Forschung informiert. F5 hat bereits eine offizielle Stellungnahme veröffentlicht, in der die betroffenen Produkte, Tcl-Aussagen und mehr aufgeführt sind.
Christoffer hat an der Entwicklung von zwei öffentlich zugänglichen Open-Source-Tools mitgewirkt, die Tcl-Skripte analysieren können. Die erste, TestTcl, ist eine Bibliothek für Unit-Tests von BIG-IP iRules. Das zweite, Tclscan, ist ein Werkzeug, das (lexikalisch) Tcl-Code speziell nach Fehlern bei der Befehlsinjektion scannt.
Darüber hinaus empfiehlt Christoffer in diesem Zusammenhang, die folgenden Webseiten zu besuchen, und sich darüber zu informieren, wie man Tcl-Skripte, die sich als anfällig erweisen, ändern kann:
https://wiki.tcl-lang.org/page/double+Ersatz
https://wiki.tcl-lang.org/page/Brace+Ihre+Ausdrücke
https://wiki.tcl-lang.org/page/Static+Syntax+Analyse
Da es möglich ist, das Internet massenhaft zu scannen, um gefährdete Instanzen der Technologie zu identifizieren und auszunutzen und in einigen Fällen diesen Prozess zu automatisieren, wird das Problem wahrscheinlich die Aufmerksamkeit von Bug-Bounty-Jägern und Angreifern auf sich ziehen. Darüber hinaus können kostenlose Testversionen der Technologie vom Hersteller bezogen werden, und Cloud-Instanzen können aus dem AWS Store mit minimalen Kosten abgerufen werden. Aus diesen Gründen und den potenziell schwerwiegenden Auswirkungen von Angriffen mit diesem Fehler rät F-Secure Unternehmen, proaktiv zu prüfen, ob sie betroffen sind.
“Wenn ein Unternehmen diese Technologie nicht eingehend untersucht hat, besteht eine hohe Wahrscheinlichkeit, dass dieses Problem vorliegt”, sagt Christoffer. “Selbst jemand, der unglaublich sicherheitsbewusst ist und in einem gut ausgestatteten Unternehmen arbeitet, kann diesen Fehler begehen. Daher ist die Sensibilisierung für das Thema wirklich wichtig, wenn wir Unternehmen dabei unterstützen wollen, sich besser vor einem möglichen Sicherheitsverstoß zu schützen.”
Kategorien