Vor ein paar Wochen habe ich etwas zur Bedeutung von Lizenzen bei wissenschaftlicher Software geschrieben. Hätte nicht gedacht, dass mir ein Rapper mit seiner Firma mal vor Augen führen würde, dass diese Dinge auch im nicht-wissenschaftlichen Alltag eine Rolle spielen würden. Nämlich dann, wenn es um Privatssphäre und digitale Sicherheit geht.
Das Hin- und Her zur “luca App” habt ihr sicher mitbekommen. Einer App fürs Handy, welche die Zettelwirtschaft in Kultur und Gastronomie bei Erfassung der Kundschaft und all dem Ärgen rund um datenschutzrechtlichen Hickhack lösen soll. Da der Quellcode zunächst nichtöffentlich war, gab es die Forderung dies zu ändern. Smudo, der die Entwicklung der App unterstützt, habe ich zu verdanken gelernt zu haben, das man “für open source manpower und service braucht“. Vielleicht hat man ihn diesem Unsinn geflüstert? Aber da ich das schon häufiger gelesen habe, möchte ich kurz sagen: Nein, dass stimmt nicht. Auch Firmen können quelloffene Software entwickeln und dennoch damit Geld verdienen. Es bedeutet für diese prinzipiell keine zusätzlichen Kosten. Auch im nichtöffentlichen Bereich ist für Quellcodemanagementsysteme zu zahlen – entweder auf eigenen Servern oder für den Service (und das nicht mal zwingend). Der “Extra-Service” wird von den Nutzern erbracht, welche die Firma auf Fehler im Code hinweist. Diese korrigiert die Fehler, was sie ohnehin hätte tun müssen – aber vielleicht später erst.
Nun gibt es für Firmen viele gute Gründe ihre Software nicht öffentlich zu machen, weil sie sonst ihr Geschäftsmodell torpediert sehen. Das Fass möchte ich hier gar nicht aufmachen! Aber wer eine App wie die luca App unters Volk bringen möchte, erwartet einen großen Vertrauensvorschuss. Klar ihr installiert nutzt auch facebook-, SPON-, twitter-Apps und Vieles mehr ohne je darüber nachzudenken, was mit euren Daten geschieht (nicht ihr alle, die ihr als vielleicht technik-affine Leser scienceblogs mitlest, aber doch genügend viele, um generalisieren zu dürfen). Die Luca App jedenfalls erlaubt einen weiteren Blick in das Privatleben der Nutzer: Hier werden Zeit und Ort eines Aufenthalts an einem zentralen Ort gespeichert. Das erlaubt eine gute Kontaktnachverfolgung, Warnung derjenigen, die sich in der Nähe von Infizierten aufhielten, Weitergabe an das Gesundheitsamt und somit eine etwas bessere Bekämpfung der Pandemie. Eine prima Sache.
Persönlich finde ich dann aber auch das Interesse legitim die App (und die zentralen Server) auf mögliche Sicherheitslücken testen zu wollen. Dazu muss die Software zunächst einmal öffentlich sein. Das ist sie inzwischen. Und nach einigem weiteren Hick-Hack, der zeigte, dass die Macher hinter der App erst einen Lernprozess durchlaufen mussten, auch mit einer Lizenz, die es ermöglicht die Software zu testen.
Das ist essentiell. Doch auch jetzt noch sprechen die Issues, welche die Leute aufmachen Bände:
- Bitte veröffentlicht eure SecurityAudits und die Korrekturen, die sich daraus ergeben. Was bei einer solch “heißen” App auch eine notwendige Forderung scheint.
- Der Hinweis, dass man die Licence Compliance auch im Continuous Integration-Prozess testen könnte, mag wie ein Witz erscheinen, bis man sich die Links dahinter anschaut – und sieht, dass es wohl einen internen Prozess gibt, aber keinen öffentlichen. [Update: Continuous Integration (CI) bzw. Kontinuierliche Integration ist ein Prozess mit dem man Softwarekomponenten für die endgültige Anwendung zusammenfügt und üblicherweise testet. Wenn das auf einem nicht-öffentlichen Server geschieht, gibt es Grund zu der Annahme, das eben nicht aller Code öffentlich ist und stattdessen anderswo etwas Anderes entwickelt wird (oder der Prozess noch nicht mit dem Code zusammengeführt wurde, weil man ja schon zum Veröffentlichen des Codes genötigt werden musste).)]
- Dann gibt es noch den Hinweis, der deutlich macht, dass man offensichtlich Code anderer Leute mit genutzt hat, diesen aber weder ausweist, noch klar macht, welche Lizenz damit verbunden ist – und ob also die App so wie sie ist rechtlich gesehen vertrieben werden darf. Wer dieses Issue beigetragen hat schließt mit den Worten:
At the very very least, create a directory
thirdPartyCode
to place it in there. Then you can also exclude that dir from any strange comment stripper you run (#17) to remove some comments – which you should not do anyway and is just bogus.I’m no Android dev, but it seems very strange to copy and paste files. Also, this way, you can easily overlook outdated dependencies and security issues may be introduced. Despute the fact, that it is of course harder to maintain.
Sollten man als Entwickler/in eigentlich auch so sehen.
- Die Bitten Dokumentation zu veröffentlichen oder ein Logfile zu den Änderungen oder Hinweise zu Sicherheitstools (vom selben Nutzer wie oben), kommen ein wenig nervig vor, bis man liest, dass Dokumentation zum Selberbauen der Software unter Android tatsächlich nur in einem Issue dokumentiert ist. Und offenbar wurde auch nicht darüber nachgedacht, dass sog. reproducible builds eine gute Idee wäre, zu verhindern, dass anderer als der dokumentierte und für gut befundene Code auf den Geräten landet.
- etc.
Auch die Sicherheitsaspekte bei der zentralen Speicherung werden hinterfragt. Eine detaillierte Stellungnahme der Firma ist mir hierzu nicht bekannt – euch vielleicht?
Nun zahlen eine ganze Reihe von Bundesländern Geld für die Nutzung der App, die für Endnutzer auf ihren Geräten frei ist. Auch mein Bundesland denkt wohl darüber nach und teilt mit:
Ziel ist, eine bundeseinheitliche Lösung zur digitalen Kontaktnachverfolgung zu schaffen. Dies haben die Ministerpräsidentinnen und Ministerpräsidenten Anfang März vereinbart. „luca“ ermöglicht nicht nur die Erfassung von Kontaktdaten, sondern im Infektionsfall auch eine einfache, verschlüsselte Übermittlung der Daten an die Gesundheitsämter und eine automatische Information der Bürgerinnen und Bürger über Risikokontakte in der App. Die angegebenen Kontaktdaten können dabei nur von den Gesundheitsämtern eingesehen werden. Weder „luca“ noch die Veranstalter können die Kontaktdaten lesen. Luca ist zudem für Gastronomie und Gäste kostenlos, die Kosten übernehmen Bund und Länder. „luca“ wird natürlich ständig weiterentwickelt.
Ein hehres Ziel, dass ich im Kontext der Pandemie (und nur da!) nicht hinterfragen möchte. Und womöglich ist Luca zur Pandemiebekämpfung auch besser als das anstehende Update der Corona-App des Bundes, welches auf die Weitergabe der Daten verzichten will. Aber habt ihr auch in euren Verträgen das Recht auf Kontrolle, Nachbesserungen und Service vereinbart? Vielleicht schon:
Die Sicherheit Ihrer Daten ist uns sehr wichtig. Bei luca sind die Daten deshalb verschlüsselt auf ISO-27001 zertifizierten Servern der Bundesdruckerei in Deutschland gespeichert. Eine Einsicht in die Daten erfolgt nur im Infektionsfall und nur durch die Gesundheitsämter. Nicht benötigte Daten werden gelöscht. Zudem stehen unsere IT-Dienstleister im ständigen Austausch mit luca, um das System noch sicherer zu machen. Die Landesregierung hat zudem darauf hingewirkt, dass das Sicherheitskonzept und der Quellcode von „luca“ veröffentlicht werden und so ständig verbessert werden können. Mehr Informationen finden Sie hier: https://www.luca-app.de/system/.
Und auch die Anbindung an die Software der Gesundheitsämter scheint mit bedacht:
Die Gesundheitsämter sind nicht eingebunden und können die CWA zur Nachverfolgung von Infektionsketten daher nicht einsetzen. Dies ermöglicht aber „luca“, welches über direkte Schnittstellen zu den Gesundheitsämtern und eine Anbindung zur Kontaktnachverfolgungssoftware SORMAS verfügt. Anders als die CWA kann „luca“ zudem ohne Smartphone oder die App genutzt werden.
So lange aber lediglich auf eine Zertifizierung der Server (immerhin nicht die der Herstellerfirma, sondern einer Firma des Bundes) hingewiesen wird (das genannte Zertifikat ist ja nicht per se schlecht) und die Prozesse unbekannt sind und so lange die Installation der eigentlichen luca App mit so vielen Unklarheiten verbunden ist, werde ich abwarten. Die Inzidenzentwicklung wird mir Zeit geben, meine Einschätzung der luca App auf bessere technische Grundlagen zu stellen. (Leider bin ich selber nicht nicht in der Lage die Sicherheit von Java-Mobile-Apps zu testen – abgesehen von der fehlenden Zeit.) So schnell wird in meiner Region die (Aussen-)gastronomie nicht wieder geöffnet. Ich hoffe sehr, dass die teils harsche Kritik die Macher hinter der Software sensibilisiert hat: Transparenz ist wichtig und Entwicklung, welche die Kritik aufnimmt muss sichtbar werden (z. B. hier), wenn man Akzeptanz will.
Vielleicht hat hier jedoch jemand mehr Verständnis vom Code und kann Input geben?
Kommentare (25)