23.11.2012 Aufrufe

Atomare Datenkrake - Die Datenschleuder - CCC

Atomare Datenkrake - Die Datenschleuder - CCC

Atomare Datenkrake - Die Datenschleuder - CCC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

• ejabberd: (src/randoms.erl:53):<br />

seed vom random mit now()<br />

get_string() -><br />

random_generator ! {self(), get_random, 65536*65536},<br />

receive<br />

{random, R} -><br />

integer_to_list(R)<br />

end.<br />

<strong>Die</strong>ses benutzt das Random-Modul aus Erlang.<br />

Somit haben zumindest aktuelle Server-Implementationen<br />

(außer Jabberd1-1.4.4, der aber<br />

schon zwei Jahre alt ist) keine kryptographisch<br />

hochwertigen zufälligen Stream-IDs, da die<br />

benutzten Pseudo-Random-Number-Generators<br />

mit der Zeit des Server-Startups initialisiert<br />

werden. Mit der „Last Activity“-Erweiterung<br />

kann die Server-Startup-Zeit sekundengenau<br />

angefragt werden. <strong>Die</strong>se eröffnet zumindest die<br />

theoretische Möglichkeit, die Stream-ID vorherzusagen.<br />

Beim ejabberd werden als Seed auch<br />

die Mikrosekunden benutzt.<br />

Server-Server-Kommunikation<br />

Auch bei der Server-Server-Kommunikation<br />

sollte sowohl SASL als auch TLS benutzt werden.<br />

Zusätzlich gibt es noch „server dialback“,<br />

das gegen domain spoofing schützen soll. Eine<br />

Server-Server-Verbindung sieht also wie folgt<br />

aus: jabber.foo.com stellt eine Verbindung mit<br />

jabber.bar.com auf Port 5269 her. jabber.bar.com<br />

kontaktiert dann jabber.foo.com, um zu überprüfen,<br />

ob jabber.foo.com auch tatsächlich der<br />

Rechner ist, von dem aus die Verbindung aufgebaut<br />

wurde. Anschließend passiert das gleiche<br />

für den Rückkanal, also fängt jabber.bar.com an,<br />

die Verbindung zu initiieren.<br />

<strong>Die</strong> verschiedenen Server-Implementationen<br />

können wohl untereinander via TLS kommunizieren.<br />

Eine genauere Untersuchung fand nicht<br />

statt, da eine Benutzerin den Status der Verbindung<br />

von einem Server zu einem anderen Server<br />

nicht nachprüfen kann. Aus Sicherheitsgründen<br />

muß davon ausgegangen werden, daß<br />

die Verbindung nicht verschlüsselt wird.<br />

24 24<br />

nothinG to hide<br />

Fazit<br />

Falls dem Server vertraut wird, ist für eine<br />

Benutzerin unklar und nicht überprüfbar, ob<br />

die Server-Server-Kommunikation verschlüsselt<br />

wird oder nicht. Somit kann möglicherweise<br />

jeder Rechner im Netzwerk Daten von Server<br />

jabber.foo.com zu Server jabber.bar.com mitlesen.<br />

Das einzige, wo man sich sicher sein kann, ist<br />

die eigene Client-Server-Kommunikation, falls<br />

das Zertifikat erfolgreich verifiziert wurde. <strong>Die</strong><br />

Client-Server-Kommunikation des Gegenübers<br />

muß nicht zwingend verschlüsselt sein. Hier<br />

muß je nach Expertise und geistigem Zustand<br />

des Gegenübers abgewogen werden.<br />

Bei TLS/SSL wird die Kommunikation zwischen<br />

den einzelnen Komponenten verschlüsselt,<br />

also vom Client zum Server, dann vom Server<br />

zu Server, dann vom Server zum Client. <strong>Die</strong><br />

einzelnen Server haben die kompletten Kommunikationsdaten<br />

unverschlüsselt vorliegen.<br />

Falls die Empfängerin momentan nicht online<br />

ist, wird die Nachricht auch unverschlüsselt auf<br />

dem Server des Empfängers gespeichert.<br />

Eigener Server vertrauenswürdig<br />

Falls nur dem Server von Alice vertraut wird,<br />

nicht aber dem von Bob, bleiben weiterhin<br />

sowohl die Nachrichten als auch die Verbindungsdaten<br />

und die Presence für den Server<br />

von Bob unverschlüsselt. Auch der Eintrag von<br />

Alice in Bobs Roster ist für den Server von Bob<br />

nachvollziehbar.<br />

Der besondere Schutz der Nachricht wird im<br />

nächsten Szenario detailliert behandelt.<br />

Server nicht vertrauenswürdig<br />

Als nächstes Szenario wird wieder betrachtet,<br />

daß Alice eine Nachricht an Bob schicken will.<br />

<strong>Die</strong>smal wird allerdings dem Server nicht vertraut.<br />

<strong>Die</strong>ses kann verschiedene Gründe haben:<br />

Der Anwenderin unbekannt, wer Zugriff auf<br />

die Server hat; ob die Zugriffsberechtigten<br />

möglicherweise mit Angreiferinnen oder Insti-<br />

die datenschleuder. #93 / 2008

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!