#!/bin/blog

June 18, 2011

WhatsApp: Protokollanalyse

Filed under: Internet — Tags: , , — martin @ 12:32 pm

Die Geschichte über die “Datenkrake WhatsApp” hat mir keine Ruhe gelassen, so daß ich einen Laboraufbau für eine kooperative Man-in-the-Middle-Operation mit Squid 3.1 aufgesetzt habe. Dank dessen Features für Content-Filter, Virenscan usw. konnte ich die SSL-Kommunikation von WhatsApp entschlüsseln.

Damit bin ich zu einer Handvoll neuer Erkenntnisse gekommen.

WhatsApp setzt beim Aufbau der Favoritenliste einen POST-Request an https://sro.whatsapp.net/client/iphone/iq.php ab. Dieser enthält die folgenden Informationen.

Im HTTP-Header:

  • Die Version von WhatsApp.
  • Die Betriebssystemversion des iPhone.
  • Die Hardwareversion des iPhone.

Im HTTP-POST-Request:

  • Die eigene Telefonnummer.
  • Die eigene Ländervorwahl.
  • Alle im Telefonbuch gefundenen Telefonnummern in Ziffernform ohne Trenn- oder Sonderzeichen, mit oder ohne Ländervorwahl, wie im Adreßbuch eingetragen.

Bei WhatsApp antwortet ein lighttpd 1.4.28 mit PHP 5.3.5. Dieser beantwortet den POST-Request mit einem XML-Block, der pro gefundener Gegenstelle ein Dictionary mit den folgenden Werten enthält:

  • S – Die vom Benutzer eingegebene Status-Message.
  • T – Das Alter der Status-Message in Sekunden.
  • JID – Die Telefonnummer des Benutzers mit Länderkennnzeichen ohne führendes +.
  • P – Die Telefonnummer des Benutzers in “wählbarer” Form mit Länderkennzeichen und führendem +.
  • NP – Entweder nicht gesetzt oder mit dem Wert true. Funktion unbekannt.

Die Faktenlage ist damit wie folgt ausgebaut:

  • Um die Favoritenliste zu generieren, wird keine Übertragung des gesamten Adressbuchs vorgenommen.
  • Es werden jedoch alle im Adressbuch enthaltenen Telefonnummern übertragen, um zu prüfen, ob dahinter ein WhatsApp-Account steckt.
  • Außer den Telefonnummern wird keine Information übertragen.

Die Kommunikation während des Chat selbst habe ich nicht betrachtet.

Ihr könnt euch jetzt euren Teil denken. Die im vorigen Post aufgestellten Vermutungen über die Kommunikation sind damit bestätigt, bis auf das Hashing, das im Fall von Telefonnummern aber vermutlich eher eine Verschleierung wäre.

June 9, 2011

WhatsApp: Datenkraken-Mythos

Filed under: Internet — Tags: , — martin @ 7:18 am

Da habe ich mich auf $MAILINGLISTE in eine schöne Schlacht reinziehen lassen. Die Grundaussage war ein bei irgendeinem hysterischen Panikblogger aufgeschnapptes Gerücht über den Datenschutz bei WhatsApp:

WhatsApp kopiert das Adreßbuch von Deinem Handy. Wen Du es nutzt, bist Du ein Idiot, der seine gesamten Adreßbuchdaten irgendeiner amerikanischen Firma in den Hals wirft.

Bleiben wir doch mal bei dem was wir aus erster Hand wissen und in Erfahrung bringen können:

  • WhatsApp ist ein plattformübergreifend (iPhone, Android, Symbian, Blackberry) verfügbares Chatprogramm fürs Handy, bei dem der Chatpartner über seine Handynummer adressiert wird.
  • WhatsApp bestätigt die eigene Handynummer per SMS, damit man mitmachen darf.
  • Die FAQ beantwortet die Frage danach, warum WhatsApp die Handynummer benötigt, wie folgt: “Weil sie zur Adressierung verwendet wird.” – Doh. Captain Obvious läßt grüßen. 😉
  • WhatsApp stellt innerhalb der WhatsApp-Applikation eine Liste von potentiell interessanten Kontakten zusammen, indem es irgendwie(tm) ermittelt, ob die Kontakte aus dem Adreßbuch ebenfalls WhatsApp nutzen.
  • Die Privacy Notice von WhatsApp weist ausdrücklich darauf hin, daß der Name zur eigenen Telefonnummer, der auf der Gegenseite angezeigt wird, dort aus dem lokalen Telefonbuch gezogen wird. (Das kann man anhand von Schreibfehlern leicht bestätigen.)
  • Regelungen hinsichtlich werblicher Nutzung (opt-out oder opt-in), Weitergabe an Dritte (nein), an Strafverfolger (ja), im Konkursfall (ja), werden in USA-üblicher Art abgehandelt, ohne irgendwelche Auffälligkeiten.
  • Die Privacy Notice weist generell auf einige allgemeine Themen hin, wie z.B.: “Wenn Du eine Telefonnummer (z.B. vom Festnetz) in Deine Statusmeldung schreibst, kann diese jeder sehen, der Deine Handynummer kennt, und sie ggf. sogar aufschreiben.”
  • WhatsApp ist kein 100% kostenloser Service, sondern beim Kauf bzw. im Betrieb werden Zahlungen fällig.

Theoretisch könnte man mit WhatsApp seine Kontakte adressieren, indem man die jeweilige Telefonnummer des Partners eingibt. WhatsApp stellt aber direkt nach dem Start eine Liste von Kontakten zusammen, die es ebenfalls nutzen. Ich nehme an, daß es bei den Datenschutzgerüchten um genau diese Zusammenstellung geht.

Klar ist, daß die Zusammenstellung der Kontaktliste irgendwie durchgeführt werden muß, indem ein Abgleich aller im eigenen Telefonbuch eingetragenen Telefonnummern mit dem Anbieter durchgeführt wird. Dieser erwähnt aber weder in der Privacy Notice noch in der FAQ, daß Telefonnummern Dritter übertragen werden.

Technisch ist ein solcher Abgleich dennoch möglich, indem etwa Hashes (Prüfsummen) der Telefonnummern abgeglichen werden, ohne daß die Telefonnummern selbst an WhatsApp übertragen werden. Da es keine Erwähnung gibt, will ich annehmen, daß ein solches Verfahren zum Einsatz kommt. Aber auch dazu ist natürlich Zugriff aufs Adreßbuch erforderlich.

Wer ausgeprägte Datenschutzbedenken hat, muß sich bei Zugriffen auf seine Adreßdaten in jedem Fall fragen, ob er der jeweiligen Applikation vertrauen will. Hacks, Exploits, CIA-Backdoors, und daß wir im Hintergrund einfach an den Nutzungsbedingungen vorbei verarscht werden, ist natürlich alles denkbar, aber wir betrachten hier die “zugesicherte” Funktionalität des Programms.

Man sollte sich des weiteren vor Augen führen, daß WhatsApp an jedem Nutzer bares Geld verdient. Die Frage “Verdienen die eigentlich ihr Geld irgendwie zu meinen Lasten?” mit damit verbundenen düsternen Vermutungen kann hier also entfallen. Wohlgemerkt im Gegensatz zu Facebook, Google und Twitter.

Im Fall von WhatsApp gestaltet sich die Lage aus meiner Sicht so:

Es wird nirgends ausdrücklich darauf hingewiesen, daß Adreßbuchdaten übertragen werden. Erwiesen und von WhatsApp dokumentiert ist aber, daß auf Empfängerseite die Zuordnung eines Namens zur Rufnummer aufgrund des lokalen Adreßbucheintrags vorgenommen wird. Es ist daher unwahrscheinlich, daß die Applikation mehr tut, als auf Verdacht Telefonnummern von Adreßbucheinträgen gegen einen zentralen Server abzuprüfen, um zu ermitteln, ob dahinter ebenfalls ein WhatsApp-Nutzer steckt.

In der Privacy Notice von WhatsApp ist jedoch mit keinem Wort erwähnt, daß Telefonnummern Dritter übertragen werden. Da ein Abgleich z.B. mit Hilfe von Prüfsummen technisch möglich ist, ohne die Telefonnummer selbst zu übertragen, ist es wahrscheinlich zumindest denkbar, daß auch keine Übertragung stattfindet.

(Nachtrag, 9. Juni 2011: WhatsApp stellt in der Privacy Notice sehr wohl klar, daß es die Telefonnummern der Gesprächspartner benötigt, mit denen man kommunizieren will. Aus dieser vollkommen offensichtlichen Feststellung läßt sich aber wiederum nicht ableiten, daß alle Telefonnummern aus dem Adreßbuch im Vorhinein an WhatsApp übertragen werden.)

Weitergehende Aussagen wären vermutlich nur möglich, indem man den Sourcecode der Software auf den Datenschutzaspekt hin auditieren würde. Die Möglichkeit, daß WhatsApp uns alle hinters Licht führen könnte, besteht. Aber diesen Vorbehalt muß man letztlich bei jeder Software haben, die man auf dem Handy ausführt.

Mein Fazit, das ich aus diesen Beobachtungen gezogen habe, ist, daß ich glaube, WhatsApp nutzen zu können, ohne Schuldgefühle wegen der Daten meiner Kontakte im Adreßbuch haben zu müssen.

Update, 18. Juni 2011: Siehe auch: WhatsApp: Protokollanalyse

October 4, 2008

Daten endlich wieder sicher!

Filed under: Paranoia — Tags: , — martin @ 9:37 pm

Da isses mal wieder (SpOn):

“Wir gingen bisher davon aus, dass diese Daten im Rahmen der staatsanwaltschaftlichen Ermittlungen in vollem Umfang sichergestellt wurden”, sagte T-Mobile-Deutschland-Chef Philipp Humm.

Ich kann immer wieder nur staunen (#!/bin/blog) über den Kinderglauben, daß “geklaute” Daten durch irgendwelche Maßnahmen zurückgeholt und wieder hinter Schloß und Riegel gebracht werden können.

February 20, 2008

Daten zurückgeben

Filed under: Paranoia — Tags: — martin @ 6:23 am

Die Tagesschau-Website unterliegt in Sachen BND-Liechtenstein-Steueraffäre einem ganz schweren Irrtum:

2004 hätten die Liechtensteiner Behörden geglaubt, der Mann sei nur vorübergehend “ausgerastet” und habe die gestohlenen Daten zurückgegeben.

Den Diebstahl einer Rolex, einer Polizeidienstwaffe oder eines Airbus kann man sicher und dauerhaft rückgängig machen, indem man sich das gute Stück einfach zurückholt. Eine Sicherheit, daß außer Kontrolle geratene Daten zurückgeführt werden, sich nicht mehr in den falschen Händen befinden und auch nicht fünf oder fünfzig Jahre später nochmal aus der Versenkung auftauchen, gibt es jedoch niemals. Im Gegensatz zur Armbanduhr, zur Kanone und zum Flugzeug bemerkt man ja in aller Regel noch nicht einmal, daß sich jemand an Daten bedient hat. Denn sie sind nicht “gestohlen”, sondern immer noch da, wo sie hingehören. Und trotzdem sind sie in den falschen Händen.

Blog at WordPress.com.