Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Chat

Du kannst un­ser­em XMPP-Chat ent­we­der per XMPP oder per Web bei­tre­ten. Unter #krautchan:matrix.kraut.space haben wir auch einen Matrixraum.

blog:content:ergebnis_des_corona-schnelltests_datenschutz_negativ

Ergebnis des Corona-Schnelltests: Datenschutz negativ

Dieser Artikel entstand in einer Zusammenarbeit des Verein zur Förderung von Technikkultur in Erfurt e.V. und dem Hackspace Jena e.V. Bei Fragen zu dem Thema wende dich bitte an testcenter-meldung@kraut.space.

Ein positives Erlebnis auf der Bundesgartenschau benötigt einen negativen Corona-Schnelltest. Das Schnelltestzentrum an der Messe verspricht kostenfreie Tests. Doch die Daten zu den Anmeldungen wie auch die Testergebnisse tausender Besucher:innen lagen lange offen erreichbar im Web.

Wir wollten Anfang Mai 2021 die Bundesgartenschau besuchen und so führte uns der erste Weg in das Testzentrum. Dort wird über Banner und aufgestellte QR-Codes auf eine Online-Reservierung hingewiesen. Neben der Registrierung über das Portal Cpass.me kann eine Terminbuchung auch vorab auf der Webseite des Betreibers erfolgen.

Beide Anmeldungen landen im gleichen System und benötigen den vollständigen Namen, die Anschrift, E-Mail-Adresse, Handynummer und Geburtsdatum. Eine Offline-Testung ist ebenfalls möglich, das haben wir allerdings nicht ausprobiert.

Die Bestätigung der Buchung erfolgte umgehend per SMS und E-Mail.

An der Anmeldung wurde nach dem QR-Code bzw. der Buchungsnummer aus der E-Mail auch die Seriennummer des verpackten Schnelltests gescannt, und die Anmeldedaten wurden anhand von Ausweisdokumenten geprüft.

Nach der Anmeldung ging es zum Test und 15 Minuten später kam das negative Ergebnis per SMS und E-Mail.

Als wir den Link zum Abrufen des Befundes bekamen, hatten wir direkt ein mulmiges Gefühl …

Simple Mathematik

Die Buchungsbestätigung verwendete eine 4- und später 5-stellige Buchungsnummer. Der Link https://cpass.me/booking/9834 enthielt die kompletten Buchungsdaten mit Name, Zeitpunkt und Art des Tests.

Eine Authentifizierung wurde nicht verlangt.

Wir wurden unmittelbar nacheinander getestet, und so lagen auch unsere Buchungsnummern einfach um Eins auseinander. Das heißt, wir hätten einfach durch Ausprobieren der vorhergehenden und nachfolgenden Nummern alle Buchungen einsehen können. Mit Hilfe eines kleinen Python-Skripts konnten wir zudem die Anzahl der täglich ausgeführten Anmeldungen nachvollziehen.

Ich weiß, wie du vorhin getestet wurdest

Der Link zu unserem Testergebnis sah dann so aus: https://cpass.me/t/AE027319 Beim ersten Abruf musste der korrekte Vorname eingegeben werden. Nach dem erfolgreichen Login präsentierte die Seite das Testergebnis und bot eine PDF-Datei zum Download an.

Glücklicherweise waren wir zu zweit unterwegs und konnten daher die URLs vergleichen. Der Link zum zweiten Ergebnis war https://cpass.me/t/AQ027320. Wer erkennt den Unterschied? Richtig, ein Buchstabe ist anders und die Zahl wurde um Eins hochgezählt.

Das heißt, es reichten 26 Rateversuche, um zu einer bekannten Nummer eines Testergebnisses die nächste zu erhalten. Um die Seite selbst einzusehen, fehlte nur noch der richtige Vorname.

Für die PDF-Dateien war das einfacher: Deren URL sahen so aus: https://cpass.me/t/1003-AE027319/pdf. Dabei war die Zahl 1003 immer gleich. Um das PDF direkt abzurufen, war keinerlei Authentifizierung notwendig. Bingo!

Der Webserver lieferte zuverlässige HTTP-Statuscodes – 200 für vorhandene PDF-Dateien, 404 bei fehlerhafter Seriennummer. Wir prüften also mit HEAD-Anfragen, ob wir weitere PDF-Links ermitteln können.

Nach etwa 50 ermittelten Links wurde klar, dass der zweite Buchstabe ein Prüfzeichen ist, das sich aus der 6-stelligen Ziffernfolge ableiten lässt. Die Seriennummern und damit die Links zu den Ergebnissen und PDFs waren also aufzählbar, und die Anzahl der Anfragen war nicht beschränkt.

Mit dieser Methode hätten wir auf über 3000 Testergebnisse in PDF-Form zugreifen können. Wir vermuteten, dass durch die Modifikation der Zahl 1003 auch noch mehr Dokumente erreichbar gewesen wären. Diesen Weg haben wir jedoch nicht weiter verfolgt.

Löschen implementieren wir später

Die Datenschutzbestimmungen machten ein wenig Hoffnung. Demnach sollten die Testergebnisse nach 72 Stunden automatisch gelöscht werden. Dem Betreiber der Webseite war dies wohl nicht bekannt.

Wir hätten nun etwa alle Anmeldungen, die seit dem 27.04.2021 erfasst wurden, und ca. 3000 Testergebnisse herunterladen können. Alle PDFs beinhalten Vorname und Name, Anschrift, Geburtsdatum, Testzeitpunkt und -ergebnis. Stattdessen entschieden wir uns dafür, die Betreiber und andere zu informieren, damit diese Schwachstellen schnellstmöglich abgestellt werden.

Datenschutz ist lästig

Neben diesen gravierenden Problemen muten die anderen Schwächen beim Datenschutz schon fast wie Lappalien an:

  • Das Testportal nutzt Cloudflare. Alle Daten fließen also durch ein US-Unternehmen.
  • Die Seiten verwenden Tracking-Skripte von Facebook und Google.
  • E-Mails werden durch pstmrk.it versendet – wieder ein US-Unternehmen, Tracking in den HTML-Mails inklusive.
  • Löschanfragen über das Portal sind nicht möglich. Für DSGVO-Löschanfragen muss man wohl eine E-Mail schreiben. Das hätte aber nichts gebracht: Die auf dem Portal genannte E-Mail-Adresse des Betreibers und des Datenschutzbeauftragten waren nicht erreichbar.

Meldung an die Betreiber und Behörden

Aufgrund der Menge an abgreifbaren Daten entschieden wir uns dazu, uns am Sonntag, 09.05.2021 um 11:30 Uhr an

  • den Betreiber des Portals und dessen Datenschutzbeauftragten
  • den in der Einwilligungserklärung genannten Verantwortlichen
  • den Betreiber des Testzentrums und dessen Datenschutzbeauftragten
  • die zuständigen Datenschutzaufsichtsbehörden in den Ländern der Betreiber und in Thüringen
  • und das BSI-CERT

mit den gefunden Sicherheitsproblemen und Empfehlungen zur Verbesserung der Sicherheit zu wenden.

Die zuständigen Behörden in Nordrhein-Westfalen und Baden-Württemberg reagierten noch am Sonntag bzw. Montagvormittag und kontaktierten uns mit weiteren Nachfragen und der Bitte um pseudonymisierte Beispieldokumente.

Aufgrund mangelhafter Kontaktdaten des Betreibers und des Datenschutzbeauftragten für das Portal war weitere Recherche durch uns und die Behörden notwendig. Ein zwischenzeitlich erreichter Fliesenleger war sich keiner Schuld bewusst.

Obwohl wir ausdrücklich um Empfangsbestätigung baten, haben wir bis heute von den Betreibern keine Rückmeldung erhalten. Allerdings war schon im Laufe des Montags zu beobachten, dass Änderungen an der Seite erfolgten. Die genannten Sicherheitsprobleme waren am 13.05. behoben und auch auf alte Dokumente konnte nicht mehr zugegriffen werden.

Fazit

Das Portal wurde mit gravierenden Sicherheitsmängeln betrieben und sensible Daten der Besucher:innen lagen offen im Web. Es war nicht erkennbar, dass die Betreiber der Plattform grundlegende Sicherheitsmerkmale bedacht oder eingebaut haben.

Auch wenn die Portale schnell entwickelt oder angepasst werden müssen, dürfen solche Fehler nicht passieren. Bei dem Portal wurden grundlegende Sicherheitsstandards, die zum 1×1 eines Entwicklers gehören sollten, einfach außer Acht gelassen. Die Offenlegung von persönlichen und vor allem Gesundheitsdaten ist nicht zu tolerieren.

Tests sind ein wirksames Mittel in der Pandemiebekämpfung, wenn ihre Nutzung einfach ist. Mit solchen Datenpannen sinkt aber die Bereitschaft zur Mitwirkung und zerstört Vertrauen, das für die Akzeptanz wichtig ist.

Unser Dankeschön gilt den Datenschutzaufsichtsbehörden in Baden-Württemberg und Nordrhein-Westfalen für die schnelle und umfassende Reaktion und allen, die uns bei der Offenlegung der Sicherheitslücken unterstützt haben.

Disclosure Timeline

  • 2021-05-06: Besuch im Testzentrum
  • 2021-05-07: Prüfung des Portals, Sammlung und Verifizierung der Ergebnisse
  • 2021-05-08: Kontakt mit Mitgliedern des CCCs und Beratung bzgl. Meldung und Veröffentlichung
  • 2021-05-09 11:30 Uhr: Meldung an die Betreiber und Behörden
  • 2021-05-09 20:51 Uhr: Eingangsbestätigung LDI NRW
  • 2021-05-10: Weiterleitung der Meldung vom LDI NRW an LfDI BW wegen Zuständigkeit beim Portalbetreiber
  • 2021-05-10 11:30 Uhr: Telefonat mit dem LfDI BW
  • 2021-05-10 14:00 Uhr: Buchungsdaten sind nur noch mit Vornamen abrufbar
  • 2021-05-11: Betreiber durch Datenschutzbehörden nicht erreichbar, Zusammenarbeit zwischen LDI NRW und LfDI BW, da der Testzentrumsbetreiber in NRW sitzt und weitere Testzentren das System nutzen
  • 2021-05-12 14:00 Uhr: Buchungen, Ergebnisse und PDF-Dateien sind nur noch mit Vorname, Nachname und Geburtsdatum einsehbar
  • 2021-05-13: Portal verwendet nun keine aufsteigenden Buchungsnummern mehr, sondern zufällige Identifier
  • 2021-05-13 14:30 Uhr: Alte Daten wurden entfernt

Presse und Medien

blog/content/ergebnis_des_corona-schnelltests_datenschutz_negativ.txt · Zuletzt geändert: 2021/05/18 21:48 von qbi