Montag, 3. Juli 2006

Ajax Security (Artikel von IT-Observer)

http://www.it-observer.com/articles/1062/ajax_security

1) Vorteile von Ajax
Früher: Submit -> leerer Bildschrim -> laden -> neue Seite
Heute: Ajax (mit DHTML) kommuniziert hinter den Kulissen

2) Funktionsweise
JavaScript kommuniziert im Hintergrund mit dem Server
Backbone: JavaScripts XMLHttpRequest object, ausgelöst durch Tastendrücke, Timer; arbeitet im Hintergrund bzw asynchron
XML im Name irreführend (kommt vom Name des JS Objekts), man kann alles mögliche vom Server holen, zB auch JavaScript und on the Fly einfügen.
Best Practice: XML(?), Manipulation mit JS recht einfach.

3) Trouble with Ajax (anhand eines Reiseveranstalter-Beispiels)
  • Neuartige Technologie: Neuartige Technologie, Best Practices fehlen, dubiose Eigen-Konventionen?
  • Unkonventionelles Design: Teils Client, teils Server. Ein Entwickler für beide Seiten => 2 verschiedene Sprachen gleichzeitig programmieren; bei verschiedenen Teams: wer ist für Sicheres Coding verantwortlich?
  • Zu viele Skripte: Ohne Planung: Viele kleine Skripte = mehr zu managen, mehr Raum für Fehler, versteckt in Client-JavaS-Code werden vergessen?
  • Darfs etwas mehr sein?: Ajax verleitet dazu viel mehr einzubauen als man eigentlich braucht
  • Unsichere Kommunikation - Bei vielen Anfragen kann eine die verschlüsselt werden sollte übersehen werden
  • Serverseitige Zugriffskontrollen - Session Cookies oder andere Tokens damit Daten an den richtigen Benutzer gehen
  • Serverseitige Validierung - Ajax Controls erlauben Validierung zur Laufzeit => Gefahr da mit Proxy Anfragen, die dann wirklich abgeschickt werden, manipulierbar sind.
    "Normale" Server-Validierung ist daher Pflicht! Zusätzliche Frage, ob Ajax-Controls sicher sind, dh ob die Parameter ihrer Aufrufe angreifbar sind.
  • Clientseitige Validierung - JavaScript Code on the Fly mit eval() birg auch Risiken. Aktuell ausgeführter Code ist nicht sichtbar, falls ein Hacker den Server unterwandern kann (Serverhack/Man-in-the-Middle) können so zB Cookies/Session IDs ausgelesen werden o.ä.
4) Summary
Ajax toll, neue Möglichkeiten, aber man muss aufpassen

Größtes Problem: Komplexität der Client-side Scripte + evt höhere Anzahl server-seitiger Scripte. Scripte nicht sichtbar -> weniger intuitiv testbar, Coding-Standards zur Sicherheit müssen weiter eingehalten werden (zB server-seitige Validierung etc)

Tips
Planen und Vereinfachen der Ajax Calls, Standardformat zum Austausch das gewissen Konventionen entspricht (XML?!)

Best Practices von Seiten wie Open Web Application Security Project übernehmen (Zugriffkontrolle, Validierung)
Sensitive Daten über SSL schicken

Auch mit Ajax-Controls mit Validierugnsfunktion muss die finale Validierung am Server nach dem Submit durchgeführt werden.

Schwer lesbarer Client-side Code schützt keine Geschäftsgeheimnisse.

Tolle Ideen sollte man sich für spätere Versionen aufheben und das wichtige in der ersten Version realisieren.

User Status

Du bist nicht angemeldet.

Aktuelle Beiträge

XML-RPC
http://www.xml.com/pub/a/2 001/07/18/excerpt/xml-rpc. html
intrance - 7. Sep, 16:50
PHPXMLRPC Schwachstelle
http://www.hardened-php.ne t/advisory_152005.67.html http://www.hardened-php.ne t/advisory_142005.66.html http://www.heise.de/secur ity/news/meldung/62827 Bugfix: http://blog.s9y.or g/archives/36-CRITICAL-BUG FIX-RELEASE-Serendipity-0. 8.2.html
intrance - 7. Sep, 16:40
Windows Vista: Web/Desktop...
http://heftarchiv-cw.compu terwoche.de/index.cfm?pk=1 215634&pid=408
intrance - 1. Sep, 13:26
Ajax Alternative: LiveConnect
http://aktuell.de.selfhtml .org/artikel/programmierte chnik/liveconnect/index.ht m
intrance - 1. Sep, 10:32
Yahoo Mail Wurm
http://www.zdnetasia.com/n ews/security/0,39044215,39 367249,00.htm
intrance - 24. Aug, 14:26

Links

Suche

 

Status

Online seit 7055 Tagen
Zuletzt aktualisiert: 7. Sep, 16:50

Credits


About
Ajax
Ajax Frameworks
Ajax-Security
Termine
Themenschwerpunkte
Web 2.0
Profil
Abmelden
Weblog abonnieren