zurück zum Artikel

"Haben Fehler korrigiert und uns entschuldigt"

Patrick Hennig zu Fragen des Quellcodes, dem Missbrauch der Anwendung und zur Zukunft der Luca-App (Teil 3 und Schluss)

Angesichts der jüngsten Entwicklungen, der zusätzlichen Funktionen der Corona-Warn-App [1] und der an Fahrt gewinnenden Impfkampagne: Welche Komponenten oder Bestandteile der Luca-App hätten Sie sich früher fertig gewünscht und wie sieht das Geschäftsmodell nach Corona aus?
Patrick Hennig: Ich glaube in der Tat, dass ein Austausch von Daten, wenn auch nur der allernotwendigsten, uns bei der Kontaktnachverfolgung im letzten Jahr sehr viel geholfen hätte. Trotzdem bin ich davon überzeugt, dass beide sinnvolle Tools für die Eindämmung der Pandemie sind.
Wir haben die Fachanwendung für die Gesundheitsämter entwickelt, um die Kontaktnachverfolgung zu vereinfachen. Persönlich hoffe ich vor allem, dass die Pandemie bald vorbei ist. Aber wenn wir den Wissenschaftlern glauben, wird uns das Thema noch eine Weile begleiten.
Wir wissen alle noch nicht, wie sich die Impfungen entwickeln und ob weitere Mutationen auftreten. Bei niedrigen Zahlen kann Luca am effizientesten wirken. Viele glauben uns das nicht, aber wir sind nicht mit einem Geschäftsmodell angetreten, sondern haben nach einer Lösung gesucht. Sollten solche Tools wie Luca weiterhin relevant sein, dann muss man darüber sprechen, aber aktuell ist das für uns wirklich überhaupt kein Thema.

Teil 1: CEO der Luca-App im "Kampf gegen Windmühlen" [2]

Teil 2: Luca-App: Hilfe oder Belastung von Gesundheitsämtern? [3]

Das ist gelungenes Framing und Bridging. Wikipedia definiert Framing [4] als den "Prozess einer Einbettung von Ereignissen und Themen in Deutungsraster. Komplexe Informationen werden dadurch selektiert und strukturiert aufbereitet, sodass eine bestimmte Problemdefinition, Ursachenzuschreibung, moralische Bewertung und/oder Handlungsempfehlung in der jeweiligen Thematik betont wird". Die Schule des Sprechens [5] führt aus: "Bridging wird von Medienprofis dann eingesetzt, wenn sie thematisch eine Brücke zu Inhalten schlagen, über die sie reden wollen".

Gefragt nach dem Geschäftsmodell "bridged" Hennig zu der These, mehr Datenaustausch habe geholfen. Er "glaubt" und spricht davon, dass "auch nur der allernotwendigste" Datenaustausch geholfen habe. Der neue Rahmen heißt: Es hat keinen oder zu wenig Datenaustausch gegeben, der Datenschutz ist also schuld an der Misere. Einer ähnlichen Rhetorik bedienen sich konservative Meinungsmacher wie Friedrich Merz [6] oder Jan Fleischhauer [7].

Die Fakten sprechen eindeutig eine andere Sprache: Zum einen (siehe Lauterbachs Antwort bei Maischberger) stünden keinesfalls mehr Daten zur Verfügung, noch wären die Gesundheitsämter in der Lage diese zu verarbeiten, Apps hin oder her.

Zweitens stellt sich die Frage: Wenn die Luca-App nicht mit einem Geschäftsmodell angetreten ist, warum hat man dann das Sicherheitsmodell patentieren lassen und in Gastronomie-Fachzeitschriften Werbung geschaltet? Warum dann die Salami-Taktik bei der Veröffentlichung von Geschäftsgeheimnissen wie dem Code, der Datenschutzerklärung oder den Verträgen?

Wenn Nexenio, culture4life und die Macher der Luca-App keine Gewinnerzielungsabsicht hatten, kein Geschäftsmodell, dann haben sie das sehr ungeschickt verborgen – angesichts der hochkarätigen PR-Truppe erscheint das auch unwahrscheinlich. Vieles weist darauf hin, dass man mit Corona Geld verdienen wollte, und das ist auch nicht strafbar. Am wahrscheinlichsten ist jedoch die Monetarisierung durch Ticketverkäufe [8] nach staatsfinanzierter Softwareentwicklung.

Vom Erfolg überwältigt

Wie die Corona-Warn-App hat auch Luca hohe Millionenbeträge von Bund und Ländern erhalten. Aber warum unterscheiden sich die Entwicklungsstrategien so enorm?
Patrick Hennig: Die Corona-Warn-App ist als ein Entwicklungsauftrag gestartet. Daher ist der Code auch von Beginn an Open Source. Luca ist als private, kleine Initiative selbst finanziert gestartet, die Ressourcen waren bei uns zu Beginn ganz andere. Es handelt sich bei Luca nicht nur um eine App: Die Länder haben eine Fachanwendung lizenziert, vom Bund haben wir gar kein Geld bekommen, Lizenznehmer sind die Länder, Kommunen und Landkreise. Das System ist komplex und hat hohe Kosten, (…)

Luca wurde also nicht in Open-Source entwickelt, weil die Firma zu Beginn klein und das System so komplex war. Finanzierung kam zwar auch von öffentlicher Seite, aber eben über Lizenzen. Der Rest der Antwort listet die Kosten auf, die mit dem Betrieb der App verbunden sind, erklärt aber nicht, warum Open-Source "nicht auf dem Radar" war.

Auch in dieser Antwort kann Hennig den Eindruck nicht entkräften, dass hier ein Start-up von dem Erfolg überwältigt wurde, den die politischen Rahmenbedingungen und die mediale Aufmerksamkeit plötzlich brachten. Den überraschenden Erfolg hatte man vermutlich wirklich nicht "befürchtet". Man versuchte, durch überstürztes Handeln zu korrigieren, was sich in vielen Anfänger- und Flüchtigkeitsfehlern in Architektur und Software zeigte. Wurde diese Argumentation mit der Zeit zum Selbstläufer?

Es gab zuletzt zahlreiche Fälle, in denen Funktionen der Luca-App missbraucht wurden, beispielsweise um Fake-Events zu veranstalten, Tracking-Daten auszulesen, Schlüsselanhänger zu missbrauchen oder wo Büros von Parlamentariern nachts mit SMS und Robo-Calls [9] belästigt wurden. Wie konnte das passieren und warum wurden so viele Probleme bis heute nicht abgestellt?
Patrick Hennig: Grundsätzlich ist das immer eine Abwägung aus Verhinderung von Missbrauch und dem Grundrechtsschutz des Datenschutzes. In dem Fall von Jan Böhmermann wurde der Check-in-Code des Zoos veröffentlicht. Dann kann jemand einchecken, der nicht vor Ort ist: Die QR-Codes sind ein statisches Element.
Wir weisen darauf in unseren Schulungen für Betreiber:innen jetzt noch mal verstärkt hin. Dies ließe sich nur durch eine Überprüfung der Standortdaten oder des Personalausweises verhindern, würde aber der Idee der Datensparsamkeit widersprechen.
Beide Mittel stehen unserer Einschätzung nach absolut nicht in Relation. Wir alle müssen Verantwortung übernehmen, um unsere Freiheit zu erhalten. Andernfalls würden unser Grundrecht auf Datenschutz noch weiter eingeschränkt. Wir halten das für unverhältnismäßig.
Ein ähnliches Beispiel haben wir beim Verzicht auf die serverseitige Verifikation der Telefonnummer. Dadurch haben wir keine Zuordnung der Telefonnummer zum Check-in-Objekt. Wir sehen den dadurch möglichen Missbrauch, den Client zu verändern, als valide an, (…)
Der potenzielle Schaden ist aus unserer Sicht aber zu gering, um den anderen Weg zu gehen. Im Grunde fallen auch die gerade stark diskutierten Schlüsselanhänger in dieselbe Kategorie: Der QR-Code ist statisch, eine weitere Validierung nach der einmaligen Anmeldung erfolgt nicht, auch aus Gründen der Datensparsamkeit und der Zuordenbarkeit. (...)

Ein erneutes Framing: Der Datenschutz ist schuld an den nächtlichen Anrufen und SMS-Terror, nicht die Luca-App. Die Menschen, die die QR-Codes teilen, sind das Problem, nicht die Software-Fehler. Man könnte das alles ja sicherer machen, aber man darf das ja nicht, wegen des Datenschutzes.

"Datensparsamkeit" nennt Hennig das, um aber gleich darauf zu verweisen, das man ja auf der moralisch richtigen Seite stünde, nur die Hände seien gebunden.

Doch den hier konstruierten Gegensatz Datenschutz vs. Sicherheit gibt es so nicht, hier soll gezielt ein Feindbild erzeugt werden, das vom eigenen Fehlverhalten ablenkt. Der darauffolgende Versuch, sich als Verfechter der Datensparsamkeit zu positionieren, verdeutlicht nur PR-Geschick und solide rhetorische Qualitäten.

In dieser Antwort zeigt sich auch ein weiteres Muster der Luca-Entwickler: Nach dem Vorbild des alten Apple-Witzes "You are holding it wrong [10]" versuchen Hennig und sein PR-Berater Bublitz, jedes der vielen fundamentalen, nicht änderbaren Sicherheitsprobleme als Fehlverhalten von Anwendern [11] abzutun. Schuld wird abgewiesen, gleichzeitig aber gelobt man Besserung.

Nicht alle Best Practices der Softwareentwicklung eingehalten

Welche Prozesse nutzen Sie, um die Software vor Release auf solche Schwachstellen zu testen?
Patrick Hennig: Aktuell gibt es automatisierte Tests über Browserstack, das in einer CI-Pipeline eingebunden ist. Vor Release gibt es auf den Entwicklungs- und Stagingsystemen manuelle Ende-Zu-Ende Tests.
Wir nutzen einen Agile-Entwicklungsprozess mit einem besonderen Augenmerk auf Sicherheit. Wir haben ein Team aus Sicherheitsexperten, die gemeinsam mit den Stakeholdern Anforderung sowohl erstellen als auch bewerten. Nachdem die Anforderung ausspezifiziert und, je nach Relevanz, mit dem Datenschutzbeauftragten abgesprochen sind, werden diese priorisiert und zur Entwicklung selektiert.
Bei der Entwicklung achten wir auf gemeinsame Guidelines hinsichtlich Style, Formatting und Best Practises. Nach dem ein Feature abgeschlossen ist, wird es peer-reviewed, also von mindestens einem anderen Entwickler angeschaut.
Wir haben momentan sogenannte Ende-zu-Ende Tests, um die Gesamtfunktionalität des Systems zu testen (Cypress). Wir werden in Zukunft auch sogenannte Unit Tests, funktionale Tests auf Komponenten und Funktionsebene einführen.

Dass bei der Entwicklung von Luca auch nach einem knappen halben Jahr und mit gut 20 Millionen finanzieller Unterstützung nicht alle Best Practices der Softwareentwicklung eingehalten wurden, hat Kris Köhntopp auf Twitter [12] unter dem Titel "Software first, Bedenken second" dokumentiert. Der lange Thread des Internet-Urgesteins mag Entwicklern und Software-Architekten als Lehrstück dafür dienen, wie moderne Softwareentwicklung geplant werden sollte, vor allem wenn sie potenziell Millionen User und schützenswerte Daten adressiert. Köhntopp zu Luca: "Die funktionalen Anforderungen sind nicht wirklich diskutiert worden, geschweige denn in einen Prozeßkontext 'Kontaktverfolgung' eingeordnet worden."

Warum haben Sie für die Luca-App erst auf massiven Druck der Öffentlichkeit hin und zögerlich Teile des Quellcodes und erforderliche Dokumente offengelegt, warum nicht alles?
Patrick Hennig: Wir sind als private, selbst finanzierte Initiative gestartet. Wir hatten Open-Source von Beginn an nicht wirklich auf dem Schirm. Dies ist im Übrigen ja keine Pflicht und bei anderen Systemen im Gesundheits- und Finanzbereich auch nicht der Fall. Aber mit der Aufmerksamkeit Anfang März kam der Wunsch bei den Nutzern nach Open-Source, den wir völlig verstanden haben. Es handelt sich jedoch um eine sicherheitskritische Software, daher wollten wir uns auch die Zeit nehmen.

Open-Source ist keine Pflicht, das ist richtig. Best Practices sind nie eine "Pflicht", doch im 21. Jahrhundert braucht jeder, der datenschutzrelevante und sicherheitskritische Software entwickelt, gute Argumente, warum er nicht den Weg der größtmöglichen Transparenz beschreitet, erst recht, wenn er öffentliche Gelder einwirbt (Public Money Public Code [13]), unabhängig vom "Gesundheits- oder Finanzbereich".

Die Entwickler von Luca entschieden sich jedoch für eine Salami-Taktik und begründen die scheibchenweise Veröffentlichung mit der großen Nachfrage und ihrer großen Sorgfalt. Es ist sicher korrekt, dass der Großteil des Quellcodes erst nach und nach offenbart wurde, nachdem die Öffentlichkeit das gefordert hatte, nachdem massive Sicherheitslücken bekannt wurden und nachdem der Verdacht der unlauteren Verwendung freier Software aufgekommen war.

Patrick Hennig: Wir hoffen auf das Verständnis der Community und entschuldigen uns an der Stelle auch noch mal deutlich für den erfolgten Referenzierungsfehler. Wir waren die letzten Wochen mitten im Rollout an 300 Gesundheitsämter und haben mitten in der hohen medialen Aufmerksamkeit den Quellcode offengelegt. Dabei ist nicht alles gut gelaufen, das muss man klar sagen. Wir freuen uns aber, dass es nun endlich so weit ist.

"Haben korrigiert und uns entschuldigt"

Warum waren Open-Source-Strategien und Best-Practices nicht von vorneherein gewählt? Wie konnten die teils gravierenden Fehler bei Lizenz und Attribuierung passieren?
Patrick Hennig: Wir sind wie gesagt auch als kleines Team gestartet. Wir haben einige Erfahrungen im Bereich Sicherheitstechnologie, aber es ist für uns das erste große Open-Source-Projekt. In der Tat ist in der Nacht der ersten Veröffentlichung die proprietäre Lizenz mit eingecheckt gewesen. Dies wurde auch sofort entdeckt, obwohl wir noch nichts angekündigt hatten. Das war unbedacht, morgens wurde korrekte Lizenz direkt nachgereicht.
Dann wurde in einem Bereich eine Open-Source-Komponente verwendet, bei der die Lizenz nicht richtig mit angegeben wurde. Wir wissen alle wie viele Abhängigkeiten und externe Quellen komplexe Softwareprojekte haben. Den Fehler bedauern wir auch sehr. Wir haben ihn direkt, nachdem wir es mitbekommen haben, korrigiert und uns dafür entschuldigt.

Kritiker merken an, das Entfernen eines einzelnen Autors und der verwendeten Lizenz von freier Software könne als Vorsatz gewertet werden. Aus dem Schreiben des Anwalts des Wiener Entwicklers thesimj geht hervor:

"Die Entwickler der Luca-App haben den Lizenzhinweis und den Hinweis auf "thesimj" entfernt, sodass der Eindruck entstanden ist, dass die Softwarekomponente jBaseZ85 von den Luca-App-Entwicklern stamme", heißt es seitens des Rechtsanwalts Markus Dörfler, Partner bei Höhne, In der Maur & Partner Rechtsanwälte. "Dies stellt einen Urheberrechtsverstoß dar. Im Übrigen ist die Lizenz der Luca-App (GPLv3) nicht mit der von "thesimj" gewählten Lizenz vereinbar, sodass jede einzelne installierte Luca-App gegen das Urheberrecht verstößt", sagt Dörfler." (Quelle: MSN [14])

Reaktion der Szene und ein vorläufiges Fazit der Luca-App-Affäre

Linus Neumann vom CCC weiß [15]: "Offener Quelltext ist noch kein Garant für Sicherheit und Schwachstellen zu leugnen bringt nichts", aber wie viele andere, die sich der eingehenderen Analyse der Luca-App gewidmet haben, ist auch er zunehmend genervt: "Wir sind nicht der kostenlose TÜV für Covid-Glücksritter", erklärt er bei Radio Eins [16].

Auch Kris Köhntopps Urteil ist vernichtend [17]: "Die Luca-App ist im günstigsten Fall ein digitales Globuli, im schlimmsten Fall eine unkontrollierte Jauchegrube für personenbezogene Daten und eine Ermutigung, Ansteckungsrisiken einzugehen. Dann sterben Leute."

Wer jetzt meint, das sei nur übertriebenes, aggressives Geschrei von Nerds, dem sei der Netzpolitik-Artikel vom 11. März ans Herz gelegt: Chris Köver [18] schreibt da bereits: "Kritiker:innen fürchten, sie (die Luca-App) lenke vor allem von der Realität ab." In die gleiche Kerbe schlägt auch die linke Bundestagsabgeordnete Anke Domscheit-Berg [19], die – wie viele andere – ein Zeitungsinterview der BZ mit den Luca-Entwicklern aufs heftigste kritisiert: "Dieser Artikel mit Interview der #LucaApp Leute hält keinem Faktencheck stand. Weder stimmt die Aussage, "die App sei so sicher, wie es geht", noch: "Gesundheitsämter müssen Daten händisch an die #CoronaWarnApp übermitteln" - GÄ übermitteln NIE Daten an CWA."

Das Schlimmste am Luca-App-Skandal

Das Schlimme an der Luca-App-Geschichte ist nicht, dass hier dilettantisch Entwicklung betrieben wurde von Machern, die vom eigenen Erfolg überrollt wurden. Auch nicht, dass Politiker, Datenschützer und Verwaltungen auf prominente Musiker hereinfielen und sich in deren medialen Glanz zu sonnen suchten, oder eventuell ein Bundesministerium durch Abwarten dafür sorgte, dass ein Markt für eine App entstand.

Das Schlimmste ist, dass eine ganze Gesellschaft nach gefühlt einem Jahr Lockdown nur allzu gerne einen Messias, Heilsbringer oder Zaubertrank hätte, und den Fake-News-Versprechen und Verschleierungsstrategien von PR-Profis allzu willfährig auf den Leim geht.

Dass derlei funktioniert, ist aber ein gesellschaftliches Problem: Allzu leicht lassen wir uns vom Wesentlichen ablenken (Cognitive Bias [20], Kognititive Verzerrung [21]). Die eigentlich wichtigen Fragen sind doch: Wie viele Luftreiniger für Schulen bekommt man für 25 Millionen Euro? Wie viele Dosen Impfstoff? Wie viele Mitarbeiter im Pflege- oder Intensivstationen oder in Gesundheitsämter könnte man mit dem Geld aufstocken oder angemessen bezahlen? Wie viele Leben retten? Da verblasst sogar die Frage nach der Rolle eines Bundesgesundheitsministers in dieser Geschichte.

Hier die ungekürzten Fragen und Antworten als PDF-File:

Fragen und Antworten Hennig [22]

Markus Feilner arbeitet seit 1994 mit Linux, war stellv. Chefredakteur des Linux-Magazin und der iX, Teamleiter Dokumentation beim Linux-Hersteller SUSE und hat sich mit seiner Firma Feilner IT auf Dokumentation und die OSI Layer 8, 9 und 10 spezialisiert.


URL dieses Artikels:
https://www.heise.de/-6022319

Links in diesem Artikel:
[1] https://netzpolitik.org/2021/neue-version-der-corona-warn-app-einchecken-per-qr-code/
[2] https://www.heise.de/tp/features/CEO-der-Luca-App-im-Kampf-gegen-Windmuehlen-6019262.html
[3] https://www.heise.de/tp/features/Luca-App-Hilfe-oder-Belastung-von-Gesundheitsaemtern-6021060.html
[4] https://de.wikipedia.org/wiki/Framing_(Sozialwissenschaften)
[5] https://www.sprechen.com/was-bedeutet-bridging/
[6] https://twitter.com/_FriedrichMerz/status/1380850031201247238
[7] https://www.heise.de/tp/features/Von-Bluetooth-zur-Blockchain-5988587.html
[8] https://twitter.com/Linuzifer/status/1381516218176303105
[9] https://twitter.com/anked/status/1380836300199198722
[10] https://www.urbandictionary.com/define.php?term=You%27re%20Holding%20It%20Wrong
[11] https://twitter.com/HonkHase/status/1383705463817076740
[12] https://twitter.com/isotopp/status/1380828393734877185
[13] https://publiccode.eu/
[14] https://www.msn.com/de-at/nachrichten/other/corona-tracing-app-luca-verletzt-urheberrecht-von-wiener/ar-BB1fcMdn
[15] https://twitter.com/Linuzifer/status/1383775376388677634
[16] https://www.radioeins.de/programm/sendungen/die_schoene_woche/_/chaos-computer-club-fordert-stopp-von-luca-app.html
[17] https://twitter.com/isotopp/status/1382235104089673728
[18] https://de.wikipedia.org/wiki/Chris_K%C3%B6ver
[19] https://twitter.com/anked/status/1383792287306575874
[20] https://en.wikipedia.org/wiki/Cognitive_bias
[21] https://de.wikipedia.org/wiki/Kognitive_Verzerrung
[22] https://www.heise.de/downloads/18/3/0/9/2/1/4/6/OriginalAntwort_Heise_Online_Fragen_16.4.21.pdf