WhatsApp unsicher – Authentifizierungs-Lücke

1. Weitere Sicherheitsprobleme?Whatsapp

Bereits vor Monaten hatten ich in einem Artikel beschrieben, wie man mit einfachen Mitteln WhatsApp Nachrichten mitlesen kann. Mit der »heimlichen« Einführung der Verschlüsselung schien das Problem zunächst gelöst – die Telefonnummer für die Authentifizierung gegenüber dem Server wurde dennoch unverschlüsselt übertragen.

Update

06.12.2012: Die Authentifizierungs-Lücke scheint geschlossen – jedenfalls kann das im vorliegenden Beitrag beschriebene Verfahren derzeit nicht mehr angewendet werden.

Vor wenigen Tagen hat der britische Entwickler Sam Granger auf seinem Blog erläutert, wie WhatsApp auf die IMEI Nummer zurückgreift, um ein Passwort zu generieren. Dieses dient im Anschluss gemeinsam mit der Telefonnummer als Authentifizierungsmerkmal gegenüber dem WhatsApp Server. Sams »Hack« galt der Android Version von WhatsApp. Aufgrund von Restriktionen seitens Apple kann bei iOS die IMEI nicht ausgelesen werden. Daher war bis vor kurzem unklar, welches Merkmal WhatsApp aus iOS bezieht.

Beide Verfahren zur Generierung des Authentifizierungsmerkmals möchte ich im Artikel kurz erläutern. Bei mir verfestigt sich der Eindruck, dass WhatsApp von inkompetenten Hobby Programmierer entwickelt wird, die das Wort »Sicherheit« und »Datenschutz« noch nicht einmal buchstabieren können.

2. Die Android Variante

Um sich gegenüber einer Gegenstelle zu authentifizieren benötigt es meist eine Kombination aus Benutzername und Passwort. Bei WhatsApp ist dies nicht anders. Als Benutzername dient eure Mobilfunknummer, die im Klartext übertragen wird und daher von jedem mit den entsprechenden Kenntnissen mitgelesen werden kann. Als Passwort für die Authentifizierung gegenüber dem WhatsApp Server benutzt die Android Version folgende Variante:

md5(strrev(»Eure-IMEI-Nummer«))

Übersetzt bedeutet dies:

  • Eure IMEI Nummer wird zunächst durch die Funktion strrev invertiert. Aus ‚000000001111111‘ wird einfach ‚111111100000000‘.
  • Anschließend generiert die md5 Funktion einen md5-Hashwert. Aus ‚111111100000000‘ wird dann zb. '6cf6e971f7c125615a1ee20510c1c70f'
  • Voilà eurer Passwort für die Authentifizierung.

Sam Granger geht noch einen Schritt weiter und erläutert wie die IMEI-Nummer bei Android Geräten ausgelesen werden kann. Folglich genügt einem Angreifer die Telefonnummer und IMEI, um sich in einen fremden WhatApp Account einzuloggen.

3. Die iOS Variante

Schon die Lösung für Android ist geradezu fahrlässig und zeugt von fehlendem Sachverstand. Bei iOS wird es nochmal eine Stufe härter. Hier genügt es in einem WLAN-Netzwerk die Pakete mitzuschneiden, um sich anschließend mit Benutzername (Telefonnummer) und Passwort in einen fremden WhatsApp Account einzuloggen. Im Detail funktioniert die iOS Lösung folgendermaßen:

md5(AA:BB:CC:DD:EE:FFAA:BB:CC:DD:EE:FF)

Übersetzt bedeutet dies:

  • Die MAC-Adresse eures iOS Geräts wird 2x hintereinander verknüpft und anschließend wird wieder ein md5-Hashwert gebildet.
  • Voilà eurer Passwort für die Authentifizierung.

Ausgerüstet mit den entsprechenden Tools (Aircrack-ngWireshark) kann die MAC-Adresse eines iOS Geräts spielend einfach in einem WLAN-Netzwerk mitgeschnitten werden. Da WhatsApp die Telefonnummer, also den Benutzernamen im Klartext überträgt, hat der Angreifer auch hier leichtes Spiel.

Du kannst den Blog aktiv unterstützen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

4. Fazit – WhatsAPP bzw. WhatsUP?

Die WhatsApp Entwickler beweisen ein weiteres Mal ihre Inkompetenz. Zunächst wird der Benutzername (Telefonnummer) im Klartext übertragen und dann offenbart das Reverse Engineering die unsicheren Methoden zur Passwort Generierung. Während man für Android noch an die IMEI-Nummer des Geräts herankommen muss genügt bei der iOS Version ein WLAN-Hotspot im Kaffee oder Flughafen. Dort können die benötigten Informationen dann problemlos von einem Angreifer ausgelesen werden. Was nutzt die Einführung einer Verschlüsselung, wenn die Authentifizierung derart schlampig umgesetzt wird? In Zukunft sehe ich davon ab weiterhin über WhatsApp zu berichten. Die einzige Lösung ist ein Wechsel zu einem »sicheren« Messenger.

Update

13.08.2016: Wer einen sicheren Messenger sucht, sollte sich den Beitrag zu Conversations anschauen.

Bildquellen:

WhatsApp: https://www.whatsapp.com/

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

2 Ergänzungen zu “WhatsApp unsicher – Authentifizierungs-Lücke”

  1. Comment Avatar razzor1984 sagt:

    Als ich damals feststellet ,dass die übertragung über Wlan, unverschlüsselt erfolgte ,deinstalliert ich sie sofort. Leider merkt man, dass Sicherheit anscheinend noch immer sehr kleine geschrieben wird. Alleine Wireshark würde für plain text mitlesen schon genügen. Die Whatsapp entwickler müssen umgehends etwas ändern, so eine schlimmes Sicherheitsfiasko haben ich schon lange nicht mehr erlebt……

    grüße Razzor

  2. Comment Avatar Daniel sagt:

    Ich nutze WhatsApp auch, würde aber niemals sensible Daten darüber weitergeben. Es verwenden mittlerweile einfach schon zu viele Leute WhatsApp und ist wie ich finde wirklich sehr sehr komfortabel, um mit seinen Leuten in Kontakt zu bleiben… besser als per E-Mail und irgendwelchen anderen Messengern. Aber finde solche Artikel sehr gut, da die Entwickler so immer mehr unter Druck geraten und handeln müssen.

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.