Wer in Deutschland fernsieht, wird meetOne kennen, auf Pro7, Sat1 und Kabel1 (und das kommt nicht von ungefähr) läuft die Werbung den ganzen Tag hoch und runter. Dementsprechend scheint das auch eine ganz gern genutzte Plattform mit iOS- und Android-App zu sein.
Und genau da (und auf dem Server) gab es gravierende Lücken:
Zuerst werden Username und Passwort im Klartext per HTTP an den Server von meetOne übergeben (das gleiche Problem wie bei Whatsapp, auch diese App nutzte keine Verschlüsselung), sodass sie im Netzwerk sehr leicht ausgelesen werden können.
/api/phoneapi.php?service=base&action=apiAuthorization&version=2.2&format=json&username=USERNAMEKLARTEXT&password=PASSWORTKLARTEXT
Kurze Zeit später wird das Adressbuch des (im Falle der “Full Disclosure” bei Seclists.org veröffentlichten Lücke) iPhone auf den meetOne-Server geladen, ohne dass die App dafür um Erlaubnis bittet. Laut der Veröffentlichung kommen 1-2 Wochen später die ersten Spam-Mails, die einem mitteilen, dass man eine Nachricht bei meetOne hat. Um diese zu lesen, muss man sich allerdings im genannten Netzwerk anmelden, wo wir auch schon beim Ziel dieser Spam-Mails von meetOne wären.
Damit nicht genug. Durch den Aufruf einer nun nicht mehr erreichbaren URL waren diese gestohlenen E-Mail-Adressen für jedermann sichtbar und konnten abgegriffen werden.
Das allerdings ist alles noch harmlos. Eine weitere API-Anfrage der App lautete nämlich so:
/api/phoneapi.php?service=member&action=getMemberData&version=2.2&format=json&memberId=NUTZERID&sid=SESSIONID
Das schlimme daran: Die Session ID war nicht nötig, um die Daten zu empfangen. Jedermann konnte durch bloßes erraten einer Nutzer-ID (die man ja einfach hochzählen kann) den kompletten Datensatz, den auch die App benötigt, herunterladen. Darunter das Passwort im Klartext, inklusive Hash und Salt, Geburtsdatum und Alter, Vor- und Nachname, Geschlecht, persönliche Daten wie Anschrift, Festnetz- und Handynummer, und Nationalität. Dazu Bilder, gesendete und empfangene Nachrichten, Vorlieben (zum Beispiel One-Night-Stands), Einkommen und vieles mehr. Sprich all das, was man eigentlich nicht so gerne in fremde Hände gibt.
Heise Online informierte meetOne, daraufhin wurde die Lücke innerhalb weniger Stunden geschlossen.
Nun zu dem, was das Unternehmen sagte:
Heise wurde mitgeteilt, dass alle Passwörter zurückgesetzt wurden. Heise allerdings konnte auch danach noch die alten Passwörter nutzen, was an sich Fragen aufwirft.
Im Blog des Unternehmens wurde zuerst bekannt gemacht, dass aufgrund negativer Bewertungen die App aktualisiert wurde. Darin heißt es:
Die bemängelte Version der App verwendet das native “iOS SDK feature of connection to Contacs App“, so dass in Einzelfällen auf Kontakte zugegriffen werden konnten.
So wie ich das sehe, konnte das nicht nur in Einzelfällen geschehen. Aber gut, halb so wild.
Ein zweiter Blogpost befasste sich mit der Datenlücke selbst. Hier heißt es, man habe allen Nutzern ein neues Passwort per Mail zugesendet. Dass Heise trotzdem die alten Passwörter nutzen konnte, wissen wir ja bereits. Zur Begründung heißt es:
Grund hierfür war, dass die meetOne App, wie viele andere Apps am Markt, keine Verschlüsselung bei der Kommunikation zwischen App und Server genutzt hat.
Dass aufgrund des API-Fehlers der Zugriff auf sämtliche Datensätze inklusive aller Details möglich war, wird lieber nicht erwähnt. Es habe weiterhin zwei ungewöhnliche Zugriffe auf die Daten gegeben einer davon stammte von Heise, die Daten wurden gelöscht. Ein weiterer Zugriff erhielt 20 Datensätze. Die Betroffenen Nutzer seien informiert worden.
Wir weisen ausdrücklich daraufhin, dass zu keiner Zeit Zugriff auf die Datenbank bestanden hat oder Daten veröffentlicht wurden.
Das klingt für mich nach einer sehr steilen These. Gut, Zugriff auf die Datenbank gab es vermutlich nicht, das ist klar. Aber wenn die API sowieso bereitwillig sämtliche Daten herausrückt, ist das auch egal. Es sollte weiterhin kein Problem sein, mit dem Wissen über die Lücke den Zugriff so zu verschleiern, dass er nachher nicht als Auffällig eingestuft wird.
Weiterhin zitiert Heise den Mitgründer Nils Henning wie folgt:
no sensitive data such as billing information was retrievable at any time
Dass Klartextpasswörter in Verbindung mit E-Mail-Adressen, Anschriften und Persönlichkeitsprofil schon ein klein wenig sensibel sein könnten, das ist ihm aber wohl zu abwegig.
Laut Heise wurde den Nutzern übrigens folgender Grund für den Passwortwechsel per Mail mitgeteilt:
Um die Sicherheit von Meetone weiter zu gewährleisten und weiter zu verbessern, erneuern wir in regelmäßigen Abständen die Passwörter
Das ganze wird also auf ganzer Linie heruntergespielt, das Datenleck grenzt man im Blogpost auf die unverschlüsselte App ein, geht auf die offene und ungesicherte API gar nicht erst direkt ein und erzählt dem Nutzer per Mail, dass es sich nur um einen routinemäßigen Passwortwechsel handelt. Wer das alte Passwort also noch anderswo nutzte, kann ganz beruhigt sein, alles nur Routine.
Dass einem Unternehmen (gerade in dieser sensiblen Sparte) so etwas passiert ist schlimm und kann für einige Nutzer sehr peinlich oder unangenehm werden. Was aber wirklich schlimm ist, ist die Kommunikation, die den Nutzer in falscher Sicherheit wiegt und vielleicht noch viel mehr Schaden anrichtet, als ohnehin schon entstanden sein könnte. Ich hoffe, dass man recht hatte mit der Behauptung, es seien außer den beiden keine weiteren unberechtigten Zugriffe erfolgt.