c't deckt auf: Corona-App der Telekom ist katastrophal unsicher
Die COVID-19-App verspricht schnellen Zugang zum Corona-Testergebnis. Aufgrund einer Sicherheitslücke können Hacker das Ergebnis mitlesen und sogar verfälschen.
- Ronald Eikenberg
- JĂĽrgen Schmidt
Die COVID-19-App der Telekom soll Patienten einen schnellen Zugang zum Ergebnis ihrer Coronatests verschaffen. Sie funktioniert folgendermaßen: Nachdem der Hausarzt einen Patienten an ein Testzentrum überwiesen hat und dort ein Abstrich genommen wurde, erhält der Patient einen QR-Code. Sobald das Testergebnis vorliegt, kann er diesen Code mit der COVID-19-App scannen und erfährt im Anschluss des Ergebnis direkt aus der "Telekom Healthcare Cloud".
Bei der Vorstellung der App gab sich die Telekom überzeugt: "Die App ersetzt die zeitintensive telefonische Abfrage der Ergebnisse", erklärt sie in Ihrer Pressemitteilung. Doch der Prozess ist keinesfalls vertraulich und sicher: Die Übertragung ist zwar verschlüsselt, die App patzt jedoch bei der Überprüfung des SSL-Zertifkats. Ein Angreifer in der Position eines Man-in-the-Middle kann das Testergebnis abrufen und den Patienten sogar ein falsches Ergebnis unterjubeln. Aufgefallen ist das Sicherheitsproblem unserem Leser Nicolas Thumann, der daraufhin die c't-Redaktion informierte.
In dem Barcode der App steckt im Wesentlichen eine 42-stellige ID, die nach dem gleichen Zeichenmuster (4-8-4-4-4-12 Zeichen) aufgebaut ist, also beispielsweise: 2203-7E12D1A5-B4C9-457E-A45B-AA4825CCB69B
Patienten können entweder den Barcode scannen oder die ID von Hand eintippen. Die COVID-19-App überträgt die ID anschließend an einen Server in der Telekom-Cloud, um das Testergebnis abzuholen. Die Kontaktaufnahme erfolgt zwar verschlüsselt über eine HTTPS-URL, wie es in der heutigen Zeit selbstverständlich sein sollte. Die verschlüsselte Verbindung ist allerdings wenig wert, wenn das Zertifikat des Gegenübers nicht ausreichend überprüft wird.
Patzer beim Zertifikatscheck
Und das ist hier der Fall: Wie Nicolas Thumann bemerkt hat, kommt die Verbindung auch zustande, wenn man sich mit einem Analyse-Proxy wie Burp in die Verbindung einklinkt. Dies darf eigentlich nicht passieren, denn Burp serviert der App ein eigenes Zertifikat, das nicht von einem vertrauenswĂĽrdigen Zertifizierungsstelle (CA) signiert wurde.
Der Analyse-Proxy kann nun den Anmeldeversuch der App am Server sichtbar machen. In diesen Daten steckt auch die 42-stellige ID, die ausreicht, um das Testergebnis sofort oder zu einem späteren Zeitpunkt abzurufen. Ein Angreifer könnte die ID sogar auf dem Transportweg austauschen und den Patienten ein falsches Ergebnis präsentieren.
Die COVID-19-App fĂĽr Android und iOS wurde nach Angaben der Telekom gemeinsam von Telekom Healthcare Solutions und BS Software Development entwickelt. Auf der Produktseite bei BS Software heiĂźt es, die Ăśbermittlung der Testergebnisse per App sei Ende-zu-Ende-verschlĂĽsselt, ferner wĂĽrden "keinerlei personenbezogene Daten gespeichert oder versendet" werden.
Tatsächlich konnten wir keine personenbezogenen Daten in der Übertragung feststellen. Die lückenhafte Verschlüsselung ist dennoch ein Problem: Ruft der Patient das Testergebniss etwa aus dem Netz seines Arbeitgebers ab, kann dieser das Ergebnis ebenfalls einsehen. Ist das Smartphone übers Firmen-VPN verbunden, klappt das sogar im Homeoffice.
Desolate Krypto
c't entdeckte noch weitere Versäumnisse bei der Absicherung der App. So liefert der Server, mit dem die App kommuniziert, ein katastrophales Zertifikat, das nicht von einer einer vertrauenswürdigen CA stammt und bereits seit 4. April 2015 – also seit fast fünf Jahren – abgelaufen ist. Auch die TLS/SSL-Konfiguration des Servers lässt zu Wünschen übrig: So akzeptiert der Server nach wie vor die RC4-Verschlüsselung, die seit Jahren als unsicher gilt. Moderne Krypto-Verfahren wie TLS 1.2 fehlen hingegen.
Die c’t BleibZuHaus-Abo-Aktion
Wir haben sowohl die Telekom als auch BS Software auf die eklatanten Sicherheitsmängel hingewiesen und um Stellungnahme gebeten. In einer ersten Reaktion bestätigte die Telekom die Sicherheitsprobleme und erklärte, dass die Entwicklerfirma BS Software bereits an einer Lösung arbeite. Weitere Informationen sollen in Kürze folgen. Sobald wir eine eine ausführliche Rückmeldung erhalten, werden wir diesen Artikel aktualisieren.
Bis die Mängel abgestellt sind, sollte man von der Nutzung der App absehen. Wenn es sich nicht vermeiden lässt, dann sollte man die App ausschließlich übers Mobilfunknetz nutzen, da auf diese Weise zumindest Angriffe aus dem lokalen WLAN ausgeschlossen werden können.
Update vom 1. April 2020, 12 Uhr: Die Entwicklerfirma BS Software erklärte gegenüber c't, dass sie die Probleme nachvollziehen konnte. Den betroffenen Apps für iOS und Android wurde als erste Maßnahme der Zugriff auf den Server entzogen. Das Unternehmen gibt an, dass es neue Versionen der Apps bereits bei Apple und Google vorgelegt hat. Diese sollen in Kürze erscheinen. Zur Rolle der Telekom bei der Entwicklung der COVID-19-App erklärt BS Software: "Die Telekom unterstützt das Projekt als Cloud-Partner. Die Entwicklung der App liegt komplett bei der BS software development GmbH & CO. KG."
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 beschrieben Zertifikatsfehler unterlaufen, den wir nach Bekanntwerden augenblicklich behoben haben."
Update vom 1. April 2020, 13 Uhr: Jürgen Bucher, Geschäftsführer von BS Software Development, räumt gegenüber c't in einem weiteren Statement einen handwerklichen Fehler ein und liefert weitere Hintergründe zur aktuellen Situation: "Zu Beginn der Corona-Krise haben wir sofort gedacht: Da können und wollen wir helfen. Wir wollen, dass Menschen schneller Gewissheit bekommen. Und die Gesundheitsämter entlasten. Und einen Beitrag gegen die Virusausbreitung leisten. Und dies mit einer Lösung, die für alle kostenlos ist. Wir haben die Applikation sehr kurzfristig entwickelt. Und sind über das selbst gesteckte Ziel hinaus geschossen. Für den handwerklichen Fehler eines Technikers entschuldigen wir uns. Allerdings waren Daten zu keinem Zeitpunkt in Gefahr. Die gesamte Kommunikationskette ist End-2-End verschlüsselt. Es ist daher auch durch eine Man-in-the-Middle-Attacke nicht möglich, Daten einzusehen oder gar zu manipulieren."
Dies deckt sich nicht mit den Beobachtungen der c't. Da ein Angreifer in der Position des Man-in-the-Middle die ID des Patienten einsehen konnte, wäre damit im nächste Schritt ein Abruf des Testergebnisses möglich gewesen – unabhängig von der Ende-zu-Ende-Veschlüsselung. Ein Mitlesen der ID war auch am Mittwochvormittag weiterhin möglich. Da die IDs voraussichtliche ihre Gültigkeit behalten und damit ein Abruf der Testergebnisse zu einem späteren Zeitpunkt möglich wäre, sollte man von der Nutzung der App derzeit abgesehen, bis die abgesichterten Versionen in den App-Katalogen angekommen sind. (rei)