Security

Web-Apps sind nicht sicher

14.09.2009 von Cyrill Osterwalder
Sieben Denkfehler zur vermeintlichen Sicherheit von Web-Applikationen, dem derzeit beliebtesten Einfalltor für Hacker.

Obwohl es sich inzwischen herumgesprochen hat, dass Web-Applikationen das derzeit beliebteste Einfallstor für Hacker sind, halten sich auch unter erfahrenen Administratoren hartnäckig einige Fehleinschätzungen.

Wir räumen die sieben klassischen Denkfehler aus:

1. Unsere Web-Applikationen erlauben keinen Zugang zu unseren Systemen

Zielgerichtete oder professionelle Datenzugriffe laufen oftmals im Verborgenen und über verdeckte Pfade ab - gerade Web-Applikationen bieten Hackern vielfältige Ansatzpunkte zum Datendiebstahl und gehören daher heute zu ihren bevorzugten Angriffszielen. Dies ist kein Wunder, da Web-Applikationen per Definition eine elektronische Schnittstelle zu Daten und Transaktionen darstellen. Waren früher sensible Daten und kritische Transaktionen erst hinter mehrfachen Verteidigungslinien abrufbar, bieten Web-Applikationen heute direkte Zugriffe bis hin zu den wichtigsten Informationen eines Unternehmens. Nirgends sind Hacker daher so nah am gewünschten Ziel wie bei den Web-Applikationen. Nur eine Schwachstelle auf irgendeiner Ebene genügt, um erfolgreich zu sein.

Anders als früher sind deshalb zielgerichtete Informationsdiebstähle an der Tagesordnung. Es werden keine Exploits mehr geschrieben, die Sicherheitslücken von beliebigen Zielen ansteuern, sondern ein interessantes Ziel wird mit technischen Manipulationen bewusst aus dem Tritt gebracht, bis die gewünschten Daten extrahiert werden können. Schon die klassischen Manipulationsmethoden wie Forceful Browsing, Cross-Site-Scripting, SQL/Command Injections oder die Ausnutzung von Business-Logik-Schwächen führen bei drei Viertel aller Web-Applikationen zum Erfolg.

Beim Aufruf einer Web-Seite im Browser werden die einzelnen URL-Segmente an die entsprechenden Server der Web-Anwendungen weitergereicht.

Diese zielgerichteten Datenzugriffe sind nicht über die Signatur erkennbar und kein reaktiver Sicherheitsschutz wie ein IDS (Intrusion Detection System) oder IPS (Intrusion Prevention System) kann sie verhindern. Eines der größten Missverständnisse hierbei ist, dass bei einem erfolgreichen Angriff nicht nur die Daten in Gefahr sind, welche die Web-Applikation selbst verwendet. Alle an die Web-Applikation angeschlossenen Systeme und Schnittstellen sind potenziell betroffen. Es ist nicht unüblich, dass über eine vermeintlich harmlose Web-Applikation, wie zum Beispiel eine Hilfeseite oder ein Firmen-Telefonbuch, die gesamten internen Unternehmensdaten gestohlen werden können.

Die Verbreitung von solchen Angriffen auf der Applikationsebene hat durch die populäre Web 2.0-Technologie noch zugenommen. Diese hoch dynamischen Web-Applikationen, welche Inhalte von anderen Benutzern tausendfach verteilen, werden immer häufiger von organisierten Cybercrime-Gruppen verwendet. Dass dieses Problem ernst genommen werden muss, belegt ein aktueller Sicherheitsreport zur Cyberkriminalität (Sophos-Security Threat Report - July 2009). Darin wird berichtet, dass rund 25 Prozent aller Unternehmen bereits einmal verschiedenen Attacken zum Opfer gefallen sind, die von Web-2.0-Sites wie Twitter, Xing, MySpace oder Facebook ausgingen.

2. Sicherheit von Web-Applikationen ist schon bei der Entwicklung gewährleistet

Die WAF inspiziert Anfragen an den Web-Server und blockiert Angriffe, bevor sie zu diesem gelangen.

Natürlich lassen Applikationsentwickler Sicherheitsaspekte wie Logik, Fein-Autorisierung oder Datenverarbeitung in die Entwicklung einfließen. Im späteren Einsatz ist die Lösung aber immer Bestandteil einer komplexeren IT-Landschaft, auf die der Entwickler keinen Einfluss mehr hat. Angeschlossene Komponenten wie Betriebssystem, Bibliotheken, Middleware-Web-Server oder Datenbank stellen jeweils eigene Sicherheitsrisiken dar.

Hinzu kommt, dass Entwickler auch nur die Risiken berücksichtigen können, die zum Zeitpunkt der Applikationsentwicklung bekannt sind. Beim Projektstart können aber Attacken auf die Web-Applikation treffen, die zum Entwicklungszeitpunkt unbekannt waren. Neben regelmäßigen Software-Updates und neuen Applikationsversionen verschafft eine den Web-Anwendungen vorgelagerte Web Application Firewall (WAF) zusätzliche Sicherheit. Als Instanz zwischen Anwender und Web-Applikation lässt die WAF nur gültige URLs zu und schützt Backend-Systeme vor unerlaubtem Datenzugriff.

3. Die Verschlüsselung des gesamten Datenverkehr mit HTTP/S reicht

Web-Audits erfolgen meist aus der Perspektive eines Angreifers, der durch eine Firewall vom Web-Server getrennt ist. Über einige Anwendungen ist jedoch ein unberechtigter Durchgriff bis zur Datenbank möglich.

Das SSL-Netzwerkprotokoll gewährleistet den sicheren Datenverkehr zwischen dem Anwender beziehungsweise Web-Browser und dem Server, nicht jedoch die Absicherung des Servers selbst. Die Wahrung von Vertraulichkeit und Integrität übertragener Daten im öffentlichen, nicht-vertrauenswürdigen Internet ist enorm wichtig. Auch Hacker nutzen diesen Schutz und so gelangen ihre Angriffe über diesen Weg auch "sicher" und verschlüsselt bis zum Firmen-Web-Server. Um diese Attacken früh genug zu erkennen, müssen SSL-verschlüsselte Verbindungen spätestens an den Unternehmensgrenzen enden. Eine an diesem Punkt eingesetzte WAF kann den einströmenden Datenverkehr filtern, so dass den Web-Server nur autorisierte Benutzeranfragen erreichen. Sollte der Backend-Server explizit SSL-Anfragen erwarten, lassen sich die Daten von der WAF zum Server auch wieder SSL-verschlüsseln.

4. Aktuelles Patchen und automatisches Scannen geben grünes Licht

Netz-Scanner setzen auf OS- und Dienste-Ebene an, während Web-Applikations-Scanner auf Applikationsebene via HTTP(S) arbeiten.

Automatische Scanner geben einen grundlegenden Überblick über Schwachstellen in der Unternehmens-IT - die meisten der heutigen Angriffe auf Web-Applikationen erkennen sie jedoch nicht. Trotz unauffälligem Scan-Ergebnis können Hacker unbemerkt in die Web-Applikation eingedrungen sein. Um gezielten Datendiebstahl aufzudecken, empfiehlt es sich daher, einen professionellen Penetration-Test einzusetzen. Er misst den Sicherheits-Level der Applikationsumgebung, sollte aber immer auch die Prüfung manueller Angriffe umfassen, die auf Reverse Engineering (dem Ausnutzen der Kenntnis interner Systemstrukturen) basieren und ein bis zwei Mal pro Jahr vorgenommen werden. Automatische Security Scanner und Penetration-Tests prüfen den aktuellen Zustand einer Systemarchitektur und sind immer nur eine Momentaufnahme, das heißt, sie bieten keinen proaktiven Schutz. Da auch entsprechende Updates und System-Patches nicht sofort zur Verfügung stehen, sollte daher gleichzeitig eine WAF eingesetzt werden, welche die Systeme permanent von außen gegen illegale Server-Zugriffe abschirmt.

5. Bei unsere Web-Applikationen ist noch nie etwas passiert

Diese Annahme ist riskant, weil sich der Anwender oftmals in falscher Sicherheit wähnt: Denn laut Gartner sind drei von vier Web-Applikationen angreifbar, wobei drei Viertel aller Angriffe heute auf Web-Applikationen zielen. Dabei hinterlassen Hackerzugriffe auf Web-Anwendungen oft keine Spuren und werden nicht entdeckt, da die Daten nicht verschwinden oder verändert werden - alle Anwendungen funktionieren normal weiter und es werden auch keine Systemzugriffe verzeichnet. Die heutige Wahrnehmung scheint immer noch geprägt zu sein von den Viren und Trojanern aus früheren Jahren, bei denen ein Angriff stets auffällige Folgen hatte. Das Ziel jetziger Attacken besteht darin, möglichst unbemerkt Daten zu stehlen. Solche zielgerichteten Angriffe finden meist mit vorher unbekannten Schadsignaturen statt und können mit WAFs abgefangen werden, die sich an der Web-Applikation orientieren. Somit werden nur die Anfragen durchgelassen, welche für die Anwendung als gültig definiert sind.

6. Bei uns gab es Angriffe, aber es wurden keine Daten gestohlen

Solche Aussagen von Unternehmen tauchen immer dann in den Medien auf, wenn eine Schwachstelle in einem System publik wurde. Das Problem ist, dass elektronischer Datendiebstahl meist nicht von normalen Anwendungszugriffen zu unterscheiden ist. Somit kann das Unternehmen nicht wissen, ob schon lange jemand sehr viele Daten über eine Schwachstelle elektronisch kopiert hat - diese Art des Angriffs hinterlässt schließlich keinerlei Spuren. Anders als bei Viren oder Trojanern, die noch vor einigen Jahren im Umlauf waren, werden die Systeme auch bei gezielten Angriffen nicht beeinträchtigt und laufen für den Benutzer wie gewohnt weiter. Setzt ein Unternehmen eine WAF ein, die per Authentifizierung sicherstellt, dass nur Befugte Zugang zum Web-Server und seinen Anwendungen erhalten, können jedoch sämtliche Zugriffe genau zurückverfolgt werden. Ein Reporting zeichnet dabei auf, welche ID-Nummern welche Daten abfragen. Voraussetzung für den WAF-Schutz: Ein Reverse Proxy Server, der vor den Web-Applikations-Servern installiert ist und Netzwerkverbindungen und Netzwerkprotokolle wie SSL abfängt.

7. Reverse Proxy Server und Firewalls machen uns immun

Netzwerk-Firewalls prüfen möglichst in Echtzeit den Datenverkehr zum Web-Server beziehungsweise die Signaturen und Protokolle der Nutzeranfragen an den Server. Die Firewall wehrt dabei einfache Angriffe ab, in dem sie auf vordefinierte Schädlings-URL-Signaturen reagiert. Hacker greifen aber meist über unbekannte Signaturen an und tarnen ihren Datendiebstahl, weshalb eine Firewall auch auf den verschlüsselten Datenverkehr zugreifen sollte. Neben dieser Mindestanforderung und der URL-Filterung sollten Unternehmen ihre Daten und Systeme proaktiv absichern und sich mit Sicherheitsaspekten wie vorgelagerter Benutzer-Authentisierung, Cookie Protection und Schutz von URL-Adressen und HTML-Formularen auseinandersetzen. Nur Web-Application-Security-Lösungen, die mehrstufig alle Abfragen und Daten beim Zugriff auf die Web-Anwendungen filtern, bieten auch vor noch unbekannten Angriffen bestmöglichen Schutz. (ue)