DeinBrowsergehörtzumeinemPastebin!Möglichkeiten … · 2013-03-01 · distPaste Speicherplatz...

Preview:

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/.

Recommended