Die Entwicklung der Web Application Firewall: von Firewalls zu maschinell erlernbaren cloudbasierten Sicherheitssystemen

In unserem vorherigen Cloud-basierten Material haben wir darüber gesprochen, wie IT-Ressourcen in einer öffentlichen Cloud geschützt werden können und warum herkömmliche Antivirenprogramme für diese Zwecke nicht geeignet sind. In diesem Beitrag werden wir das Thema Cloud-Sicherheit fortsetzen und über die Entwicklung von WAF und die bessere Wahl sprechen: Hardware, Software oder Cloud.



Was ist WAF?


Mehr als 75% der Hackerangriffe zielen auf Sicherheitslücken in Webanwendungen und Websites ab. Solche Angriffe sind normalerweise für die Informationssicherheitsinfrastruktur und die Informationssicherheitsdienste unsichtbar. Sicherheitslücken in Webanwendungen bergen wiederum das Risiko von Kompromissen und Betrug bei Benutzerkonten und persönlichen Daten, Passwörtern und Kreditkartennummern. Darüber hinaus dienen Schwachstellen auf der Website als Einstiegspunkt für Cyberkriminelle im Unternehmensnetzwerk.

Web Application Firewall (WAF) ist eine Firewall, die Angriffe auf Webanwendungen blockiert: SQL-Injection, Crossite-Scripting, Remotecodeausführung, Brute Force und Authentifizierungsumgehung. Einschließlich Angriffe mit Zero-Day-Schwachstellen. Anwendungsfirewalls bieten Schutz, indem sie den Inhalt von Webseiten, einschließlich HTML, DHTML und CSS, überwachen und potenziell böswillige Anfragen über HTTP / HTTPS filtern.

Was waren die ersten Entscheidungen?


Die ersten Versuche, eine Web Application Firewall zu erstellen, wurden in den frühen 90er Jahren unternommen. Es sind mindestens drei Ingenieure bekannt, die in diesem Bereich arbeiten. Der erste ist Gene Spafford, Professor für Informatik an der Purdue University. Er beschrieb die Architektur der Application Firewall mit einem Proxy und veröffentlichte sie 1991 im Buch „UNIX Security in Practice“ .

Der zweite und dritte - waren die Informationssicherheitsspezialisten William Cheswick und Marcus Ranum von Bell Labs. Sie entwickelten einen der ersten Prototypen von Anwendungsfirewalls. DEC war an der Distribution beteiligt - das Produkt wurde unter dem Namen SEAL (Secure External Access Link) veröffentlicht.

Aber SEAL war keine vollständige WAF-Lösung. Es war eine klassische Netzwerk-Firewall mit erweiterten Funktionen - die Fähigkeit, Angriffe auf FTP und RSH zu blockieren. Aus diesem Grund wird die erste WAF-Lösung heute als Produkt von Perfecto Technologies (später Sanctum) angesehen. 1999 führte sie das AppShield-System ein. Zu dieser Zeit entwickelte Perfecto Technologies Informationssicherheitslösungen für den E-Commerce und Online-Shops wurden zur Zielgruppe für ihr neues Produkt. AppShield war in der Lage, HTTP-Anforderungen und blockierte Angriffe basierend auf Richtlinien für dynamische Informationssicherheit zu analysieren.

Etwa zur gleichen Zeit wie AppShield (2002) erschien der erste Open-Source-WAF. Sie wurden ModSecurity . Es wurde erstellt, um WAF-Technologien bekannt zu machen und wird weiterhin von der IT-Community unterstützt (hier ist das Repository auf GitHub ). ModSecurity blockiert Angriffe auf Anwendungen, die auf einem Standardsatz regulärer Ausdrücke (Signaturen) basieren - Tools zum Überprüfen von Abfragen anhand eines Musters - OWASP Core Rule Set .

Damit haben die Entwickler ihr Ziel erreicht - es kamen neue WAF-Lösungen auf den Markt, auch auf Basis von ModSecurity.

Drei Generationen sind Geschichte


Es ist üblich, drei Generationen von WAF-Systemen zu unterscheiden, die sich im Zuge der technologischen Entwicklung entwickelt haben.

Erste Generation . Funktioniert mit regulären Ausdrücken (oder Grammatiken). Dies beinhaltet ModSecurity. Der Systemanbieter untersucht die Arten von Angriffen auf Anwendungen und generiert Muster, die legitime und potenziell böswillige Anforderungen beschreiben. WAF überprüft diese Listen und entscheidet, was in einer bestimmten Situation zu tun ist - Verkehr blockieren oder nicht.

Ein Beispiel für die Erkennung regulärer Ausdrücke ist das bereits erwähnte Open-Source- Core-Rule-Set- Projekt. Ein weiteres Beispiel ist Naxsi , das ebenfalls Open Source ist. Systeme mit regulären Ausdrücken weisen mehrere Nachteile auf. Insbesondere wenn eine neue Sicherheitsanfälligkeit entdeckt wird, muss der Administrator zusätzliche Regeln manuell erstellen. Bei einer großen IT-Infrastruktur kann es mehrere tausend Regeln geben. Das Verwalten so vieler regulärer Ausdrücke ist ziemlich schwierig, ganz zu schweigen davon, dass das Überprüfen dieser Ausdrücke die Netzwerkleistung verringern kann.

Reguläre Ausdrücke weisen auch eine relativ hohe Anzahl von Fehlalarmen auf. Der berühmte Linguist Noam Chomsky schlug eine Klassifikation der Grammatiken vor, in die er sie in vier bedingte Schwierigkeitsstufen einteilte. Gemäß dieser Klassifizierung können reguläre Ausdrücke nur Firewall-Regeln beschreiben, die keine Abweichungen vom Muster implizieren. Dies bedeutet, dass Angreifer den WAF der ersten Generation leicht „austricksen“ können. Eine der Methoden, um dem entgegenzuwirken, besteht darin, Anwendungsanforderungen Sonderzeichen hinzuzufügen, die die Logik bösartiger Daten nicht beeinträchtigen, aber die Signaturregel verletzen.



Zweite Generation . Um Leistungs- und Genauigkeitsprobleme mit WAF zu umgehen, wurden Anwendungsfirewalls der zweiten Generation entwickelt. Darin tauchten Parser auf, die für die Identifizierung genau definierter Angriffsarten (HTML, JS usw.) verantwortlich sind. Diese Parser arbeiten mit speziellen Token, die Anforderungen beschreiben (z. B. Variable, Zeichenfolge, Unbekannt, Nummer). Potenziell böswillige Tokensequenzen werden in einer separaten Liste abgelegt, mit der das WAF-System regelmäßig überprüft wird. Dieser Ansatz wurde erstmals auf der Black Hat 2012-Konferenz in Form der C / C ++ - Bibliothek zur Libinjektion gezeigt , mit der SQL-Injektionen erkannt werden können.

Im Vergleich zu WAFs der ersten Generation können spezialisierte Parser schneller arbeiten. Sie lösten jedoch nicht die Schwierigkeiten, die mit der manuellen Konfiguration des Systems verbunden waren, als neue böswillige Angriffe auftraten.



Dritte Generation . Die Weiterentwicklung der Erkennungslogik der dritten Generation besteht in der Anwendung maschineller Lernmethoden, die es ermöglichen, die Erkennungsgrammatik so nah wie möglich an die echte SQL / HTML / JS-Grammatik geschützter Systeme heranzuführen. Diese Erkennungslogik kann die Turing-Maschine so anpassen, dass sie rekursiv aufgezählte Grammatiken abdeckt. Darüber hinaus war die Aufgabe, eine anpassungsfähige Turing-Maschine zu entwickeln, früher unlösbar, bis die ersten Studien zu neuronalen Turing-Maschinen veröffentlicht wurden.

Das maschinelle Lernen bietet die einzigartige Möglichkeit, jede Grammatik für jede Art von Angriff anzupassen, ohne manuell Signaturlisten zu erstellen, wie dies beim Erkennen der ersten Generation erforderlich ist, und ohne neue Tokenizer / Parser für neue Angriffsarten wie Memcached, Redis, Cassandra, SSRF zu entwickeln. gemäß der Methodik der zweiten Generation.

Durch Kombination aller drei Generationen der Erkennungslogik können wir ein neues Diagramm zeichnen, in dem die dritte Generation der Erkennung durch einen roten Umriss dargestellt wird (Abb. 3). Diese Generation umfasst eine der Lösungen, die wir zusammen mit Onsek, dem Entwickler der adaptiven Schutzplattform für Webanwendungen und der Valarm-API in der Cloud implementieren.

Die Erkennungslogik verwendet jetzt die Rückmeldung der selbstoptimierenden Anwendung. Beim maschinellen Lernen wird diese Rückkopplungsschleife Verstärkung genannt. Typischerweise gibt es eine oder mehrere Arten solcher Verstärkungen:

  • Analyse des Antwortverhaltens der Anwendung (passiv)
  • Scan / Fuzzer (Aktiv)
  • Berichtsdateien / Interceptor / Trap-Prozeduren (post factum)
  • Handbuch (vom Supervisor festgelegt)

Infolgedessen löst die Erkennungslogik der dritten Generation auch das wichtige Genauigkeitsproblem. Jetzt ist es nicht nur möglich, falsch-positive und falsch-negative Ergebnisse zu vermeiden, sondern auch gültige, wahr-negative Ergebnisse zu ermitteln, z. B. die Verwendung des SQL-Befehlselements in der Systemsteuerung zu ermitteln, Webseitenvorlagen zu laden, AJAX-Anforderungen im Zusammenhang mit JavaScript-Fehlern und andere.







Als nächstes betrachten wir die technologischen Fähigkeiten verschiedener WAF-Implementierungsoptionen.

Eisen, Software oder Cloud - was soll man wählen?


Eine der Optionen für die Implementierung von Anwendungsfirewalls ist eine Hardwarelösung. Solche Systeme sind spezialisierte Computergeräte, die das Unternehmen lokal in seinem Rechenzentrum installiert. In diesem Fall müssen Sie jedoch Ihre eigenen Geräte kaufen und den Integratoren Geld für die Einrichtung und das Debugging zahlen (wenn das Unternehmen keine eigene IT-Abteilung hat). Gleichzeitig wird jedes Gerät veraltet und in Mitleidenschaft gezogen, sodass die Kunden ein Budget für die Aktualisierung der Hardware aufstellen müssen.

Eine andere WAF-Bereitstellungsoption ist eine Softwareimplementierung. Die Lösung wird als Add-On für jede Software installiert (z. B. ModSecurity wird über Apache konfiguriert) und läuft auf demselben Server wie diese. In der Regel können solche Lösungen sowohl auf einem physischen Server als auch in der Cloud bereitgestellt werden. Ihr Minus ist die eingeschränkte Skalierbarkeit und Unterstützung durch den Anbieter.

Die dritte Option ist die Konfiguration von WAF aus der Cloud. Solche Lösungen werden von Cloud-Anbietern als Abonnementservice angeboten. Das Unternehmen muss keine spezielle Hardware kaufen und einrichten, diese Aufgaben fallen auf die Schultern des Dienstleisters. Ein wichtiger Punkt ist, dass modernes Cloud-basiertes WAF nicht die Migration von Ressourcen auf die Plattform des Anbieters impliziert. Eine Site kann überall bereitgestellt werden, auch vor Ort.

Warum nun immer öfter in Richtung trübes WAF schauen, werden wir weiter verraten.

Was kann WAF in der Cloud


In Bezug auf die technologischen Fähigkeiten:

  • Der Anbieter ist für die Updates 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 aktualisiert die Serverflotte und ist mit der Wartung beschäftigt. Er ist auch für den Lastausgleich und die Redundanz verantwortlich. Wenn der WAF-Server ausfällt, wird der Datenverkehr sofort auf einen anderen Computer umgeleitet. Durch eine rationelle Verteilung des Datenverkehrs können Sie Situationen vermeiden, in denen die Firewall in den Fail-Open-Modus wechselt. Sie kommt nicht mit der Last zurecht und stoppt das Filtern von Anforderungen.
  • Virtueller Patch . Virtuelle Patches beschränken den Zugriff auf gefährdete Teile der Anwendung, bis die Sicherheitsanfälligkeit vom Entwickler geschlossen wird. Dadurch hat der Kunde des Cloud-Anbieters die Möglichkeit, ruhig zu warten, bis der Anbieter der einen oder anderen Software offizielle „Patches“ veröffentlicht. Dies so schnell wie möglich zu tun, hat für den Softwareanbieter Priorität. In der Valarm-Plattform ist beispielsweise ein separates Softwaremodul für das virtuelle Patchen verantwortlich. Ein Administrator kann benutzerdefinierte reguläre Ausdrücke hinzufügen, um böswillige Anforderungen zu blockieren. Das System ermöglicht es, einige Abfragen mit dem Kennzeichen Vertrauliche Daten zu kennzeichnen. Anschließend werden ihre Parameter maskiert und auf keinen Fall außerhalb des Arbeitsbereichs der Firewall übertragen.
  • Eingebauter Perimeter- und Schwachstellenscanner . Auf diese Weise können Sie die Netzwerkgrenzen der IT-Infrastruktur mithilfe der Daten von DNS-Abfragen und des WHOIS-Protokolls unabhängig bestimmen. Nachdem WAF automatisch die Dienste analysiert hat, die innerhalb des Perimeters ausgeführt werden (führt einen Port-Scan durch). Die Firewall erkennt alle gängigen Arten von Sicherheitslücken - SQLi, XSS, XXE usw. - und erkennt Fehler in der Softwarekonfiguration, z. B. nicht autorisierten Zugriff auf die Git- und BitBucket-Repositorys und anonyme Aufrufe von Elasticsearch, Redis, MongoDB.
  • Angriffe werden von Cloud-Ressourcen überwacht . Cloud-Anbieter verfügen in der Regel über große Rechenleistung. Auf diese Weise 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 Websites blockieren Angriffe auf Webanwendungen und senden Statistiken an das Analytics Center. Mithilfe von Algorithmen für maschinelles Lernen werden die Blockierungsregeln für alle geschützten Anwendungen aktualisiert. Die Implementierung eines solchen Schemas ist in Fig. 4 gezeigt. 4. Solche angepassten Sicherheitsregeln minimieren die Anzahl der Fehlalarme für die Firewall.



Nun ein wenig über die Merkmale von bewölktem WAF in Bezug auf organisatorische Fragen und Management:

  • Übergang zu OpEx . Im Fall von Cloud-basiertem WAF betragen die Implementierungskosten null, da die gesamte Hardware und Lizenzen bereits vom Anbieter bezahlt wurden. Die Bezahlung für den Service erfolgt per Abonnement.
  • Unterschiedliche Tarifpläne . Ein Benutzer eines Cloud-Dienstes kann zusätzliche Optionen schnell aktivieren oder deaktivieren. Die Funktionsverwaltung erfolgt über ein einziges Bedienfeld, das ebenfalls geschützt ist. Der Zugriff erfolgt über HTTPS, und es gibt einen Zwei-Faktor-Authentifizierungsmechanismus, der auf dem TOTP-Protokoll (Time-based One-Time Password Algorithm) basiert.
  • DNS-Verbindung . Sie können den DNS selbst ändern und das Routing im Netzwerk konfigurieren. Um diese Probleme zu lösen, ist es nicht erforderlich, einzelne Spezialisten einzustellen und auszubilden. In der Regel kann der technische Support des Anbieters bei der Konfiguration helfen.

WAF-Technologien haben sich von einfachen Firewalls mit empirischen Regeln zu komplexen Sicherheitssystemen mit Algorithmen für maschinelles Lernen entwickelt. Jetzt verfügen Anwendungsfirewalls über eine Vielzahl von Funktionen, die in den 90er Jahren nur schwer zu implementieren waren. In vielerlei Hinsicht wurde die Entstehung neuer Funktionen dank der Cloud-Technologie ermöglicht. WAF-Lösungen und ihre Komponenten entwickeln sich weiter. Sowie andere Bereiche der Informationssicherheit.

Der Text wurde von Alexander Karpuzikov, Produktentwicklungsleiter des IS-Cloud-Anbieters #CloudMTS, erstellt.

Source: https://habr.com/ru/post/de485220/


All Articles