Es begann ähnlich wie das letzte Mal (zerforschung.org/posts/medicus/): Ein zerforschungs-Angehöriger war beim Corona-Schnelltest und bekam danach eine E-Mail mit einem Link zu seinem Ergebnis. Das kam ihm irgendwie fischig 🐟 vor, also haben wir uns das mal angeschaut. Ein Thread 🧵
Es ging um ein Testzentrum der Firma Eventus Media International (EMI), die unter anderem in Leipzig, Berlin, Hamburg, Schwerte und Dortmund Testzentren unter der Marke testcenter-corona.de Testzentren betreibt und Software und Infrastruktur dafür als Franchise-Modell anbietet.
Statt die eigene Website von Grund auf selbst zu entwickeln, setzt Eventus auf WordPress. Dabei haben sie erst einmal etwas richtig gemacht: Für das Abrufen der Ergebnisse werden keine aufsteigenden Nummern verwendet, sondern zufällige 10-stellige, alphanumerische Zeichenketten.
Dabei hat EMI die WordPress-API vergessen, über die viele Inhalte der Seite abrufbar sind. In diesem Fall waren nicht nur Beiträge oder Kommentare abrufbar, sondern auch "Registrierungen", die immer bei der Terminbuchung angelegt werden. Über die API sah das dann so aus:
Darin steht unter anderem ein 10-stelliger, alphanumerischer Code… – Moooment mal, das werden doch nicht genau die Codes zum Abruf des Testergebnisses sein, oder?
Doch tatsächlich entdecken wir relativ schnell unseren eigenen Abrufcode.
Nun haben wir eine Liste der Abrufcodes und können für alle das Testergebnis (positiv/negativ/noch nicht vorhanden) abrufen. Doch nicht nur das: Auch ein Testzertifikat, auf dem Name, Anschrift, Geburtsdatum, Telefon-Nummer und E-Mail-Adresse stehen, bekommen wir.
Betroffen waren am 6.4.2021 über 14.000 Registrierungen mit hinterlegtem Testergebnis.
Weil es sich um besonders schützenswerte Daten handelt, war es uns wichtig, dass die Lücke möglichst schnell geschlossen wird. Deshalb haben wir uns wieder mit einem detailierten Aufschrieb an das BSI gewendet, welches das Problem anonymisiert an das Unternehmen weiterleitete.
Nachdem EMI vom BSI informiert wurde, wurde die Lücke am gleichen Tag geschlossen. Am nächsten Tag wurde eine weitere Abfrage eingebaut. Man muss jetzt nicht mehr nur den 10-stelligen Code, sondern auch Vorname, Nachname oder E-Mail-Adresse der getesteten Person eingeben.
Für die Veröffentlichung haben wir mit Journalist*innen des NDR, RBB und MDR zusammengearbeitet. Gegenüber diesen sagte ein Sprecher von EMI:
Auch wenn man nicht gerade in den Baumarkt, zum Friseur oder zum Möbelhaus muss, können Tests ein sehr wirksames Mittel in der Pandemiebekämpfung sein – wenn sie für alle verfügbar, leicht zugänglich und auch technisch sicher sind.
Dazu gehört auch, dass man sich guten Gewissens testen (und impfen) lassen kann, ohne dabei Angst haben zu müssen, dass die eigenen Daten plötzlich öffentlich sind.
#LucaApp hatte nach viel Kritik und gutem Zureden angekündigt, ihre App zu OpenSourcen. Nun tauchte das erste Repository auf – mit der schlimmsten Lizenz, die wir seit Langem gelesen haben. Nur Betrachtung, keine Veränderung, keine Mirrors, etc. 🧵 gitlab.com/lucaapp/androi…
Damit kann eigentlich niemand einen Audit machen, der eine Spendenseite hat, denn das könnten kommerzielle Zwecke sein. Da die nicht-private Nutzung ausgeschlosen ist, ist auch unklar, ob unabhängige Organisationen so etwas machen können.
Wenn jemand einen Audit macht und etwas findet, dürfte man keine Code-Schnipsel zeigen.
Gleich am 8.3. waren Menschen vom Berliner Zerforschungsteam beim neuen kostenlosen Schnelltest vom Senat. Dafür muss man sich in einer WebApp mit Namen, Adresse, Telefonnummer und E-Mail-Adresse registrieren. Dann eskalierte alles - ein Thread 🧵
Die Seite kam uns schon bei der Registrierung komisch vor, aber das Testergebnis war pünktlich 15 Minuten nach dem Test da. Es lässt sich sogar ein hübsches PDF mit Testergebnis & persönlichen Daten runterladen. Doch kaum zuhause siegte die Neugier: Wir schauen etwas genauer rein
Interessiert wie immer schauen wir natürlich zuerst in den Datenverkehr. Abgerufen wird das PDF über eine API, die mit der Test-ID aufgerufen wird. Als Ergebnis erhalten wir ein JSON, welches eine Data-URI mit dem PDF enthält 🧐
Uns haben in letzter Zeit einige Anfragen zur Sicherheit der Luca App erreicht. Hier ein paar Punkte, warum wir uns die App nicht genauer anschauen (können und wollen) 🧵
Solange eine App nicht Open Source ist, können wir immer nur einen groben Blick darauf werfen. 🧑💻 Manchmal fallen bei solch einem groben Blick schon Dinge auseinander.
Wir könnten in solch einem Fall sagen, dass es ein Problem gibt. Umgekehrt heißt es aber nicht, dass das System sicher ist, wenn wir nichts finden.
Was als erstes Auffällt: es enthält wirklich gar keine Informationen sondern nur den Link und klingt genau wie die schlechten NINA Warnmeldungen. Kommunikation können die!
Heute sind wir ganz am Zeitgeist und schauen uns das Sprachi-Netzwerk Clubhouse an. Es gab bereits einige Kritik am Datenschutz (tagesschau.de/wirtschaft/clu…) und Exklusivität.
Der Großteil des Kontakt zum Server wird über eine REST-Api abgewickelt. Hier ist Clubhouse wiederspänstiger als viele andere Apps und implementiert Certificate Pinning. Dann holen wir mal das gejailbreakte Telefon heraus.
Sobald man einen Raum startet verbindet sich die Clubhouse-App mit zwei weiteren Diensten: Pubnub und Agora. Pubnub wird für die Echtzeitkommunkation genutzt, Agora für den Audiochat.