Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Messenger Apps

Mobile Messenger Apps

German presentation on smartphone messengers, given in front of forensic investigators & students.

Martin Schmiedecker

December 13, 2017
Tweet

More Decks by Martin Schmiedecker

Other Decks in Technology

Transcript

  1. Agenda • Einführung Technologien • Details Mobile Messenger Apps •

    Anonyme Kommunikation • Analyse von Messenger-Apps ◦ Beispiel: WeChat ◦ Beispiel: imo • Zusammenfassung Dr. Sebastian Schrittwieser: • FH St. Pölten, KIbuSec • [email protected] Dr. Martin Schmiedecker: • Gerichtlich zert. & allg. beeideter Sachverständiger • [email protected]
  2. Einführung Viele, viele, viele Messenger verfügbar … • Whatsapp •

    Signal • Telegram • Facebook, iMessage, Skype • WeChat, Viber, Wire, Threema, imo, ...
  3. Mögliche Problemfelder • Protokoll verschlüsselt • Speicherung am Smartphone ◦

    Wo? Wie? • Schnittstellen der Online-Services ◦ Öffentliche APIs ◦ Undokumentierte APIs
  4. Transportverschlüsselung Kurze Geschichte: • PGP (1991) • OTR (2004) •

    Axolotl / Signal (2014) • Eigene Protokolle zB Telegram (2013) • TLS
  5. Pretty Good Privacy (PGP) Schlüssel aus zwei Teilen: • öffentlich

    • privat • viele Nachteile: ◦ knifflig in der Verwendung ◦ ein Schlüssel für alle Zeit (oder bis erneuert) Verwendet zB Threema
  6. off-the-record Protokoll (OTR) Problem: • nur EIN Schlüssel • siehe

    auch Lavabit, Ladar Levison Lösung: • ein Schlüssel / Nachricht! • Nachricht enthält Informationen für nächsten Schlüssel • Interaktiv!
  7. Axolotl / Signal Open Whisper Systems: • Anfangs OTR, dann

    Axolotl • TextSecure, RedPhone • verschlüsselte SMS, VoIP • Sicherheit vor- und rückwärts Mittlerweile: • keine SMS mehr • alles nur noch Signal • speichern keine Metadaten
  8. Aktueller Stand Signal hat viel inspiriert: • Wire Messenger •

    Conversations & OMEMO • WhatsApp • Google Allo • G Data Secure Chat • ...
  9. Telegram • Gegründet im VK-Umfeld (russisches Soziales Netzwerk) • Entweder

    nur Transportverschlüsselung oder Ende-zu-Ende-Verschlüsselung für Chats wählbar • Nur transportverschlüsselte Nachrichten werden serverseitig gespeichert und der komplette Verlauf an neue Clients ausgeliefert ◦ Extraktion über SMS-Hijacking unter bestimmten Umständen möglich ohne Zugriff auf das Telefon ◦ Cloud Extractor Lösungen diverser Hersteller unterstützen Telegram • Die Ende-zu-Ende-Verschlüsselung (“Secret Chats”) ist eine Eigenentwicklung (möglicherweise schwach) • Lokale Datenbank (unverschlüsselt, auch “Secret Chats”): tgdata.db
  10. Signal • Referenz-Messenger für das Signal (ehem. Axolotl-Protokoll) • Signal

    für iOS ◦ Verschlüsselung der lokalen Daten durch iOS ◦ Daten von Signal sind vom Backup ausgenommen (iCloud und iTunes Backups) ◦ Die Nachrichten-Datenbank ist zusätzlich mit einem Schlüssel verschlüsselt, welcher in der Keychain gespeichert ist • Signal für Android ◦ Passphrase (optional) ermöglicht die Verschlüsselung der Nachrichten-Datenbank
  11. Tor

  12. Onion Services Wer verwendets? • Am beliebtesten: Facebook! • https://facebookcorewwwi.onion

    • ca. 1 Million Nutzer pro Tag (April 2016) Aber auch: Silkroad, Alphabay, Childsplay ...
  13. Silkroad • Ross Ulbricht • verhaftet 2013 • ca. 150.000

    Käufer • ca. 3900 Verkäufer • verurteilt zu lebenslanger Haft • ohne Chance auf Bewährung
  14. Onion Services Verwendung: • Tor Browser Bundle • Alternative: Tor2web

    • .onion Adresse & nochmal .to anhängen • https://www.nytimes3xbfgragh.onion.to Aber Achtung!!!1elf • Betreiber von Tor2web sehen echte IP & Zieladresse!
  15. Onion Services Bekannte Hidden Services: • New York Times, ProPublica,

    … • Wikileaks • SecureDrop • DuckDuckGo • Alle Debian Package Server Sommer 2017: ungefähr 3% vom Gesamtverkehr (ca. .1gbit)
  16. Onion Services Bald großes Update: • längere Adressen: 56 Zeichen

    statt 16 • Moderne Kryptographie • Tor Relays können es schon • Tor Browser Bundle noch alpha Beispiel www.riseup.net: • früher nzh3fv6jc6jskki3.onion • neu vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion
  17. Childs Play Forum für KiPo: • Tausende User • 1xMonat

    auch hochladen Davor: • Playpen (2014-2015) • “Operation Pacifier” • 900? Verurteilungen
  18. Childs Play Ganze Geschichte: • Aufdeckung im Jänner 2017 •

    vg.no, norwegische Tageszeitung • Abgedreht im Oktober 2017 • Fast ein Jahr von australischer Polizei betrieben https://www.vg.no/spesial/2017/undercover-darkweb/?lang=en
  19. Riccochet Anonymer Chat • Macht lokal Onion Service • IP

    nicht rückverfolgbar • Soweit anonym wie geht • https://ricochet.im
  20. Onionshare • Zum Austausch größerer Dateien • Macht lokal Onion

    Service • http://onionBLABLUBB.onion/DATEI • Adresse sollte sicher geteilt werden
  21. • Bei den meisten Messenger-Apps werden die Adressbücher der Smartphones

    für die Erstellung der Kontaktliste verwendet ◦ Keine gegenseitige “Befreundung” wie bei Skype, Facebook, usw. • Die Telefonnummer eines Nutzers alleine ermöglicht einen gewissen Einblick in das Konto ◦ Online-Aktivität ◦ Profilbild ◦ Statusnachricht • Zugriff über eigenes Smartphone (Hinzufügen der Telefonnummer) oder Applikationen/Skripte Öffentliche Daten aus den Online-Services
  22. Online-Aktivität • Feststellen von Tagesrhythmen ◦ ev. Schließen auf Zeitzone

    • Korrelation von Personen ◦ Accounts, die zu ähnlichen Zeitpunkten aktiv sind • Komplett unsichtbar für Zielperson (Anfragen gehen nur an den Server des Messenger-Anbieters)
  23. • Wie kann man herausfinden, wo und wie ein Messenger

    Nachrichteninhalte abspeichert? • Mögliche Speicherorte sind durch Sandboxing beschränkt ◦ App-Verzeichnis (/data/data/<App.Domain>) ◦ Externe Speicherkarte (z.B. WhatsApp-Backup) • Mögliche Verschlüsselung der Daten(banken) ◦ SQLite Datenbanken → sqlcipher ◦ Analyse der App selbst kann sinnvoll sein, um mehr über die Verschlüsselung zu erfahren Fallbeispiele: Analyse eines Messengers und seiner Daten unter Android
  24. imo • https://www.imo.im • Früher Multi-Messenger für Skype, XMPP usw.,

    heute eigenes Protokoll • Funktioniert ähnlich wie WhatsApp (kein Username/Passwort, sondern SMS-Verifikation der Telefonnummer)
  25. App-Analyse (Android) • Programm (APK) ist einfach eine ZIP-Datei •

    Dalvik Bytecode ◦ Umwandlung in Java-Bytecode für die Analyse ◦ dex2jar • ART in Android 5+ ◦ Umwandlung in nativen Code während der Installation ◦ Darum: Analyse einer App immer mit der ursprünglichen APK-Datei (Google Play, usw.)
  26. App-Analyse • Jar Decompiler (z.B. JD-GUI), um Java-Code anzuzeigen •

    Sieht (fast) wie der ursprüngliche Quellcode aus • Einfach zu verstehen, aber... • Oft Einsatz von Obfuscation ◦ Manchmal hilfreich: http://apk-deguard.com (Machine Learning zum “Erraten” von Variablen/Klassen-Namen
  27. WeChat • Verschlüsselte SQLite-Datenbank: EnMicroMsg.db • Passwort: MD5(IMEI + UIN)[:7]

    (UIN = User-ID von WeChat) • Selbst wenn man die IMEI oder die UIN nicht extrahieren kann: 28-bit Passwort (167 Kombinationen) → Brute-force Angriff schnell durchführbar • sqlcipher v2 ◦ PBKDF2 mit 4000 Iterationen ◦ 5 ms pro Schlüsselableitung • 8 Core PC benötigt ca. 2 Tage
  28. Einbindung in Forensik-Toolkits • Wissen über (a) Speicherorte und (b)

    Verschlüsselungstechniken ermöglicht Entwicklung automatischer Extraktionstools bzw. Einbindung in bestehende Forensik-Toolkits (z.B. als Python-Script) • Erforschung und Analyse aktueller Messenger-Apps an der Fachhochschule St. Pölten • Entwicklung von Tools und Scripts durch T3K-Forensics ◦ imo-Script ab Jänner verfügbar
  29. Fazit Zum Mitnehmen: • “Use Signal, use Tor” • Krypto

    oft nicht knackbar • Krypto oft umgehbar • Irgendwo IMMER entschlüsselt