Mobile IT-Forensik: SnapChat dekodiert

Die Smartphone-App SnapChat  ist eine proprietäre Messanging Anwendung, welche genutzt werden kann, Bilder an andere Empfänger (einzeln oder Gruppen) zu versenden. Die Besonderheit hierbei ist es, dass laut Hersteller der App der oder die Empfänger die Bilder nur für eine einstellbare Zeitdauer von bis zu 10 Sekunden sehen können. Nach der Betrachtung werden die Bilder direkt gelöscht und können somit nicht mehr genutzt werden. Besonders Jugendliche nutzen diese App im Zusammenhang mit  dem Begriff „Sexting“, einer Form des Versendens erotischer oder pornografischer Bilder.

Wir als IT-Forensiker sehen uns einer steigenden Zahl von Anfragen für die Datenrettung dieser Bilder gegenüber. Aus diesem Grunde habe ich mich auf die Suche gemacht, eine Extraktionsmöglichkeit dieser versendeten Bilder zu finden. Hierbei bin ich auf einen Artikel des IT-Forensikers Richard Hickman aus den USA  gestoßen. In seinem Artikel „4-30-13 SNAPCHAT UNVEILED: AN EXAMINATION OF SNAPCHAT ON ANDROID DEVICES“  stellt er die Methode aus forensischer Sicht dar. Hiernach können immerhin die noch nicht betrachteten Bilder auf einem Mobiltelefon gesichert werden. Zumindest schon einmal ein kleiner Erfolg aus Ermittlersicht. Bis zu diesem Zeitpunkt war ich noch in dem Glauben, das Problem SnapChat Bilder wäre gelöst, aber mitnichten… wie ich feststellen musste, konnten die Bilder mittlerweile nicht mehr so einfach extrahiert werden, denn die neueste Version der SnapChat-App ließ mich die Dateien leider nicht so einfach betrachten. Aber so leicht wollte ich mich nicht geschlagen geben.

Zunächst installierte ich auf 2 Versuchsgeräten die neueste Version der App. Als Extraktionsgerät wählte ich ein neues Samsung Galaxy S4 aus, welches zuvor auf die Werkseinstellungen zurückgesetzt wurde. Anschließend erstellten wir neue SnapChat-Benutzerkonten und schossen jeweils 3 Bilder über die Fotofunktion der Snapchat-App. Diese sendete ich den Geräten gegenseitig zu. Eines der Bilder betrachtete ich direkt über die App. Nach der eingestellten Zeit von 10 Sekunden verschwand das Bild und konnte nicht mehr betrachtet werden. Nun hatten wir also die erforderlichen Versuchsdaten und konnten zur Daten-Extraktion übergehen.

Danach erstellte ich einen physikalischen Auszug vom internen Speicher des Samsung Galaxy S4. Hierzu nutze ich als Akquisegerät das Cellebrite UFED Touch. Nach etwa 1,5 Stunden lagen mir somit die Rohdaten als Binärdump vor. Zur Auswertung der Daten bediente ich mich der Software Physical Analyser in der Version 3.9.1.5. Die App-Daten konnten schnell im Dateiverzeichnis unter dem Pfad „com.snapchat.android“ gefunden werden.

Filesystem SnapChat

Im Verzeichnis „received_image_snaps“ befanden sich 2 Dateien mit recht kryptischen Bezeichnungen und der Endung .jpg.nomedia“. Laut Richard Hickman musste dies der Speicherort der nicht betrachteten Fotos sein. Der Einfachheit halber kopierte ich mir den gesamten Verzeichnispfad in ein lokales Verzeichnis meines Auswertungs-PC.

Kopie des Dateiverzeichnisses

Im nächsten Schritt benannte ich die beiden vermeintlichen Bilddateien um, so dass sie wieder die Endung „.jpg“ erhielten. Der Versuch, diese Dateien mit einem Bildbetrachtungsprogramm zu öffnen, wurde jedoch mit einer Fehlermeldung quittiert. Ok, also schaute ich mir den Dateiinhalt kurz mit einem Hex-Editor an. Wie zu erwarten konnte der bekannte Dateiheader „FF D8 FF E0“ für JPEG-Dateien nicht gefunden werden. Ich vermutete daher, dass in der Zwischenzeit dieser App eine Verschlüsselung eingebunden wurde. Das weckte natürlich den Spürhund in mir. Als IT-Forensiker möchte man sich solchen Hindernissen nicht geschlagen geben. Ich begann somit, mir den Source der App einmal genauer zu betrachten. Irgendwo mussten sich Hinweise auf das Vorgehen der App mit nichtbetrachteten Bildern befinden.

Wenn meine Vermutung richtig war, musste sich der Hinweis auf eine Verschlüsselung irgendwo im Bereich der Klassendaten unserer App befinden. Hierbei konnte ich mir die Eigenschaft von Java-Apps zunutze machen, dass diese ihre Informationen in den Dateien der App- Klassen speichern. Ich nutze hierzu eine Mustersuche, die ich mit den gängigen Begriffen der heutigen Verschlüsselungsmechanismen fütterte. Wie vermutet fand ich einen Hinweis auf die Verschlüsselungsart „AES/ECB/PKCS5Padding„ in der SnapChat Klassendatei.

AES String

Was nun noch fehlte war das hierzu passende Schlüsselwort, mit dem ich diese AES-verschlüsselte Datei wieder dechiffrieren konnte. Auch hierzu nutze ich eine Mustersuche. Da AES immer Schlüssel in definierten Längen nutzt, konnte ich die Suche auf Zeichenfolgen in den Längen 8, 16, 32 begrenzen. Auch hier waren geeignete Kandidaten schnell gefunden.

Gefundener Key zur Entschlüsselung

Der Einfachheit halber erstellte ich mir schnell eine kleine Java-Funktion mithilfe der Java-IDE „Eclipse“, um meine Bilder zu entschlüsseln. Den Code konnte ich direkt in der Entwicklungsumgebung ausführen.

Java Programm

Als Ergebnis erhielt ich eine neue Datei, die ich nun problemlos mit jedem Bildbetrachter öffnen konnte.

Ver- und entschlüsseltes Bild


Et Voilà, die SnapChat-Bilder lagen mir nun vor. Das Geheimnis wurde gelüftet.

SnapChat Foto entschlüsselt

Diese Aktion ist wieder ein schönes Beispiel dafür, dass die Auswertung von Handy, Smartphone & Co. nicht so einfach abläuft, wie es sich so mancher denken mag: “Stecker rein, verkabeln, Daten kopieren – fertig!” Es steckt viel mehr dahinter: Häufig müssen die mühsam gewonnenen Daten mit externen Programmen aller Art analysiert werden, um wirklich an Beweise heranzukommen und entsprechende Schussfolgerungen ziehen zu können. Nur dann ist ein Gutachten wirklich “gerichtsverwertbar”!

Fazit: Die interne Bildverschlüsselung von SnapChat konnte geknackt werden. Die Extraktion von ungesehenen SnapChat Bildern ist aus IT-Forensischer Sicht keine Raketenwissenschaft. Mit grundlegenden Kenntnissen in den modernen Ver- und Entschlüsselungsmechanismen konnte auch die neueste Version der App und deren Bilder entschlüsselt werden.

Der forensischen Auswertung steht nun auch hierbei nichts mehr im Wege. Für böse Jungs, die meinen, Apps wie SnapChat für ihre schändlichen Taten wie Sexting, Mobbing, Happy-Slapping oder schlicht und einfach Spionage nutzen zu können, sind schwere Zeiten angebrochen. Denn wie man sieht, macht auch die Mobile Endgeräteauswertung von Handy, Smartphone & Co. riesige Fortschritte und ich bin ganz vorne mit dabei.

Bleibt noch die Frage, was mit den bereits betrachteten Bildern geschieht. Dem werde ich aber auch noch nachgehen.