Ajax und Web 2.0 Sicherheit Clemens Cap Version 3, November 2009

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Allgemeine Positionierung

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

2

Angriffsziele Ausspähen von Zugangsdaten z PIN, TAN von Online Bankverbindungen z Passwörter beliebiger Zugänge Modifikation von Transaktionsdaten z Anderer Betrag bei einer Überweisung z Anderes Konto bei einer Überweisung Installation von Mal- und Spyware z Ausspionieren von Daten z Gewinnen von Benutzer-Profilen Benutzer Profilen z Kontrolle von Benutzer-Verhalten z Überwachung nach lokalen Gepflogenheiten als illegal angesehener Inhalte Bsp: China: Deutschland: US & EU: Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Finanzielle Ziele Verhaltens-Ziele Überwachungs-Ziele Schädigungs-Ziele

Aktivieren von Bot-Netzen z Übernahme von Rechnern z Ressourcen: R CPU & IP-Adresse IP Ad Schädigung von Personen / Firmen z Profile Poisoning Leicht modifizierte Profile Kopie

Erzielen von Netzwerk Netzwerk-Effekten Effekten Systemkritische Äußerungen z Link Spamming NS Gedankengut Verbesserung des Page Ranks Copyrighted Material

3

Abgrenzung Viele Sicherheitsthemen im Web haben nicht direkt mit Ajax zu tun haben z Pakete mitschneiden z Pakete P k t fälschen fäl h z TCP Spoofing z DNS Spoofing z Social Engineering z Replay Attacken z Buffer Overflow Attacken z ... Probleme tauchen bei Ajax Anwendungen auf haben aber nichts mit Ajax zu tun

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Ajax Probleme betreffen neue Technologie(anwendung) Generell: Javascript – CSS – DOM – Browser – HTML – Server Probleme z Cross Site XHR z Cross Site CSS z Cross Site Scripting und dynamic Ja ascript Javascript z Bookmarklet Problematik

Web 2.0 Probleme sind meist soziale Probleme des "Mitmach" Modells z Multiple Identitäten z Identitäts-Diebstahl z Fake Reputation z Content Protection / Screen Scraping 4

Beispiel

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

5

Beispiel

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

6

Capabilities g ((1)) des Angreifers Den Surfer eine Webseite des Angreifers laden lassen Effekt 1: Javascript des Angreifers kommt zur Ausführung z Frage: Was kann das schlimmstenfalls anstellen? z Thema: Zugriff auf Client Ressourcen Cookies und damit Session-Codes, Passwörter etc. Formularinhalte und damit PINs, PINs TANs etc. etc Andere offene Seiten oder Frames Bsp: Die andere Seite ist die Amazon Credit Card Number Eingabe Effekt 2: Surfer glaubt sich auf anderer Seite z Bsp: PIN angegeben, da ja auf Bankseite bin Effekt 3: Cross Site Request auf eingebettete Objekte kommt zur Ausführung z Bsp: p Autorisierungs-Cookie g wird an nicht-intendierten Link g gesendet Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

7

Capabilities g ((2)) des Angreifers Den Content Provider zu einem Einbinden eigener Scripte verleiten z Durchaus realistisches Szenario angesichts des Chaos bei Ajax Toolkits z Problem: Scripte haben maximale Rechte auf der Seite Den Content Provider zu einem Setzen von Links verleiten z Dadurch gleichzeitig geladene Seiten / Frames des Angreifers z Kein Problem: Da Same-Origin Sandbox Eingabe spezielle formatierten Inputs z Dadurch Input als Code ausgeführt, sog. Injection Attacke

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

8

Sicherheitsmodelle Si h h it d ll bei mobilem Code

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

9

Sicherheitsmodelle für mobilen Code Mobiler Code z Ausführbare Datei, die vom Server geladen wird z Bsp: Java, ActiveX, Javascript, VBScript z Problem besteht seit längerem 3 Modelle, die sich bei Java und ActiveX etabliert haben 1. Sandbox 2. Signierter Code 3 Policy Files 3. Modell von Javascript: Same Origin Sandbox

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

10

1. Sandbox Security Manager Class Loader Byte Code Verifier

Mobiler Code läuft innerhalb einer Sandbox Sandbox verhindert Zugriffe auf lokale Ressourcen z Bsp: Kein Plattenzugriff z Bsp: Kein Zugriff auf Rechner außerhalb der Domäne, von der Code bezogen

Probleme z Zu weitgehend Bsp: Keine clientseitige Persistenz Bsp: Kein sinnvoller Zugriff auf Dritt-Ressourcen z Kein kontrolliertes Durchbrechen möglich

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

11

2. Signierter Code Code kann signiert werden Signierter Code erhält weitergehende Rechte Probleme z Weiß dann, wer mich geschädigt hat, kann Schaden aber nicht verhindern z Steht und fällt mit Identitätsprüfung durch die PKI-Institutionen Damit: Vertrauen in (viele) Drittinstitutionen z Unklar, was die weitergehenden Rechte genau sein dürfen Bsp: M$ darf Platte lesen, lesen Sun sogar formatieren ?!? z Nicht sinnvoll praktikabel Bsp: Powerdown ActiveX Control eines Hobbyprogrammierers

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

12

3. Policy Files User kann feingranular steuern, steuern welche Files welche Rechte erhalten Freigabe nach individueller Einschätzung und Anforderung möglich Sehr flexibel Probleme z Ist nicht zero install z User ist mit kompetenter Entscheidung meist überfordert z Policy Files nicht einfach zu editieren

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

13

Aktuelle Absicherung des Browsers Javascript Same Origin Sandbox XHR Cross Domain Scripting

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

14

Javascript Same Origin g Sandbox ((1)) Same Origin Sandbox Eingebundenes Javascript auf einer Seite von Site X hat Lese / Schreib-Rechte nur den auf Dokumenten, die selber wieder von Site X stammen Kontrolliertes Durchbrechen der Sandbox z Firefox: Benutzerkontrollierte Erweiterung mit Mehrfachbestätigung "Remember Decision" - Feature Signierter Code Registry Eigenschaften z

Explorer:

Benutzerkontrollierte Erweiterung Ei Einmalbestätigung lb täti Zonenmodell

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

15

Javascript Same Origin g Sandbox ((2)) Kein Zugriff auf lokale Ressourcen Scripts, die von unterschiedlichen Domänen geladen wurden können nicht aufeinander zugreifen Bsp: Auslesen des Formularinputs einer Seite von Fremddomäne nicht möglich Unterschiedliche Domänen bedeutet z Protokoll ist verschieden (http != https) z Port ist verschieden z Ein Script von Rechnername, Rechnername ein anderes von IP Adresse geladen Dh: Browser wertet DNS nicht aus z Unterschiedliche Subdomänen z Redirections R di ti

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

16

Javascript Same Origin g Sandbox ((3)) ISP-Anomalität ISP Anomalität z www.myisp.com/dave/script1.js und www.myisp.com/john/script1.js können aufeinander zugreifen z Keine Sandbox zwischen verschiedenen Usern bei ISP-Lösungen auf 1 Maschine document.domain Property z Problem: www.bsp.com und wiki.bsp.com können nicht interagieren z Lösung: Beide Skripts setzen document.domain = "bsp.com" z Aber: Nur eine Verkürzung der bereits vorhandenen eigenen Domäne möglich

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

17

XHR Unterliegt analogen Restriktionen wie Variablenzugriff Von einem Skript, das von Server X stammt kann nur ein XHR auf Server X durchgeführt werden Logische Fortsetzung der entsprechenden Restriktion auf Skripte

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

18

Cross Domain Scripting Aber: Javascript hat auf der einbindenden Seite volle Rechte, Rechte auch wenn das Script selber von einer anderen Domäne geladen wurde (sog. Cross Domain Script) Fazit: z Achtung beim Einbinden von Javascript von fremden Domänen ! Beispiel: Google Maps

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

19

Exkurs: Sicherheitsproblem Mashup

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

20

Mashup / Remix Architekturen y Client Remix by Server

Secundary Server

Remix erfolgt im Client Client selber mixed vor Darstellung Erfordert Durchbrechen Sandbox M i t Cross Meist: C D Domain i Scripting S i ti

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Client

21

Mashup / Remix Architekturen y Server Remix by Secundary Server

Server

Remix erfolgt im Server Server liefert Remix Inhalt an Client aus Erfordert Zugang von Server zu Sekundär-Server

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Client

22

Durchbrechen der Sandbox Explorer Firefox: Privilege Manager Firefox: XPCNativeWrapper Technologie

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

23

Explorer Zonenmodell

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Benutzergesteuerte Erweiterung

24

Explorer Zonenmodell z Nicht gegen DNS Spoofing gefeit z Entscheidung für End User problematisch Bsp: www.deutschebankinchina.ag zulassen ? Benutzergesteuerte Erweiterung z Analoge Kritik z Explorer speichert einmal durchgeführte Entscheidung unklar für welche Wiederholungsfälle genau unklar wie rückgängig machen der Entscheidung

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

25

Programmieren des Explorer ist nicht einfach Auch für Microsoft nicht Screenshot 17. 17 November 09 mit Explorer 8

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

26

Firefox g Manager g Privilege Anfordern weiterer Rechte über den PrivilegeManager

Wichtig: Nach Gebrauch das Recht sofort wieder entziehen !

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

27

Firefox g Manager g Privilege

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

28

Firefox g Manager g Privilege

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

29

Firefox g Manager g Privilege

Bei signierten Skripten keine Nutzer-Anfrage

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

30

XPC Native Wrapper (1) Firefox hat 2 Privilegien Privilegien-Stufen Stufen z HTML: Unterliegt Sandbox Restriktion z Chrome: Keine Restriktionen Zusätzlich: XPCOM Zugriff Chrome Privileg-Stufe von Browser-Erweiterungen genutzt Problem: z Code unter Chrome-Privilegien Chrome Privilegien greift auf Dokument Dokument-Eigenschaften Eigenschaften zu z Dokument hat Eigenschaft (und die Setter / Getter davon) modifiziert z Code kann nicht vertrauen, daß document.title Setter noch andere S it Seiteneffekte ff kt h hatt z Dokument zwingt Extension zu Ausführung von Code unter Chrome Privileg

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

31

XPC Native Wrapper (2) Seit FFox 1 1.5: 5: XPC Native Wrapper z Garantiert Zugriff auf unmodifizierte Properties, Getter, Setter (next slide!) Methoden sofern solche zur Grunddefinition des Objekts gehören z Verhindert direkten Zugriff auf neu hinzugefügte Properties z Zugriff auf modifizierte / neue Properties erfolgt über doc.wrappedJSObject.prop statt doc.prop Daher: Unsicherer Zugriff wird im Code explizit gemacht

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

32

Setter und Getter Seit Javascript 1 1.5: 5:

var Eigenschaft; Eigenschaft = getter function(Werte){ /*.*/ return(Wert); } Eigenschaft = setter function(Werte){ /*.*/ Eigenschaft = Werte; return(true | false); }

window.onload setter = function(x) { alert(x); } window.onload getter = function() { return true; }

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

33

XPC Native Wrapper (3) Deep: Return Wert einer Funktion eines wrapped Objekts ist wieder wrapped und damit safe Shallow: Return Wert einer Funktion eines wrapped Objekts ist nicht mehr wrapped und damit potentiell unsafe Implizit: Von System automatisch gewrapped, wenn Chrome Skript auf User Level Objekt zugreift Bsp: Kein xpcnativewrappers=no gesetzt in Installation der Extension Explizit: Programmierer bewirkt einen expliziten XPC Native Wrapper Deep und shallow kann angefordert werden

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

34

XPC Native Wrapper (4) Explizit - shallow new XPCNativeWrapper(content, "document");

Explizit Deep var winWrapper = new XPCNativeWrapper(content, "document", "getSelection()"); var docWrapper = new XPCNativeWrapper(winWrapper.document, "title"); return docWrapper.title == winWrapper.getSelection();

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

35

Angriffe Web Spoofing Fehlen von Trusted IO Injection Attacken C Covert t Channel: Ch l Timing Ti i Covert Channel: Fragment Identifier

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

36

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

37

Web Spoofing g Angriff Benutzer ist auf anderem Server als er glaubt Einfache Variante z Angewählte URL ist nicht angezeigte URL z Mehrere simple Tricks zum Einstieg z Anschließend Angriff auf den einen, kompromittierten Server Komplexe Variante z Ab der ersten Kompromittierung bewegt sich User in kompletter Parallelwelt z Location Zeile ist Teil der Webseite statt des Browsers (und falsch) z Page Source ist Teil der Webseite statt des Browsers (und falsch) z https htt A Anzeige i und d "S "Schloß" hl ß" iistt T Teilil d der W Webseite b it statt t tt d des B Browsers ((und d ffalsch) l h) z Alle Schritte des Users (Klicks, Anwahl neuer Location, jede Interaktion) wir mitgeloggt Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

38

Web Spoofing Fehlen von Trusted I / O Probleme des Web Web-Spoofing Spoofing waren z Angezeigte Location-Zeile ist nicht tatsächliche Location-Zeile z Angezeigte Page Source ist nicht tatsächliche Page-Source z Eingegebene URL Daten sind nicht umgesetzte URL Daten Prinzipielles Problem z Wir haben auf einem Computer kein Trusted I / O z Jedes Bildschirmausgabe kann simuliert sein Gedankenexperiment des duplizierten PDA z Schlafe ein z Am A morgen liegen li 2 PDA PDAs am Nachttisch N htti h z Welchem gebe ich mein Passwort ein ?

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

39

Injection Attacken (1) Techniken zur Generierung dynamischer Seiten erhalten Daten vom Client Diese werden eingebaut in z SQL Queries z HTML Seiten z PHP Seiten z Javascript Programme Problem z Programmierer macht implizite Annahmen über Semantik und Syntax z Wenn diese verletzt, dann unerwünschte Effekte z Bsp B 1: 1 U Unerwartete t t Ei Eingabe b iin ein i F Formular l z Bsp 2: Erzeugen von URL-Teilen, Query-Anteilen oder http Headern durch Angriffsprogramme statt durch Formulare und Webseiten Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

40

Injection Attacken (2) Bsp 1: HTML Injection z Angriff: Username Hal
lo z Effekt: Username bewirkt einen Zeilenumbruch oder gar kompletten Layoutabbruch Bsp 2: SQL Injection z Php-basierte Query: SELECT * FROM USERS WHERE user = '$uname'; z Username: '; DROP TABLE USERS - z Resultat: SELECT * FROM USERS WHERE user=''; DROP TABLE USERS - - ' Vermeidung: z Typ-Prüfung z Eingabe-Validierung Ei b V lidi z Escapen von Quotes (DB-abhängig) Auch: Eingeschleuster Code läuft auf dem Server Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

41

Covert Channel Timing g ((1)) Website A z Synchronisiert Zeit auf ein Raster z Bsp: Warten, bis Zeit auf volle Sekunde steht z Dann entweder 100 ms busy wait oder nichts Website B z Synchronisiert Zeit bis (ganz kurz) nach volle Sekunde z Dann Zeitmessung und Überprüfung der Rasterung Ergebnis z Zeit steht auf 105 ms oder auf 5 ms z Hardware-Abhängigkeit H d Abhä i k it (Hyperthreaded (H th d d versus Dual D l Core) C ) z Ergibt einen Covert Channel zwischen Frames – sogar zwischen Browsern unterschiedlichen Fabrikats Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

42

Covert Channel Timing g ((2)) Voraussetzung für Angriff z Website des Angegriffenen nutzt Skript-Library des Angreifers z Ist aber bei Ajax Toolkits doch denkbar z Zeilen tarnen als Rate Throtteling Effekt z Langsamer Informationskanal zwischen Sites z Reicht aus, um Kreditkartennummer zu kommunizieren z Empfangende Seite codiert diese in URL und stellt neue Anfrage an Server

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

43

Covert Channel Timing g ((3)) Informationskanal z zwischen zwei abgeschotteten Bereichen eines OS z bei minimaler Kooperation beider Bereiche ist Kommunikation möglich z trotz Beobachtung durch Dritte (OS) Weitere Beispiele z Steganographie z Port Knocking z Modulation von Ressourcen Ressourcen-Verbrauch Verbrauch Bsp hier: CPU Last Bsp auch: Outgoing Ports offen halten oder schließen je nach Port mod 2 Covert Channel können prinzipiell nicht vermieden werden ! Setzen aber minimale Kooperation der kommunizierenden Bereiche voraus Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

44

Covert Channel Fragment g Identifier Kanal Seitenaufbau: Hauptseite plus IFRAME IFRAME kann von unterschiedlicher Domäne geladen werden Erhalte somit zwei Komponenten Diese können wechselseitig nicht aufeinander zugreifen Aber: Fragment Identifier in der URL kann wechselseitig modifiziert werden Idee: z Hauptseite von eigenem Server, IFRAME von externem Server laden z IFRAME kann auf externen Server voll zugreifen und z seinen eigenen Fragment Identifier modifizieren (ohne page reload) z Hauptseite kann auf diesen zugreifen z Dadurch D d h über üb Fragment F t Identifier Id tifi ein i Kommunikationsprotokoll K ik ti t k ll realisierbar li i b Erfordert aber Kooperation der beiden Partner Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

45

Cross Site Probleme

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

46

Cross Site CSS CSS das von anderer Site kommt CSS, Probleme z Unsichtbarkeit von Elementen z Verdeckung von Elementen z Content Elemente

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

47

Cross Site Scripting Definition: z Webseite stammt aus einer Domain und z lädt Skript von einer anderen Domain Wichtig: z Cross Domain XHR: z Cross Domain Scripting:

Wird durch Sandbox verhindert Wird durch Sandbox nicht verhindert

Grund: z Möchte von einer fremden Site ein Skript beziehen können F Frage: Ist I t das d ein i guter t Grund G d?

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

48

Kritik an Cross Site Scripting Es gibt keinen guten Grund für Cross Site Scripting (außer Mashups) Ausnahme: Durchbrechen der bei XHR zu eng gesetzten Sandbox Cross Site Scripting hat viele Gefahren z Bsp: Fremdes Script zerstört Aussehen meiner Web Site völlig z Bsp: Fremdes Script liest Werte aus Formularen aus z Bsp: Fremdes Script füllt Werte in Formulare ein oder modifiziert sie z Keine Kontrolle über die Auswirkungen Beachte: z Einbau eines Cross Site Scripts entspricht Preisgabe der Rechte üb di über die b betroffene t ff Seite S it !

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

49

Cross Site Request Forgery Angreifer plaziert IMG-Link IMG Link auf eine Seite Client besucht erst Login Seite der Domäne, dann diese Seite IMG Link enthält komplette Transaktionsdaten

Verteidigung: z z z z z z

Logoff Feature anbieten und Nutzer zur Verwendung anregen Cookies nur mit kurzer Laufzeit nutzen Auf dem Server den referer header prüfen (kann von Client aber gefälscht werden) Service nur als POST anbieten Zur Autorisierung auch ein Hidden Field nutzen Cookie double submission: Cookie und dazupassenden Teil in einem hidden field erwarten

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

50

Bookmarklet Problem Bookmarklets sind javascript: URLs in einer Bookmark Laufen unter der Berechtigung der aktuell angezeigten Seite und nicht der Seite unter der sie gespeichert wurden Können remote Code zur Seite hinzufügen Dieser könnte Cookies stehlen Aber: Bookmarklet kann vorher die Cookies löschen (und nachher wieder erzeugen)

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

51

Z kü fti Absicherung Zukünftige Ab i h d des Browsers B für Ajax Standard Ajax Techniken Module Tag & Post Message API Json Request

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

52

Zugriffs-Sicherung von Ajax Zugriffs-Beschränkung und Authentisierung Vertraulichkeit Techniken z SSL Wenn Basisseite SSL, dann auch XHR SSL Serverseitig aufwendig z

Tochter-Techniken Mit anderer Technik eine Sessionid besorgen p nutzen Diese dann entsprechend

z

Architektur Firewall Application-Server Firewall DB Restriktionen bei DB-User

z

Netzbasierte Sicherheit Firewall mit MAC / IP Filtering Geht nicht immer

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

53

Module Tag Problem: z Javascript kann alle DOM Elemente modifizieren Vorschlag von Douglas Crawford: Module Tag z Neues HTML tag z Inhalt von separater URL geladen z Außenkommunikation über spezielle API z Ähnlich: postMessage Interface in HTML5 experimental Standard z Implementierung Diplomarbeit von Bastian Meier bei C C. Cap

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

54

Json Request Problem: z XHR unterliegt der Sandbox Restriktion z Sinnvoll, sonst Diebstahl von Cookies Vorschlag von Douglas Crawford: JSONRequest z Unterliegt nicht der Sandbox z Sendet keine Cookies mit z Prüft, ob Antwort JSON ist z Derzeit nicht fest in Browsern implementiert

Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

55