Web Application Firewall

Web Application Firewall (WAF)

Eine Vielzahl von Anwendungen sind heute webbasiert. Das bringt für Nutzer und Anbieter Vorteile, öffnet aber auch Sicherheitsrisiken Tür und Tor. Aus diesem Grund müssen sich Anbieter von Web Applications von vornherein Gedanken über die optimale Absicherung ihres Angebots machen. Ein erster Schritt besteht darin, dafür zu sorgen, dass der Code der angebotenen Anwendungen so wenig Fehler beziehungsweise Angriffsstellen bietet wie möglich. Manchmal lässt sich daran aber nichts machen: Es kann zum Beispiel sein, dass der Code nicht zur Verfügung steht, es sich um eine Legacy-Software handelt oder jemand anderes den Code schreibt und sich der Anbieter nicht allein auf dessen Fähigkeiten verlassen möchte. In diesem Moment kommen Firewalls ins Spiel.

Firewall ist nicht gleich Firewall

So wie es verschiedene Arten von Angriffen auf Web Applications gibt, existieren auch unterschiedliche Firewalls, die davor schützen sollen. Um deren Unterschiede am besten zu verstehen, ist es hilfreich sich zuerst mit den grundlegenden Abläufen und Risiken beim Aufrufen einer Web-Anwendung zu beschäftigen:

Alle Informationen im Internet sind auf Servern gespeichert – auch Web Applications. Ruft jemand eine Seite auf, greift sein Computer auf den Netzwerkdienst des betreffenden Servers zu, indem er einen Port für den Netzwerkdienst freigibt. Danach können die betreffenden Daten heruntergeladen und angezeigt werden. Allein durch diese grundlegende Funktion öffnen sich Angreifern Wege, sich unerlaubten Zugriff auf einen Client zu verschaffen. Zum einen können Lücken in der Absicherung des Netzwerkdienstes dafür genutzt werden, sich über die angedachten Funktionen hinaus Zugriff auf den Computer oder Server zu verschaffen und dort zum Beispiel Daten abzurufen, zu verändern oder zu löschen.

Anders herum können auch Sicherheitslücken auf dem PC, der die Anwendung abruft, dafür sorgen, dass sich Angreifer Zugang verschaffen. Beispielsweise ist es möglich, dass Nutzer eine präparierte Application aufrufen und sich von ihnen unbemerkt eine Schadsoftware installiert. Diese kann dann von dem betroffenen PC aus wiederum als Netzwerkdienst funktionieren. Dieser Netzwerkdienst kann sich zum Beispiel ohne Veranlassung des Nutzers mit dem Internet verbinden und den Rechner zu einem Teil eines Botnets machen. Das alles, ohne dass der Nutzer davon auch nur die geringste Ahnung hat.

Die Verwendung von Firewalls bietet zu großen Teilen einen Schutz gegen solche Angriffe – aber auch Nutzer tragen mit ihrem Verhalten, zum Beispiel welche Seiten sie aufrufen, aktiv zur Sicherheit ihres Rechners bei. Network Firewalls und Web Application Firewalls schützen an verschiedenen Stellen der beschriebenen Abläufe, daher sind sie in Kombination besonders gut.

Funktionsweise von Network Firewalls

Basierend auf dem Open Systems Interconnection Model (OSI-Model) sind Network Firewalls für die Ebenen 3 und 4 konzipiert. Das bedeutet, dass ihre Aufgabe darin besteht, die IP des Netzwerkdienstes zu prüfen, welcher Port für ihn freigegeben wird und auf welche Daten und Funktionen er zugreifen darf.

Ein Problem hierbei besteht darin, dass diese Firewall zwar sehr gut darin ist die Informationen zu prüfen, für deren Kontrolle sie konzipiert wurde, aber darüber hinaus keine Sicherheit bietet. Konkret bedeutet das, dass zum Beispiel nachdem eine Seite als „sicher“ erkannt wurde, trotzdem Schadsoftware übermittelt werden kann – entweder weil der Seitenbetreiber sie selbst hinterlegt hat oder er vielleicht selbst Opfer eines Angriffs wurde.

Das hat selbst für Anwender Konsequenzen, deren Firewall einwandfrei funktionierte: Ist eine Schadsoftware nämlich erst einmal auf einem Rechner, der in einem Netzwerk betrieben wird, verbreitet es sich rasend schnell auch auf die anderen Computer. Dadurch kann es die Firewall auf jedem beliebigen PC komplett ausschalten oder die bisherige Filterung von „sicheren“ und „unsicheren“ Netzwerkdiensten deaktivieren. Vollkommen unbemerkt können so alle möglichen Dienste auf alle Rechner in dem zugehörigen Netzwerk zugreifen.

Funktionsweise von Web Application Firewalls

Web Application Firewalls funktionieren komplett anders als die zuvor beschriebenen Network Firewalls. Sie sind so konzipiert, dass sie Rechner oder Anwendungen auf den Ebenen 5 bis 7 des OSI-Modells absichern. Konkret heißt das, dass diese Art der Firewalls die Übertragung von Daten, die über HTTP (Hypertext Transfer Protocol) geregelt wird, prüft, filtert und gegebenenfalls ganz unterbindet.

Um das zu tun, wird die Web Application Firewall einer oder mehrerer Web-Anwendungen vorgeschaltet und steht so als eine Art „Sicherheitspuffer“ zwischen der eigentlichen Anwendung und den Nutzern. In welcher Form die Web Application Firewall dabei läuft, also ob als Server, Plug-In, als Cloud-Service oder als Appliance, spielt für ihre Funktionalität keine Rolle.

Ist die Web Application Firewall einer Web-Anwendung zugeordnet, prüft sie von da an alle Daten-Pakete, die zwischen dem Netzwerkdienst der Anwendung und dem Rechner, der auf die Application zugreifen möchte, hin und her gesendet werden. Hierbei können genaue Regeln eingestellt werden, auf deren Basis Daten-Pakete kontrolliert werden sollen. Die Bandbreite hierbei reicht von HTTPS-, und HTML-, über SOAP- bis hin zu XML-RPC-Daten-Paketen. Die Web Application Firewall prüft dann in Echtzeit alle eingehenden und ausgehenden Daten-Pakete auf Schadsoftware, filtert betroffene Pakete heraus oder unterbindet die Kommunikation mit einem Netzwerkdienst komplett, wenn von diesem ausschließlich oder mehrheitlich schädliche Daten gesendet werden.

Abwehr von Angriffsmustern

Durch die Filterung der Daten-Pakete sind Web Application Firewalls ein sehr guter Schutz vor verschiedenen Arten von Angriffen auf Web-Anwendungen beziehungsweise deren Server. Auf diese Weise lassen sich sowohl Zero-Day-Exploits, Cross-Site-Scripting und SQL Injection bis hin zu IP Spoofing, Session Hijacking, Buffer-Overflow-Angriffe und sogar Identitätsdiebstahl wirkungsvoll verhindern, indem die Web Application Firewall nach schädlichen Daten-Paketen oder Traffic-Mustern Ausschau hält. Da die meisten WAFs in gewissem Maße lernfähig sind, können sie auch neue Angriffsmuster lernen und in Zukunft erkennen.

Fazit

Web Application Firewalls sind eine sehr gute Möglichkeit Web-Anwendungen vor unerwünschten Zugriffen oder schädlicher Software zu schützen. Allerdings hat auch diese Art der Firewall ihre Schwächen – daher entfaltet sie ihr ganzes Potential erst im Zusammenspiel mit einer Network Firewall. Auf diese Weise sichern beide Firewalls zusammen insgesamt 5 der 7 Ebenen des OSI-Models ab – 3 und 4 von der herkömmlichen Network Firewall und 5 bis 7 von der Web Application Firewall. Auf diese Weise werden sowohl die klassischen Parameter wie IP, Ports und Access Control List durch die Network Firewall überprüft und die zwischen Web-Anwendung und Nutzer geschaltete WAF kontrolliert gleichzeitig die zwischen beiden Parteien hin und her gesendeten Daten-Pakete.

Auch wenn hundertprozentige Sicherheit nie gewährleistet werden kann, bietet die Verwendung beider Firewall-Typen zusammen den größtmöglichen Schutz. Wenn dann noch verlässlicher, guter Code der Web-Application gegeben ist und Nutzer wachsam sind, was sie anklicken, gibt es kaum noch Verbesserungspotential.

Nach oben