Web-Anwendungen bedürfen eines speziellen Schutzes, den herkömmliche Firewalls nicht bieten können. Hier sind Web Application Firewalls gefragt, die in der Lage sind, HTTP-Anfragen und -Antworten zu prüfen und auch weitere Schutzmechanismen bieten.Web-Anwendungen, unabhängig davon, ob es sich um die Internet-Filiale einer Bank, einen Online-Shop, ein Kunden?, Partner- oder Mitarbeiterportal handelt, werden nicht zuletzt aufgrund der rasant steigenden Beliebtheit des Internets für Angreifer immer attraktiver. Die OWASP-Community (Open Web Application Security) hat eine Top-Ten-Liste für 2010 zu den größten Risiken dieser Anwendungen veröffentlicht. Dies sind in erster Linie SQL- oder LDAP-Injection über Formularfelder, Cross Site Scripting, Session Hijacking legitimer Benutzer oder Phishing-Seiten, die einzelne Bestandteile einer Web-Applikation wie etwa Grafiken und Formulare integrieren oder auf die Web-Applikation zurück verlinken. Die Angriffe zielen dabei auf Schwachstellen in den Web-Anwendungen selbst - und nicht auf solche auf der Netzwerkebene. Auch ist es ein Irrtum zu glauben, dass eine unsichere Web-Applikation zu keinem Schaden führen kann, wenn diese Applikation selbst keine sensiblen Daten verarbeitet und keine sicherheitsrelevanten Funktionen ausführt: Ein einziges unsicheres Web-Programm kann die Sicherheit des gesamten IT-Systems gefährden, warnen die Experten der OWASP, denn genau diese Web-Applikation kann als Zugang für den Angriff dienen, um etwa Adressen, Bankverbindungen oder Kreditkartendaten eines Kunden zu stehlen oder um Industriespionage zu betreiben. Das prinzipielle Problem des Schutzes für Web-Anwendungen besteht darin, dass das Protokoll HTTP nicht für die heute üblichen komplexen Anwendungen konzipiert wurde. Viele Schwachstellen haben darin ihren Ursprung, denn beispielsweise ist HTTP zustandslos, das heißt Sessions oder Zustände der Applikation müssen separat definiert und sicher implementiert sein. Deshalb lassen sie sich auch durch klassische IT-Sicherheitssysteme wie Firewall oder IDS/IPS-Systeme nicht oder allenfalls unzureichend schützen. Diese IT-Sicherheitssysteme wurden zum Schutz der Kommunikation auf Transportebene entwickelt und können - auch historisch bedingt - einen HTTP-Request nicht weiter prüfen. Also müssen sie jeden solchen Request durchlassen, sonst würde jede Kommunikation blockiert. Hinzu kommt, dass die Vielfalt der angebotenen Web-Skriptsprachen, Application Frameworks und Web-Techniken eine fast unbegrenzte Anzahl von Sicherheitslücken erzeugt - eine ideale Ausgangsposition für Hacker. Web Application Firewalls (WAP) sind darauf zugeschnitten, diese Defizite traditioneller Firewalls zu beseitigen. Sie bieten einen Schutz auf Web-Anwendungsebene, der technisch nicht von der Anwendung selbst abhängig ist. Sie schützen vor Schwachstellen, die Web-Applikationen in ihrem externen Verhalten aufweisen, und sichern sie mit möglichst geringem Aufwand so ab, dass Angreifer sie nicht ausnutzen können. Aufgrund der ohnehin hohen Komplexität einer typischen Anwendungsinfrastruktur mit Web?, Applikations-Server, Frameworks sowie unterschiedlichen Komponenten einer Web-Applikation (Session-Handling mit Cookies, Input-Validation etc.) ist dies eine sehr komplexe Aufgabe. Hyperguard des Regensburger Herstellers Art of Defence ist ein Beispiel einer softwarebasierenden, modular aufgebauten WAF, die die HTTP-Requests vor dem Erreichen der Web-Applikation analysiert, ebenso wie die ausgehenden Antworten. Die Software prüft neben den Transportschichten eines Requests auch die Logik der jeweiligen Web-Anwendung mit dem Ziel, ganz allgemein unerwünschten Traffic zu unterbinden. Zwei Betriebsarten Die WAF lässt sich laut Anbieter in zwei unterschiedlichen Betriebsarten einsetzen: Die Firewall kann im so genannten Shadow Mode arbeiten, einem Beobachtungsmodus, die Methode heißt Web Application Attack Detection. Dabei soll sie aus Request-Details wie Uhrzeit oder Referer-Informationen eine Auswertung erstellen und analysieren, um welche Art von Angriffen es sich handelt. In diesem Modus schaltet sich die Software jedoch nicht in den laufenden Datenverkehr ein. Der Report ist für verschiedene Security-Reportings verwendbar oder manuell auszuwerten, um zum Beispiel die spezifische Bedrohung für eine bestimmte Applikation festzustellen. Die Berichte könnten auch dem Nachweis der Einhaltung von Gesetzesauflagen, Industriestandards und Service-Level-Agreements dienen. Im Protection Mode hingegen dokumentiert die WAF die Angriffe und unternimmt Aktionen zu ihrer Abwehr. Für die Analyse der ankommenden Requests nutzt die Software eine Kombination von White-/Black- und Grey-List-Verfahren, Mustererkennung von bekannten Angriffen und verschiedenen statistischen Methoden. Je nach lokaler Bewertung und installierter Security-Policy werden Requests zurückgewiesen oder weitergegeben. Zusätzlich protokolliert das System sie und zieht sie zur weiteren Bewertung nachfolgender Requests heran, damit das Sicherheitssystem das Verhalten der zu schützenden Anwendungen immer besser "erlernen" kann. Auch die Antworten der Web-Applikation untersucht die WAF, um für den Fall, dass es einem Angreifer gelingen sollte, sicherheitsrelevante Daten abzurufen, Daten wie Kreditkartennummern zu löschen, bevor diese den Server verlassen. Neben dem Monitoring von Anfragen und Antworten verfügt Hyperguard laut Anbieter über ein eigenes Session Handling mit kryptografisch gesicherten Session-IDs und eigenem Cookie-Management. Die Software selbst läuft unsichtbar ohne eigene IP-Adresse und ist damit vor einem direkten Angriff geschützt. Installation als Plugin Die WAF ist als Software-Plugin in einem vorhandenen Web-Server installiert, um auch Daten analysieren zu können, die bis hierher SSL-verschlüsselt übertragen wurden. Änderungen der bestehenden Netzwerkinfrastruktur sind nicht erforderlich, so die Regensburger. Deren Firewall besteht aus drei Komponenten: Eine webbasierende Administrationsoberfläche dient der Verwaltung der Sicherheitskonfiguration sowie zum Zugriff auf Log-Files und Statistiken. Der so genannte Enforcer fängt die HTTP-Requests ab und leitet sie an den Decider zur weiteren Untersuchung weiter. Dies ist ein Service, der anhand eines in einer Konfigurationsdatenbank hinterlegten Regelwerks die Requests bewertet und Entscheidungen über auszuführende Aktionen trifft. Die Entscheidungen setzt wieder der Enforcer anschließend durch: Der Request lässt sich akzeptieren, modifizieren oder abweisen. Administratoren können sich vom System Regeln gegen die real aufgetretenen Angriffe vorschlagen lassen. Dieses abgestufte Schutzsystem bietet sich laut Hersteller besonders dann an, wenn sicherheitskritische Schwachstellen in einer Anwendung erkannt sind, diese Anwendung jedoch online bleiben soll, bis die Schwachstelle behoben ist. Denkbar sei der Einsatz zudem bei einem Fremdsystem, dessen Code nicht eigenständig verändert werden kann, oder bei alten Web-Anwendungen, die unzureichend dokumentiert sind oder aus Performance-Gründen nicht mehr verändert werden sollten. Schließlich will der Anbieter den Schutz durch das automatisierte Zusammenspiel der einzelnen Produkte erhöhen: Zu diesem Zweck soll Hyperguard sowohl vom Source Code Analyzer Hypersource als auch vom Vulnerability Scan Server Hyperscan gefundene Schwachstellen automatisiert importieren und dann Regelvorschläge für den Schutz generieren. Ebenfalls per Import soll der Vulnerability Scanner vom Source Code Analyzer identifizierte Sicherheitslücken von außen prüfen. Sicherheit bei Kreditkartendaten Die WAF folgt den Kriterien des seit Anfang des Jahres in Kraft getretenen neuen PCI-Standard (Version 2.0) für die sichere Zahlungsabwicklung bei Kreditkartenzahlungen. Der Standard empfiehlt den Einsatz einer WAF als Alternative zur Überprüfung des Quellcodes. Sie muss immer erfolgen, bevor größere Änderungen an einem Web-Shop online gehen.