c't 9/2020
S. 14
Aktuell
Unsichere Corona-­App
Bild: Telekom

Gut gemeint

Corona-App „COVID-19“ mit Startproblemen

Die App „COVID-19“ soll Patienten, Ärzte und Gesundheitsämter ent­lasten: Wer sich auf den Corona-­Er­reger testen lässt, kann das Er­gebnis anschließend einfach per Smartphone abrufen. Doch durch eine ­Sicherheitslücke konnten auch Hacker die Testergebnisse einsehen.

Von Ronald Eikenberg

Die Corona-Krise hat unser tägliches Leben von heute auf morgen komplett auf den Kopf gestellt. Wir stehen plötzlich vor allerhand Problemen, die es zu lösen gilt. Dabei ist die Verfügbarkeit von Toilettenpapier noch die geringste Sorge – viel wichtiger ist etwa, dass Personen mit Verdacht auf eine Ansteckung mit dem Virus SARS-CoV-2 möglichst schnell und unkompliziert untersucht werden können, damit sie frühzeitig in Quarantäne gehen können. Neben Corona-Schnelltests haben die vergangenen Wochen auch diverse Apps hervorgebracht, welche die Ausbreitung des Virus ausbremsen sollen. Einige sollen etwa Begegnungen mit ­Infizierten registrieren, andere versuchen, die Durchführung der SARS-CoV-2-Tests zu erleichtern.

Bei den Corona-Tests kommt es auf die Zeit an: Je früher ein positiv auf SARS-CoV-2 Getesteter sein Ergebnis hat, desto schneller kann er oder sie dafür Sorge tragen, nicht noch andere anzustecken. Da sprang die Telekom in die Bresche und präsentierte Ende März eine Lösung: „Die Telekom Healthcare Solutions hat mit ihrem Partner BS Software Development eine App entwickelt, die diesen Prozess beschleunigt“, erklärte das Unternehmen in einer Pressemitteilung.

Mit der App „COVID-19“ können Patienten das Ergebnis ihres Corona-Tests digital abrufen.

Bevor die versprochene Beschleunigung einsetzen kann, muss sich der Patient wie zuvor auch von seinem Hausarzt an eines der Corona-Testzentren überweisen lassen und dort einen Abstrich hinterlassen. Der wird anschließend in einem Labor auf SARS-CoV-2 untersucht. Kommt die App zum Einsatz, erhält der Patient bei der Untersuchung einen QR-Code, in dem eine 42-stellige ID steckt. Sobald das Testergebnis vorliegt, bekommt der Patient eine Push-Benachrichtigung aufs Handy und kann das Resultat einsehen, indem er den Code mit der COVID-19-App scannt oder die ID von Hand eintippt. Dadurch erhofft sich die Telekom eine Entlastung aller Beteiligten.

Wer auf SARS-CoV-2 getestet wird, hinterlässt im Corona-Testzentrum einen Abstrich und kann einen QR-Code bekommen, anhand dessen er das Testergebnis abrufen kann.

Gratis und sicher?

Zweifelsohne ist dies eine gute Sache, zumal die App gratis zur Verfügung gestellt wurde: „Wir bieten das Verfahren allen Laboren in Deutschland kostenlos an und hoffen, dass sich viele anschließen, um den Kampf gegen das Coronavirus zu unterstützen“, so Jürgen Bucher, Chef der BS Software Development. Das Angebot kam gut an. Die App wurde allein bei Google Play innerhalb kurzer Zeit über 10.000 Mal heruntergeladen. Sorgen über die Sicherheit der Testergebnisse müssen sich die Nutzer nicht machen, zumindest geht dies aus den Angaben auf der Herstellerseite hervor. Dort heißt es „Sind meine Daten sicher? – Ja. [...] Neben der Absicherung der Betriebsumgebung kommt beim Transport der Daten über das Internet ein Verschlüsselungsverfahren zur Anwendung (Ende-zu-Ende-Verschlüsselung).“

Der QR-Code wird per App gescannt oder von Hand eingetippt.

Eine Ende-zu-Ende-Verschlüsselung gewährleistet üblicherweise, dass Daten ausschließlich von der Person entschlüsselt werden können, für die sie bestimmt sind. Auch die Beteiligung der Telekom Healthcare Solutions sorgt für Vertrauen. Doch eine Mail, welche die c’t-Redaktion kurz nach Veröffentlichung der App erreichte, weckte ernste Zweifel an der ­Sicherheit des Projekts. Unser Leser Nicolas Thumann hatte die eigentlich verschlüsselte Netzwerkverbindung der App mit dem Analyse-Proxy Burp untersucht und ist dabei auf ernstzunehmende Sicherheitsmängel gestoßen: „Bei weiteren Tests habe ich zudem bemerkt, dass die App jedes Zertifikat annimmt, darunter das selbstsignierte von BurpSuite, weshalb es möglich ist, den Datenverkehr mitzulesen. Insbesondere aufgrund der Tatsache, dass es sich um eine Gesundheits-App mit höchst sensiblen Daten handelt, ist dies ausgesprochen bedenklich“, schrieb Thumann.

Kein Zertifikatscheck

Burp klinkt sich als Proxy in TLS/SSL-verschlüsselte Verbindungen ein, zum Beispiel von Smartphone-Apps. Um die eigentlich verschlüsselt übertragenen Daten im Klartext anzeigen zu können, muss der Proxy den TLS/SSL-Tunnel unterbrechen. Das führt dazu, dass die App nicht das Zertifikat des Zielservers zu Gesicht bekommt, sondern ein eigenes Zertifikat des Proxys. Dieses wurde nicht von einem vertrauenswürdigen Herausgeber signiert. Und das ist der springende Punkt: Ohne Nachfrage beim Benutzer dürfte die App dieses Zertifikat nicht akzeptieren; die verschlüsselte Verbindung darf gar nicht erst zustande kommen. Klappt es doch, dann ist etwas faul. So auch in diesem Fall: Nicolas Thumann bemerkte, dass die COVID-19-App mit ihrem Zielserver sprach, obwohl er den Burp-Proxy dazwischengeschaltet hatte. Die App überprüfte das TLS/SSL-Zertifikat ihres Gegenübers ­offenbar nicht, was die Transportverschlüsselung angreifbar macht – wer das Zertifikat hat, kann mithören, in diesem Fall der Burp-Proxy.

Ein solches Versäumnis darf in der heutigen Zeit nicht mehr passieren, insbesondere nicht bei Medizin-Apps. Denn die Überprüfung der Zertifikatskette ist längst eine Standardfunktion der Krypto-Infrastruktur von Android und iOS. Wir konnten die Entdeckung unseres Lesers auf Anhieb reproduzieren, sowohl mit der Android- als auch mit der iOS-App von „COVID-19“. Doch es lag noch mehr im Argen: Bei einer Überprüfung des Zielservers, mit dem die App kommunizierte, stießen wir auf ein TLS/SSL-Zertifikat des Grauens: Es war nicht von einem ver­trauenswürdigen Herausgeber signiert und zudem seit fast fünf Jahren abgelaufen. Kein Wunder, dass die App bei der Überprüfung nicht so genau hingesehen hat, ansonsten wäre die Verbindung gar nicht zustande gekommen.

Prinzipiell wäre die desolate Transportverschlüsselung nur halb so schlimm, schließlich gibt es da noch diese nicht näher dokumentierte Ende-zu-Ende-Verschlüsselung. Doch nach einer Auswertung der übertragenen Daten war schnell klar, dass die Ende-zu-Ende-Verschlüsselung die Testergebnisse der Patienten nicht schützen konnte. Die App versuchte sich zunächst durch eine sogenannte HTTP Authentification am Server anzumelden. In den hierbei übertragenen Daten steckten allerhand interessante Informationen. So stießen wir auf das Passwort „COVID_STANDARDPASSWORT“. Problematischer war jedoch, dass darin auch die 42-stellige ID des Patienten enthalten war. Und diese reicht aus, um das Testergebnis abzurufen. 

Auch wenn wir bei der Untersuchung auf keine personenbezogenen Daten stießen, ist dies nicht unproblematisch: Es wäre etwa möglich gewesen, dass ein Unternehmen unbemerkt systematisch die SARS-CoV-2-Testergebnisse seiner Mitarbeiter erfasst, wenn sie die App im Firmen-WLAN starten. Wäre das Smartphone mit dem Firmen-VPN verbunden, wäre dies sogar im Homeoffice gelungen. Auch Hacker im gleichen WLAN wären an die Ergebnisse gekommen.

Hersteller reagiert prompt

Nachdem wir den Bericht unseres Lesers verifiziert hatten, informierten wir umgehend die Telekom und die Entwickler­firma BS Software Development. BS bestätigte die Anfälligkeit kurz darauf und sperrte den Zugriff der App auf den Server. Für Abhilfe sollen abgesicherte Versionen der Apps sorgen, die kurz vor Redaktionsschluss veröffentlicht wurden. Der neuen Android-Version fiel bei einem kurzen Test tatsächlich auf, dass wir ihr ein falsches Zertifikat unterjubeln wollten.

Jürgen Bucher, Geschäftsführer von BS Software Development, räumt gegenüber c’t einen handwerklichen Fehler ein: „Wir haben die Applikation sehr kurzfristig entwickelt. Und sind über das selbst gesteckte Ziel hinausgeschossen. Für den handwerklichen Fehler eines Technikers entschuldigen wir uns.“ Es sei durch die eingesetzte Ende-zu-Ende-Verschlüsslung nicht möglich gewesen, „Daten einzusehen oder gar zu manipulieren.“ Nach Einschätzung von c’t war es jedoch sehr wohl möglich, die Testergebnisse einzusehen. Denn auf die IDs konnte man durchaus zugreifen, Ende-zu-Ende-Verschlüsselung hin oder her –  mehr als die ID braucht man zum Abruf eines Testergebnisses ja nicht.

Laut BS wurde die App vor der Veröffentlichung einem Security-Audit unterzogen: „Das gesamte Verfahren wurde auf Sicherheit und Datenschutz vorab auditiert. Bei der Implementierung ist einem Techniker leider der beschriebene Zertifikatsfehler unterlaufen“. Grundsätzlich sollte die Sicherheit von Patientendaten auch in Krisenzeiten nicht zu kurz kommen. Wer sich auf SARS-CoV-2 oder andere Viren testen lässt, sollte sich darauf verlassen können, dass das Testergebnis vertraulich und über einen sicheren Kanal übertragen wird, sodass Dritte keine Chance haben, die Diagnose ungefragt einzusehen. Das Gegenteil von „gut“ war schon immer „gut gemeint“.

Die Telekom, deren Logo nach wie vor beim Start der App erscheint, hat sich unterdessen heimlich, still und leise von dem Projekt distanziert: Das Unternehmen hat die Pressemitteilung nachträglich verändert und unter anderem die Formulierung „Gemeinsame Entwicklung der Telekom und BS Software Development“ ersatzlos gestrichen. (rei@ct.de)

Kommentieren