Ajax-Risiken lassen sich eindämmen
Ajax-Risiken lassen sich eindämmen
Ajax-Apps können sicher sein
Viele der genannten Risiken existierten in der einen oder anderen Form auch schon vor Ajax. Aus Sicht eines Sicherheitsverantwortlichen hat jedoch die Komplexität von Anwendungen insbesondere auf der Clientseite stark zugenommen. Entsprechend erhöht sich der Aufwand bei der Umsetzung bestehender Sicherheitsrichtlinien. Werden die aus der Softwareentwicklung bekannten Vorgaben der sicheren Programmierung konsequent umgesetzt, so sind Ajax-basierte Anwendungen ebenso sicher wie Anwendungen, die auf traditionellen Technologien basieren.
Praxis-Tipps
So machen Sie IhreAjax-Anwendungen sicher
o Kritische Teile der Anwendungslogik (etwa den Warenkorb) nicht clientseitig realisieren.
o Strenge Eingabefilterung aller vom Server entgegengenommenen Daten.
o Serverseitige Implementierung von Sicherheitsmassnahmen und -prüfungen; keine Auslagerung auf den Client.
o Die Anzahl der Ajax-Sub-Requests sollte so gering wie möglich gehalten werden, um die Angriffsfläche zu reduzieren.
o Session-Daten (z.B. Cookies) sollten auch bei Ajax-Sub-Requests ausgewertet werden.
o Libraries/Funktionen im Client-Side-Javascript-Code, welche direkte Cross-Domain-Requests erlauben, sollten nicht verwendet werden.
o Sofern der Zugriff auf Daten ausserhalb der applikationseigenen Domain notwendig sein sollte, wird der Einsatz serverseitiger Proxies empfohlen.
o Auf die Verwendung von JSON (Javascript Object Notation) als Format zur Datenübertragung sollte aufgrund der bestehenden Sicherheitsrisiken verzichtet werden.
o Um Cross-Site-Request-Forgery-Angriffe ver-hindern zu können, wird empfohlen, bei allen Formularen und Links eindeutige und nur einmal gültige Tokens zu übergeben.
Oliver Karow, Richard Sammet