Corona-Warn-App: Quellcode-Analyse eines beispiellosen Open-Source-Projektes

Anonymität der App-Nutzer

Inhaltsverzeichnis

Unserer Analyse des Quellcodes der Android- und iOS-Varianten der Corona-Warn-App zufolge ist dieser weitestgehend minimal gehalten und ziemlich aufgeräumt. Beide Apps halten sich an aktuelle Standards und wurden augenscheinlich den Best Practices des entsprechenden Betriebssystems entsprechend programmiert. Offensichtliche Sicherheitslücken oder Hintertüren finden sich nicht; die Anonymität des App-Nutzers ist, wie es das Exposure Notification API vorschreibt, solange gewährleistet, bis er sich entscheidet, Exposure Keys auf den zentralen Server hochzuladen. Jedenfalls trifft das im Rahmen unserer begrenzten Analyse zu.

Es ist natürlich nicht auszuschließen, dass andere Beobachter – und vor allem professionelle Sicherheitsforscher – Sicherheitslücken oder gar schwerwiegende Implementierungsfehler im Code der Apps entdecken. Der bisherige Umgang der Entwickler mit Verbesserungsvorschlägen und Kritik an ihren Code deutet allerdings darauf hin, dass sie mit solchen Problemen offen umgehen und sie so schnell wie möglich beheben würden.

Besonders der lokalen Speicherung der App-Daten kommt bei der Wahrung der Nutzer-Anonymität eine besondere Gewichtung zu. Da bisher nicht vorgesehen ist, dass die freiwillige Nutzung der Corona-Warn-App durch speziell dafür zugeschnittene Gesetze geregelt wird, muss verhindert werden, dass staatliche Stellen Zugriff auf diese Daten erhalten. Denkbar wäre etwa, dass im Zuge einer kriminaltechnischen Ermittlung eines SARS-CoV-2-Vebreitungsevents Ermittler auf die Idee kommen, die App-Daten eines Anwesenden zu untersuchen. So könnte die freiwillige Nutzung einer solchen Hilfs-App gegebenfalls dazu führen, dass sich diese Person selbst belastet. Bisher gibt es allerdings keine Hinweise darauf, dass die lokale Verschlüsselung dieser Daten angreifbar ist.

Das Interface der Corona-Warn-App

(Bild: SAP)

Auch die Infrastruktur hinter den Apps ist nicht frei von Angriffsmöglichkeiten. Das gewählte TAN-Verfahren für die Bestätigung positiver Testergebnisse in der App könnte dazu genutzt werden, den Nutzer zu deanonymisieren. Dazu müsste nach unserem aktuellen Kenntnisstand allerdings der zentrale Verification Server der App mit einer Instanz zusammenarbeiten, die ein positives Testergebnis einem Nutzer zuordnen kann. Da das in der Regel ein Gesundheitsamt oder ein unabhängiges Labor beziehungsweise eine Arztpraxis ist, ließe sich ein solcher Angriff wohl nur flächendeckend mithilfe von Regierungsorganen auf Bundesebene durchführen.

So etwas bliebe wohl kaum unentdeckt und ist angesichts der Tatsache, dass Bundesorgane bereits im Rahmen des Infektionsschutzgesetzes (IfSG) Zugriff auf entsprechende Daten haben, eher eine Sorge rein theoretischer Natur. Zwar gibt es Verfahren, diesen Angriffsvektor zu vermeiden, die Entwickler haben sich aber wohl aus Gründen der Interoperabilität für das TAN-Verfahren entschieden. Wenn man bedenkt, dass die Software hier wahrscheinlich mit den unterschiedlichsten, nicht standardisierten Gegenstellen bei Gesundheitsämtern und Laboren sprechen muss, ist das eine nachvollziehbare Entscheidung.

Die SAP-Entwickler haben mit Unterstützung der Telekom und unter Bezugnahme auf Verbesserungsvorschläge unzähliger unabhängiger Helfer eine beeindruckende Leistung vorgelegt. Nicht nur haben sie es geschafft, eine komplizierte App und deren Server-Infrastruktur für zwei Betriebssysteme im Rekordtempo bereitzustellen, das Ganze passiert auch noch unter Beachtung gängiger Best Practices der App-Entwicklung und für die Veröffentlichung von Open-Source-Code. Bei dem Corona-Warn-App-Projekt handelt es sich um das erste Mal in der Geschichte der Bundesrepublik, dass so etwas im Auftrag der Regierung so schnell und in solchem Ausmaß gelingt. Wenn Sicherheitsforscher, Datenschutz-Experten und unabhängige Entwickler bis zur Veröffentlichung der Apps keine gravierenden Probleme mit dem Quellcode finden, gibt es erst mal keinen Grund, dass irgendjemand der deutschen Umsetzung des COVID-19-Contact-Tracing-Konzeptes gegenüber Misstrauen hegen muss.

Ob die Apps trotzdem noch rechtzeitig kommen und ob Bluetooth-Tracing überhaupt dafür geeignet ist, die Verbreitung von SARS-CoV-2 einzudämmen oder gar zu stoppen, ist hingegen völlig unsicher. Es ist gänzlich ungeklärt, wie groß die Verbreitung dieser Apps in der Bevölkerung sein muss, damit bei aktuell konstant sinkenden Fallzahlen von unter 400 Neuinfektionen am Tag überhaupt irgendwelche potenziell gefährlichen Kontakt-Events aufgezeichnet werden können.

Die Hoffnung der App-Befürworter ist, dass die Technik die oft heraufbeschworene zweite Verbreitungswelle des Virus abfangen kann. Allerdings gibt es momentan keine handfesten Hinweise darauf, dass eine zweite Welle zu erwarten ist. Und ob Apples und Googles Bluetooth-Tracing-API überhaupt dazu geeignet ist, die Verbreitung des Virus aussagekräftig einzuschränken, werden wir wohl erst wissen, wenn wir uns mitten in der hypothetischen zweiten Welle befinden und falls die App auch wirklich eine signifikante Verbreitung in der Bevölkerung erreicht.

Das sind sehr viele Mutmaßungen, die wahr werden müssen, bevor wir begründete Schlüsse darüber ziehen können, ob sich die beispiellose Entwicklungsarbeit an der Corona-Warn-App der Regierung gelohnt hat. Aber immerhin gibt es erst einmal keine Einwände dagegen, sich die App zu installieren, wenn man das denn will. (fab)