Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03595.jsonl.gz/1169

In the Code: Defeating the Unknown
Reto Ischi
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 von Ergon Informatik 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 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.
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
Einsatzbereich und Integrationsaufwand verschiedener WAF-Schutzmechanismen
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 im 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?
Im Gegensatz zu klassischen, regelbasierten Systemen, liefern ML-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 ein Fraud Detection System, für zusätzliche Analysen und Entscheidungen weitergeleitet werden.
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 wird.
Das Potential 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. (Reto Ischi)
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. Zur Zeit macht er eine Weiterbildung im Bereich Data Science an der ETH Zürich.