19.05.2011 | Autor / Redakteur: David Jacobs und Stephan Augsten / Stephan Augsten

Die Web Application Firewall (WAF) wurde speziell dafür entwickelt, Internet-basierende Anwendungen zu überwachen und vor bösartigen Datenpaketen zu schützen. Doch wie funktioniert eine WAF? Welche Angriffsarten wehrt sie ab? Und ist die WAF wirklich effektiver als eine Code-Überprüfung? Die Antworten darauf finden sich in diesem Artikel.
Die traditionelle Firewall hat zweifelsohne ihre Daseinsberechtigung, wenn es um den Schutz von Netzwerk-Komponenten geht. Gegen Webanwendungen gerichtete Angriffe wie SQL Injection, Cross-Site Scripting oder Session Hijacking kann sie aber nicht abwehren.
Der Grund dafür liegt darin, dass eine Netzwerk-Firewall empfangene Datenpakete nur basierend auf ihrer Internet-Adresse und der adressierten Port-Nummer blocken kann. Ein Webserver erwartet allerdings sämtliche Anfragen auf Port 80. Somit müssen alle Datenpakete, die an Port 80 adressiert sind, verlustfrei durch die traditionelle Netzwerk-Firewall geleitet werden.
Ob sich hinter den Datenpaketen eine Gefahr oder gar Attacke verbirgt, kann die traditionelle Firewall dabei leider nicht prüfen. Genau hier kommt die Web Application Firewall (WAF) ins Spiel, denn sie ist dazu in der Lage, die Inhalte der Datenpakete zu analysieren und potenzielle Gefahren zu blocken.
Cyber-Kriminelle entwickeln unablässig neue Methoden, um unerlaubt auf Webanwendungen zuzugreifen. Es gibt allerdings einige bevorzugte Techniken, die wir hier noch einmal kurz beleuchten:
SQL Injection: Einige Webanwendungen müssen im Rahmen von Nutzer-Anfragen auf Datenbanken zugreifen. In solchen Fällen ist es wichtig, dass die Applikation die übermittelte Anfrage sehr genau auf Fehler prüft. Ein Hacker könnte mithilfe einer manipulierten Zeichenkette einen Such-String übergeben, der sensible Informationen zurückliefert.
Cross-Site Scripting: Fügt ein Angreifer Scripting-Code wie JavaScript oder ActiveX in eine Server-Anfrage ein, dann spricht man von Cross-Site Scripting (XSS). Auf diesem Weg wird der Webserver dazu gebracht, Informationen wie Usernamen und Passwörter preiszugeben.
OS Command Injection: Manch eine Webanwendung generiert System-Kommandos, um beispielsweise direkt auf eine Datei zuzugreifen und deren Inhalte anzuzeigen. Wird der entsprechende Input-String nicht ausreichend geprüft, dann kann ein Angreifer durch geschickte Anpassung auch andere Dateien öffnen sowie Daten oder System-Parameter ändern.
Session Hijacking: Klinkt sich ein Angreifer in eine bestehende Client-Server-Verbindung ein, dann spricht man vom Session Hijacking (Übernahme einer aktiven Sitzung). Hierfür muss der Angreifer die Sitzungs-ID entweder erraten oder auslesen, beispielsweise über das Sitzungscookie. Anschließend gibt er sich durch das Mitsenden der Session ID als der legitime Nutzer aus.
Parameter- oder URL-Manipulation: Webanwendungen arbeiten oft mit Parametern, URLs und Cookies, die im Rahmen einer Client-Anfrage zurückgegeben werden. Manipuliert nun ein Hacker die jeweiligen Parameter, URLs oder Cookies, dann liefert der Webserver möglicherweise sensible Informationen zurück.
Buffer Overflow: Bei jeder Übergabe von Daten sollte eine Anwendung prüfen, ob Länge und Typ der Eingabe zulässig sind. Ansonsten könnte ein Hacker einen Pufferüberlauf provozieren, der den Server zum Absturz bringt oder unerlaubte Zugriffe ermöglicht.
»1 »2 nächste Seite
Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2051504)