08.12.2005, 18:53 Uhr
Sicherheit von Webapplikationen
Jede Woche beantworten Sicherheitsexperten Leserfragen und geben Ratschläge, wie sich die Sicherheit in einem Unternehmen erhöhen lässt.
Frage: Wir planen, neue Anwendungen auf der Basis Service-orientierter Architekturen und mittels Internet Technologie zu realisieren. Wie schützen wir unsere Informationen vor Missbrauch?
Service orientierte Architekturen und auf Internet Technologie basierte Implementierung von Anwendungen versprechen Kosteneinsparungen. Auch die erwartete höhere Flexibilität, Änderungen der Geschäftsanforderungen in kürzeren Zyklen umzusetzen, bildet einen wichtigen Faktor, diese Technologien zu nutzen. Dies bringt aber auch neue Gefahren im Sicherheitsbereich mit sich, die mit herkömmlichen Firewalls weder erkennbar noch bekämpfbar sind.
Thick versus Thin Client-Server
Einige fundamentale Unterschiede zwischen Webservice und Client-Server-Anwendungen führen zu signifikanten Risiken.
Im Gegensatz zu Client-Server Anwendungen sind browser-basierte Anwendungen direkt beeinflussbar und erleichtern reverse-engineering Tätigkeiten, was Manipulationen der Codebasis und Attacken erleichtert (einige Hacker-Webseiten offerieren effiziente Werkzeuge, mit deren Hilfe Manipulationen dieser Art automatisierbar sind). Zur Verbesserung der Performance und Reduktion der Netzwerklast erledigen Client-Server- Anwendungen einen grossen Teil der Validierungsprüfungen im Client. Bei Webanwendungen führen die Server Validierungen aus. Dies erhöht die Gefahr, dass die Überprüfung auf böswillige Eingabewerte leidet.
Im Gegensatz zu Client-Server Anwendungen sind browser-basierte Anwendungen direkt beeinflussbar und erleichtern reverse-engineering Tätigkeiten, was Manipulationen der Codebasis und Attacken erleichtert (einige Hacker-Webseiten offerieren effiziente Werkzeuge, mit deren Hilfe Manipulationen dieser Art automatisierbar sind). Zur Verbesserung der Performance und Reduktion der Netzwerklast erledigen Client-Server- Anwendungen einen grossen Teil der Validierungsprüfungen im Client. Bei Webanwendungen führen die Server Validierungen aus. Dies erhöht die Gefahr, dass die Überprüfung auf böswillige Eingabewerte leidet.
Sicherheit von Webapplikationen
Client-Server-Anwendungen halten Verbindungen zur Kommunikation in der Regel aufrecht und kontrollieren Ablauf und Zugriff auf Informationen. Webservices kennen keine Sessionkontrolle. Benutzer fordern eine Seite an und verschwinden bis zum nächsten Seitenwechsel aus der Sicht des Servers. Dies öffnet weitere Möglichkeiten für unliebsame Attacken (direkter Aufruf von Webseiten ausserhalb des vorgegebenen Ablaufs), die abzuwenden sind. Benutzer-identifikation, Zugriffs- und Ablaufkontrolle -gehören zu den grossen Herausforderungen der Implementierung Web-basierter Anwendungen.
Lösungsansätze
Es bieten sich eigentlich nur zwei Wege, diesen Problemen entgegen zu wirken.
Der Ansatz, die Erweiterung des Anwendungscodes durch geeignete Schutzmechanismen («safe coding») und explizite Prüfungen, führt sicherlich zu Verbesserungen der Situation. Vermehrt unterstützen Werkzeuge die Anwendungsentwicklung bei Plausibilitätskontrollen und helfen Gefahren abzuwenden. Diese Mittel helfen nur dann, wenn sie auch richtig eingesetzt werden. Schutz gegen die Verwundbarkeit der benutzten Plattformkomponenten (Betriebssysteme und Middleware) bieten diese allerdings kaum.
Geeigneten Schutz bieten hier nur speziell ausgerichtete Komponenten, die den Anwendungen vorgelagert sicherheitstechnische Überpüfungen -abnehmen und im Falle von Attacken entsprechende Massnahmen einleiten. Diese Produkte (genannt Application Firewalls) ermöglichen auf der Anwendungsebene pro-aktive Sicherheitsmassnahmen vor generellen und gezielten Attacken. Als Reverse Proxy den Anwendungsservern vorgeschaltet, überprüfen sie jeden Request. Entspricht der Request den vordefinierten Regeln (idealerweise werden sowohl negative als auch positive Regelstrategien unterstützt) wird dieser zur Weiterleitung an die Anwendung freigegeben.
Der Ansatz, die Erweiterung des Anwendungscodes durch geeignete Schutzmechanismen («safe coding») und explizite Prüfungen, führt sicherlich zu Verbesserungen der Situation. Vermehrt unterstützen Werkzeuge die Anwendungsentwicklung bei Plausibilitätskontrollen und helfen Gefahren abzuwenden. Diese Mittel helfen nur dann, wenn sie auch richtig eingesetzt werden. Schutz gegen die Verwundbarkeit der benutzten Plattformkomponenten (Betriebssysteme und Middleware) bieten diese allerdings kaum.
Geeigneten Schutz bieten hier nur speziell ausgerichtete Komponenten, die den Anwendungen vorgelagert sicherheitstechnische Überpüfungen -abnehmen und im Falle von Attacken entsprechende Massnahmen einleiten. Diese Produkte (genannt Application Firewalls) ermöglichen auf der Anwendungsebene pro-aktive Sicherheitsmassnahmen vor generellen und gezielten Attacken. Als Reverse Proxy den Anwendungsservern vorgeschaltet, überprüfen sie jeden Request. Entspricht der Request den vordefinierten Regeln (idealerweise werden sowohl negative als auch positive Regelstrategien unterstützt) wird dieser zur Weiterleitung an die Anwendung freigegeben.
Sicherheit von Webapplikationen
Es gibt kein Allheilmittel zur Lösung des Problems der Verwundbarkeit von Webapplikationen. Verbesser-ungen bei der Software-Implementierung, die enge Integration der Entwicklungs- und Security-Infrastuktur und der Einsatz von Firewall Komponenten, die zusätzlich zur Kommunikationsebene auch die Anwendungsschicht kontrollieren, sind notwendig, um unternehmenswichtige Informationen und Prozesse vor Unfug zu schützen.
Unsere Experten beantworten Ihre Fragen.
Schreiben Sie uns: it-security@computerworld.ch
Schreiben Sie uns: it-security@computerworld.ch
Ein Archiv der Helpdeskartikel finden Sie im internet: www.computerworld.ch