Die vom Bundesamt für Gesundheit (BAG) herausgegebene Zertifikate-App und die dazugehörige Prüf-App sind wichtige Werkzeuge im Kampf gegen die Corona-Pandemie. Doch bei der Verbesserung dieser Technik harzte es.
Wenige Monate nach der Lancierung gab es Hinweise, dass eine in die Zertifikats-App integrierte Funktion fälschlicherweise genutzt wird, um fremde QR-Codes zu kontrollieren. Doch die Warnungen unabhängiger IT-Fachleute blieben scheinbar ungehört. Es dauerte fast ein Vierteljahr, bis die riskante Schwachstelle im Zertifikate-System behoben wurde.
Nun nimmt das BAG Stellung.
Im Oktober 2021 wies watson auf die Problematik der unsachgemässen Überprüfung von Zertifikaten hin. Statt den QR-Code mit der offiziellen Zertifikate-Prüf-App des Bundes zu scannen, nahmen bequeme Kontrolleure das Handy der Gäste und drückten den Aktualisieren-Button: Die App zeigt daraufhin grün für «gültig» an, rot für «ungültig». Das schuf ein erhebliches Missbrauchspotential.
Damit sollte nun endlich Schluss sein. Das neuste App-Update lässt den Refresh-Button unten rechts verschwinden. Stattdessen prangt dort vorläufig ein «i» in einem Kreis.
Wenn man auf das «i» tippt, erscheint der Hinweis, dass die Prüfung von Zertifikaten mit der entsprechenden Prüf-App («COVID Certificate Check») vorzunehmen sei.
Die Schweizer Covid-Zertifikate-App und die dazugehörige Prüf-App wurden bekanntlich im Juni 2021 lanciert. Fachleute des Bundes und der privaten App-Entwicklerfirma Ubique arbeiten seither gemeinsam am Projekt und nutzen dafür die bekannte Software-Entwicklungs-Plattform GitHub.
Dort, bei Github, ist der gesamte Programmcode öffentlich einsehbar – es ist ja ein Open-Source-Projekt – und er kann von Interessierten heruntergeladen werden. Und dort tauschen sich auch unabhängige IT-Fachleute und interessierte Dritte über das Projekt und die Sicherheit aus.
Im September 2021 warnte ein User in einem öffentlich einsehbaren Posting, dass die Aktualisierungsfunktion eine Schwachstelle im Zertifikate-System darstelle. Seine Begründung: Die bei Github verfügbaren Softwarekomponenten (das sogenannte «Repository») könnten verwendet werden, um eine gefälschte Zertifikate-App zu erstellen und diese (auf einem Android-Smartphone) zu installieren.
Bei einer unsorgfältigen Überprüfung könnte man so ein vermeintlich gültiges Zertifikat vortäuschen:
Daraufhin passierte – augenscheinlich nichts.
Im Oktober warnte ein anderer Github-User:
Nun reagierten die Verantwortlichen. Zumindest lassen bei Github einsehbare Antworten darauf schliessen. Das Problem war erkannt, doch wieder passierte – nichts.
Erneut verstrich ein Monat, in der bequeme Türsteher und andere Kontrolleure nur den Refresh-Button betätigten. Sprich: Eine unbekannte Zahl von Zertifikaten wurde nicht so kontrolliert, wie es der Bund verlangt und vorschreibt.
Im November präsentierte ein weiterer Github-User, auch er ein unabhängiger IT-Spezialist, eine eigene Lösung. Dieser Vorschlag kam der nun realisierten Verbesserung schon sehr nah: Wer in der Zertifikate-App den Aktualisieren-Button betätigte, sollte in einem aufpoppenden Fenster darauf hingewiesen werden, stattdessen die Prüf-App zu verwenden.
Wieder gab es keine öffentlich einsehbare Reaktion seitens der beim Bund zuständigen Fachleute.
Daraufhin platzte dem Github-User, der sich schon früh in die Diskussion eingebracht hatte, der Kragen.
Am 19. November kritisierte er:
Interessantes Detail: Offenbar gab es in Deutschland mit der dortigen Corona-Warn-App ähnliche Probleme. Dazu muss man wissen, dass dort die Zertifikatsverwaltung im Gegensatz zur Schweiz in die Warn-App integriert ist.
Damit zurück in die Schweiz, wo sich im Dezember bei Github die Situation zuspitzte. Ein engagierter User schlug vor, dem BAG, bzw. der für die App-Entwicklung zuständigen Firma ein Ultimatum bis am 20. Januar zu stellen. Sollte der Aktualisieren-Button in der Zertifikate-App nicht entschärft werden, demonstriere man die Gefährlichkeit der Schwachstelle mit einer Beispielsoftware («Proof of Concept») und erhöhe damit den öffentlichen Druck auf den Bund.
Nun endlich stellten die Projekt-Verantwortlichen in Aussicht, dass sie das Problem ernsthaft angehen wollen.
Anfang Januar wies ein Github-User darauf hin, dass die Entwickler an der iOS-Version der Zertifikats-App arbeiteten. Und ein Projektverantwortlicher bestätigte, dass die Anpassungen «in den nächsten Wochen» ausgeliefert würden.
watson hat am Dienstag beim Bundesamt für Gesundheit – als Herausgeberin der App – nachgefragt.
In Apples App Store (iOS) heisst es im Beschrieb zum Update (3.2.0): «Ab dem 17.1.2022 wird zunächst übergangsweise ein Info-Button erscheinen.» Was ist damit gemeint?
Dazu BAG-Sprecher Grégoire Gogniat:
Auf die Frage, warum es dermassen lange dauerte, bis das Problem nun behoben wurde, heisst es:
Gemäss Darstellung des Bundes hatten die App-Entwickler also nicht früher Zeit, die Anpassung vorzunehmen.
Auf der BAG-Webseite zur Zertifikate-App werden Besucherinnen und Besucher nun eindringlich ermahnt:
Es ist zu befürchten, dass in der Bevölkerung beträchtliche Verwirrung oder Unkenntnis herrscht, was das korrekte Überprüfen der Zertifikate betrifft. Darum sei an dieser Stelle empfohlen, wenn nötig die App zu aktualisieren. Und es sei auch nochmal auf die BAG-Anweisungen verwiesen:
Um sicherzustellen, dass ein präsentierter QR-Code tatsächlich zur vorweisenden Person gehöre, müsse (etwa bei Eingangskontrollen) überprüft werden, dass Name, Vorname und Geburtsdatum auf dem Covid-Zertifikat und dem amtlichen Ausweisdokument übereinstimmen. Und vor allem sollte auch das Passfoto zur Person mit dem Zertifikat passen.
Im Oktober 2021 wurde per App-Update eine Schwachstelle behoben, die gemäss watson-Recherchen bereits von Kriminellen ausgenutzt wurde. Seither funktioniert das Manipulieren der Geräte-Systemzeit nicht mehr, um vorzutäuschen, dass ein abgelaufenes Zertifikat gültig ist.
Manche wollen dann "affig tue". Speziell in Erinnerung bleibt einer, der nicht wollte, dass ich das Zerti scanne, weil ich ihn dann angeblich tracken kann....
Ausserdem nimmt das blöde grüne Häckchen extra Zeit in Anspruch, weil man dann den QR-Code nicht scannen kann. Ja, jede Sekunde zählt, wenn man alleine im Mittagsrush Essen an die Tische bringt im Fast Food-Resti, lol.