Schwachstellen in WhatsApp

Schwachstellen in WhatsApp

Oliver Kunz
von Oliver Kunz
Lesezeit: 8 Minuten

In den letzten Jahren wurde WhatsApp die meist gewählte Alternative zu herkömlichen Messenger Diensten wie SMS oder MMS. Innert kurzer Zeit erreichte die App – welche für Android, Blackberry, iOS, Nokia und WindowsPhone Geräte verfügbar ist – eine enorme Verbreitung. Im Oktober 2011 vermeldeten sie über 1 Mia. Nachrichten an einem Tag. Für Netzbetreiber ist die App ein Ärgernis, da sie weniger Umsatz mit SMS/MMS Dienste erzielen. Für Security Researcher ist die App ein Ärgernis, weil es scheint, als ignorierten die Entwickler jegliche Best Practice bei der Entwicklung. Nach 3 Jahren wurde erst eine Verschlüsselung eingebaut, der Status von Dritten konnte manipuliert werden und derzeit lesen wir überall über das Passwort Problem.

Das Passwort Problem

Kurze Zeit nach der Einführung von Verschlüsselung, im August 2012, gelangte die App erneut in die Kritik. Der Webentwickler Sam Granger veröffentlichte am 5. September in einem Blog-Post seine Forschungsresultate zum Authentisierungsmechanismus vom WhatsApp-Client an dessen Webfrontend-Server.

Für die Android Version von WhatsApp fand Granger heraus, dass als Passwort der MD5-Hash der umgekehrten IMEI verwendet wird. Eine Woche später veröffentlichte Ezio Amodio in einem Blog-Post, dass bei Apples iOS die MAC-Adresse der WLAN-Schnittstelle verwendet wird. Apple untersagt seinen Entwicklern seit einiger Zeit das auslesen der Gerätenummer.

Das Team von Heise-Security veröffentlichte in einem News-Artikel am 14. September 2012, wie einfach es Ihnen gelang mit Hilfe der PHP-basierten WhatsAPI Accounts zu übernehmen. Die Source von WhatsAPI wurde kurzzeitig vom Netz genommen. In der Commit-Meldung informieren die Entwickler von WhatsAPI, dass sie die API entfernt haben und in Kontakt mit dem Legal-Team von WhatsApp Inc. stehen. Dennoch portierte Sascha Gehlich, CEO FILSH Media GmbH, die API in node.js und veröffentlichte eine Webapplikation, in der man sich – durch Übermittlung der Telefonnummer und der zugehörigen IMEI/MAC-Adresse – am Webfrontend-Server von WhatsApp authentisieren kann. Die Verwendung statischer und bekannter Nummern als Passwort hat fatale Folgen. Mehr dazu im letzten Abschnitt dieses Artikel.

Passwortgenerieren unter Android

Um zu demonstrieren, wie leicht man an eine IMEI kommt, möchte ich hier zwei Wege unter Android vorstellen.

Physikalischer Zugriff auf das Gerät

Hat ein Angreifer die Möglichkeit, physikalischen Zugriff auf das Gerät zu erhalten, gibt es einfache Wege an die IMEI zu gelangen:

  1. Durch Menuführung: SettingsAbout PhonePhone identity
  2. Durch Wahl der Kombination: *#*#4636#*#*Phone Info
  3. Durch Installation einer spezifischen App z.B.: Network Signal Info

Dummy-App mit entsprechender Funktion

Kann einem nichts ahnenden Benutzer eine App verkauft werden, die im Hintergrund verschiedene Informationen ausliest und dem Angreifer zusendet, sind keine Grenzen gesetzt. Gehen wir davon aus, der Angreifer kennt seine Zielperson nicht und benötigt daher die Telefon- und IMEI-Nummer. Mit diesen Informationen ist es möglich, dass der Account der Zielperson übernommen werden kann und er eine Social-Engineering Attacke auf dessen Kontakte fahren könnte.

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = tm.getDeviceId();
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phone_no = tm.getLine1Number();
Cursor phone = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, CONTACT-ID-CURRENT-CONTACT, null, null);
String phone_no = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

Risikobewertung

Beinahe wöchentlich gerät WhatsApp derzeit negativ in die Schlagzeilen. Genau so oft kann man Einschätzungen lesen, die sehr allgemein gehalten und ohne Differenzierung geäussert werden. Für die Teilaspekte der Problematik können folgende Aussagen zusammengefasst werden:

Zusammenfassung

Zusammenfassend kann gesagt werden, dass man nicht zwingend auf die App zu verzichten braucht. Man sollte sich jedoch über die Risiken im Klaren sein und sein Verhalten dementsprechend anpassen. Bei Verdacht, dass eine Nachricht von einem übernommenen Account stammt, sollten Sie sich beispielsweise via Telefon mit dem Kontakt in Verbindung setzen und die Echtheit überprüfen. Wie schon erwähnt, sollte der unbeaufsichtigte Zugriff auf ein Mobiltelefon unterbunden werden. Benutzer von Android und iOS Geräte sollten sich überlegen, welche App auf ihrem Gerät welche Berechtigung benötigt. Zusätzlich ist Benutzern von iOS Geräten anzuraten, midestens halböffentliche und öffentliche WLAN Netzwerke zu meiden bis das Problem behoben wurde. Da die MAC Adresse auch in einem verschlüsselten WLAN im Klartext übertragen wird.

Über den Autor

Oliver Kunz

Oliver Kunz ist seit 2010 im Bereich der Informationssicherheit aktiv. Hauptsächlich setzt er sich mit Incident Response, Computerforensik und der Sicherheit von mobilen Geräten auseinander.

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Konkrete Kritik an CVSSv4

Konkrete Kritik an CVSSv4

Marc Ruef

Das neue NIST Cybersecurity Framework

Das neue NIST Cybersecurity Framework

Tomaso Vasella

Angriffsmöglichkeiten gegen Generative AI

Angriffsmöglichkeiten gegen Generative AI

Andrea Hauser

iOS Mobile Application Testing

iOS Mobile Application Testing

Ian Boschung

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv