Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

In unserem vorherigen Material zu Cloud-Themen haben wir erzählt, wie man IT-Ressourcen in der Public Cloud schützt und warum herkömmliche Antivirenprogramme für diese Zwecke nicht ganz geeignet sind. In diesem Beitrag werden wir das Thema Cloud-Sicherheit fortsetzen und über die Entwicklung von WAF sprechen und darüber, was besser zu wählen ist: Hardware, Software oder Cloud. 

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Was ist WAF?

Mehr als 75 % der Hackerangriffe zielen auf Schwachstellen von Webanwendungen und Websites ab: Solche Angriffe sind für die Informationssicherheitsinfrastruktur und Informationssicherheitsdienste normalerweise unsichtbar. Schwachstellen in Webanwendungen bergen wiederum das Risiko der Kompromittierung und des Betrugs von Benutzerkonten und persönlichen Daten, Passwörtern und Kreditkartennummern. Darüber hinaus dienen Schwachstellen in der Website als Einfallstor für Angreifer in das Unternehmensnetzwerk.

Web Application Firewall (WAF) ist ein Schutzschirm, der Angriffe auf Webanwendungen blockiert: SQL-Injection, Cross-Site-Scripting, Remote-Codeausführung, Brute Force und Autorisierungsumgehung. Einschließlich Angriffe, die Zero-Day-Schwachstellen ausnutzen. Anwendungsfirewalls bieten Schutz, indem sie Webseiteninhalte überwachen, einschließlich HTML, DHTML und CSS, und potenziell schädliche HTTP/HTTPS-Anfragen filtern.

Was waren die ersten Entscheidungen?

Die ersten Versuche, eine Web Application Firewall zu erstellen, wurden bereits Anfang der 90er Jahre unternommen. Es ist bekannt, dass mindestens drei Ingenieure auf diesem Gebiet tätig waren. Der erste ist Informatikprofessor Gene Spafford von der Purdue University. Er beschrieb die Architektur einer Proxy-Anwendungs-Firewall und veröffentlichte sie 1991 in dem Buch „UNIX-Sicherheit in der Praxis“.

Der zweite und dritte waren die Informationssicherheitsspezialisten William Cheswick und Marcus Ranum von Bell Labs. Sie entwickelten einen der ersten Anwendungs-Firewall-Prototypen. Der Vertrieb erfolgte durch DEC – das Produkt wurde unter dem Namen SEAL (Secure External Access Link) veröffentlicht.

Aber SEAL war keine vollwertige WAF-Lösung. Es handelte sich um eine klassische Netzwerk-Firewall mit erweiterter Funktionalität – der Fähigkeit, Angriffe auf FTP und RSH zu blockieren. Aus diesem Grund gilt die erste WAF-Lösung heute als Produkt von Perfecto Technologies (später Sanctum). 1999 hat sie präsentiert AppShield-System. Damals entwickelte Perfecto Technologies Informationssicherheitslösungen für den E-Commerce und Online-Shops wurden zur Zielgruppe ihres neuen Produkts. AppShield war in der Lage, HTTP-Anfragen zu analysieren und Angriffe auf der Grundlage dynamischer Informationssicherheitsrichtlinien zu blockieren.

Etwa zeitgleich mit AppShield (im Jahr 2002) erschien die erste Open-Source-WAF. Er wurde ModSecurity. Es wurde mit dem Ziel erstellt, WAF-Technologien bekannt zu machen und wird immer noch von der IT-Community unterstützt (hier ist es). Repository auf GitHub). ModSecurity blockiert Angriffe auf Anwendungen basierend auf einem Standardsatz regulärer Ausdrücke (Signaturen) – Tools zur Überprüfung von Anfragen basierend auf Mustern – OWASP-Kernregelsatz.

Dadurch gelang es den Entwicklern, ihr Ziel zu erreichen – neue WAF-Lösungen erschienen auf dem Markt, darunter auch solche, die auf der Basis von ModSecurity erstellt wurden.

Drei Generationen sind bereits Geschichte

Es ist üblich, drei Generationen von WAF-Systemen zu unterscheiden, die sich mit der Entwicklung der Technologie weiterentwickelt haben.

Erste Generation. Funktioniert mit regulären Ausdrücken (oder Grammatiken). Dazu gehört ModSecurity. Der Systemanbieter untersucht die Arten von Angriffen auf Anwendungen und generiert Muster, die legitime und potenziell bösartige Anfragen beschreiben. WAF überprüft diese Listen und entscheidet, was in einer bestimmten Situation zu tun ist – ob der Datenverkehr blockiert wird oder nicht.

Ein Beispiel für die Erkennung auf Basis regulärer Ausdrücke ist das bereits erwähnte Projekt Kernregelsatz Open Source. Ein anderes Beispiel - Naxsi, das ebenfalls Open Source ist. Systeme mit regulären Ausdrücken haben eine Reihe von Nachteilen, insbesondere wenn eine neue Schwachstelle entdeckt wird, muss der Administrator zusätzliche Regeln manuell erstellen. Bei einer großen IT-Infrastruktur kann es mehrere tausend Regeln geben. Die Verwaltung so vieler regulärer Ausdrücke ist ziemlich schwierig, ganz zu schweigen davon, dass ihre Überprüfung die Netzwerkleistung beeinträchtigen kann.

Reguläre Ausdrücke haben auch eine ziemlich hohe Falsch-Positiv-Rate. Der berühmte Linguist Noam Chomsky schlug eine Klassifikation der Grammatiken vor, in der er sie in vier bedingte Komplexitätsstufen einteilte. Nach dieser Klassifizierung können reguläre Ausdrücke nur Firewall-Regeln beschreiben, die keine Abweichungen vom Muster beinhalten. Dies bedeutet, dass Angreifer die WAF der ersten Generation leicht „täuschen“ können. Eine Möglichkeit, dem entgegenzuwirken, besteht darin, Anwendungsanfragen Sonderzeichen hinzuzufügen, die die Logik der Schaddaten nicht beeinträchtigen, aber gegen die Signaturregel verstoßen.

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Die zweite Generation. Um die Leistungs- und Genauigkeitsprobleme von WAFs zu umgehen, wurden Anwendungsfirewalls der zweiten Generation entwickelt. Sie verfügen nun über Parser, die für die Identifizierung streng definierter Angriffsarten (auf HTML, JS usw.) verantwortlich sind. Diese Parser arbeiten mit speziellen Tokens, die Abfragen beschreiben (z. B. Variable, String, Unbekannt, Zahl). Potenziell schädliche Token-Sequenzen werden in einer separaten Liste abgelegt, die das WAF-System regelmäßig überprüft. Dieser Ansatz wurde erstmals auf der Black Hat 2012-Konferenz in Form von C/C++ gezeigt Libinjection-Bibliotheken, mit dem Sie SQL-Injections erkennen können.

Im Vergleich zu WAFs der ersten Generation können spezialisierte Parser schneller sein. Sie lösten jedoch nicht die Schwierigkeiten, die mit der manuellen Konfiguration des Systems beim Auftreten neuer bösartiger Angriffe verbunden sind.

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Dritte Generation. Die Weiterentwicklung der Erkennungslogik der dritten Generation besteht in der Verwendung von Methoden des maschinellen Lernens, die es ermöglichen, die Erkennungsgrammatik so nah wie möglich an die tatsächliche SQL/HTML/JS-Grammatik der geschützten Systeme zu bringen. Diese Erkennungslogik ist in der Lage, eine Turing-Maschine so anzupassen, dass sie rekursiv aufzählbare Grammatiken abdeckt. Darüber hinaus war die Aufgabe, eine anpassungsfähige Turing-Maschine zu entwickeln, bis zur Veröffentlichung der ersten Studien über neuronale Turing-Maschinen unlösbar.

Maschinelles Lernen bietet die einzigartige Möglichkeit, jede Grammatik anzupassen, um jede Art von Angriff abzudecken, ohne manuell Signaturlisten zu erstellen, wie sie bei der Erkennung der ersten Generation erforderlich sind, und ohne neue Tokenizer/Parser für neue Angriffstypen wie Memcached, Redis, Cassandra, SSRF-Injektionen zu entwickeln , wie von der Methodik der zweiten Generation gefordert.

Durch die Kombination aller drei Generationen der Erkennungslogik können wir ein neues Diagramm zeichnen, in dem die dritte Generation der Erkennung durch die rote Umrandung dargestellt wird (Abbildung 3). Diese Generation umfasst eine der Lösungen, die wir gemeinsam mit Onsek, dem Entwickler der Plattform für adaptiven Schutz von Webanwendungen und der Wallarm API, in der Cloud implementieren.

Die Erkennungslogik nutzt nun das Feedback der Anwendung, um sich selbst zu optimieren. Beim maschinellen Lernen wird diese Rückkopplungsschleife „Verstärkung“ genannt. Typischerweise gibt es eine oder mehrere Arten einer solchen Bewehrung:

  • Analyse des Antwortverhaltens der Anwendung (passiv)
  • Scan/Fuzzer (aktiv)
  • Meldedateien/Abfangverfahren/Fallen (nachträglich)
  • Handbuch (vom Vorgesetzten festgelegt)

Daher berücksichtigt die Erkennungslogik der dritten Generation auch das wichtige Problem der Genauigkeit. Es ist jetzt nicht nur möglich, falsch positive und falsch negative Ergebnisse zu vermeiden, sondern auch gültige echte negative Ergebnisse zu erkennen, z. B. die Erkennung der Verwendung von SQL-Befehlselementen in der Systemsteuerung, das Laden von Webseitenvorlagen, AJAX-Anfragen im Zusammenhang mit JavaScript-Fehlern und andere.

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Als nächstes betrachten wir die technologischen Möglichkeiten verschiedener WAF-Implementierungsoptionen.

Hardware, Software oder Cloud – was soll man wählen?

Eine der Möglichkeiten zur Implementierung von Anwendungsfirewalls ist eine Hardwarelösung. Bei solchen Systemen handelt es sich um spezialisierte Computergeräte, die ein Unternehmen lokal in seinem Rechenzentrum installiert. In diesem Fall müssen Sie jedoch Ihre eigene Ausrüstung kaufen und den Integratoren Geld für deren Einrichtung und Fehlerbehebung zahlen (wenn das Unternehmen keine eigene IT-Abteilung hat). Gleichzeitig veralten alle Geräte und werden unbrauchbar, sodass Kunden gezwungen sind, ein Budget für Hardware-Upgrades einzuplanen.

Eine weitere Möglichkeit zur Bereitstellung einer WAF ist eine Softwareimplementierung. Die Lösung wird als Add-on für einige Software installiert (z. B. wird ModSecurity auf Apache konfiguriert) und läuft mit dieser auf demselben Server. In der Regel können solche Lösungen sowohl auf einem physischen Server als auch in der Cloud bereitgestellt werden. Ihr Nachteil ist die eingeschränkte Skalierbarkeit und Herstellerunterstützung.

Die dritte Möglichkeit ist die Einrichtung einer WAF aus der Cloud. Solche Lösungen werden von Cloud-Anbietern als Abonnementdienst bereitgestellt. Das Unternehmen muss keine spezielle Hardware kaufen und konfigurieren; diese Aufgaben fallen auf die Schultern des Dienstleisters. Ein wichtiger Punkt ist, dass eine moderne Cloud-WAF nicht die Migration von Ressourcen auf die Plattform des Anbieters impliziert. Die Site kann überall bereitgestellt werden, sogar vor Ort.

Wir werden weiter erklären, warum Menschen jetzt zunehmend auf Cloud-WAF setzen.

Was WAF in der Cloud leisten kann

In Bezug auf die technologischen Fähigkeiten:

  • Für Updates ist der Anbieter verantwortlich. WAF wird im Abonnement bereitgestellt, sodass der Dienstanbieter die Relevanz von Updates und Lizenzen überwacht. Updates betreffen nicht nur Software, sondern auch Hardware. Der Anbieter rüstet den Serverpark auf und pflegt ihn. Es ist auch für den Lastausgleich und die Redundanz verantwortlich. Fällt der WAF-Server aus, wird der Datenverkehr sofort auf einen anderen Rechner umgeleitet. Durch die rationelle Verteilung des Datenverkehrs können Sie Situationen vermeiden, in denen die Firewall in den Fail-Open-Modus wechselt – sie kann die Last nicht bewältigen und stoppt die Filterung von Anfragen.
  • Virtuelles Patchen. Virtuelle Patches beschränken den Zugriff auf gefährdete Teile der Anwendung, bis der Entwickler die Schwachstelle schließt. Dadurch erhält der Kunde des Cloud-Anbieters die Möglichkeit, in Ruhe zu warten, bis der Anbieter dieser oder jener Software offizielle „Patches“ veröffentlicht. Dies so schnell wie möglich zu erledigen, hat für den Softwarelieferanten Priorität. Beispielsweise ist in der Wallarm-Plattform ein separates Softwaremodul für das virtuelle Patchen zuständig. Der Administrator kann benutzerdefinierte reguläre Ausdrücke hinzufügen, um böswillige Anfragen zu blockieren. Das System ermöglicht es, einige Anfragen mit dem Kennzeichen „Vertrauliche Daten“ zu kennzeichnen. Dann werden ihre Parameter maskiert und auf keinen Fall außerhalb des Firewall-Arbeitsbereichs übertragen.
  • Integrierter Perimeter- und Schwachstellenscanner. Dadurch können Sie die Netzwerkgrenzen der IT-Infrastruktur anhand von Daten aus DNS-Anfragen und dem WHOIS-Protokoll selbstständig ermitteln. Anschließend analysiert WAF automatisch die innerhalb des Perimeters ausgeführten Dienste (führt Port-Scans durch). Die Firewall ist in der Lage, alle gängigen Arten von Schwachstellen zu erkennen – SQLi, XSS, XXE usw. – und Fehler in der Softwarekonfiguration zu identifizieren, beispielsweise unbefugten Zugriff auf Git- und BitBucket-Repositorys und anonyme Aufrufe von Elasticsearch, Redis, MongoDB.
  • Angriffe werden durch Cloud-Ressourcen überwacht. Cloud-Anbieter verfügen in der Regel über große Mengen an Rechenleistung. Dadurch können Sie Bedrohungen mit hoher Genauigkeit und Geschwindigkeit analysieren. In der Cloud wird ein Cluster von Filterknoten bereitgestellt, durch den der gesamte Datenverkehr geleitet wird. Diese Knoten blockieren Angriffe auf Webanwendungen und senden Statistiken an das Analytics Center. Es verwendet Algorithmen für maschinelles Lernen, um Blockierungsregeln für alle geschützten Anwendungen zu aktualisieren. Die Umsetzung eines solchen Schemas ist in Abb. dargestellt. 4. Solche maßgeschneiderten Sicherheitsregeln minimieren die Anzahl falscher Firewall-Alarme.

Die Entwicklung der Web Application Firewall: von Firewalls zu cloudbasierten Schutzsystemen mit maschinellem Lernen

Nun ein wenig zu den Funktionen von Cloud-WAFs im Hinblick auf organisatorische Fragen und Verwaltung:

  • Übergang zu OpEx. Bei Cloud-WAFs betragen die Kosten für die Implementierung null, da die gesamte Hardware und Lizenzen bereits vom Anbieter bezahlt wurden; die Bezahlung des Dienstes erfolgt per Abonnement.
  • Verschiedene Tarifpläne. Der Cloud-Service-Benutzer kann zusätzliche Optionen schnell aktivieren oder deaktivieren. Die Funktionen werden über ein einziges Bedienfeld verwaltet, was ebenfalls sicher ist. Der Zugriff erfolgt über HTTPS, außerdem gibt es einen Zwei-Faktor-Authentifizierungsmechanismus, der auf dem TOTP-Protokoll (Time-based One-Time Password Algorithm) basiert.
  • Verbindung über DNS. Sie können DNS selbst ändern und das Netzwerkrouting konfigurieren. Um diese Probleme zu lösen, ist es nicht erforderlich, einzelne Spezialisten zu rekrutieren und auszubilden. In der Regel kann der technische Support des Anbieters bei der Einrichtung weiterhelfen.

WAF-Technologien haben sich von einfachen Firewalls mit Faustregeln zu komplexen Schutzsystemen mit maschinellen Lernalgorithmen entwickelt. Anwendungsfirewalls bieten heute eine Vielzahl von Funktionen, die in den 90er Jahren nur schwer zu implementieren waren. Die Entstehung neuer Funktionen wurde in vielerlei Hinsicht dank Cloud-Technologien möglich. WAF-Lösungen und ihre Komponenten entwickeln sich ständig weiter. Genauso wie andere Bereiche der Informationssicherheit.

Der Text wurde von Alexander Karpuzikov, Produktentwicklungsmanager für Informationssicherheit beim Cloud-Anbieter #CloudMTS, verfasst.

Source: habr.com

Kommentar hinzufügen