Aktualisierung erforderlich
Neue SQL-Injection-Angriffe können WAFs austricksen
Foto: g0d4ather - shutterstock.com
Forscher von Claroty's Team82 sind auf eine neue Angriffsmethode gestoßen, die JSON-Syntax (JavaScript Object Notation) nutzt, um bösartige Nutzdaten zu übermitteln und den SQLi-Schutz gängiger WAFs zu umgehen. Der Analyse zufolge besteht das Kernproblem darin, dass WAF-Anbieter keine Unterstützung für JSON innerhalb von SQL-Anweisungen hinzugefügt hatten, so dass potenzielle Angreifer ihre bösartigen Nutzdaten leicht verstecken konnten.
Laut Forschungsbericht funktioniert die Umgehungstechnik bei WAFs von Palo Alto Networks, Amazon Web Services (AWS), Cloudflare, F5 und Imperva. Diese Anbieter haben inzwischen Patches veröffentlicht, so dass Kunden ihre WAF-Implementierungen aktualisieren können. Die Technik kann jedoch auch gegen WAF-Lösungen anderer Hersteller eingesetzt werden. Daher sollten Benutzer ihre Anbieter fragen, ob die Lösungen solche Angriffe erkennen und blockieren können.
"Angreifer, die diese neuartige Technik verwenden, könnten auf eine Backend-Datenbank zugreifen und zusätzliche Schwachstellen und Exploits nutzen, um Informationen entweder über direkten Zugriff auf den Server oder über die Cloud zu exfiltrieren", warnen die Claroty-Experten. Dies sei besonders wichtig für OT- und IoT-Plattformen, die zu Cloud-basierten Management- und Überwachungssystemen übergegangen sind. "WAFs versprechen zusätzliche Sicherheit aus der Cloud; ein Angreifer, der in der Lage ist, diese Schutzmechanismen zu umgehen, hat weitreichenden Zugang zu den Systemen."
Lesetipp: 7 Cybercrime-Evergreens -Angriffsvektore, die nicht aus der Mode kommen
Umgehung bei Untersuchung anderer Sicherheitslücken entdeckt
Die Claroty-Forscher entdeckten diese Angriffstechnik bei der Untersuchung von Schwachstellen, die sie in einer drahtlosen Gerätemanagement-Plattform von Cambium Networks namens cnMaestro fanden, die sowohl vor Ort als auch in der Cloud eingesetzt werden kann. Der von Cambium betriebene Cloud-Service stellt für jeden Kunden eine separate, isolierte Instanz des cnMaestro-Servers bereit und nutzt AWS für das Backend.
Das Team fand sieben Schwachstellen in cnMaestro, darunter eine SQL-Injection-Schwachstelle (SQLi), die es ihnen ermöglichte, Benutzersitzungen, SSH-Schlüssel, Passwort-Hashes, Token und Verifizierungscodes aus der Server-Datenbank zu exfiltrieren. SQL-Injection ist eine der häufigsten und gefährlichsten Schwachstellen in Webanwendungen. Angreifern können dadurch beliebige SQL-Abfragen in Programmanfragen einschleusen, die die Anwendung dann mit ihren eigenen Rechten in der Datenbank ausführt.
Nachdem die Forscher bestätigt hatten, dass ihr Exploit bei einer lokalen Bereitstellung von cnMaestro funktioniert, versuchten sie es bei einer in der Cloud gehosteten Instanz. Anhand der Serverantwort erkannten sie, dass die Anfrage wahrscheinlich von der Web Application Firewall von AWS blockiert wurde, die sie als bösartig erkannte.
Anstatt aufzugeben, beschlossen sie herauszufinden, wie die AWS WAF SQL-Injektions-Versuche erkennt. Die Analysten erstellten dazu eine eigene anfällige Anwendung, die auf AWS gehostet wurde, und schickten bösartige Anfragen an sie. Sie kamen zu dem Schluss, dass die WAF zwei primäre Methoden zur Identifizierung der SQL-Syntax verwendet: Sie sucht nach bestimmten Wörtern in der Anforderung, die sie als Teil der SQL-Syntax erkennt, und versucht, verschiedene Teile der Anforderung als gültige SQL-Syntax zu analysieren.
"Die meisten WAFs verwenden zwar eine Kombination aus beiden Methoden zusätzlich zu den spezifischen WAF-Methoden, aber beide haben eine gemeinsame Schwäche: Sie erfordern, dass die WAF die SQL-Syntax erkennt", erklären die Forscher. "Das hat unser Interesse geweckt und eine wichtige Forschungsfrage aufgeworfen: Was wäre, wenn wir eine SQL-Syntax finden könnten, die keine WAF erkennen würde?"
WAF-Anbieter haben JSON in SQL übersehen
Vor etwa 10 Jahren begannen Datenbank-Engines, Unterstützung für die Arbeit mit JSON-Daten anzubieten. JSON ist ein Standard für die Formatierung und den Austausch von Daten, der von Webanwendungen und Web-APIs häufig für die Kommunikation untereinander verwendet wird. Da Anwendungen bereits Daten im JSON-Format austauschen, hielten es die Entwickler relationaler Datenbank-Engines für sinnvoll, diese Daten direkt in SQL-Operationen zu verwenden, ohne zusätzliche Verarbeitung und Modifikation.
PostgreSQL fügte diese Fähigkeit bereits 2012 hinzu, und andere große Datenbank-Engines folgten im Laufe der Jahre: MySQL im Jahr 2015, MSSQL im Jahr 2016 und SQLite im Jahr 2022. Heute ist bei all diesen Engines die JSON-Unterstützung standardmäßig aktiviert. Die WAF-Anbieter folgten diesem Beispiel jedoch nicht, wahrscheinlich weil sie diese Funktion noch als neu und wenig bekannt betrachteten.
"Aus unserem Verständnis darüber, wie eine WAF Anfragen als bösartig gekennzeichnet werden könnte, kamen wir zu dem Schluss, dass wir eine SQL-Syntax finden müssen, die die WAF nicht versteht", so die Forscher von Claroty. "Wenn wir einen SQLi-Payload bereitstellen könnten, der von der WAF nicht als gültiges SQL erkannt wird, aber von der Datenbank-Engine geparst wird, könnten wir die Umgehung tatsächlich erreichen. Wie sich herausstellte, war JSON genau diese Unstimmigkeit zwischen dem Parser der WAF und der Datenbank-Engine. Wenn wir gültige SQL-Anweisungen übermittelten, die eine weniger verbreitete JSON-Syntax verwendeten, stufte die WAF die Anfrage nicht als bösartig ein."
Nachdem die Forscher bestätigt hatten, dass die AWS WAF-Firewall anfällig war und sie JSON verwenden konnten, um ihren SQLi-Exploit zu verbergen, fragten sie sich, ob andere WAFs dieselbe Lücke haben könnten. Das Testen von WAFs mehrerer großer Anbieter bewies, dass ihr Verdacht richtig war. Sie konnten die JSON-Syntax verwenden, um die SQLi-Abwehr mit nur minimalen Änderungen zwischen den Anbietern zu umgehen.
Die Forscher meldeten das Problem den betroffenen Anbietern. Zudem stellten sie ihre Technik auch SQLMap zur Verfügung, einem Open-Source-Tool für Penetrationstests, das SQL-Injection-Angriffe automatisiert. Dies bedeutet, dass die Umgehungstechnik nun öffentlich zugänglich ist und von jedermann genutzt werden kann.
"Team82 hat seine Erkenntnisse an fünf der führenden WAF-Anbieter weitergegeben, die alle ihre Produkte um die Unterstützung der JSON-Syntax erweitert haben", so die Forscher. "Wir glauben, dass die Produkte anderer Anbieter betroffen sein könnten und dass eine Überprüfung der JSON-Unterstützung durchgeführt werden sollte." (jm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.
Tipp: Sie möchten regelmäßig über alles Wichtige rund um IT-Sicherheit informiert werden? Dann abonnieren Sie doch einfach unseren kostenlosen Newsletter.