it-swarm.com.de

Wie kann WhatsApp lokale oder Google Drive-Backups wiederherstellen?

Hier geht es nicht um das End-to-End-Übertragungsprotokoll, und meine Frage ist meistens Android zentriert).

Was ich mich frage: Beim Lesen über das Hacken und Entschlüsseln lokaler WhatsApp-Datenbanksicherungen wird erwähnt, dass von Android ein privater Schlüssel in einem eingeschränkten App-Bereich benötigt wird. Wenn Sie kein gerootetes Telefon haben, sollten Sie normalerweise keinen Zugriff auf diesen Schlüssel haben. Die Sicherungsdateien (Dateierweiterung crypt5-12) sind ohne diesen Schlüssel normalerweise unbrauchbar.

Wenn Sie das Telefon wechseln (z. B. ein neues kaufen), können Sie Ihr lokales sdcard/WhatsApp Ordner auf dem neuen Telefon und WhatsApp kann diese Sicherung entschlüsseln, wenn dieselbe Nummer verwendet wird: Quelle ist hier https://www.whatsapp.com/faq/en/Android/20887921#restore

Erste Annahme: Der Sicherungsschlüssel wird auch auf WhatsApp-Servern gespeichert. Andernfalls würde eine lokale Telefon-zu-Telefon-Sicherung nicht funktionieren?

Zweite Annahme: Das Schlimmste ist also, dass WhatsApp beim Sichern auf Google Drive theoretisch Zugriff (?) Auf Ihr (hoffentlich verschlüsseltes) Backup und auch auf den Entschlüsselungs-/Entschlüsselungsschlüssel auf den Servern hat. Oder gibt es zumindest eine Trennung zwischen Google Drive, die von WhatsApp selbst nicht gelesen werden kann? Hat jemand mehr Details?

Ein letztes Wort zum end2end-Verschlüsselungsprotokoll: Es scheint nutzlos zu sein (nicht gegen normale Hacker, aber ich denke gegen US-Überwachung), wenn mindestens einer Ihrer Freunde eine Google Drive-Sicherung seines Chats erstellt (der Verlauf der Chats kann abgerufen werden).

19
therealmarv

Erste Annahme: Der Sicherungsschlüssel wird auch auf WhatsApp-Servern gespeichert. Andernfalls würde eine lokale Telefon-zu-Telefon-Sicherung nicht funktionieren?

TL; DR: Ja, nach einigen Untersuchungen scheint dies der Fall zu sein.

Sekundärgeräte

Das Protokoll ist ziemlich kompliziert und nicht auf WhatsApp beschränkt, sondern funktioniert im Allgemeinen so. Das Telefon, das die Chat-App verwendet, heißt erstes Gerät. Dieses Gerät ist das allmächtige Gerät, das alle vertraulichen Daten wie private Identitätsschlüssel, Verbindungskennwörter, lokale Verschlüsselungsschlüssel, Anhangsverschlüsselungsschlüssel usw. speichert. Alle anderen Geräte heißen zweite Geräte, einschließlich WhatsApp Web und Desktop Kunden. Diese Clients sind im Wesentlichen dumm.

Wenn ein neues Gerät angezeigt wird, muss es zuerst über erstes Gerät authentifiziert werden. WhatsApp tut dies mit einem anfänglichen QR-Code (andere Apps verwenden SMS Token) und dann über eine Reihe von Beweisen. Schließlich entscheidet das erste Gerät, ob ein sekundäres Gerät die Kontrolle über die vertraulichen Daten haben darf. In diesem Fall erhält das zweite Gerät diese Schlüssel auf Anfrage. Mit diesen Schlüsseln kann das zweite Gerät die Kontaktdatei herunterladen und mit dem angeforderten Schlüssel entschlüsseln. Gleiches gilt für alle Mediennachrichten. Ein Hinweis für WhatsApp-spezifisch: Diese Schlüsselanforderungen sind sehr kurz und daher sekundäre Clients erforderlich, um das erste Gerät regelmäßig nach einem neuen Schlüssel für den Zugriff auf die Daten zu fragen. Dies verursacht die nervige Warnung ' Telefon nicht verbunden' im WhatsApp-Web.

Wenn Sie WhatsApp auf einem neuen Telefon installieren, wird dieser gesamte Vorgang ausgeführt, und das erste Gerät autorisiert das neue Telefon und sperrt sofort eine der beiden aktiven Instanzen. Sie haben dann die Wahl, eines der Telefone auszuwählen. Wenn Sie das neue Telefon auswählen, wird das Eigentum an allen Geheimnissen auf das zweite Gerät übertragen, das dann zum ersten Gerät wird, wodurch der Kreis geschlossen wird.

Backups

Nach einigen Untersuchungen, Dekompilieren der App und Ausführen von Testszenarien können wir Folgendes durchführen: Die App verwendet mehrere lokale (SQLite) Datenbanken. Nachrichten werden unverschlüsselt in diesen Datenbanken gespeichert, und die Datenbanken selbst werden ebenfalls nicht verschlüsselt. Sie können dies selbst überprüfen, indem Sie die DB-Dateien aus dem Ordner data/herunterladen. Dies ist der Standardspeicherort für WhatsApp im laufenden Modus und wird aus Leistungsgründen höchstwahrscheinlich unverschlüsselt. Normale Apps sollten nicht auf die DB-Dateien im Datenordner zugreifen können, es gibt jedoch einige adb Problemumgehungen.

Datenbankdateien, einschließlich Einstellungen und Nachrichten, werden in Google Drive gesichert (sofern Sie dies wünschen). Die App kann eine Sperre für den Ordner in Google Drive anfordern, um zu verhindern, dass Benutzer das Backup herunterladen oder darauf zugreifen. Die an den Remote-Sicherungsspeicherort gesendeten Nachrichtendatenbanken sind die msgstore.db.crypt[0-12] - Dateien, wobei die letzte Nummer die Protokollversion angibt. Die Datenbanken sind verschlüsselt mit einem im Datenordner gespeicherten Schlüssel. Dieser Schlüssel wird tatsächlich auf dem WhatsApp-Server gespeichert.

Zweite Annahme: Das Schlimmste ist also, dass WhatsApp beim Sichern auf Google Drive theoretisch Zugriff (?) Auf Ihr (hoffentlich verschlüsseltes) Backup und auch auf den Entschlüsselungs-/Entschlüsselungsschlüssel auf den Servern hat. Oder gibt es zumindest eine Trennung zwischen Google Drive, die von WhatsApp selbst nicht gelesen werden kann? Hat jemand mehr Details?

Sobald Sie ein neues Gerät installieren und Ihr Google-Konto einrichten, können die Dateien von der App angefordert und auf dem lokalen Gerät konfiguriert werden. Dazu gehört die Axolotl-Datenbank mit dem Identitätsschlüssel, der erforderlich ist, um Ihre Identität anderen zu beweisen. Der Entschlüsselungsschlüssel wird nach dem Nachweis des Besitzes der Telefonnummer (Benutzername) für die neu installierte WhatsApp-Instanz abgerufen. Theoretisch sollte WhatsApp nicht auf diese Dateien zugreifen können, aber nur Sie und Google. Natürlich könnte WhatsApp die Dateien herunterladen und an einen anderen Ort senden. Aber irgendwann müssen wir der App vertrauen, insbesondere wenn es sich nicht um Open Source handelt.

WhatsApp erstellt auch lokale Backups, normalerweise zweimal täglich in SD-Karte/WhatsApp. Diese lokalen Sicherungen enthalten auch den Identitätsschlüssel und die Nachrichtenspeicherdatenbanken und sind tatsächlich verschlüsselt. Der Verschlüsselungsschlüssel wird erneut zusammen mit Ihrem WhatsApp-Profil auf dem Remote-Server gespeichert. Dies erklärt, warum Sie den gesamten WhatsApp-Sicherungsordner von einem Gerät auf ein anderes verschieben können. Ohne eine verifizierte Telefonnummer können Sie die Sicherungsdateien nicht lesen oder den Identitätsschlüssel verwenden. Jedes gerootete Gerät kann jedoch einfachen Zugriff auf die ursprünglichen, unverschlüsselten Datenbankdateien gewähren.

Ein letztes Wort zum end2end-Verschlüsselungsprotokoll: Es scheint nutzlos zu sein (nicht gegen normale Hacker, aber ich denke gegen US-Überwachung), wenn mindestens einer Ihrer Freunde eine Google Drive-Sicherung seines Chats erstellt (der Verlauf der Chats kann abgerufen werden).

Die Geschichte wird ab diesem Zeitpunkt nicht besser, da wir wissen, dass Google und andere Unternehmen wie Facebook und WhatsApp auf Anfrage im Rahmen des FISA-Gesetzes Dateien bereitstellen. Die End-to-End-Kommunikation muss nicht angegriffen werden, da bereits eine Hintertür vorhanden ist. E2E schützt nur vor aktiven Gegnern auf dem Kommunikationskanal, die nicht über die Berechtigung verfügen, Sicherungsdateien von Partei eins und Entschlüsselungsschlüssel von der anderen Partei zu verlangen.

Fenster des Angriffs

Angenommen, wir betrachten die Situation eines Nichtregierungs- oder "normalen" Angreifers mit begrenzten Ressourcen, dann ist das Gerät die offensichtliche Schwäche. Jede App mit Root-Rechten kann auch auf Datenbanken zugreifen, Schlüssel kopieren usw. Die Standard-ROMs Android enthalten viele Apps, die unter dem Benutzer system ausgeführt werden, aber auch die Apps des Anbieters, die mit ROM (und Updates) ausgeliefert werden, sind vor diesen geschützt Benutzereingriff und daher als System ausgeführt.

Auch bösartige Apps sind nicht ohne Risiko. Mit den richtigen Berechtigungen haben sie die volle Kontrolle über den SD-Kartenspeicher und können auf die verschlüsselten Sicherungen zugreifen. Wenn die Überprüfung SMS zum richtigen Zeitpunkt abgefangen wird (Einbinden in den SMS-Empfangsanruf) und die Telefonnummer kopiert wird, sollte es möglich sein, eine selbstgesteuerte WhatsApp-Instanz zu aktivieren und um den Datenbankentschlüsselungsschlüssel zu erhalten. Der Angriff wird noch plausibler, wenn der Gegner die Kontrolle über die Mobilkommunikation hat (was Regierungen häufig tun).

Der ADB-Angriff ist noch schlimmer, da keine Root-Berechtigungen erforderlich sind. Grundsätzlich ist ein Downgrade-Angriff möglich, wenn eine ältere Version von WhatsApp über die Bridge-Schnittstelle installiert wird. Diese sogenannte Legacy-WhatsApp kann zu einer vollständigen Anwendungssicherung verleitet werden, was zu einem Tar-Archiv führt. Der Tarball wird auf die ADB-Serverseite gezogen und extrahiert. Bei richtiger Vorbereitung würde es ein USB-Kabel und einige Sekunden dauern.

17
Yorick de Wid