
Erste Iteration eines ML-basierten Feedback-WAF
NGWAF wurde erstellt von @yupengfei, @zhangbosen, @matthewng und @elizabethlim.
Besonderer Dank an @ruinahkoh für ihre Beiträge in den Anfangsphasen von NGWAF.
NGWAF ist ein experimenteller Proof of Concept und in seiner aktuellen Form nicht für den Produktionseinsatz geeignet.
Inhaltsverzeichnis
Die Komponenten | Die Zahnräder von NGWAF
Das Gehirn: Maschinelles Lernen basierte WAF
Der Spiegel: Skalierbare interaktive Quarantäne-Umgebung
Die Bibliothek: Nachschulungssequenz zur Stärkung des Gehirns
Mit dem explosionsartigen Wachstum von Webanwendungen seit den frühen 2000er Jahren sind webbasierte Angriffe zunehmend häufiger geworden. Eine gängige Lösung ist die Web Application Firewall (WAF). Das Anpassen von Regeln aktueller WAFs zur Verbesserung der Erkennungsmechanismen kann jedoch komplex und schwierig sein. NGWAF versucht, diese Nachteile mit einer neuartigen Architektur zu adressieren, die auf maschinellem Lernen und Quarantäne-zu-Honeypot basiert.
Inspiriert von tatsächlichen Schmerzpunkten beim Betrieb von WAFs, beabsichtigt NGWAF, den WAF-Betrieb durch die folgenden Prozesse zu vereinfachen und neu zu denken:
| Schwachstelle | NGWAF-Funktion |
|---|---|
| Die Wartung von Erkennungsmechanismen und Regeln kann komplex sein | Nutzung von maschinellem Lernen zur Automatisierung des Prozesses der Erstellung und Aktualisierung von Erkennungsmechanismen |
| Das sofortige Blockieren von bösartigem Traffic verringert die Möglichkeiten, aus dem Verhalten von Bedrohungsakteuren zu lernen, um zukünftige WAF-Verbesserungen zu erzielen | Bedrohungsbeseitigung durch umgeleitete Quarantäne anstelle des herkömmlichen Verwerfens und Blockierens von bösartigem Traffic |
Um die Bereitstellung einfach und portabel zu gestalten, haben wir die verschiedenen Komponenten der Architektur mit Docker containerisiert und in einer docker-compose-Datei konfiguriert. Dies ermöglicht einen schnellen und einfachen Betrieb auf einer Neuinstallation, da die Abhängigkeiten automatisch von Docker verwaltet werden. Die Bereitstellung kann erweitert werden, um in einem lokalen oder cloudbasierten Kubernetes-Cluster bereitgestellt zu werden, was sie skalierbar macht, da Benutzer die Anzahl der Knoten/Pods erhöhen können, um große Trafficmengen zu bewältigen.
Die Bereitstellung wurde auf macOS (Docker Desktop) und Linux (Ubuntu) getestet.
NGWAF läuft sofort einsatzbereit mit drei Schlüsselkomponenten; diese Komponenten sind, wie oben erwähnt, alle containerisiert und je nach gewünschter Nutzung skalierbar. Die geschützte Ressource kann durch eine Änderung der Bereitstellung innerhalb des Setups angepasst werden.
Hochrangige Architektur von NGWAF mit erwarteten Trafficflüssen verschiedener Parteien
NGWAF wurde mit den folgenden Hauptvorteilen für Benutzer entwickelt:
NGWAF ersetzt traditionelle Regelsets durch Deep-Learning-Modelle, um die Komplexität der Verwaltung und Aktualisierung von Regeln zu reduzieren. Anstatt Regeln manuell zu bearbeiten, automatisiert das maschinelle Lernen von NGWAF den Prozess des Musterlernens aus bösartigen Daten. Daten, die aus der Quarantäne-Umgebung gesammelt werden, werden automatisch bereinigt und gebündelt, sodass sie bei Bedarf in unser Erkennungsmodell nachtrainiert werden können.
NGWAF verwendet eine neuartige Architektur, die aus einer interaktiven Quarantäne-Umgebung besteht, die entwickelt wurde, um potenzielle feindliche Angreifer zu isolieren. Im Gegensatz zu herkömmlichen WAFs, die bei Erkennung blockieren, leitet NGWAF Bedrohungsakteure auf emulierte Systeme um, fängt sie ein und mildert die Auswirkungen ihrer bösartigen Aktionen. Die Umgebung fungiert auch als Sinkhole, um aktuelle Angriffsmethoden zu sammeln und ermöglicht die Beobachtung und Sammlung bösartiger Daten. Diese Daten können verwendet werden, um die Erkennungsfähigkeit von NGWAF weiter zu verbessern.
NGWAF in Aktion: Bei Erkennung einer SQL-Injection leitet NGWAF in unsere Quarantäne-Umgebung um, anstatt den Versuch zu verwerfen oder zu blockieren.
Das Leitprinzip hinter der Erstellung von NGWAF ist der Schutz vor den Risiken, die im Standard-Awareness-Dokument des Open Web Application Security Project – The OWASP Top 10 2021 – hervorgehoben werden. Trainingsdaten und Compliance-Prüfungen für NGWAF werden basierend auf dieser Anforderung gesammelt und durchgeführt.
Wer braucht manuell, wenn wir neuronal gehen können
Anstelle von traditionellen Regelsets, die von Analysten verlangen, im Laufe der Zeit manuell Regeln zu identifizieren und hinzuzufügen, nutzt NGWAF End-to-End-Machine-Learning-Pipelines für den Erkennungsmechanismus, was die Komplexität der WAF-Regelverwaltung erheblich reduziert, insbesondere bei der Erkennung komplexer Payloads.
Dazu mussten wir zunächst ein Basismodell und eine Architektur erstellen, mit denen Benutzer beginnen können, bevor sie später Daten aus ihren eigenen Anwendungen zum Nachtrainieren und Feintuning verwenden:
Die allgemeine Architektur des Basismodells ist ein einfaches RNN mit einem bidirektionalen LSTM-Modul wie unten dargestellt:
Bild entnommen aus Tensorflow (Link)
Durch die Verwendung dieser RNN-Architektur konnten wir Leistungsverbesserungen gegenüber einfacheren Modellen erzielen: