Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
distPasteDein Browser gehört zu meinem Pastebin! Möglichkeiten
und Risiken von HTML5
Jan-Ole Malchow, M.Sc.
Arbeitsgruppe Sichere IdentitätFachbereich Mathematik & Informatik
Freie Universität Berlin
21. Februar 2013
Inhalt
Hintergrund
Motivation
HTML5
distPaste
Offene Fragen
Ausblick
Fazit
Motivation
I Die Spatzen pfeifen es von den Dächern: HTML5 RocksI HTML5 steckt bereits in allen wichtigen Browsern
I Erste Frage: Was bietet HTML5?I Zweite Frage: Was ist möglich?
Motivation
Abbildung: Mehr als 75% der verwendeten Browser unterstützen HTML5(Quelle: http://www.statcounter.com)
Motivation
Abbildung: Überblick über HTML5 und verwandte Technologien.(Quelle: Peter Krönger, https://github.com/SirPepe/SpecGraph)
HTML5
Was bietet HTML5?
I Für uns sind insbesondere die neuen Funktionen vonJavaScript interessant
I Auswahl besonders interessanter FunktionenI WebSockets API [3] / WebSocket Protocol [2]
I Cross-Origin Resource Sharing (CORS) [9]
I Web Storage API [4]
I Web Worker API [5]
HTML5
Was ist möglich?
I JavaScript erhält Zugriff auf den NetzwerkstackI JavaScript kann Zugriffe über Domaingrenzen hinweg
ausführenI JavaScript erhält erweiterten, persistenten
SpeicherplatzI JavaScript kann im Hintergrund ausgeführt werden
HTML5
Wir können komplexe Netzwerkanwendungen entwickeln!
HTML5
Warum erzählt er uns das?
HTML5
Warum erzählt er uns das?
Frage: Woher stammt ausgeführtes JavaScript?
HTML5
Warum erzählt er uns das?
Der Benutzer weiß es nicht!
HTML5
Warum erzählt er uns das?
Browser führen Code aus unbekannter Quelle aus
Inhalt
Hintergrund
Motivation
HTML5
distPaste
Offene Fragen
Ausblick
Fazit
distPaste
Ein Beispiel für neue Anwendungen im Browser
distPaste - distributed Pastebin
Es tatsächlich zu bauen ist etwas Anderes als es zubeschreiben
distPaste
Problemstellung
I Speichern von Textdaten in einer verteiltenInfrastruktur
I Ausschließlich native Browser TechnologieI Keine ExploitsI Anonymität der Veröffentlicher (gegenüber anderen
Nutzern)I Daten sollen vor Manipulation geschützt werden
distPaste
Features
I Speicherung der Daten erfolgt auf den Rechnern derBenutzer
I Jeder Besucher der Webseite speichert automatischDaten
I Verschlüsselung der Daten
distPaste
SpeicherplatzTabelle: Anzahl der notwendigen Nodes, um die Datenmenge verschiedenerQuellen zu speichern (2,5MB pro Node). Wir nehmen dabei eine durchschnittlicheWortlänge von fünf Buchstaben an.
Dataset Anzahl Worte Anzahl Nodes
Moby Dick 212.758 ≈ 0, 4→ 1
Wikileaks cablegate 261.276.536 ≈ 500
Wikipedia (de) 495.000.000 (2009) ≈ 950
Wikipedia (en) 2.100.000.000 (2012) ≈ 4000
distPaste
Funktionsweise: VerbindungsaufbauI Benutzer öffnet Seite und lädt distPasteI DistPaste Script stellt Verbindung zum Server herI Browser wird Teil des Systems (Node)I DistPaste script übermittelt eventuell gespeicherte
Daten
distPaste
Funktionsweise: SendenI Benutzer sendet DatenI Server vergibt IDI Server wählt Speicherort (Node)I Server übermittelt Daten an NodeI Server löscht Daten lokalI Server gibt ID an Benutzer zurück
distPaste
Funktionsweise: AbrufenI Benutzer sendet IDI Server sucht SpeicherortI Server ruft Daten abI Server übermittelt Daten an Benutzer
distPasteArchitektur
Webserver Webserver
Web Sockets Web Sockets
Web Sockets
Domain A Domain BW
eb S
ocke
ts
Local Storage
Local Storage Local Storage
Local StorageLocal Storage
Web Messaging
Replication
Web Sockets Web Sockets
Local StorageW
eb S
ocke
ts Web Sockets
Abbildung: Architektur des distPaste Systems mit cross-domain Replikation
distPaste
Herausforderungen
I Adressieren von DatenI Auswahl von Nodes für DatenI ChurnI Domainbindung der DatenI Datensicherheit
distPaste
Herausforderungen
I Adressieren von Daten - Zufällige achtstellige IDI (26 · 2 + 10)8 = 218.340.105.584.896 Datensätze
I Auswahl von Nodes für Daten - Zufällig durch ServerI Churn - Replikation (volle Kopie)I Domainbindung der Daten - Web Messaging oder
CORSI Datensicherheit - Hash-based message authentication
code (SHA1 / AES-256)
distPaste
ImplementierungI Client - JavaScript
I 50 Zeilen Code
I 33 kB
I Payload wird nachgeladen, direkt sichtbar sind nur 4Zeilen Code
I Server - node.js (JavaScript)I 400 Zeilen Code
I 3MB
distPaste
Kompatibilität
Mac OS X Windows 7 Ubuntu 12.04 iOS 5.1Chrome X X X X
Firefox X X X -Safari X X X X
Opera X X X -
Inhalt
Hintergrund
Motivation
HTML5
distPaste
Offene Fragen
Ausblick
Fazit
Offene Fragen
Durch das Öffnen einer Webseite stellt der Benutzer demBetreiber der Seite eigene Ressourcen zur Verfügung.
I Namentlich Rechenzeit und Speicherplatz.I Zudem können Netzwerkverbindungen zu anderen
Systemen hergestellt werden.
Offene Fragen
I Wer ist verantwortlich für den gespeicherten Inhalt?I Anfangsverdacht
I Daten im Cache begründen Besitz [7]
Offene Fragen
I Wer ist verantwortlich für Netzwerkverbindungen?I Anfangsverdacht
I Störerhaftung [6]
I Beispiel: DDoS Angriff unter Führung vonAnonymous [8]
Offene Fragen
I Muss ein Nutzer informiert werde?I Datenspeicherung
I Nutzung von Rechenzeit
I Verbindungen
Wer muss informieren?
Inhalt
Hintergrund
Motivation
HTML5
distPaste
Offene Fragen
Ausblick
Fazit
Ausblick
I WebSockets und das Nachladen von Code ermöglich esWebseiten “live” zu verändern
I WebRTC [1] wird voraussichtlich ein browserbasiertesPeer-to-Peer Netzwerk ermöglichen
Inhalt
Hintergrund
Motivation
HTML5
distPaste
Offene Fragen
Ausblick
Fazit
Fazit
I Es hilft nur das Deaktivieren der FunktionenI Aktuell nicht komfortabel möglich
I Insbesondere nicht pro Seite möglich
I Die Vision vom Browser als Betriebssystem rückt sehrnahe und es müssen entsprechende Maßnahmenergriffen werden
Vielen Dank für die Aufmerksamkeit.
Quellen I
Adam Bergkvist, Daniel C. Burnett, Cullen Jennings,and Anant Narayanan.
WebRTC 1.0: Real-time Communication BetweenBrowsers.
Working draft, W3C, February 2012.
http://www.w3.org/TR/webrtc/.
I. Fette and A. Melnikov.
The WebSocket Protocol.
RFC 6455 (Proposed Standard), December 2011.
Quellen II
Ian Hickson.
The Web Sockets API.
Candidate recommendation, W3C, December 2011.
http://www.w3.org/TR/websockets/.
Ian Hickson.
Web Storage.
Candidate recommendation, W3C, December 2011.
http://www.w3.org/TR/webstorage/.
Quellen IIIIan Hickson.
Web Workers.
Last call wd, W3C, September 2011.
http://www.w3.org/TR/workers/.
Zivilkammer 8 Landgericht Hamburg.
Urheberrechtsverletzung: Haftung für offeneWLAN-Hotspots.
http://medien-internet-und-recht.de/pdf/vt_MIR_Dok._191-2006.pdf.
Abgerufen: 06.07.2012.
Quellen IV
Hanseatisches Oberlandesgericht Hamburg 2.Strafsenat.
Besitz kinderpornografischer Schriften: Betrachten vonaus dem Internet in den Arbeitsspeicher einesComputers geladenen Dateien als Unternehmen derBesitzverschaffung.
http://www.landesrecht.hamburg.de/ jportal/portal/page/bshaprod.psml? showdoccase=1&doc.id=KORE205092010 &st=ent.
Abgerufen: 06.07.2012.
Quellen VUS-CERT.
Alert (TA12-024A): Anonymous DDoS Activity.
http://www.us-cert.gov/cas/techalerts/TA12-024A.html.
Abgerufen: 06.07.2012.
Anne van Kesteren.
Cross-Origin Resource Sharing.
W3c working draft, W3C, July 2010.
http://www.w3.org/TR/cors/.