Im Rahmen meiner Masterarbeit habe ich mir verschiedenste mobile Instant Messenger (IM) hinsichtlich ihrer Sicherheit angesehen. Dabei habe ich nicht nur den Datenstrom untersucht, der beim Senden/Empfangen von Nachrichten entsteht, sondern auch die von der App abgelegten Dateien am iPhone.

Folgende Apps für iPhone (iOS 8.3) wurden dabei im Mai / Juni 2015 untersucht:

  • Facebook Messenger v 28.1
  • Kik v 8.3.0
  • LINE v 5.1.2
  • Skype v 5.12.2
  • Threema v 2.3.1
  • Viber v 5.3.3
  • Whatsapp v 2.12.2

Dabei wurden alle Apps auf einem iPhone 4S installiert, Nachrichten, Bilder, Standorte usw. damit versenden und dieser Traffic gleichzeitig mit Wireshark aufgezeichnet. Nach dem Generieren von Traffic wurde vom iPhone mittels iTunes ein Backup erstellt, um darin nach relevanten Daten der Apps zu suchen. Hier eine kurze Zusammenfassung:

Abgelegte Daten am iPhone

iTunes legt die Backups der iOS-Geräte unter folgendem Pfad unter OSX ab:

~/Library/Application Support/MobileSync/Backup

Darin befindet sich pro gesicherten iOS-Gerät ein Ordner. Prinzipiell lassen sich Backups mit Tools wie Dr. Fone (auch im kostenlosen Demo-Modus) automatisiert auslesen und analysieren. Diese App analysiert zB automatisch alles, was von Whatsapp zu finden ist. Jedoch wird von den getesteten Apps tatsächlich nur Whatsapp analysiert, der Rest bleibt außen vor.

Da mich aber die anderen Apps genauso interessieren und ich außerdem wissen will, wo jede App welche Infos ablegt, folgt eine manuelle Suche. Dazu habe ich mit dem Tool iPhone Backup Extractor das erstellte Backup eingelesen und erstmal herumgestöbert, interessante Ordner extrahiert und diese analysiert.

Facebook Messenger

Mit dem Backup Extractor habe ich den Ordner

com.facebook.Messenger

extrahiert und analysiert. Die eigentlichen Nachrichten befinden sich nicht in diesem Ordner. Die relevanten Daten (Kontakte, Nachrichten) legt die App in der Datenbank orca2.db ab. Diese findet sich in den iOS Dateien unter:

iOS Files/_store_<Zahlenkombination>/messenger_messages_v1/orca2.db

Kik

Diese IM App legt die Nachrichten in einer sqlite Datenbank ab:

com.kik.chat/Documents/kik.sqlite

Dort finden sich die Nachrichten und Kontakte des Nutzers.

LINE

Die relevante sqlite Datenbank mit den LINE Daten befindet sich unter

iOS Files/Library/Application Support/Messages/Line.sqlite

Wird diese mit dem Tool sqlitebrowser geöffnet, findet man in der Tabelle “ZMESSAGE” die gesendeten und erhaltenen Nachrichten – im Klartext – also völlig unverschlüsselt. Unter ZCONTACT sind interessanter Weise ALLE Kontakte gelistet (sind wahrscheinlich beim Synchronisieren der Kontakte dorthing gelangt), in der Spalte ZMID sieht man welche davon LINE benutzen.

Gesendete Medien werden von LINE hier am iPhone abgelegt:

jp.naver.line/Library/Application Support/Message Attachments/

Skype

Die App mit der sowohl telefoniert als auch gechattet werden kann, legt am iPhone ihre wesentlichen Daten unter:

com.skype.skype/Library/Application Support/Skype/<user>/main.db

ab. Daraus können gesendete Nachrichten (auch über andere Geräte mit gleichem Benutzer) und Kontakte ausgelesen werden.

Threema

Diese App wählte ich, da es sich hierbei um eine Entwicklung aus der Schweiz handelt, die sich auf die Fahnen schreibt alles zu verschlüsseln. Threema legt im iOS seine Daten wie folgt ab:

com.threema.iapp/Documents/ThreemaData.sqlite

Auch hier können wie bei den anderen, aus dieser Datenbank die gesendeten Nachrichten und die gespeicherten Kontakte ausgelesen werden.

Viber

Wer nach Nachrichten sucht, die mit Viber versendet wurden, diese sind in folgender Datei zu finden:

com.viber/Documents/Contacts.data

Hier können neben den gesendeten Nachrichten und gespeicherten Kontakten auch die mit der App getätigten Anrufe ausgelesen werden.

Whatsapp

Die relevante sqlite DB findet sich hierfür unter:

iOS Files/ChatStorage.sqlite

Diese kann wieder problemlos mit dem sqlitebrowser geöffnet werden – und auch hier finden sich die Nachrichten unverschlüsselt vor (Tabelle ZWAMESSAGE). In der Spalte ZFROMJID finden sich die Whatsapp Usernamen = Telefonnummern der Beteiligten. Jediglich die in der Tabelle ZWAMEDIAITEM gelisteten empfangenen/gesendeten Medien sind über den dort gespeicherten Link (zb. https://mmi621.whatsapp.net/d/<Image>.jpg) nicht aufrufbar. Diese Medien finden sich jedoch hier wieder:

net.whatsapp.WhatsApp/Library/Media/

Geteilte Standorte, die ebenfalls in der Tabelle ZWAMEDIAITEM zu finden sind, lassen sich bequem auslesen und mit geeigneten Webseiten genau lokalisieren.

——

Weitere Infos werden regelmäßig aktualisiert.