TLDR:
0-Day-Angriffe, bei denen Schwachstellen ausgenutzt werden, die den Softwareanbietern unbekannt sind, stellen eine erhebliche Cyber-Bedrohung dar. Herkömmliche Web Application Firewalls (WAFs) reichen oft nicht aus, um diese Angriffe zu verhindern, da sie häufig gepatcht werden müssen. Runtime Application Self Protection (RASP) verfolgt einen anderen Ansatz, der sich nicht auf geschriebene Regeln stützt, sondern das Anwendungsverhalten durch native Integrationen aktiv überwacht, was zu einem erhöhten Schutz vor 0-Days führt.
Das Ziel bei der Entwicklung von Aikido Zen für NodeJS war es, Entwicklern die Möglichkeit zu geben, ihre Anwendungen nachzurüsten und sie standardmäßig gegen gängige Klassen von Injektionsangriffen wie SQL-Injektionen, Shell-Injektionen, Path Traversal und SSRF zu schützen. Der Entwickler sollte nicht nur gegen Fehler in seinem eigenen Code, sondern auch gegen unbekannte Schwachstellen in den von ihm verwendeten Bibliotheken geschützt werden.
Um seine Wirksamkeit zu beurteilen, haben wir Zen anhand einer Reihe von CVEs bewertet. In diesem Whitepaper wird der Ansatz erläutert, die Effektivität bewertet und die Kompromisse und Einschränkungen aufgezeigt. Für dieses Whitepaper identifizierte das Team 17 Zero-Day-Schwachstellen, von denen 11 von Zen ohne vorherige Kenntnis des spezifischen Exploits blockiert wurden.
Einführung
WAFs waren schon immer eine letzte Hoffnung gegen 0-Days, da sie sich auf eine Kombination aus Glück und wiederkehrenden Mustern verlassen, um 0-Days während ihres "Zero-Day-Angriffs"-Fensters (wie unten dargestellt) abzufangen. Erst nachdem Schwachstellen öffentlich bekannt gemacht wurden (t0), können WAF-Regeln aktualisiert werden, um den neuen Angriff zu stoppen.

Eine WAF prüft eingehende Verbindungsdaten (Header, Body, ...), bevor sie Ihre Anwendung erreichen. Sie scannt die Daten auf verdächtige Muster (SQL-Injections, Pfadüberquerungen) und blockiert oder entfernt die verdächtigen Daten. Obwohl es effektiv ist, neigt es dazu, viele Fehlalarme zu erzeugen, wie Untersuchungen von System Weakness zeigen.

Wenn Sie 10.000 Kunden haben, könnte die beste Lösung immer noch 56 von ihnen blockieren.
Aikido Zen verfolgt einen grundlegend anderen Ansatz für die Sicherheit von Webanwendungen. Anstatt sich ausschließlich auf Signaturen und bekannte Muster zu verlassen, konzentriert es sich darauf, das Angriffsverhalten auf einer tieferen Anwendungsebene zu verstehen und zu entschärfen.
Der Aikido-Zen-Ansatz
Durch die Konzentration auf die Überwachung und das Abfangen bösartiger Aktivitäten an dem Punkt, an dem sie versuchen, auf kritische Ressourcen zuzugreifen oder diese zu manipulieren, ist Aikido Zen in der Lage, die Zahl der Fehlalarme deutlich zu reduzieren, indem es eine Strategie verfolgt, die Angriffe nur dann blockiert, wenn sie mit den zugrunde liegenden Systemen interagieren.
Dies wird durch die Implementierung eines Systems erreicht, das verschiedene Arten von Interaktionen mit der zugrundeliegenden Umgebung prüft. Dazu gehören:
- Datenbank-Interaktionen: Die Überwachung von Aufrufen an Datenbankbibliotheken, sowohl SQL als auch NoSQL, ermöglicht die Erkennung von nicht autorisierten Abfragen, Datenexfiltrationsversuchen oder Injektionsangriffen. Durch die Analyse des Inhalts und der Struktur dieser Datenbankaufrufe können bösartige Aktivitäten identifiziert und blockiert werden, bevor sie Schaden anrichten.
- Externe Anrufe: Die Überwachung externer Anrufe, die über HTTP, HTTPS oder andere Protokolle erfolgen, kann Versuche aufdecken, mit Command-and-Control-Servern zu kommunizieren, Malware herunterzuladen oder Daten zu exfiltrieren. Durch die Untersuchung des Inhalts und des Ziels dieser Anrufe kann bösartiger Datenverkehr identifiziert und blockiert werden.
- Dateisystemzugriff und Shell-Ausführung: Durch die Überwachung des Dateisystemzugriffs können Versuche erkannt werden, sensible Dateien zu lesen, zu schreiben oder zu ändern oder bösartigen Code auszuführen. Durch die Analyse der Dateipfade, Berechtigungen und Operationen, die an diesen Zugriffen beteiligt sind, können nicht autorisierte Aktivitäten identifiziert und blockiert werden.
- Server-Side Request Forgery (SSRF)-Versuche: SSRF-Angriffe können verheerend sein, da sie es Angreifern ermöglichen, das Vertrauen Ihres Servers auszunutzen, um auf interne Ressourcen zuzugreifen oder sogar in ihrem Namen mit externen Diensten zu interagieren. Durch die genaue Überwachung des Ziels und der Art der internen Anfragen, die von Ihren Servern ausgehen, kann Zen SSRF-Angriffe blockieren.
Durch die Konzentration auf diese kritischen Punkte der Interaktion mit den zugrundeliegenden Systemen ermöglicht der Zen-Ansatz eine präzisere und effektivere Erkennung und Blockierung von Angriffen und minimiert gleichzeitig die Anzahl der Fehlalarme, die legitime Aktivitäten stören können. Diese Strategie liefert auch wertvolle Erkenntnisse über die Art und die Ziele von Angriffen, die zur Verbesserung der allgemeinen Sicherheitslage genutzt werden können.
Forschung
Das Aikido Zen-Team führt kontinuierlich Tests gegen kürzlich entdeckte Schwachstellen durch, um die Wirksamkeit von Aikido Zen zu messen. Das Team identifiziert neue Schwachstellen, schafft eine reproduzierbare Testumgebung, validiert die Schwachstelle mit einer erfolgreichen Payload-Injektion und installiert dann Aikido Zen, um zu überprüfen, ob der Angriff blockiert wird.
Für diese Arbeit hat das Team 17 Schwachstellen ermittelt, von denen 11 von Zen blockiert wurden und 6 aus einer Vielzahl von Gründen nicht.
Blockiert
Nicht blockiert
Aikido forscht kontinuierlich und erweitert den Zero-Day-Schutz von Aikido Zen durch neue Framework-Unterstützung und verbesserte Algorithmen.
Ein zentraler Grundsatz ist die Beibehaltung minimaler Leistungseinbußen (≤ 5 %) bei kontinuierlichem Schutz. Dies hindert uns zwar daran, bestimmte ressourcenintensive Schutzalgorithmen sofort zu implementieren (die die Anfragezeiten um das 2- bis 10-fache erhöhen könnten), aber wir entwickeln aktiv alternative, effiziente Ansätze.
Betrachten Sie Aikido Zen als eine *zusätzliche* Schutzschicht, die die umfassenden reaktiven Komponenten von Aikido wie Code-Scanning, API-Tests und andere robuste Sicherheitsfunktionen ergänzt.
Schlussfolgerung
Aikido Zen ist ein wichtiger Durchbruch in der Sicherheit von Webanwendungen. Es bietet einen starken Schutz vor Zero-Day-Angriffen, ohne dass ständige Patches erforderlich sind, da es sich auf das Angriffsverhalten konzentriert und modernste Technologien einsetzt. Aikido Zen bietet eine potenzielle Lösung für die Gewährleistung der kontinuierlichen Sicherheit von Webanwendungen, während sich die Bedrohungslandschaft verändert.