Bei SecurityFokus gerade einen interessanten Artikel zu AJAX und Sicherheit gefunden. Darin werden einige der neuen Lücken und Angriffsmöglichkeiten beschrieben, die sich durch den vermehrten Einsatz von AJAX Web-Anwendungen ergeben.
Wobei 'neu' übertrieben ist, keines dieser Themen ist wirklich neu, vieles nur allzu bekannt. Das läuft wieder auf dieselben Themen hinaus, die auch sonst immer die Problemkinder darstellen: saubere Session-Verwaltung und strenge Datenvalidierung.
- clientseitige Sicherheitsüberprüfung
- breitere Angriffsfläche
Aus meiner bisherigen Erfahrung könnte ich drauf wetten, das für eine AJAX-Anwendung kein einziger Cent mehr für Sicherheitstests zur Verfügung gestellt wird.
- AJAX-Anwendungen als Frontend zu Enterprise SOA's
Leider habe ich bisher den Eindruck erhalten, das die großen Anbieter und viele Beratungs-Firmen das Thema 'Sicherheit' dabei sträflich vernachlässigen und das immer so ganz einfach darstellen, man muss sich gar nicht drum kümmern, "da gibt es zentrale Sicherheits-Funktionen zur Authentifizierung und Autorisierung" und gut. Im Hinblick auf interne Angreifer schon etwas optimistisch.
Die Versuchung, aus einem AJAX-Client direkt einen Enterprise-WebService aufzurufen, ist groß. Wenn dann solche unsicheren Enterprise-Services plötzlich direkt aus einem AJAX-Client aufgerufen werden (und damit 'frei' im Internet stehen), wird leicht ein ganzen Firmennetz kompromittiert.
- Neue Cross-Site Scripting (XSS) Möglichkeiten
Die Entkopplung der Nutzer-Interaktion von der Server-Interaktion bietet ganz neue Angriffs-Potenziale. Bei XSS-Angriffen auf klassische Web-Anwendungen kann der Nutzer oftmals ein ungewöhnliches Verhalten feststellen: die Applikation hängt oder reagiert langsam, merkwürdige Dinge werden angezeigt usw. Bei komplexen AJAX-Anwendungen kann dies aber für den Nutzer völlig unsichtbar im Hintergrund passieren. Während man völlig ungestört seine eMails in einer AJAX-Anwendung liest, wird im Hintergrund das Adressbuch ausgelesen.
Dazu kommt der Einsatz von relativ mächtigen AJAX-Frameworks (ich selber bin grade in einem solchen Auswahl-Prozess). Eine Lücke in einem solchen Framework kann Angreifern leicht Zugriff auf eine ganze Reihe von Sites geben .. ähnlich wie Lücken in Webservern, Betriebssystemen, Application Servern, ...
Für gefundene Lücken in Server-Software gibt es ausreichende Möglichkeiten: die Hersteller veröffentlichen Advisories, (mit einigen unrühmlichen Ausnahmen) relativ schnell Patches, und man kann leicht Betriebs-Prozesse zur Einbindung dieser Patches aufsetzen (habe ich selber schon gemacht).
Bei clientseitigen Bibliotheken ist das sicherlich deutlich schwieriger, ich hatte bisher nicht den Eindruck, das die Hersteller solcher Bibliotheken das Thema 'Security' so wichtig nehmen wie die Hersteller von Server-Software.
Keine Kommentare:
Kommentar veröffentlichen