Über Backdoors

Grade ist ein erbitterter Streit zur Frage ausgebrochen: Gibt es in WhatsApp eine Sicherheitslücke, die es dem Facebook-Tochterunternehmen ermöglicht, Nachrichten mitzulesen?

Ausgelöst hat den Streit ein Artikel des Guardian, der in einem Artikel sehr alarmistisch auf diese vermeintliche „Backdoor“ aufmerksam macht.

Jeder Leser wird bei dieser Überschrift denken, es gehe um einen der Vorfälle, wie wir sie in der jüngsten Vergangenheit immer wieder gesehen haben: Geheimdienste und/oder Verbrecher haben eine Sicherheitslücke entdeckt und können massenhaft auf Botschaften zugreifen. WhatsApp hatte da bekanntermaßen eine unrühmliche Vergangenheit.

Doch im Artikel selbst sind die Vorwürfe deutlich schwächer.

However, WhatsApp has the ability to force the generation of new encryption keys for offline users, unbeknown to the sender and recipient of the messages, and to make the sender re-encrypt messages with new keys and send them again for any messages that have not been marked as delivered. The recipient is not made aware of this change in encryption, while the sender is only notified if they have opted-in to encryption warnings in settings, and only after the messages have been re-sent. This re-encryption and rebroadcasting effectively allows WhatsApp to intercept and read users’ messages.

Versandte Nachrichten nicht betroffen

Sprich: Es geht erstens um eine theoretische Lücke, die nach bisherigen Informationen nicht in der Praxis ausgenutzt wurde. Es geht zweitens nur um das Abfangen nicht-versandter Nachrichten — sind die Nachrichten einmal beim Empfänger eingetroffen, würde WhatsApp auch weiterhin in die Röhre schauen. Und drittens: Der skizzierte Angriff verläuft nicht unbemerkt.

Die vermeintliche Lücke ist auch alles andere als neu. Es handelt sich um ein Verhalten der App, das seit Beginn der End-zu-End-Verschlüsselung bei WhatsApp besteht und seit damals auch öffentlich dokumentiert ist. Ich hatte mich im vergangenen Jahr für die Website mobilsicher.de mit der WhatsApp-Verschlüsselung auseinandergesetzt und wusste daher von dem vermeintlichen Problem. Ich wäre jedoch nie auf die Idee gekommen, dies eine „Backdoor“ zu nennen.

Es gibt nämlich zwei ungleich größere Probleme mit dem Sicherheitsversprechen von WhatsApp. Das erste und wichtigste: Die Software ist closed-source und daher nicht unabhängig überprüfbar. Das zweite: Bei der Ende-zu-Ende-Verschlüsselung hat WhatsApp eine wichtige Warnmeldung in der Voreinstellung deaktiviert. Wenn ein Nutzer seinen privaten Schlüssel ändert, wird der Nutzer nur informiert, wenn er diese Warnmeldung einschaltet.

Verschlüsselung ist unbequem, closed source ist unsicher

Um etwas Kontext zur Bewertung der vermeintlichen Lücke zu geben, muss man sich in Erinnerung rufen, was Ende-zu-Ende-Verschlüsselung überhaupt bedeutet: Beide Seiten der Kommunikation haben private und öffentliche Schlüssel. Die privaten Schlüssel werden auf dem Smartphone erzeugt und bleiben auch dort. Die öffentlichen Schlüssel werden von WhatsApp an die Kommunikationspartner verteilt. Diese Konstruktion ist an sich ziemlich sicher, hat aber auch viele praktische Nachteile. So kann man sich nicht einfach mit einem neuen Handy einloggen und auf alle seine bisherigen Nachrichten zugreifen — dazu muss man schon das alte Nachrichtenarchiv auf dem alten Gerät exportieren und auf dem neuen Gerät importieren. Man kann auch nicht mal eben den gleichen Messenger auf Tablet und Smartphone gleichzeitig benutzen. Um WhatsApp auf dem Desktop zu nutzen, wird der Browser mit dem Handy verbunden, das die Ver- und Entschlüsselung der Nachrichten übernimmt.

Die WhatsApp-Entwickler musste sich auch einem speziellen Problem widmen: Was passiert, wenn ein Kommunikationspartner sein Handy verliert oder es plötzlich defekt ist? Typischerweise dauert die Beschaffung eines Ersatzgeräts einige Zeit. Es gibt nun zwei Alternativen: Entweder werden alle Nachrichten, die an das alte Gerät geschickt werden, für immer unlesbar gemacht. Die zweite Alternative: WhatsApp speichert Nachrichten auf dem Handy des Senders, bis sie tatsächlich vom Empfänger auf seinem neuen Gerät empfangen werden können. Signal entschied sich für die erste Variante, das mehr auf Usability getrimmte WhatsApp jedoch für die zweite Alternative.

Dutzende Angriffs-Möglichkeiten

Nun könnte WhatsApp tatsächlich auf die Idee kommen, den Key eines Gesprächspartners heimlich auszutauschen und so die unversandte Nachrichten an ihn abzufangen. Für jede Nachricht müsste WhatsApp einen neuen Schlüssel ausstellen und damit rechnen, dass dies auf dem Smartphone des Senders angezeigt wird. Wahrscheinlich würde die Kommunikation nach kurzer Zeit zusammenbrechen, da die Kommunikation bei WhatsApp durch eine ganze Reihe Keys abgesichert ist und das resultierende Chaos durch ständigen Austausch das Protokoll überfordern würde. Wenn sich WhatsApp zu einem solchen Schritt entschlösse, wäre diese Methode unnötig kompliziert und bemerkenswert ineffektiv. WhatsApp verwaltet schließlich das Adressbuch seiner Nutzer. So könnte das Gespräch auf einen alten Blackberry umgeleitet werden, dessen WhatsApp-Client noch keine Ende-zu-Ende-Verschlüsselung unterstützt. Natürlich würde auch hier der Alarm ausgelöst, aber das würde die vom Guardian beschriebene Attacke ja auch.

WhatsApp könnte in seine Clients auch eine echte Backdoor einbauen — es ist schließlich Closed Source. Die Facebook-Tochter könnte überhaupt das ganze Adressbuch eines Nutzers durch NSA-Kontakte ersetzen, worauf sich die NSA-Agenten als die echten Gesprächspartner ausgeben. Für staatliche Angreifer gar bieten sich noch mehr Optionen. Von der simplen Malware, die Screenshots von jeder Kommunikation macht, bis zur gefälschten SIM-Karte, die dem Attackierten seine Telefonnummer entzieht.

Kurzum: Man mag das Verhalten von WhatsApp eine „Sicherheitslücke“ nennen, wenn man möchte. Es ist aber die geringste Stufe von Sicherheitslücke, die man sich in der Praxis vorstellen kann. Eine Backdoor ist es nicht.

Leave a comment

1 Comments.

  1. Soweit ich sehe hast du einen Angriff mit zwei Teilen:

    1) Whatsapp kann den Schlüssel austauschen und MITM spielen. Der normale Nutzer sieht nichts, der Poweruser sieht ein „Die Sicherheitsnummer hat sich geändert“. Whatsapp kann nun dauerhaft (und muss dauerhaft, damit er nicht noch mal auffällt) MITM spielen.
    „Fehler“ seitens Whatsapp: Geänderte Schlüssel müssen eine dicke Sicherheitswarnung erzeugen.

    2) Angenommen ich beachte solche Sicherheitswarnungen und schreibe dir vor einer erneuten Verifikation keine Nachrichten mehr, ist es aber so, dass Nachrichten die ich z.B. bei schlechtem Empfang geschriebene habe versendet werden, bevor ich die Warnung sehen kann. Das ist für jemanden der versucht Szenario 1) zu entgehen natürlich ein Problem, weil er vielleicht damit rechnet, dass er zumindest für diese Nachrichten gefragt wird, ob sie an den neuen Adressaten geschickt werden.

    Alles in allem ist das Problem das Keymanagement, was es von Anfang an war, weil Whatsapp einem nahelegt keine genaue Überprüfung durchzuführen. Keine große Neuigkeit, kein Bug sondern ein Designfehler und von Anfang an die Möglichkeit unvorsichtige Leute zu übertölpeln.

    Dazu kommt, dass ich bei verdammt vielen Kontakten scheinbar grundlos gesehen habe, dass sich die „Sicherheitsnummer“ ändert. Entweder hat Whatsapp da Bugs, oder die haben WA neu installiert oder Handys gewechselt … ich hätte sie jedes Mal neu überprüfen sollen. Man stumpft ab, wenn die Warnung so harmlos aussieht.