Die politische Bedeutung unserer technischen Entscheidungen

Sollte aus öffentlichen Geldern entwickelte Software Open Source sein?
Was bedeutet eigentlich „Open Source“ und was hat das mit Politik zu tun?
Das Thema des Vortrags der Ringvorlesung vom 01. November 2017 trägt den Titel „The Political Importance of our Technical Decisions“ oder frei übersetzt „Die politische Bedeutung unserer technischen Entscheidungen“. Als Student im Bachelor in der Informatik interessierte mich hierbei die konkrete technische Entscheidung „Open Source“ und die Bedeutung für die Öffentlichkeit und Politik.

In diesem Blogbeitrag soll zunächst die Vortragende dieser Ringvorlesung Julia Kloiber vorgestellt und der Begriff „Open Source“ erklärt und abgegrenzt werden. Im Anschluss möchte ich anhand einer in der Bundestagswahl genutzten Software diskutieren, ob (bzw. wie) Open Source für die Politik oder Demokratie sinnvoll sein könnte.

Julia Kloiber ist Projektleiterin bei der Open Knowledge Foundation Deutschland. Seit 2012 setzt sie ihr Hintergrundwissen in Design, Technologie und Medienstudien für Projekte rund um die Themen freies Wissen, Open Data und Civic Tech ein.
Darunter Stadt Land Code, was wiederum Frag den Staat hervorgebracht hat. Sie ist Mitbegründerin und Projektleiterin bei Code for Germany, ein Programm, das seit 2014 Entwicklungen zu Transparenz, Open Data und Civic Tech in Deutschland zum Beispiel durch Projektlabore unterstützt.
2016 hat sie den Prototype Fund mitbegründet, bei dem die Entwicklung von Open Source Software Prototypen gefördert werden.

Was ist Open Source überhaupt? Wörtlich übersetzt steht der Begriff für offenen Quellcode. Das heißt der Quellcode einer Software und damit die Funktionsweise und Algorithmen werden veröffentlicht und jeder hat die Möglichkeit diese zu lesen und zu überprüfen. Dies ermöglicht zudem auch, dass jeder den Entwicklern Probleme aufzeigen beziehungsweise direkt selbst beheben kann. Natürlich kann nicht jeder alles verstehen und so sind zum Teil Experten notwendig. Auch nicht jeder, der einen Fehler findet, wird diesen melden oder beheben. Für Menschen mit böswilligen Intentionen wird dadurch die Arbeit auch erleichtert.
Kann dann nicht auch jemand meinen cleveren Algorithmus kopieren? Das ist ein Nachteil. Wenn das Geschäftsmodell darauf beruht, dass niemand sonst den Algorithmus kennt, ist das Veröffentlichen des Algorithmus natürlich problematisch. Allerdings kann die Verwendung, Verbreitung und Modifizierung durch Lizenzen eingeschränkt werden. Durch Anwendung von Mehrfachlizenzierung gibt es auch die Möglichkeit, zusätzlich zu der Open Source Variante einer Software, auch eine Premium Variante anzubieten. Weitere Geschäftsmodelle für Open Source Software wären zum Beispiel das Anbieten von Services rund um die Software, wie Training und Weiterbildungen oder technischer Support, Verkauf von Merchandise, wie T-Shirts, oder spezielle Hardware, die mit der Open Source Software betrieben werden kann.
Oftmals entstehen um offene Projekte auch ganze Gemeinschaften, die dann wiederum Richtlinien für ein Miteinander und das Erweitern des Quellcodes aufstellen können. Durch diese Regeln und auch durch den Druck, dass die eigene Arbeit öffentlich sichtbar ist, können Open Source Projekte zum Teil eine höhere Qualität des Quellcodes haben als „Closed Source“ Projekte.

Dieses Jahr war die Bundestagswahl 2017. In dieser modernen Welt kann man sich dann vielleicht fragen, welche Prozesse bei der Wahl durch Software unterstützt werden?
Dies fragte sich zumindest der Informatiker Martin Tschirsich und stieß dabei bei einer „erweiterten Google-Suche“ auf das Programm „PC-Wahl“, welches in verschiedenen Bundesländern „für die Erfassung, Auswertung und Präsentation von Wahlen auf Bundes-, Landes- und Kommunalebene eingesetzt“ wird.
Im folgenden möchte ich die Software kurz vorstellen und auf ein paar der gefundenen Probleme eingehen.
Für Interessierte kann ich das „Chaosradio 239 – Sichere Stimmauszählung“ empfehlen. Etwas mehr in die technischen Details gehen die Beteiligten im Podcast „Logbuch:Netzpolitik 228 – Interessierte Bürger“ über die Analyse einer Wahlsoftware.

PC-Wahl ist eine closed source oder auch proprietäre Software. Das heißt der Quellcode ist nicht der Öffentlichkeit zugänglich und meist nur dem ursprünglichen Entwickler bekannt.
Zusammen mit Hackern vom ChaosComputerClub wurden in der Analyse Angriffsszenarien zur Modifizierung von Ergebnissen und Manipulation der Software, sowie Schwachstellen in der Infrastruktur und bei der Speicherung und Weitergabe von Passwörtern festgestellt. Der Entwickler bemühte sich die aufgezeigten Lücken zu schließen. Die Änderungshistorie dokumentiert die unternommenen Versuche, die Software vor Manipulation zu schützen.
Zuerst sollte dies mit Hilfe von Prüfsummen geschehen. Das Programm sollte eine Prüfsumme der Update-Pakete berechnen und mit der dem Update beiliegenden Prüfsumme abgleichen. Ein Angreifer hätte in diesem Fall zusätzlich zum manipulierten Update-Paket auch eine entpsrechende Prüfsumme hinzugefügt und wäre unbemerkt geblieben. Außerdem ist der für die Prüfsummen verwendete MD5 Algorithmus bereits seit 2004 nicht mehr als sicher angesehen und sollte auch laut dem Bundesamt für Sicherheit in der Informationstechnik (BSI) nicht mehr benutzt werden.
Dieser und auch weitere erfolglose Versuche mit digitalen Signaturen könnten dazu führen, dass den Nutzern der Software nur das Gefühl von Sicherheit vermittelt wird und eine Manipulation an der Stelle trotzdem möglich wäre.
Die letztendlich finale Version, die vermutlich bei der Bundestagswahl verwendet wurde, wurde vor dieser nicht mehr über die Webseite zum Herunterladen angeboten, sondern soll direkt an die Wahllokale und Wahlleiter ausgeliefert worden sein.
Dadurch bleibt sie einer weiteren Sichereitsanalyse verborgen, aber erschwert es auch potentiellen Angreifern, mögliche neue Schwachstellen zu finden und auszunutzen.
Es sollte vielleicht auch hervorgehoben werden, dass diese Software, die in mehreren Bundesländern zur Bundestagswahl und weiteren Wahlen eingesetzt wird, von einer einzelnen Person entwickelt und gewartet wurde und es auch scheinbar unabhängigen Überprüfungen bezüglich der Sicherheit gegeben hat.

Kann Open Source hier die Lösung sein?
Gerade bei einem so wesentlichen demokratischen Grundrecht liegt es vielleicht nahe, dass sich jeder vergewissern können sollte, ob die Software wirklich das tut, was sie verspricht.
Die Kampagne „Public Money, Public Code“ geht sogar soweit, zu fordern, dass gesetzlich vorgeschrieben sein sollte, dass jegliche mit öffentlichen Geldern finanzierte Software ihren Quellcode offen legen soll.
In den Vereinigten Staaten wird unter der Richtlinie mit dem Titel „The People’s Code“ von Regierungsinstitutionen gefordert, dass sie ihren Quellcode regierungsweit zur Verfügung stellen, um mehr Effizienz, Transparenz und Innovation zu erzielen.
Zusätzlich soll ein Teil dieses Quellcodes für die Öffentlichkeit zugänglich gemacht werden und je weiter dies über ein gewisses Minimum getan wird, desto mehr soll die Behörde unterstützt werden.
Doch Open Source heißt nicht ohne Kosten. Dies konnte man beim Münchener Projekt „LiMux“ feststellen. Hierbei wurden bis 2013 in der Verwaltung verwendete Computer vom Betriebssystem Windows auf eine offene Linux Variante umgestellt. Die Haushaltskosten des LiMux-Projektes beliefen sich Ende 2011 auf etwa 11,7 Millionen Euro.
Nun soll Aufgrund von einem anderen Funktionsumfang und wegen Inkompatibilitäten zu anderen Systemen wieder auf Windows gewechselt werden.
Fest steht: Das Entwickeln, Einrichten und Administrieren von Software – egal, ob Open Source oder nicht – beansprucht Zeit und Geld.

Doch wie könnten wir die Idee und Forderung von „Public Money, Public Code“ überhaupt umsetzen?
Die Ausschreibungen für Software für Behörden und Ämter könnten um eine Klausel erweitert werden, die, zusätzlich zur Lieferung der Software, am Ende auch den Quellcode fordert. Erweiterungen und neue Funktionalität können dann wiederum durch neue Ausschreibungen auf Basis der vorhandenen offenen Software umgesetzt werden. Außerdem könnten die Universitäten und Hochschulen eingebunden werden. Dies kann durch Wettbewerbe und Projekte geschehen, die versuchen sollen, die Software zu erweitern oder zu hacken. Dabei könnte das Interesse an den verwendeten Technologien geweckt und Talent gefördert werden. Dies könnte auch dem Mangel an IT-Experten entgegen wirken. Dennoch sollte dabei beachtet werden, dass der Lehrbetrieb nicht als Dienstleister für die Öffentlichkeit misbraucht wird. Zuständige Behörden, wie das BSI, sollten definitiv in die Entwicklung neuer Software für den öffentlichen Dienst involviert werden und – unabhängig von der Offenheit des Quellcodes – eng mit den Entwicklern zusammenarbeiten.

Auch wenn im Fall von PC-Wahl letztendlich keine direkte Wahlmanipulation möglich war, was durch den manuellen Prozess für das endgültige amtliche Ergebnis sichergestellt ist, so können bis zur Veröffentlichung von diesem dennoch mehrere Wochen vergehen, sodass zunächst das vorläufige Ergebnis in der Wahrnehmung der Öffentlichkeit ist und für erste politische Entscheidungen herangezogen wird.
In Zukunft sind auch Online-Wahlen „nicht grundsätzlich ausgeschlossen“, weshalb Sicherheitskonzepte in der Softwareentwicklung für die Behörden und Ämter weiterentwickelt und evaluiert werden sollten.

Referenzen

back to top