Wieso soll man eine unsichere Web-Applikation mit einem zusätzlichen Sicherheitsprodukt wie einer Web Application Firewall (WAF) schützen? Wäre es nicht viel sinnvoller, diese Ressourcen in die sichere Entwicklung der Applikation oder in die Identifizierung und Behebung der Sicherheitslücken zu investieren? Diese Frage wird mir regelmässig in Gesprächen mit Applikationsentwicklern gestellt. Mit der Art und Weise wie heute Web-Applikationen entwickelt, konfiguriert und deployed werden, ist es unglücklicherweise kaum möglich, alle Sicherheitslücken auszuräumen. Selbst wenn der selber geschriebene Programmcode entsprechende Qualitätsanforderungen erfüllt, so hängt dieser möglicherweise von Komponenten ab, die dies nicht tun.

Wie kann nun trotzdem die Sicherheit einer Web-Applikation gewährleisten werden? Die Antwort wussten bereits die Erbauer von Burgen im Mittelalter: Defense in depth. Man kombiniert mehrere unabhängige IT-Sicherheitssysteme und reduziert somit das Risiko eines erfolgreichen Cyber-Angriffs. In einem solchen System spielt eine Web Application Firewall bezüglich des Schutzes der Web- Applikation eine zentrale Rolle.

Airlock und Machine Learning

Mit dem allgemeinen Boom von Machine Learning (ML) in den letzten Jahren hält der Einsatz entsprechender Techniken vermehrt auch Einzug in den Bereich der IT-Security. Auch ein Team von Machine-Learning und Web-Security-Spezialisten der Ergon Informatik AG untersucht aktuell den Einsatz von ML-Methoden im Bereich der Airlock Web Application Firewall. Dieser Artikel liefert einen Überblick über die Chancen und Risiken ML-basierter Methoden im Bereich WAF.

Die Kernaufgabe einer Web Application Firewall besteht darin, die nachgelagerten Web-Applikationen vor technischen Angriffen zu schützen. Dabei kann Machine Learning nicht nur für die Erkennung von Web-Attacken eingesetzt werden. Denkbar ist auch ein Einsatz im Bereich Log-Analyse oder für die Unterstützung des Administrators bei der Erstellung oder Optimierung komplexer WAF-Konfigurationen.

 

Klassische Methoden und Machine Learning – eine Ergänzung

Die meisten Sicherheitsrisiken in Web-Applikationen können durch eine spezifische WAF-Funktion verhindert oder zumindest stark reduziert werden. Dabei kommen meist regelbasierte Systeme zum Einsatz. Bei älteren Web-Applikationen liegt der Grossteil der Applikationslogik auf dem Server und der Client folgt dem vorgegebenen Ablauf, beispielsweise indem er ein präsentiertes Formular vom Benutzer ausfüllen lässt. Solche Systeme können sehr effektiv durch dynamische Regeln wie dem Verschlüsseln von URLs, Signieren von HTML Formularelementen oder dem Einsatz von CSRF Tokens geschützt werden. Moderne Web-Applikationen dagegen, bei denen ein Grossteil der Applikationslogik im Client ausgeführt wird, können teilweise nur sehr schwierig mit dynamischen Funktionen abgesichert werden.

Ein Nachteil regelbasierter Systeme ist, dass diese meist nur gegen einen sehr spezifischen Angriffsvektor schützen oder aber mit hohem Integrationsaufwand verbunden sind. ML-basierte Methoden versprechen hier einen Mehrwert, da sie auch bei einer gewissen Unklarheit des Angriffsvektors eingesetzt werden können. Die nachfolgende Grafik beurteilt einige typische WAF Sicherheitsfunktionen bezüglich deren Integrationsaufwand sowie der Fähigkeit, unbekannte Angriffe zu erkennen. Wie man in der Grafik sieht, deckt kein einzelnes Sicherheitsfeature die ganze horizontale Achse, das heisst alle möglichen Angriffsvektoren, ab. Spezifische Angriffe wie Cross-Site Request Forgery oder bekannte Code-Injektion-Attacken werden weiterhin am effektivsten durch sehr spezifische, auf diesen Angriffsvektor zugeschnittene, Sicherheitsfunktionen verhindert.

Die richtige Aggregationsstufe

WAFs treffen typischerweise Entscheidungen basierend auf einzelnen Requests oder einer Gruppe von Requests, wie zum Beispiel alle Requests innerhalb einer HTTP-Session oder von derselben Source-IP-Adresse. Betrachtet man eine Gruppe von Requests innerhalb einer HTTP-Session, so können interessante Eigenschaften definiert und statistisch untersucht werden. Zum Beispiel kann die Wahrscheinlichkeit einer bestimmten Folge von HTTP-Requests innerhalb einer Session untersucht werden. Die typischen Folgen werden meist vom gewünschten Benutzerverhalten dominiert. Untypische Folgen deuten möglicherweise auf unerwünschte Aktivitäten wie einen Web-Crawler hin, der die Links in einer unüblichen Reihenfolge aufruft. Eine Schwierigkeit beim Session-Scope besteht darin, bei einem Angriff genügend früh Gegenmassnahmen wie das Blockieren der Session auszulösen. Ein weiteres Problem ist, dass Angreifer ihre Attacken auf mehrere Sessions verteilen können. Dies ist insbesondere bei öffentlich zugänglichen Web-Applikationen einfach möglich.

Auch Machine Learning braucht Engineering

Um eine unerwünschte HTTP-Session mittels ML basierten Methoden zu erkennen, müssen zuerst entsprechende Features definiert werden (Feature Engineering). Dabei werden aus den zugrunde liegenden Daten Attribute identifiziert, auf denen das Modell später Vorhersagen trifft. Dieser Schritt ist zentral für den Erfolg des Modells. Beispiele für solche Features in Webverkehr sind Verteilungen der Zeitabstände von Requests, HTTP-Objekt-Grössen oder die Verteilung von HTTP-Status-Codes. Wie man an diesen Beispielen sieht, können aus einzelnen Basisattributen in den Rohdaten, wie zum Beispiel Timestamps, über mehrere Schritte komplexere Features konstruiert werden. Anschliessend werden basierend auf diesen Features geeignete ML-Modelle ausgewählt, konfiguriert und trainiert. Durch geeignete Kombination verschiedener Modelle entsteht nun ein System, das in der Lage ist, bestimmte Auffälligkeiten einer Web-Session zu identifizieren. Dieses System kann Fragen beantworten wie: Wurden einzelne Requests innerhalb der Session durch eine Person ausgeführt oder war ausschliesslich eine Software beteiligt? Handelt es sich um einen gewöhnlichen Benutzer oder deutete sein Verhalten auf einen Hacker hin? Falls die Requests von einer Software ausgelöst wurden, handelt es sich um eine legitime Suchmaschine, ein Monitoring-Tool oder möglicherweise um einen unerwünschten Site-Crawler, Bot oder sogar ein Attack-Tool?

Jede Web-Applikation kann dabei mit einem eigenen Modell trainiert und geschützt werden. Somit kann eine bestimmte Anomalie in einer Applikation ein gewöhnliches Verhalten in einer anderen Applikation sein. Dies ist ein weiterer Vorteil einer Web Application Firewall mit Machine Learning gegenüber statischen Sicherheitsfunktionen, die nur mit viel Aufwand für jede Web-Applikation unterschiedlich konfiguriert und optimiert werden können. Beim Trainieren der Modelle muss zudem darauf geachtet werden, dass der Angreifer keinen Einfluss auf die Trainingsphase nehmen kann, oder dass die Modelle mit solchen unerwünschten Daten umgehen können.

Kein Schwarz-Weiss Denken

Im Gegensatz zu klassischen, regelbasierten Systemen, liefern Machine Learning-Modelle keine Schwarz-Weiss-Antworten sondern Wahrscheinlichkeitsverteilungen. Aktionen können nun in Abhängigkeit dieser Verteilung ausgelöst werden. Eine Session-Terminierung oder das zeitliche Blockieren einer Source-IP möchte man in der Regel nur auslösen, wenn ein Angriff eine hohe Wahrscheinlichkeit hat. Andere Aktionen wie das Einblenden eines CAPTCHAs sollen dagegen nur erfolgen, wenn Requests mit hoher Wahrscheinlichkeit automatisiert, zum Beispiel von einem Bot, ausgelöst wurden. Ist die Unsicherheit zu hoch, so können Session-Details auch nur geloggt oder an ein Umsystem, wie zum Beispiel einem Fraud Detection System, für zusätzliche Analysen und Entscheidungen weitergeleitet werden.

Sicherheit von ML-basierten Systemen

Da ML-Modelle heute in sehr kritischen Systemen wie selbstfahrenden Autos eingesetzt werden, in welchen falsche Entscheidungen fatale Folgen haben können, wird seit einigen Jahren vermehrt zum Thema der Robustheit dieser Modelle geforscht. Auch wenn zum Beispiel Strassenschilder ohne Probleme mit einer sehr hohen Genauigkeit erkannt werden können, so wurde gezeigt, dass bei nicht robusten Modellen ein Angreifer durch kaum sichtbare Veränderungen eines Stopp- Strassenschildes, das System dazu bringen kann, dass dieses das Schild als "Höchstgeschwindigkeit 80 km/h" klassifiziert.

Diese Frage nach der Robustheit eines ML-Modells wird in vielen Projekten ausser Acht gelassen. Es ist offensichtlich, dass im Sicherheitsumfeld diese Modelleigenschaft relevant ist. Eine relativ einfache Möglichkeit die Modelle robuster gegen solche Angriffe zu machen, ist, diese zusätzlich mit entsprechenden Angriffsbeispielen (Perturbed Train Data) zu trainieren.

Fazit

Das Potenzial von ML-Modellen in Sicherheitsprodukten wie WAFs ist gross. Statistische Lösungsansätze bringen aber auch viele neue Risiken mit sich. Die Kunst dabei ist zu erkennen, in welchen Bereichen die Systeme einen tatsächlichen Mehrwert liefern und wie diese dafür im Detail designed werden müssen, um Anforderungen an Sicherheit und insbesondere Betreibbarkeit zu erfüllen. Fundiertes Know-how im Bereich Applikationssicherheit sowie Machine Learning ist dabei zentral für den Erfolg eines solchen Projektes.

 

Über den Autor

Reto Ischi ist Head of Research and Development Airlock WAF beim Zürcher Softwarehersteller Ergon und seit über 17 Jahren im Bereich der Informationssicherheit und Softwareentwicklung tätig. Zu seinen Aufgaben gehören unter anderem Design und Entwicklung neuer Sicherheitsfeatures. Reto Ischi hat an der ETH den Master in Informatik im Bereich Informationssicherheit absolviert und macht zurzeit eine Weiterbildung im Bereich Data Science an der ETH Zürich.

 

Mehr über Airlock WAF

Blognews direkt in Ihr Postfach

Der Airlock Newsletter informiert Sie laufend über neue Blogartikel.

Blognews abonnieren

Keine Blogbeiträge

Die Liste enthält keine Blogbeiträge.

Wir informieren Sie

-Unsere Whitepaper-

Executive View: KuppingerCole - Airlock Secure Acces Hub für Applications und APIs

Dieser KuppingerCole Executive View Bericht gibt einen architektonischen und funktionalen Überblick über den Airlock Secure Access Hub, eine integrierte Plattform für sicheres Access Management - ein multicloud-natives Sicherheitstool für Webanwendungen, APIs und darüber hinaus.

Jetzt Formular ausfüllen und Executive View erhalten!

Whitepaper: Sicherheit für cloudnative Anwendungen

Wie es Unternehmen gelingt, die Sicherheit von Web-Applikationen und APIs in Kubernetes zu gewährleisten lesen Sie hier im Whitepaper "Sicherheit für cloudnative Anwendungen“, das in Zusammenarbeit zwischen heise und Airlock entstanden ist.

Whitepaper anfordern

Whitepaper: Zero Trust ist eine Reise

Die kontinuierliche digitale Transformation der Welt schreitet voran und wirkt sich tiefgreifend auf das Privat- und Berufsleben in einer Weise aus, die vor wenigen Jahren noch schwer vorstellbar war.

Dieses Whitepaper behandelt die Effekte der kontinuierlichen Digitalisierung und ihre Auswirkungen.

Kostenlos anfordern

Auf zu DevSecOps

Erfahren Sie in diesem Whitepaper die wichtigsten Erkenntnisse, wie Sie DevSecOps erfolgreich und effizient umsetzen können, welche Sicherheitskomponenten es dafür braucht und welche Vorteile eine Microgateway Architektur bringt.

Kostenlos anfordern

Airlock 2FA - Starke Authentifizierung. Einfach.

Doppelte Sicherheit – das bietet die Zwei-Faktor-Authentifizierung im Bereich IT-Security.

Erfahren Sie in unserem Whitepaper mehr über starke Authentifizierung und die Möglichkeiten, die Airlock bietet.

Kostenlos herunterladen

Weitere Whitepaper

Zu diesen und weiteren Themen stellen wir Ihnen kostenlos Whitepaper zur Verfügung:

  • erfolgreiche IAM Projekte
  • Compliance
  • Datenschutz (DSGVO)
  • Einführung von PSD2
  • PCI DSS Anforderungen
Kostenlos anfordern