Fall 03 — Olvid Messenger

Wenn ein Leck
kein Fehler ist.

Olvid ist ein auf Privatsphäre ausgelegter Messenger. Ich habe zwei Wege gefunden, auf denen er eine IP-Adresse offenlegen kann. In der von ANSSI / CERT-FR koordinierten Prüfung erklärte der Hersteller, warum er beide als bewusste Abwägungen und nicht als Schwachstellen behandelt — und nach Durchsicht seiner Begründung habe ich dem zugestimmt. Das ist die Analyse, und beide Seiten davon.

Von Abbas Hoseiny· Koordiniert über ANSSI / CERT-FR· Hersteller: Olvid SAS

Nicht alles, was leakt, ist ein Mangel. Manchmal legt ein Messenger ein Datum bewusst offen, weil er es gegen etwas abgewogen hat, das ihm wichtiger ist. Olvid, um Privatsphäre herum gebaut, tut genau das an zwei Stellen, die ich mir genau angesehen habe. Hier steht, was passiert, und warum der Hersteller jede davon für vertretbar hält.

Ein Anruf wird über einen Server geleitet, der die Adresse des Empfängers sehen kann die IP des Empfängers
Abb. 1 — das Relais beim Anruf

Wenn du jemanden über Olvid anrufst, läuft der Anruf über einen Relais-Server (TURN). Auf Android kann der Anrufer dieses Relais benennen. Richtest du es auf einen Server, den du kontrollierst, verbindet sich das Gerät der Gegenseite damit, sobald sie annimmt — und ihre IP-Adresse wird für dieses Relais sichtbar.

Olvids Position. Der Hersteller hat entschieden, sein eigenes Relais nicht mehr zu erzwingen, in Vorbereitung auf eine künftige Funktion. Er argumentiert zudem, dass jeder Weg, eine Olvid-Unterhaltung zu beginnen, ohnehin voraussetzt, dass der Angreifer mehr über das Ziel weiß — Name, Telefonnummer — als das Einzige, was hier leakt: die öffentliche IP des Telefons. Auf dieser Grundlage hält Olvid das Leck für nicht bedeutsam und stuft es nicht als Schwachstelle ein.

Meine Sicht, fürs Protokoll. Eine öffentliche IP ist eine andere Art von Datum als die Kontaktdaten, die man braucht, um jemanden zu erreichen: Sie zeigt auf einen ungefähren Ort und kann sich über die Zeit ändern, ist also nicht einfach dadurch gegeben, dass man schon Kontakt ist. Das ist allerdings eine Frage des Bedrohungsmodells, und ich akzeptiere Olvids Schluss, dass das Restrisiko für sein Modell vertretbar ist.

Ein Handy nutzt feste Relais, das andere nimmt die des Anrufers iOS — feste eigene Relais Android — nimmt die des Anrufers
Abb. 2 — die zwei Clients verhalten sich unterschiedlich

Olvids iOS-Client nutzt eigene, feste Relais-Adressen und ignoriert die eines Anrufers; der Android-Client nimmt die des Anrufers an. Olvid beschreibt das Android-Verhalten als bewusste Rücknahme für eine geplante Funktion, nicht als Versehen.

Das zweite Verhalten

Link-Vorschauen: der Absender, nicht der Empfänger.

Olvid baut Link-Vorschauen auf dem Gerät des Absenders und bettet das Ergebnis in die verschlüsselte Nachricht ein. Der Empfänger zeigt sie, ohne etwas abzurufen — anders als bei vielen Messengern gibt es also kein Zero-Click-Leck auf der Empfängerseite. Was bleibt: Das Gerät des Absenders ruft die URL direkt ab, ohne Proxy, und legt die eigene IP des Absenders gegenüber dem Betreiber dieser URL offen.

Olvids Position. Ein Server-Proxy, wie ihn Signal betreibt, würde bedeuten, dass Olvid selbst jeden geteilten Link sieht — was der Hersteller als Widerspruch zu seinem Ziel „Privacy by Design" betrachtet. Er merkt außerdem an, dass der Absender den Link meist ohnehin schon geöffnet hat. Olvid behält das aktuelle Design bei, solange kein Ansatz gefunden ist, der die Absender-IP schützt, ohne dass eine zentrale Stelle jeden Link sieht.

Ich akzeptiere diese Begründung. Es ist eine echte Abwägung zwischen zwei Arten von Privatsphäre, und Olvid hat die gewählt, die zu seinem Modell passt.

Was ich daraus mitnehme

Eine Meinungsverschiedenheit, gut gelöst.

Beide Verhalten sind real, und beide sind bewusst. Gemeldet über ANSSI / CERT-FR, mit dem Hersteller geprüft und — nachdem ich die Begründung gesehen hatte — als Abwägungen statt als Mängel akzeptiert. Mehrere meiner anfänglichen Beobachtungen habe ich dabei zurückgezogen. So soll koordinierte Offenlegung funktionieren: Nicht jeder Fund endet in einem Fix, und ein Hersteller, der sein Modell klar erklärt, ist ebenfalls ein gutes Ergebnis.

Technischer Bericht

Olvid Messenger — Analyse & Herstellerpositionen

Zusammenfassung

Olvid (Olvid SAS, Frankreich) wurde auf Android (v4.2.4), iOS/macOS (v4.0.3) und Desktop (v2.8.0) analysiert, teils gegen den AGPL-3.0-Quellcode. Unten werden zwei Verhalten zur IP-Offenlegung beschrieben. Nach der koordinierten Prüfung stufte der Hersteller beide als bewusste Design-Abwägungen und nicht als Schwachstellen ein, und ich habe diesen Schluss akzeptiert. Olvid hatte früher eine ANSSI-CSPN-Zertifizierung (2020/2021, inzwischen abgelaufen und hauptsächlich auf den Verschlüsselungskern begrenzt); die hier behandelten Verhalten lagen nicht zwingend in diesem Umfang. Dieser Bericht betrifft nur die allgemeine, kommerzielle Nutzung von Olvid.

Verhalten 1 · Relais-Wahl beim Anruf

Empfänger-IP für ein vom Anrufer benanntes Relais sichtbar (Android)

Was passiert

Olvid-Anrufe laufen über einen TURN-Server. Auf Android übernimmt der Client die vom Anrufer gelieferten Relais-URLs (pickTurnServers() liefert die vom Anrufer stammende Liste ohne Allowlist). Ein Anrufer, der einen eigenen Server benennt, kann so die Quell-IP des Angerufenen sehen, sobald der Anruf angenommen wird. Der iOS/macOS-Client nutzt dagegen eigene feste Relais-Adressen und ignoriert die vom Anrufer gelieferten.

Herstellerposition

Olvid hat das Erzwingen des eigenen Relais in Vorbereitung auf eine künftige Funktion eingestellt und hält die Offenlegung für unbedeutend, weil das Herstellen einer Unterhaltung ohnehin mehr identifizierende Details (Name, Telefonnummer) voraussetzt als die geleakte öffentliche IP. Nicht als Schwachstelle eingestuft.

Anmerkung des Forschers

Eine öffentliche IP ist eine eigene Kategorie von Daten (ungefähre Geolokalisierung, zeitlich veränderlich) gegenüber den Kontaktdaten, die man zum Erreichen eines Ziels braucht. Das ist eine Frage des Bedrohungsmodells; ich bestreite den Schluss des Herstellers nicht.

Verhalten 2 · Link-Vorschau-Abruf

Absenderseitige IP-Offenlegung beim Erzeugen einer Vorschau

Was passiert

Vorschauen werden auf dem Gerät des Absenders erzeugt und in die verschlüsselte Nachricht eingebettet; der Empfänger zeigt sie ohne Netzanfrage (kein empfängerseitiges Leck). Das Gerät des Absenders ruft die URL jedoch direkt ab, ohne Proxy, und legt die Absender-IP gegenüber dem Host der URL offen. Absenderseitig über die Plattformen beobachtet; die Empfängerseite ist sauber.

MessengerVorschau-AbrufAbsender-IP geschütztEmpfänger-IP geschützt
SignalServer-Proxyjaja
WhatsAppServer-Proxyjaja
OlvidClient (Absender)neinja

Herstellerposition

Ein Server-Proxy würde Olvid jeden geteilten Link sehen lassen, was der Hersteller als Widerspruch zu „Privacy by Design" sieht; zudem habe der Absender den Link meist schon geöffnet. Olvid behält das Design bei, solange kein Ansatz die Absender-IP schützt, ohne dass eine zentrale Stelle jeden Link sieht. Nicht als Schwachstelle eingestuft.

Zur Bewertung

Warum hier keine Schweregrad-Marken stehen Olvid stuft diese Verhalten nicht als Schwachstellen ein, und ich habe das akzeptiert. Nur zur Einordnung: Würde man sie nach CVSS bewerten, lägen beide im Bereich Niedrig–Mittel, weil das offengelegte Datum eine einzelne IP-Adresse ist (C:Low) — dieselbe Obergrenze, die für jedes reine IP-Leck gilt. Ich hänge einem Verhalten, das der Hersteller und ich als Abwägung statt als Mangel sehen, keine Schweregrad-Note an.

Koordination & Offenlegung


Koordinierte Offenlegung über nationale CERTs. Herstellerpositionen wie während der Koordination vereinbart dargestellt. Zu Abwehr- und Forschungszwecken.