Krypto-Experte: Keine Backdoor in WhatsApp
Eine Schwachstelle in der Verschlüsselung von WhatsApp wurde vorschnell als "Backdoor" kolportiert. Jetzt hat der Entwickler des Verfahrens eine Stellungnahme veröffentlicht.
Schon vor einem knappen Jahr hatte Sicherheitsforscher Tobias Boelter von einer Schwachstelle in der Verschlüsselungskette von WhatsApp beobachtet. Gestern griff die britische Zeitung "The Guardian" die Geschichte auf und zitierte Datenschutz-Experten, die das Problem als "riesige Bedrohung für die Meinungsfreiheit" bezeichneten. Weitere Medienberichte machten aus der Sicherheitslücke schnell eine absichtlich geschaffene "Backdoor", mit der Dritte unentdeckt verschlüsselte Konversationen belauschen können.
Nachdem die Geschichte immer weitere Kreise zieht, hat sich jetzt Moxie Marlinspike zu Wort gemeldet – der Entwickler der von WhatsApp genutzten quelloffenen Verschlüsselungstechnik. In seinem Artikel "There is no WhatsApp 'backdoor'" weist Marlinspike die Vermutungen einer absichtlichen Hintertür zurück. Damit geht er konform zu Boelter, der nach Veröffentlichung des Guardian-Artikels in einem Blog-Eintrag ebenfalls daran zweifelte, dass hier vorsätzlich eine Lücke eingebaut wurde.
Wie WhatsApp verschlĂĽsselt
Weil die Sache ein bisschen vertrackt ist, versucht der folgende Exkurs mit möglichst wenig kryptischem Krypto-Speak auszukommen.
WhatsApp verwendet zur Verschlüsselung ein Public-Key-Verfahren, das Signal-Protokoll von Open Whisper Systems. Hierbei identifiziert sich jeder Client mit einem Schlüsselpaar: einem öffentlichen und einem privaten Schlüssel (Public Key bzw. Private Key). Der öffentliche Schlüssel liegt auf dem Server des Betreibers, also WhatsApp; der private Schlüssel bleibt auf dem Gerät des Teilnehmers.
An dieses Schlüsselpaar sind alle Konversationen gebunden: Ausgehende Nachrichten werden mit dem öffentlichen Schlüssel verschlüsselt, unlesbar von den WhatsApp-Servern empfangen und an den Empfänger weitergeleitet. Der Empfänger dekodiert sie auf seinem Gerät mit seinem privaten Schlüssel. Erst hier wird aus dem Zeichensalat wieder eine lesbare Nachricht.
Teilnehmer können den Stand der Verschlüsselung über eine "Sicherheitsnummer" (Security Code) überprüfen, die sie entweder manuell verifizieren oder bei einem Treffen vom Gerät des Kommunikationspartners einscannen. Ähnlich funktioniert die Verifikation der Identität von Gesprächsteilnehmer auch im Open-Source-Messenger Signal und im kommerziellen Messenger Threema.
Die Verifikation der Sicherheitsnummer verhindert, dass ein Angreifer unentdeckt den Kommunikationskanal komprimittiert und Nachrichten abfängt. Ohne Sicherheitsnummer könnte ein Angreifer mit Zugriff auf die WhatsApp-Server dort den öffentlichen Schlüssel eines Teilnehmers durch seinen eigenen austauschen, zu dem er den privaten Schlüssel kennt. Über einen solchen "Man-in-the-Middle"-Angriff (MITM) könnte er unbemerkt alle Nachrichten mitschneiden.
Ohne Verifizierung der Sicherheitsnummer kann es tatsächlich passieren, dass der andere Teilnehmer nicht bemerkt, dass sich der zur Kommunikation verwendete Schlüssel geändert hat. Die Überprüfung der Sicherheitsnummer ist allerdings eine optionale Einstellung.
Wo das Problem liegt
Tobias Boelter hatte im April 2016 festgestellt, dass der WhatsApp-Client eine Nachricht erneut versendet, wenn der Kontakt zum ursprünglichen Versandzeitpunkt offline war. Nun kann es vorkommen, dass sich zwischen der letzten und der aktuellen Nachricht das Schlüsselpaar des Gesprächspartners ändert – etwa weil der Kontakt die App neu installieren musste oder ein neues Smartphone in Betrieb genommen hat.
In einem solchen Fall verschlüsselt der Client des Absenders stillschweigend die Nachricht mit dem neuen Schlüssel und verschickt sie nochmal. Erst danach erhält der Absender eine Benachrichtigung, dass sich der Schlüssel des Gesprächspartners geändert hat. Wenn überhaupt – dazu gleich mehr.
Hier liegt das Problem an der ganzen Sache: Die Nachricht geht in jedem Fall erst einmal mit dem neuen Schlüssel heraus. Bei einem MITM-Angriff befände sich die Nachricht daraufhin in den Händen des Angreifers. Noch kitzliger: Sollte ein WhatsApp-Teilnehmer die Option der Sicherheits-Benachrichtigungen nicht aktiviert haben, bekommt er von der Schlüsseländerung überhaupt nichts mit.
Zur Klarstellung noch eine Anmerkung: In jedem Fall sind nur die Nachrichten ab dem SchlĂĽsseltausch kompromittiert; der Inhalt einer Konversation vor diesem Zeitpunkt bleibt weiterhin sicher.
WhatsApp und Marlinspike sehen kein Problem
Auf seine Entdeckung hin teilte WhatsApp dem Sicherheitsforscher Tobias Boelter mit, man sehe in diesem Verhalten keine Sicherheitslücke – sondern ein Feature. Zum Vergleich: Der Messenger Signal setzt dasselbe Verschlüsselungsverfahren ein, bemerkt allerdings vor dem Versenden einer Nachricht den abweichenden Schlüssel und lässt sich erst über einen Dialog bestätigen, dass man die Nachricht trotzdem absenden will. Eine solche Abfrage wollte WhatsApp seinen Anwendern offenbar nicht zumuten.
In seinem Artikel gibt Signal-Mitentwickler Moxie Marlinspike zu, dass diese Design-Entscheidung der WhatsApp-Entwickler durchaus die Möglichkeit eines Angriffs ermöglicht. Im Unterschied zu Boelter hält er die Entscheidung aber für nachvollziehbar. Marlinspike führt sogar ein Argument für die Vorgehensweise von WhatsApp ins Feld: Würde WhatsApp jedes Mal die Konversation blockieren, wenn sich der private Schlüssel eines Teilnehmers ändert, könne das neue Datenschutzprobleme aufwerfen.
Beim Blockieren der Nachricht aufgrund des veränderten Schlüssels würde der Betreiber beispielsweise erfahren, welche Anwender die Benachrichtigungsfunktion aktiviert haben und welche nicht. Dadurch wüsste das Unternehmen, welche Teilnehmer durch einen versteckten Schlüsselaustausch verwundbar sind.
Marlinspike beteuert zudem, dass sich die Clients nicht dazu zwingen lassen, bereits ausgelieferte Nachrichten an einen neuen Schlüssel zu versenden. Das wäre Voraussetzung dafür, vergangene Konversationen auszulesen. (Dass der Empfänger eine Nachricht erfolgreich empfangen hat, erkennt man in der App an den zwei Häkchen hinter dem Zeitstempel einer versandten Nachricht.) Der Artikel im Guardian ließ hier eine andere Interpretation zu. Marlinspike zeigt sich in seinem Beitrag von der Qualität der Berichterstattung enttäuscht – insbesondere, weil die Journalisten des Guardian es wohl versäumt hatten, ihn zur Überprüfung ihrer Geschichte zu kontaktieren.
Was WhatsApp-Anwender tun können
WhatsApp fehlt die Option, Nachrichten zurückzuhalten, wenn der Empfänger plötzlich einen anderen Schlüssel präsentiert. Immerhin bietet das Programm die Möglichkeit, dass Absender eine Benachrichtigung erhalten, wenn sich der Schlüssel des Empfängers ändert. Diese Option ist jedoch standardmäßig deaktiviert.
Um die Option einzuschalten, müssen Android-Anwender in den Einstellungen der WhatsApp-App unter "Account" unter "Sicherheit" die Option "Sicherheits-Benachrichtigungen anzeigen" aktivieren. Wie gesagt: Die Option verhindert nicht, dass Nachrichten in unberechtigte Hände geraten. Die Benachrichtigung macht aber zumindest darauf aufmerksam, wenn die Gegenstelle womöglich nicht mehr die Person ist, mit der Sie zu kommunizieren glauben.
An dieser Stelle müssen Sie dann entscheiden, ob Sie dem Kommunikationspartner weiterhin vertrauen oder ob Sie den Gesprächspartner erst über die Sicherheitsnummer verifizieren wollen.
WhatsApp: Sicherheits-Benachrichtigungen einschalten (Android) (4 Bilder)
tl;dr (Die Kurzfassung)
Zusammengefasst: Unter bestimmten Bedingungen kann es vorkommen, dass WhatsApp-Clients tatsächlich Nachrichten an unerwünschte Mithörer versenden. Hierfür muss dieser Mithörer die Fähigkeit besitzen, eine Rufnummer einem neuen Schlüssel zuzuordnen – am besten durch direkten Zugriff auf die WhatsApp-Server. Ist in den beteiligten Apps die Anzeige der Sicherheits-Benachrichtigungen deaktiviert, bekommen die Teilnehmer davon möglicherweise nichts mit.
WhatsApp-Anwender können nichts dagegen tun, dass die App womöglich eine Nachricht an einen Angreifer ausliefert. Mit einer einfachen Einstellung können sie zumindest erfahren, dass auf dem Server ein Schlüsseltausch stattgefunden hat. Das liegt womöglich daran, dass sich jemand in die Leitung geschaltet hat – wahrscheinlicher bleibt jedoch, dass sich das Gegenüber gerade über ein neues Smartphone freut.
Dass WhatsApp hier gezielt eine Backdoor in seine Apps eingebaut hat, ist extrem unwahrscheinlich.
(ghi)