- In der Dating-App Cerca wurde eine schwerwiegende Sicherheitslücke entdeckt
- Das OTP wurde in der Antwort offengelegt, sodass jeder mit nur der Telefonnummer auf ein Konto zugreifen konnte
- Über mehrere ohne Authentifizierung offene API-Endpunkte konnten personenbezogene Daten leicht abfließen
- Sexuelle Präferenzen, Messenger-Inhalte, Ausweisdokumente und andere sensible Informationen der Nutzer wurden in großem Umfang offengelegt
- Der Dienst reagierte trotz verantwortungsvoller Meldung durch den Forscher nicht angemessen und informierte die Nutzer nur unzureichend
Warum Startups Sicherheit ernst nehmen müssen
- In letzter Zeit wird bei Startups, die ihren Marktstart beschleunigen wollen, die Sicherheit oft vernachlässigt
- Obwohl es sich um eine Dating-App mit hochkonzentrierten personenbezogenen Daten handelt, wurden Nutzer durch mangelhafte Entwicklung und Betriebsführung Risiken ausgesetzt
Entdeckung der Schwachstellen und Meldeprozess
- Am 23. Februar 2025 wurden die Sicherheitslücken und damit verbundene Probleme per E-Mail an Cerca erläutert
- Am 24. Februar wurden in einer Videokonferenz die Details der Schwachstellen, Gegenmaßnahmen und das weitere Vorgehen besprochen
- Das Cerca-Team teilte mit, man habe den Ernst der Lage erkannt, schnelle Maßnahmen zugesagt und plane eine Nutzerbenachrichtigung
- Danach wurden mehrfach Anfragen zum Fortschritt gestellt, doch bis zum 21. April gab es keine Antwort und keine Mitteilung
- Eine unabhängige Überprüfung ergab, dass die Schwachstelle inzwischen gepatcht war
OTP-Schwachstelle und einfacher Hacking-Ablauf
- Beim Login in die App wurde das One-Time Password (OTP) unverändert in der Netzwerkantwort offengelegt
- Ein Angreifer konnte mit nur einer Telefonnummer einfach und schnell auf jedes Konto zugreifen
Zugriff auf API-Endpunkte und Datenabfluss
- Es wurde bestätigt, dass der Zugriff auf sämtliche API-Pfade bereits durch das Setzen eines App-Version-Headers möglich war
- Über den Endpunkt
/docs wurde die gesamte OpenAPI-Dokumentation offengelegt
- Mit Tools wie Burp Suite war durch automatisches Einfügen von App-Headern und Tokens eine Kontrolle der APIs möglich
- Einige Endpunkte änderten nur Business-Logik, doch zentrale Endpunkte gaben in schwerwiegender Weise personenbezogene Daten zurück
- Über
user/{user_id} und ähnliche Pfade waren personenbezogene Daten, Telefonnummern und sogar Kontoübernahmen möglich
Offenlegung großer Mengen personenbezogener Daten und Ausweisinformationen
- Über Endpunkte für personenbezogene Daten wurden Geschlecht, Stadt, Geburtstag, Hochschul-E-Mail, Ausweisinformationen und weitere PII in großem Umfang offengelegt
- Besonders über ausweisbezogene Felder wie
national_id_verified war der Zugriff auf sensible Dateien wie Passbilder oder Bilder von Personalausweisen möglich
- Mit einem Angriffsskript wurden 6.117 Nutzer identifiziert; bei 207 davon waren sogar Ausweisdaten hinterlegt
- Darunter befanden sich auch einige Konten, die eine Zugehörigkeit zur Yale University angaben
- Laut dem offiziellen Instagram von Cerca entsprach dies dem Umfang von 10.000 Nutzern in der ersten Woche
Konkretes Schadensrisiko und Schwere des Problems
- Durch das Leck von sexuellen Präferenzen, Gesprächsinhalten, Ausweisdokumenten und anderen extrem sensiblen Informationen bestand ein erhebliches Risiko für Stalking, Identitätsdiebstahl und Erpressung
- Cerca hatte erklärt, man halte Branchenstandards wie Verschlüsselung ein, doch das passte nicht zum tatsächlichen Betriebszustand
- Da Nutzer dies nicht selbst verifizieren können, ist ein aktives und verantwortungsvolles Sicherheitsmanagement durch den App-Anbieter unerlässlich
- Faktisch besteht auch die Möglichkeit, dass bereits eine unbestimmte Zahl Dritter in großem Umfang personenbezogene Daten abgegriffen hat
Fazit und die Notwendigkeit einer verantwortungsvollen Sicherheitskultur
- Der Betrieb einer App, die sich so leicht hacken lässt, ist ein schwerwiegendes gesellschaftliches Problem
- Wenn der Schutz von Nutzerdaten nicht oberste Priorität hat, kann in Echtzeit Schaden entstehen
- Der Fall Cerca, der auf die Meldung eines Sicherheitsforschers nicht aktiv genug reagierte und Nutzer unzureichend informierte, sollte anderen als Warnung dienen
- Um ein sichereres Internet aufzubauen, muss für alle Entwicklerunternehmen der Aufbau belastbarer Sicherheitsstrukturen oberste Priorität haben
1 Kommentare
Hacker-News-Kommentare
Selbst wenn man berücksichtigt, dass diese App offenbar von Studierenden auf ziemlich niedrigem Niveau gebaut wurde, finde ich, dass man bei Sicherheit und Kommunikation sein Bestes geben muss. Gleichzeitig stoßen selbst von großen VCs finanzierte Adult-Unternehmen auf solche Probleme und verhalten sich ähnlich, daher sollte man mit den Studierenden vielleicht nicht übermäßig hart ins Gericht gehen. Hier ist der verlinkte Artikel.
Als Entwickler in einem kleinen Unternehmen mache ich mir manchmal Sorgen über meine persönliche Verantwortung. Viele Unternehmen operieren in Bereichen, die nicht unter Regulierungen wie PCI oder HIPAA fallen. In kleinen Organisationen wird Sicherheit nicht als Aufgabe der ganzen Organisation gesehen, sondern als Engineering-Thema. Das Produktteam fokussiert Features, PMs fokussieren Zeitpläne, QA fokussiert Bugs, und nur wenige erheben ihre Stimme zur Sicherheit. Bei Ingenieuren herrscht dann die Haltung, dass es reicht, einfach die zugewiesene Arbeit zu erledigen. Wenn ein Engineer sich zusätzlich um Sicherheit kümmern kann, gut — sonst bekommt er dafür sogar noch Kritik von PMs und anderen. Und man hört ständig Dinge wie: „Wie lange dauert das?“, „Wie wahrscheinlich ist es überhaupt, dass das passiert?“, „Lasst uns erst mal schnell das MVP launchen und später nachbessern.“ Also mache ich als Angestellter am Ende einfach das, was das Unternehmen verlangt. Aber wenn die Firma wegen eines Hacks oder Datenlecks verklagt wird, frage ich mich oft, ob ich dann als der Engineer, der es „besser hätte wissen müssen“, die Verantwortung tragen müsste.
Um das rechtliche Risiko für Forschende zu senken, sollte es ausreichen, ein weiteres Konto anzulegen oder mit Zustimmung eines Freundes ein Profil zu erstellen, um Zugriffsrechte zu erhalten. Man müsste die Daten nicht tatsächlich scrapen; wenn zum Beispiel meine id 12345 ist und die meines Freundes 12357, reicht es zu zeigen, dass man über die IDs dazwischen auf andere Profile zugreifen kann. Wie viele schon gesagt haben: Es ist nicht nötig, Zugriff auf Tausende personenbezogene Datensätze zu nehmen; es reicht, die Schwachstelle nachzuweisen und offenzulegen.
Dieser Text selbst wirkt ziemlich verwirrend. Es heißt, die API zum Empfangen eines OTP (Einmalpassworts) sei so simpel gewesen, dass das OTP einfach in der Serverantwort offengelegt wurde und damit jeder mit einer Telefonnummer auf ein Konto zugreifen konnte. Wenn die API einfach
otp/Telefonnummerwar und das OTP in der Antwort enthalten war, scheint es so zu sein, dass man nur die Telefonnummer erraten musste, um auch den Code zu bekommen. Dann wird erklärt, dass per Skript Nutzer-IDs aufgelistet wurden und nach 1.000 aufeinanderfolgenden leeren IDs gestoppt wurde, wodurch insgesamt 6.117 Nutzer, 207 Ausweisdaten und 19 Yale-Studierende identifiziert wurden. Aber in diesem Umfang ohne Einwilligung auf die personenbezogenen Daten anderer zuzugreifen, ähnelt dem Fall, in dem weev wegen des AT&T-Hacks im Gefängnis landete. Auch wenn der Umfang kleiner ist, ist solche Forschung rechtlich riskant, und es ist beunruhigend, dass der Autor die Rechtslage, die Sicherheitsforschende nicht schützt, offenbar nicht kennt.otp/Nummerdas endgültige OTP direkt zurückgegeben habe. Das bedeutet, dass man das OTP sofort bekam, wenn man nur die Telefonnummer richtig hatte.Ich hatte eine ähnliche Erfahrung: Ich wollte bei einer anderen Dating-App einen Bug melden, konnte niemanden erreichen und habe dann das Gründerprofil auf „Bitte kontaktieren Sie mich“ geändert. Sie haben es einfach aus einem Backup wiederhergestellt. Jahre später sah ich die App in einer Instagram-Anzeige und habe es noch einmal probiert — dieselbe Schwachstelle existierte immer noch. Wer nur den API-Endpunkt kennt, bekommt Admin-Rechte sowie Zugriff auf alle Nachrichten und Matches. Ich überlege, ob ich noch einmal Kontakt aufnehmen soll.
Wenn Apps sensible Informationen wie Pässe oder Adressen sammeln, sollte das einen wirklich zweimal nachdenken lassen. Das ist nichts, was man mit „Ist halt eine von Studierenden gebaute App“ abtun sollte.
Ein OTP unverändert in der API-Antwort zurückzugeben, ist so absurd, dass ich nicht verstehe, warum man das tun würde.
Es wird ein Link zu einem weiteren relevanten Artikel in den Yale Daily News geteilt.
Ich wünschte, es gäbe Gesetze, die mit personenbezogenen Daten so umgehen, als wären sie auf dem Gefährdungsniveau von Atommüll. Bei einem Leak sollte nicht nur das Unternehmen pleitegehen, sondern auch die Verantwortlichen in rechtliche Schwierigkeiten geraten. Im Moment ist es viel zu leicht, Nutzerdaten zu sammeln, und wenn sie dann geleakt werden, entschuldigt man sich einfach und macht weiter.
Ich habe auf iOS gerade erst von dem Tool Charles Proxy erfahren. Früher habe ich Pentests gemacht, indem ich direkt in App-Binaries nach Strings gesucht habe. Für die Analyse von iOS-only-Apps dürfte das eine enorme Hilfe sein.