• Keine Ergebnisse gefunden

Sicherheit in Rich Internet Applications

N/A
N/A
Protected

Academic year: 2021

Aktie "Sicherheit in Rich Internet Applications"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Rich Internet Applications

Florian Kelbert|14.02.2008

(2)

Inhaltsverzeichnis

I Grundlagen

I Ajax und Mashups

I Adobe Flash-Player

I Adobe Integrated Runtime

I OpenLaszlo

I Microsoft Silverlight

I Mozilla Prism

I Sun JavaFX

I Zusammenfassung & Ausblick

(3)

Grundlagen — JavaScript

I Skriptsprache, vom Browser interpretiert

I Sandbox-Modell

I

Skripte werden durch Browser eingeschr ¨ankt

I “Same Origin”-Richtlinie

I

kein Zugriff auf Dokumente aus anderer Domain

I

Uberpr ¨ufung von Domain, Server, Protokoll und Port ¨

I “Signed Script”-Richtlinie

I

Entwickler unterschreibt mit digitalem Zertifikat

I

Verifizierung des Unterzeichners und der Integrit ¨at m ¨oglich

(4)

Grundlagen — DHTML, DOM, SSL, HTTPS

I Dynamisches HTML

I

Webseiten ¨andern sich dynamisch im Browser

I

kein erneuter HTTP-Request n ¨otig

I DOM - Document Object Model (W3C)

I

API f ¨ur Zugriff auf HTML-Elemente

I SSL - Secure Sockets Layer

I

verschl ¨usselte Daten ¨ubertragung

I

Authentizit ¨at des Servers und Integrit ¨at der Daten

I HTTPS - HTTP mit SSL

(5)

Ajax und Mashups — Grundlagen

I Ajax - Asynchronous JavaScript and XML

I

Kombination aus HTML, DOM, CSS, JavaScript

I

JavaScript-Object XMLHttpRequest f ¨ur Datenaustausch

I

beliebige Formate: XML, HTML, JSON, Plaintext

I

asynchrone Anfragebearbeitung

I Mashup

I

Kombination mehrerer Ajax-Anwendungen

(6)

Ajax und Mashups — Sicherheit & Bedrohungen

I JavaScript-Sicherheitsmodell

I Code kann vor Ausf ¨uhrung modifiziert werden

I Bedrohungen

I

Umgehen der “Same Origin”-Richtlinie

I

Cross-Site Scripting (XSS)

I

Versenden von XMLHttpRequests

I

“Denial of Service”-Angriffe (DoS)

I

Cross-Site Request Forgeries (CSRF)

I Gegenmaßnahmen

I

Validieren von Benutzereingaben

I

kein Ausf ¨uhren von generiertem und fremdem Code

(7)

Flash-Player — ActionScript & Zugriffskontrolle

I Flash-Player als Laufzeitumgebung f ¨ur SWF-Dateien

I ActionScript

I

basiert auf ECMAScript-Standard

I

als Bytecode innerhalb der SWF-Datei

I Zugriffskontrolle durch vier Personengruppen

I

Administrator des Client-Computers

I

Benutzer des Client-Computers

I

Besitzer der Webseite

I

Flash-Autor

(8)

Flash-Player — Sandbox-Modell

I eine Sandbox pro Domain

I

Zuordnung zur Sandbox durch Informationen des Transportprotokolls

I

ungehinderter Datenaustausch und Cross-Scripting innerhalb der Sandbox

I

Zugriff auf andere Sandbox erfordert Rechte:

ActionScript-Methode Security.allowDomain()

I

Senden von Daten an andere Sandboxen erlaubt

I lokale Dateien

I

separate Sandboxen: local-with-filesystem

local-with-networking, local-trusted

(9)

Flash-Player — Sandbox-Modell

(10)

AIR — Laufzeitumgebung & Sandbox-Modell

I AIR als Laufzeitumgebung

I

AIR-Anwendungen im Flash oder DHTML-Format

I

Installationsdateien m ¨ussen digital signiert sein

I

Ausf ¨uhrung mit Rechten des Benutzers

I Sandbox-Modell des Flash-Players als Grundlage

I

zus ¨atzliche “application”-Sandbox

I

Zugriff auf AIR APIs

I

kein Cross-Scripting

I

kein dynamisch erzeugter Programmcode

I Kommunikation ¨uber Br ¨ucke

(11)

OpenLaszlo

I Kompilierung der LZX-Quelldateien

I zwei Zielformate m ¨oglich

I

SWF: Ausf ¨uhrung durch Flash-Player

I

DHTML: Ausf ¨uhrung durch Internet-Browser

I

Sicherheitsrichtlinien entsprechend

I keine weiteren Sicherheitsmechanismen

(12)

Silverlight — Laufzeitumgebung & Transparenzmodell

I CoreCLR als Laufzeitumgebung

I Transparenzmodell

I

transparenter und kritischer Code

I

Anwendungen transparent

I

Systemaufrufe kritisch

I

kein Zugriff von transparentem auf kritischen Code

(13)

Silverlight — Transparenzmodell

I Transparenzmodell (Forts.)

I

safe-critical Code als Zwischenschicht

I

darf von transparentem Code gerufen werden

I

validiert Aufrufe und leitet sie an kritischen Code weiter

I

kritischer Code von Microsoft signiert

I Vererbung eingeschr ¨ankt m ¨oglich

(14)

Prism

I Firefox-Browser ohne Bedienelemente

I jede Webanwendung in eigenem Desktopfenster

I Sicherheitsrichtlinien entsprechend dem Inhalt

I

SWF: Ausf ¨uhrung durch Flash-Player

I

DHTML: Ausf ¨uhrung durch Internet-Browser

I

Silverlight: Ausf ¨uhrung durch CoreCLR

(15)

JavaFX

I JavaFX Mobile

I JavaFX Script

I

erm ¨oglicht Verkn ¨upfung von Java mit Skriptsprache

I Ausf ¨uhrung mit Java SE 6 m ¨oglich

I

Java Virtual Machine (JVM)

I

Verifier: schließt nicht-Java-konformen Code aus

I

Class Loader: kontrolliert Laden von Klassen zur Laufzeit

I

SecurityManager: ¨uberpr ¨uft Rechtm ¨aßigkeit der Zugriffe

I

feingranulare Rechtevergabe m ¨oglich:

Codebase, SignedBy, Principal

(16)

Zusammenfassung & Ausblick

I Aufbau auf bew ¨ahrten Sicherheitsmodellen

I

Flash: AIR, OpenLaszlo

I

.NET: Silverlight

I

Java: JavaFX

I Rich Internet Applications erst am Anfang der Entwicklung

I

Anderungen in Sicherheitsmechanismen noch m ¨oglich ¨

(17)

Ende

I Danke f ¨ur die Aufmerksamkeit!

I Fragen?

Referenzen

ÄHNLICHE DOKUMENTE

Die letzten beiden Punkte k¨onnen einen weiteren Nachteil auf sich ziehen, wenn man Inhalte ¨uber eine RIA anbieten will, die auf jeden Fall auch Personen zug¨anglich gemacht