Wahlhack 2017 – Wahlsoftware im Einsatz
Der Vortrag "Wahlhack" von Linus Neumann beim Datengarten 80 media.ccc.de/v/dg-80
Weitere Informationen zum Wahlhack: www.ccc.de/de/updates/2017/pc-wahl
Analyse einer Wahlsoftware www.ccc.de/system/uploads/230/original/PC-Wahl_Bericht_CCC.pdf
Digitale Signatur de.wikipedia.org/wiki/Digitale_Signatur
- Musik Playlist 19.2.25
-
- 东方红艳 VS 赵真, 火火的姑娘 youtube.com/watch?v=OMkIAeB787U
Transkription
Hallo, hier ist das politobia-magazin, euer gesellschaftspolitisches Magazin bei Radio X, dem Frankfurter Bürgerradio. Schön, dass ihr dabei seid, schön, dass ihr zuhört. Wir werden uns heute wieder über Wahlen unterhalten.
Wir haben ja schon letzte Woche was zum Thema gehört und heute haben wir euch einen Vortrag mitgebracht, der nochmal die Grundlage schafft für all die Überlegungen, die notwendig sind, um zu sagen, okay, so können wir Software bei Wahlprozessen einsetzen. Der Vortrag ist von 2017, also jetzt schon ein bisschen älter, aber grundsätzlich sind die Überlegungen, die darin angestellt werden, nach wie vor gültig und wir sollten darauf achten, dass wir diese Aspekte auch beim Einsatz von Software beachten. Der Titel heißt Software zur Auswertung der Bundestagswahl unsicher und angreifbar.
Der Linus Neumann wird präsentieren, was sie da so herausgefunden haben, um einen Eindruck zu bekommen, was alles für Lücken und für Fallstrecke, für Fallen entstehen können, wenn man Software in Wahlen einsetzt. Wir müssen vielleicht zwei Details ansprechen, die zwar technische Begriffe beschreiben, aber auch ein bisschen erläutert werden müssen, damit das auch allgemeiner verständlich wird. Zum einen die Frage der Signatur.
Eine Signatur ist sowas ähnliches wie eine Unterschrift oder sowas ähnliches wie eine Echtheitsbeglaubigung. Das funktioniert im Prinzip so. Man hat ein digitales Dokument, also einen Text oder einen Ton, Bild, Video, egal was, und erzeugt eine Signatur und mit dieser Signatur kann man zum einen feststellen, die Authentizität, das heißt derjenige, der dieses Dokument signiert hat, ist auch klar festzustellen, dass er nämlich diese oder jene Person war.
Zum zweiten wird die Integrität festgestellt, das heißt, dass das Dokument in dieser Form bei der Signatur vorlag, also beim Erstellen der Signatur vorlag und seitdem dann auch nicht verändert wurde. Um das umzusetzen, sind zwei Komponenten notwendig. Zum einen ein öffentlicher und privater Schlüssel und ein asymmetrischer Verschlüsselungsalgorithmus, der sich daraus ergibt.
Das heißt, mit einem privaten Schlüssel, den nur der Besitzer selber hat, den er niemals aus der Hand gibt, wird diese Signatur erzeugt und mit dem öffentlichen Schlüssel, der für jeden verfügbar ist, kann jeder eben auch feststellen, ob dieses Dokument mit dem dazugehörigen privaten Schlüssel zu einem bestimmten Zeitpunkt auch wirklich signiert wurde. Das ist wichtig, wenn es darum geht, Software zu verteilen oder Updates zu verteilen, dass man eben weiß, man hat genau die Software des Herstellers bekommen und nicht irgendwas anderes und die Software oder das Update dazu wurde auf dem Weg des Transports eben auch nicht verändert. Die zweite Sache, die anzusprechen ist, im Zusammenhang mit den Details, ist die Selbstverständlichkeit, dass man für eine Implementierung eines Verschlüsselungsalgorithmus das nicht selber macht.
Es gibt natürlich Beispiele, wie grundsätzlich so ein Algorithmus funktioniert. Das kann man natürlich auch selber programmieren, aber es ist eine gute Idee, das ein bisschen anders zu machen. Jemand, der sich auskennt, zum Beispiel im Quelltext dann einen Vorschlag für eine Implementierung, also eine Umsetzung eines Algorithmus vorlegt und dieses Beispiel eben von vielen Experten auch angeguckt werden kann, um zu beurteilen, na, da ist vielleicht hier ein kleiner Fehler oder hier ist was nicht ordentlich umgesetzt und diese Software dann verbessert werden kann und auf optimalen Stand gebracht werden kann, indem viele Experten, die sich wirklich auskennen, sich das angucken und sagen, ja, das sieht gut aus.
Das ist eigentlich der Weg, wie man jetzt vorgehen sollte, um einen Verschlüsselungsalgorithmus zu implementieren, also in Software umzusetzen und es ist keine gute Idee, einfach selber im stillen Kämmerlein als Entwickler irgendwas zusammen zu programmieren, das niemand anders gesehen hat. Da ist die Chance viel höher, dass da Fehler drin sind oder dass das nicht so ordentlich funktioniert, wie man sich das eigentlich wünschen möchte. Diese Selbstverständlichkeit, dass also Verschlüsselungsalgorithmen zum Beispiel öffentlich gemacht werden, wie die funktionieren und eben auch von Experten angeguckt werden können, ist natürlich gerade eine Stärke von so einer Verschlüsselung, dass sie eben wirklich gegen Angriffe von außen auch optimiert werden kann.
Wir hören jetzt aber den Vortrag von Linus Neumann. Wahlhack, Software zur Auswertung der Bundestagswahl unsicher und angreifbar. Ja, der Wahlhack.
Der Wahlhack beschäftigt die Bundesrepublik Deutschland eigentlich schon seit, spätestens Mitte 2016, als es in den USA irgendwie losging mit der Sorge, dass der Russe doch die Wahl hacken könnte. Und ich war mit dem Thema schon so durch, dass ich Presseanfragen dazu, die an den CCC kamen, nur noch mit Ironie beantwortet habe. Ich hätte nicht gedacht, dass das Thema uns noch so lange weiter beschäftigt.
Als wir bei der GPN waren, war da so ein Journalist von Bloomberg und der schrieb nachher einen Artikel über die Geschichte des CCC, die wir ja auch heute zelebrieren. Der Titel war »Das Hacker-Kollektiv, das Deutschland vor dem Russen schützt«. Oder irgendwie vor Wahlbeeinfahrung, Wahlhacks oder so.
Und ich habe ihm vorher gesagt, mach bitte nicht. Und dann hat er gesagt »Ja, aber wenn doch«. Und dann mussten wir irgendwann liefern.
Jetzt hatte der Chaos Computer Club aber schon 2009, 2010 dafür gesorgt, dass Wahlcomputer in Deutschland gar nicht mehr eingesetzt werden dürfen. Es gibt mannigfache Unterlagen dazu. Ich habe da vor kurzem nochmal einen Vortrag gehalten im Heinz-Nixdorf-Forum in Paderborn.
Vier Tage, bevor wir das veröffentlicht haben. Ich musste mir so auf die Zunge beißen. Es geht hauptsächlich bei diesem Wahlcomputer-Verbot darum, dass es den Anspruch gibt an diese Wahl, dass sie geheim und transparent nachvollziehbar ist.
Und wenn du so eine Urne da stehen hast, dann kannst du eigentlich den kompletten Wahlprozess beobachtbar und nachvollziehbar machen. Und solange Siegfried und Roy nicht die Wahlhelfer sind, hast du gleichzeitig eine nachvollziehbare, aber auch eine geheime Wahl. Weil die Leute ja unter den Augen der Öffentlichkeit einen gefalteten Wahlschein da reinwerfen.
Und wenn man jetzt Computer als Wahlgeräte nimmt, dann ist das ohne weiteres nicht möglich. Das so als Vorgeschichte. Weil mit dem Computer ist das entweder geheim oder nachvollziehbar.
Das so als Vorgeschichte oder als Kurzzusammenfassung einer jahrelangen Diskussion, die vor dem Bundesverfassungsgericht endete. Und wo der Chaos-Computer-Club dann eben dafür gesorgt hat, dass Wahlcomputer in Deutschland nicht eingesetzt werden können. Als wir dann immer sagten, wenn der Russe die Wahl hacken will, dann zumindest schon mal nicht über einen Wahlcomputer.
Dann kam irgendwann der Einwand, ja aber Wahlsoftware. Und da fragt man sich, warum wird überhaupt Wahlsoftware eingesetzt? Wahlsoftware wird genutzt zur Organisation, Erfassung und Auswertung von Wahlen. Und um das Problem, was diese Software lösen will, nur so grob zu umreißen.
Es gibt bei einer Bundestagswahl in Deutschland, wir sind jetzt ohne Quelle, aber ich habe irgendwo aus dem Internet, so etwas wie 70.000 Wahllokale. Das ist schon eine ganze Menge. Und dann gibt es nochmal 16 Bundesländer, die jeweils eigene Regelungen haben.
Es gibt zwar einen Bundeswahlleiter, verantwortlich für die Definition und die Vorgaben, wie eine Wahl in einem Bundesland stattfindet, sind aber die Landeswahlleiter. Das heißt, wir blicken hier auf 16 Bundesländer, mit teilweise einzelnen, also abweichenden Regelungen, wie die Wahl genau abzuhalten ist, welche Software dabei zu verwenden ist. Und insgesamt aber 70.000 Wahllokale, die ausgezählt werden müssen.
Und insofern ist es wahrscheinlich richtig, dass man das mit Software macht. Es gibt ja quasi, irgendwo werden diese ganzen Wahlzettel eingeworfen und dann irgendwann muss in der Tagesschau jemand sagen, keine Ahnung, alles bleibt, wie es ist, Mutti ist Kanzler. Aber es muss schnell gehen.
Und um das schnell zu machen, um diese Übertragung irgendwie effizient und ökonomisch über die Bühne zu bringen, nutzen wir also Software. Organisation heißt auch, überhaupt vorzubereiten, wie diese Wahl denn stattfinden soll. Erfassung heißt, die Ergebnisse werden da eingetragen.
Ergebnisse eintragen kann man also eigentlich, theoretisch wird auch von dieser Software unterstützt, schon im Wahllokal. Und dann geht das quasi immer so weiter. Das Wahllokal berichtet an den Gemeindewahlleiter, der Gemeindewahlleiter berichtet an den Kreiswahlleiter und so geht das dann immer in verschiedenen Aggregationsebenen hoch, bis zum Landeswahlleiter, dann haben wir 16 Landeswahlleiter, die berichten zum Bundeswahlleiter und dann ist der Akt vollzogen.
Und es macht natürlich erstmal Sinn, so etwas vielleicht digital zu übertragen, um da Effizienz reinzubringen. Und am Ende wird sogar von der Software ausgewertet. Und spätestens da denkt man sich natürlich so, wenn man sich Gedanken macht, was wir sonst so für Software sehen, egal wo wir hinblicken und insbesondere in Deutschland, dann wäre es doch eigentlich mal vielleicht gar nicht so verkehrt, da ein bisschen Transparenz zu schaffen.
Und da gibt es hier einen jungen Mann, Ingo Höft heißt er glaube ich, der sich jetzt viele Jahre bemüht hat, überhaupt in so eine Software mal Einblick zu bekommen. Der wollte gar nicht die Hacken oder so, sondern hat einfach nur als Wahlhelfer gesehen, da kommt eine Software zum Einsatz. Wir haben hier freie und geheime und transparente Wahlen.
Wie ist das denn mit dieser Software? Die würde ich ganz gerne mal sehen. Es kann ja wohl nicht sein, dass da eine Blackbox stattfindet. Und der ist bis vor das Bundesverfassungsgericht gegangen und hat verloren.
Also Veröffentlichung der Software hielten sie nicht für notwendig und erst recht nicht Veröffentlichung des Quellcodes. Es handelt sich ja auch um ein kommerzielles Produkt. Und wir lesen hier also, eine Überprüfung der Software durch den Landeswahlleiter sei deshalb nicht erforderlich.
Echt geil, der Landeswahlleiter ist dafür verantwortlich, diese Wahl abzuhalten. Der steht am Ende mit seinem Namen für das Ergebnis. Wir haben ihm keine andere Aufgabe gegeben, als dafür zu sorgen, alle paar Jahre mal diesen heiligen Akt der Demokratie durchzuziehen.
Aber da muss er sich ja nicht unbedingt angucken, was er da für eine Software beibenutzt. Das wäre ja Quatsch. Nun kam es dann also so, dass wir irgendwann durch Kai Biermann von Zeit Online, der kam an uns heran und sagte, ja hier, ich habe da so eine Wahlsoftware.
Wir hatten vor ein paar Monaten auch einen Aufruf dazu gestartet und haben gesagt, wir nehmen Spenden entgegen. Da haben wir auch teilweise Software bekommen. Und wenn wir uns die angeschaut haben, haben wir immer so gedacht, das kann eigentlich nicht sein, dass die eingesetzt wird.
Und die war dann auch teilweise relativ alt. Also die neue Version von PC Wahl ist die Version 10. Und das ist jetzt ein Screenshot, original aus dem Benutzerhandbuch.
Und Kai Biermann kam damit an, weil ihm ein anderer Informatiker, auf den ich gleich nochmal eingehen werde, Martin Schirsig, gesagt hat, dass das Ding in Hessen eingesetzt wird. Und wir haben uns das irgendwie angeschaut und gesagt, ja, das kann sein, dass das in Hessen eingesetzt wurde. Die Frage ist, in welchem Wahljahrtausend.
Und wir stellten aber dann fest, ja, nee, wird eingesetzt. Aber dazu komme ich gleich. Also das wird eingesetzt, rühmt sich der Hersteller, in allen Flächen der Bundesländer, bei Kommunalwahlen, Kreiswahlen, Landtagswahlen, Bundestagswahlen, Europawahlen und Volksabstimmungen.
Verantwortlich, auch da habe ich jetzt gerade die Quelle nicht, 33 Millionen Stimmen bei der letzten Bundestagswahl laut Hersteller. Und es gibt aber auch Konkurrenten auf diesem Markt, insbesondere IVU-Elekt. Das haben niederländische Kollegen schon letztes Jahr auseinandergenommen.
Das wurde dann zwischenzeitlich quasi untersagt, das zu verwenden. Das wurde dann rückgängig gemacht, weil die Wahlleiter und Wahlhelfer gesagt haben, ey, wie sollen wir das sonst machen? Also sollen wir irgendwie mit Papier? Geht nicht. Wir können nicht mit Papier und Bleistift die ganzen Wahlkreise zu einer, was auch immer das in Holland heißt, zu einer Wahl von Mark Rutte oder was irgendwie zusammenzählen.
Das geht nicht. Dann gibt es noch, also IVU-Elekt hat schon jemand abgehakt. Dann gibt es VoteManager.
VoteManager, interessanterweise, gehört der Softwarefirma, die mit Gültigkeit zum 01.01.2016 PC Wahl gekauft hat. Da komme ich später nochmal drauf zurück. Und dann gibt es noch so OK Wahl und irgendwelche, wo man noch nicht mal den Namen kennt, offiziell.
Wir haben da schon ein bisschen recherchiert. Mal schauen, was wir da noch veröffentlichen. Es gibt also mehrere dieser Wahlsoftwares und der Grund dafür ist, dass es eben unterschiedliche Ebenen gibt, auf denen man die Analyse anfertigen kann und dass es eben 16 Bundesländer gibt, wo sowieso schon mal unterschiedliche Regeln getroffen werden können.
Naja, wir haben also diese Software vor uns liegen und Kai Biermann hat uns gesagt, ja hier, da gibt es wohl ein paar Lücken. Könnt ihr mal schauen, ob das stimmt. Das ist also, so begrüßt einen dann diese Software.
Wie unschwer zu erkennen ist, ist diese Software modular aufgebaut. Sie verfügt über Module, die teilweise mit einkompiliert sind, teilweise nach arbiträrer Wahl einfach andere Excel-Dateien sind. Und man kann dann hier eine Wahl anlegen.
Hier sieht man also jemanden, das sind jetzt Screenshots von der Webseite des Herstellers, wo man also Wahllokale, werden da jetzt glaube ich angelegt. So, jetzt erkenne ich meinen Bildschirm auch. Dann kann man nachher in dieser Stimmenabgabe, das wäre jetzt so die Maske, die der Kreiswahlleiter vor sich hat, wo er sieht, welche Wahllokale jetzt schon ausgezählt sind.
Also der Kindergarten in der Brüder-Grimm-Straße, der ist jetzt schon ausgezählt worden. Da wurden die Ergebnisse schon eingegeben und übertragen. Und der Briefwahlbezirk 1 noch nicht.
Warum auch immer ausgerechnet der Briefwahlbezirk noch nicht ausgezählt ist, der liegt ja am längsten schon da. Und wenn man dann hier so die Ergebnisse eingibt, dann hat man so eine Maske. Da muss man dann verschiedene Zahlen eingeben und die Software ist auch so klug, dass sie sagt, wenn was falsch ist, also wenn irgendwas nicht stimmt, dann bleibt da was rot, bis man das so geändert hat, dass es grün ist.
Und was dann passiert ist, dann ist das fertig und dann wird das quasi gespeichert und dann kann man das jeweils zu der nächsthöheren Ebene hochschicken. Zu der Architektur komme ich später nochmal. Wir haben uns mal auf der Webseite informiert, was denn so das Sicherheitskonzept dieser Software angeht.
Da gibt es einen eigenen langen Artikel. Sicherheit. Das nächste Mal ist festzustellen, dass diese Software über ein indexfreies Datenbankkonzept verfügt.
Woanders heißt dieses indexfreie Datenbankkonzept FAT, also File Allocation Table, also Dateisystem. Es schreibt einfach Dateien. So einfach macht man ein indexfreies Datenbankkonzept.
Und damit das sicher ist, schreibt es zwei verschiedene Formate von Dateien in unterschiedliche Ordner, die aber vom Inhalt her redundant sind. Dadurch ist das dann auch redundant. Man hat Dateisynchronisation.
Das ist richtig geil. Also die Dateisynchronisation ist wirklich richtig geil. Also man ist in einem Netzwerk.
In diesem Netzwerk gibt es einen Share. Auf diesem Share liegt das Application Directory mit dem Executable. Und alle, die das benutzen wollen, starten einfach das Executable von diesem File Share.
Und dadurch speichert der alles in sein Application Directory. Und dadurch ist das alles immer synchronisiert. Der einzige Nachteil ist natürlich, dass das Ding die ganze Zeit Dateien schreibt.
Also schreibt er sich immer noch Dateien auf die Festplatte, wenn irgendjemand gerade irgendwas bearbeitet, damit nicht irgendjemand anders das auch noch bearbeitet. Das ist der Vorteil offenbar eines indexfreien Datenbank-Konzeptes. Doppelerfassung lokal und auf dem Server, automatisierte Wahldatensicherung, ein Log-System, ein Kontrollmonitor, eine Protokolldatei, Summenprüfungen und Prüfsummen.
Also das mit dem Prüfsummen war der geilste Witz. Also diese Prüfsummen, das haben wir ja noch nicht mal in unserem Report aufgenommen. Die Prüfsumme einer Wahlergebnisdatei ist vierstellig und kann nur aus Integern bestehen.
Das heißt, es gibt also einen Kollisionsraum von 10.000 Möglichkeiten, den ich brauche. Also das haben wir gar nicht in dem Report mit aufgenommen. Irgendwo hat man ja auch sein Stolz.
Was da drin natürlich fehlt, ist irgendwie ein Absatz über den Russen. Das findet einfach nicht statt. Sicherheit wurde auch nie angefragt, laut dem Entwickler dieser Software.
Jetzt macht die Software, und das ist wichtig zu unterscheiden, zwei Übermittlungsmodi. Die gehen aber nicht nur auf die Software zurück, sondern auch grundsätzlich auf den Prozess der Wahl. Und zwar haben wir die Schnellmeldung.
Die wird im Prinzip innerhalb von zwei Minuten veröffentlicht. Das ist ganz einfach. Die Schnellmeldung wird auf einen FTP-Server hochgeladen.
Und da ist wieder eine andere Instanz von FTP-Wahl, die durch die Verzeichnisse geht, gemäß der Wahlorganisationsdatei, alle Dateien einliest, eine HTML-Datei erstellt und die auf wahrscheinlich einem anderen FTP-Server hochlädt. Und das ist dann das Schnellmeldungsergebnis. Da kann man dann live klicken, und alle zwei Minuten ist das aktualisiert.
Das geschieht automatisch. Da muss man einfach nur auf den FTP-Server was hochladen, und dann ist das sofort online. Dann gibt es das amtliche Endergebnis.
Das wird in der Regel mehrere Tage später veröffentlicht. Und das unterliegt, je nach Bundesland, unterschiedlicher prozeduraler Kontrolle. Letztendlich wäre es aber so, wenn, und das habe ich mir von Wahlhelfern erzählen lassen, wenn du also Wahlhelfer bist, gehst du am Abend nach Hause mit dem Zettel, was das Wahlergebnis ist, was du in diesem Wahllokal gesehen hast.
Und wenn das amtliche Wahlergebnis veröffentlicht wird vom Bundeswahlleiter, dann stehen alle Wahllokale, alle Kreise, alles steht da drin. Und du als Wahlhelfer machst dann die Tageszeitung auf, oder Internet oder so, und guckst, aha, hier, mein Wahllokal, Grundschule am Weiher, so und so viel stimmt. Und dann wird das kontrolliert.
Und damit hat man tatsächlich eine Ende-zu-Ende-Kontrolle, die ansetzt, ab dem Moment, wo die Wahlurne geöffnet wird, bis zu dem, wo das amtliche Wahlergebnis bekannt gegeben wird. Würden da also Manipulationen festgestellt werden, wäre spätestens dann der Moment, wo wahrscheinlich, hoffentlich, jemand beim Lesen der Zeitung sagt, nee, Moment mal, das kann nicht sein, und anruft und sagt, nee, auf meinem Zettel steht aber was anderes. Keine Ahnung, wie die dann weitermachen, weil dann steht es ja Zettel gegen Zettel gegen Computersoftware.
Aber die gute Nachricht ist, egal, was man da manipuliert, es würde im Zweifelsfall nicht reichen, um einen neuen König oder so zu installieren. Schauen wir aber mal trotzdem auf die Angriffsszenarien, die sich uns bieten. Der primäre Unterschied, der uns interessiert, ist die Diskrepanz zwischen der Schnellmeldung innerhalb von zwei Minuten.
Das ist im Prinzip dann auch das, was einfließt, wenn es dann irgendwie das erste nichtamtliche, auszählungsvorläufige Ergebnis oder so etwas gibt. Das wäre also so Tagesschau zwischen 18 und 20 Uhr. Das interessiert uns.
Und wenn jetzt also drei Tage später jemand sagt, okay, das sieht doch anders aus, dann kann man sich ungefähr vorstellen, was die AfD-Anhänger für Verschwörungstheorien verbreiten. Insofern würden wir sagen, das reicht schon als Schadenspotenzial. Wir haben eine Reihe an Schwachstellen entdeckt, die ich hier gar nicht alle erwähnen möchte.
Wir haben 23 Seiten Bericht darüber geschrieben. Aber es geht einmal um diesen FTP-Upload, es geht um Software-Updates und es geht um die Dateiformate an sich. Das sind also jetzt die drei Angriffsszenarien, die jeweils aus einer Kombination mehrerer Schwachstellen bestehen.
Und wir fangen an mit dem FTP-Upload in Hessen. Das sieht also so aus, das hatte ich ja schon erzählt. Hier ist dieser Samba-Fileshare, oder bei Windows heißt das, glaube ich, nur SMB.
Und dann kommen die ganzen, hier sind die ganzen, entweder schon Wahllokale oder darüber die Ebene, also die Wahlkreisleiter. Die laden also jetzt alle innerhalb eines Intranets von einem SMB-Fileshare dieses Executable und führen das aus. Klar, ne? Okay.
Und die Ergebnisse laden sie dann auch innerhalb dieses Intranets auf einen FTP-Server. Und da kommt dann ein anderer Computer, auf dem vermutlich auch PC-Wahl läuft, könnte aber auch etwas anderes laufen. Und das sind dann dieses vorläufige Ergebnis.
Übrigens, dieses GIF habe ich von der Webseite des Herstellers. Mir hat es da an Kreativität gemangelt. Und jetzt gibt es also einen kommunalen Dienstleister, der betreibt dieses Internet.
Und das ist die Ecom21. Und jetzt kommt das Problem für die Ecom21. Die Ecom21 veröffentlicht für ihre Wahlhelfer Anleitungen, wie mit der Software zu verfahren ist.
Und sie veröffentlicht die Konfiguration für die Software PC-Wahl. Die Software wird ja in mehreren Bundesländern eingesetzt, kann unterschiedliche Wahlen abhalten und kann auch so konfiguriert werden, dass sie an unterschiedlichen Stellen Ergebnisse hochlädt. Ob jetzt über FTP oder HTTP, da ist der Kreativität auch keine Grenze gesetzt.
Und diese Konfiguration hat Ecom21 genauso wie die Anleitung auf ihrer Webseite veröffentlicht. Weil die Wahlhelfer, die sind ja nicht in diesem Intranet und die müssen sich ja vorher schon informieren können. Also hat Martin dort eine Anleitung gelesen, und da stand dann so, laden Sie die Konfigurationsdatei von PC-Wahl runter über unsere Webseite, einmal hier klicken.
Und da war dann diese Konfigurationsdatei. Die lag also offen im Internet. Und Martin hatte also Google, dadurch hat er die Ecom21 gefunden.
Er hatte einen Texteditor, mit dem konnte er die Konfigurationsdatei lesen. Und er hatte einen Debugger, in dem konnte er sich anschauen, was PC-Wahl dann mit dieser Konfigurationsdatei macht. Und das Ergebnis sieht dann so aus.
Er brauchte gar keinen PC-Wahl mehr, sondern er konnte sich direkt mit dem FTP-Server verbinden. Nutzername Wahlen, Passwort Wahlen, FTP. Und ihr erinnert euch, dass die Software ja auf ganz vielen Clients läuft.
Und die müssen ja auch alle zugreifen. Jetzt wäre die sinnvolle Option gewesen, wenigstens jedem einzelnen dieser Clients einen eigenen FTP-Zugang zu geben und ein eigenes Verzeichnis, dass er zumindest nur seine eigenen Wahlergebnisse abliefern kann. Die hatten aber alle den gleichen Nutzernamen, Wahlen und Wahlen FTP als Passwort.
So dass der Martin dort nicht nur die Ergebnisse von allen Wahllokalen Hessens einsehen konnte, sondern auch noch von allen Wahlen in der Vergangenheit. Alte Bundestagswahlen, Landtagswahlen, das lag alles dort drauf. Und die Übung für den interessierten Russen wäre jetzt also einfach nur noch gewesen, sich mit diesem FTP-Server zu verbinden, die Ergebnisse runterzuladen, die andere da abliefern, sie durch die Ergebnisse, die uns besser gefallen, zu ersetzen und wieder auf diesen FTP-Server hochzuladen.
Fertig ist die Wahl. Das interessierte Publikum hat vielleicht bemerkt, dass es aber vorher noch gilt, Zugriff auf dieses Internet zu erlangen. Benutzername Test, Passwort Test.
Ich bin mir nicht sicher, ob das in der Anleitung stand, aber wenn man sowas testet, dann… So, das war der traurige Zustand. Martin hat das einzig Richtige getan, hat das denen gemeldet und hat gesagt, also passt mal auf, das kann ja wohl nicht sein. Und die haben dann auch sofort die Sachen offline genommen und als er dann nochmal Bescheid gesagt hat, auch die Passwörter geändert.
Zu diesem Zeitpunkt kam dann Zeit Online zu uns und sagte, hier könnt ihr das mal verifizieren. Und wir konnten es in dem Moment nicht mehr verifizieren, weil die Passwörter waren ja geändert. Aber wir hatten jetzt diese Software und haben uns die dann halt mal ein bisschen angeschaut.
Und der spannende Teil, der uns auch viel in dem Wahlerlass ist, also in dem Wahlerlass steht quasi drin, wie zu verfahren ist bei einer Wahl und da steht drin, machen Sie ein Update. Okay, haben wir uns also angeschaut, wie funktioniert denn dieses Update. Also hier ist so ein Computer, auf dem läuft PC-Wahl, dann gibt es da das große böse Internet wieder.
Und in diesem großen bösen Internet befindet sich ein Server, der jetzt der VoteIT gehört, früher einem Unternehmen mit dem klangvollen Namen Berninger Software. Und allein darauf befanden sich vier Schwachstellen. Drei davon haben es uns erlaubt, Dateien auf diesen Server zu schreiben.
Die andere hat es uns erlaubt, nur zu lesen. Da kamen dann so Scherze bei raus, dass es sich bei diesem Server um einen Shared Host handelt, der bei 1&1 steht. Und auf dem irgendwie so was wie, ich glaube, 5507 weitere Nutzer sind, die da auch ihren Webspace haben.
Das ist jetzt kein Sicherheitsproblem, weil die sind ja alle in so einem CH-Root. Aber es zeigt ungefähr, wie viel Mühe man sich hier gegeben hat, die Nähe zum Wähler zu wahren. Und jetzt war also die Frage, wenn wir den Server geownt haben, dann können wir einfach unsere eigenen Updates da hinlegen und dann werden die einfach installiert an zentraler Stelle.
Und zwar von allen, die sie gemäß Wahl erlassen, das Update machen. Und damit wäre der Drops dann eben gelutscht und 33 Millionen Wählerstimmen in unserer Hand. Aber die Updates sind verschlüsselt.
Und die sahen auf Anhieb jetzt nicht direkt leserlich aus. Und hier zitiere ich die Veröffentlichung von Zeit Online. Damit niemand Unbefugtes an diese Passwörter kommt, sind sie in PC-Wahl verschlüsselt gespeichert.
Ein normaler Mensch kann die nicht auslesen, denn ich habe einen eigenen Kompressionsalgorithmus gebaut. Da braucht es schon viel Gehirnschmalz, um den zu knacken, sagt der PC-Wahlentwickler. Und wir saßen also da und haben gesagt so, Scheiße, Günnar, wir brauchen Gehirnschmalz.
Und die Frage war einfach nur so, oh nein, wie viel denn? Naja, auf der Webseite des Entwicklers gibt es Rätsel und die sind ungefähr auf dieser Ebene. Ich glaube, wir haben eine Chance. Er rümmt sich diese Rätsel.
Die Lösung ist nicht so schwer. Weiß jemand auch die Lösung hierzu?
31, jawoll, auch du hast Gehirnschmalz. So, dann haben wir also gedacht, okay, die Menge an Gehirnschmalz, die hier benötigt wird, ist, sag ich mal, in einem Rahmen, wo wir uns eingebildet haben, vielleicht eine Chance zu haben. Mithilfe einer jungen Dame, einer in der Geschichte der Informatik sehr berühmten jungen Dame, Aida Pro, der Disassembler Aida Pro, der natürlich nach Aida Loveless benannt wurde.
Dann beginnt die Arbeit von Torsten Schröder, der nicht nur eine Gehirnschmalzroutine aus dieser Software extrahiert hat. Das sieht dann im Disassembler noch ein bisschen anders aus. Man braucht noch eine weitere Ladung Gehirnschmalz, um das in C-Code zu übersetzen.
Und dann ist man in der Lage, diese verschiedenen Geheimnisse, die PC-Wahl vor dem Nutzer versteckt, zu entschlüsseln. Ich will jetzt gar nicht ins Detail gehen. Also die Passwörter für den FTP-Server waren mit einer anderen Verschlüsselungsroutine verschlüsselt als diese Updates.
Aber am Ende alles eine Soße, wurden reverse-ingeniert und es handelte sich grundsätzlich dabei um symmetrische Kryptografieversuche. Und das Schöne bei symmetrischer Kryptografie ist, wer erkennt den Fehler? Wer erkennt an dieser Stelle den Fehler? Hast du einen Key, hast du alle und es gibt nur einen. Die Verschlüsselung dieser Updates mit diesem Key ist kein wirksamer Schutz dagegen, sie zu fälschen.
Denn wie wir hier extrahieren, hier haben wir den Key und hier haben wir den Algorithmus, um Software-Updates zu entschlüsseln. Also wir konnten jetzt diese 001-Dateien entschlüsseln und haben daraus ein Verzeichnis gemacht, wo quasi die Update-Dateien extrahiert wurden. Wir haben dann, hatten wir eigentlich schon gebaut, einen Patch gebaut für PC-Wahl, für die Datei studio.exe, der erst beim Export die Dateien verändert.
Also während du da sitzt und deine Wahlergebnisse alle eintippst, sieht alles ganz normal aus. Und wenn du dann sagst, jetzt exportieren wir die Datei zum Upload, dann greift unser Patch und schreibt andere Ergebnisse in die Ergebnissdatei, die du nicht mehr einsiehst und hochlädst. Das heißt, jetzt konnten wir die Updates entschlüsseln.
Wir konnten die Software patchen, um andere Wahlergebnisse zu extrahieren, obwohl sie richtige anzeigt. Und wie du gerade schon sagtest, dadurch, dass wir diesen Algorithmus hatten und der für das Verschlüsseln und für das Entschlüsseln gleich ist, konnten wir auch valide Updates bauen. Das ist zum Beispiel jetzt schlecht.
Wir konnten also auch valide Updates bauen mit bösartiger Manipulation. Und da wir ja hier vier Vulnerabilities auf dem Server hatten, konnten wir die auch wieder hochladen. Und weil sich ja alle gemäß Wahlerlass um die Sicherheit sorgen, machen sie kurz vor der Wahl ein Softwareupdate, das von uns freundlicherweise bereitgestellt wird.
Achso, und wir haben das alles auf GitHub gestellt. Das war so der zweite Streich. Damit war das Thema eigentlich durch.
Aber wir hatten dann noch was. Schauen wir uns mal die Dateiformate an, die dabei am Ende rauskommen. Also es kommt raus, eine XML-Datei folgenden Format.
VE-Gemeindeziffer-Datum-Uhrzeit.xml. Und diese XML-Dateien, da steht dann drin, Partei-ID 1 hat so und so viele Stimmen, Partei-ID 2 hat so und so viele Stimmen. Und wir haben uns dann noch ein bisschen das Format angeschaut. Es gibt irgendwie vorläufiges oder Hochrechnungsbezirksergebnis.
Man kann den Wahlbezirk angeben. Also das war relativ einfach, weil es war eine XML-Datei. Und man konnte also, uns sind die ungültigen Stimmen und so.
Das war jetzt alles nicht schwer zu verstehen, wie dieses Format funktioniert. Und hier ist es auch mal abgebildet. Und jetzt kommt wieder die Frage an das Publikum.
Was fehlt diesem Dateiformat? Das ist in der Konfigurationsdatei drin, welche Partei welche Nummer hat. Auch da wäre natürlich wieder viel Spaß mit Zahlen möglich gewesen. Aber es gibt was ganz Fundamentales.
Signatur. Ich habe es da hinten irgendwo gehört. Eine Signatur.
Es gibt keinen Beweis, Nachweis, Prüfsumme, irgendetwas, die belegt, dass dies die Datei ist, die der Bezirkswahlleiter oder der Kreiswahlleiter oder auch nur der Helfer im Wahllokal abgenommen hat. Das heißt, hier wird einfach unsignierte, noch nicht einmal Integritätsgeprüfte Dateien teilweise per E-Mail durch die Welt geschickt. Es gibt wunderschöne, auch öffentliche PDF-Dateien, in denen so etwas Schönes drinsteht wie Sollte der Upload nicht funktionieren, schicken Sie bitte die extrahierte XML-Datei an Bezirkswahlleiter at wahlen.rheinlandpfalz.de oder sowas.
Also auch hier bietet sich noch sehr viel Spaß, indem man einfach so einen FTP-Server DDoSt und 500 E-Mails pro Sekunde mit XML-Dateien an diese E-Mail-Adresse schickt. Und die hätten keine Chance, in irgendeiner Form hier nachzuweisen, von wem so eine Datei stammt. Jede Veränderung an den Dateien ist nicht nachvollziehbar.
Eine Authentizität der Dateien kann nicht geprüft werden. Also auch da wieder so Mut. War ja aber alles gar nicht so schlimm, denn es gibt ja Fixes.
Es ist in der Tat so, das war für uns, was die Arbeit in den Nächten anging, eher ein Ärgernis, dass unsere Freunde bei der Presse natürlich ihrer Sorgfaltspflicht nachgekommen sind und den Hersteller mit unseren Schwachstellen konfrontiert haben. Daher kommt auch dieses Zitat. Wie verhindern Sie denn, dass Updates gefälscht werden? Ja, mit Gehirnschmerz, okay.
Und die haben also quasi gleichzeitig, während wir auf unser Veröffentlichungsdatum zusteuerten, auch Software-Updates gemacht. Leider mussten wir dann immer feststellen, dass diese Software-Updates ein bisschen am Problem vorbei entwickelt waren. Aber da komme ich jetzt nochmal zu.
Dann doch recht interessiert waren wir, als wir am 7.9., also am Tag der Veröffentlichung, dann folgenden Tagesschau-Beitrag sahen. Das ist übrigens Thorsten Schröder von der Tagesschau. Nicht zu verwechseln mit dem Reverse-Engineert Thorsten Schröder.
Bei einem Computerprogramm, das bei der Bundestagswahl eingesetzt werden soll, sind erhebliche Sicherheitsmängel festgestellt worden. Das ist das Ergebnis einer Untersuchung, an der unter anderem der Chaos Computer Club beteiligt war. Die Experten kommen zu dem Schluss, dass die Software über viele Kommunen, die Wahlergebnisse weitermelden, nicht abgesichert sei.
Der Bundeswahlleiter sprach von einem ernsten Problem. Inzwischen habe der Hersteller aber nachgebessert. Und wir irgendwie so, oh nein, noch mehr Arbeit.
Gucken wir auf die Seite. Letztes Software-Update, 5. September 2017. Das war zwei Tage vor unserer Veröffentlichung.
Und alle Exploits, die wir veröffentlicht und dokumentiert haben, beziehen sich auf diese Datei vom 5. September. Und ich habe in dem Bericht auch extra die zwei Absätze eingefügt. Erster Behebungsversuch und zweiter Behebungsversuch.
Und wir haben die Schwachstellen in den Behebungsversuchen auch nochmal dokumentiert. Aber einfach nur, weil die so gemein waren, uns am 5. September noch ein Update zu geben, bin ich so gemein, zu erklären, warum das scheiße war. Hier haben wir einen kleinen Screencast, wo wir die Software, die Absicherung der signierten Updates… Also das war echt tatsächlich etwas… Also in den Changelogs zu der Version 10 vom 5. September stand, digitale Signatur.
Und wir schon so, oh, ärgerlich. Weil wenn jetzt wirklich die Softwareupdates signiert gewesen wären und die Ergebnissdateien auch, dann wäre dieser Tagesschaubericht über unsere Forschung korrekt gewesen. Und das wäre ja schade gewesen für uns, weil wir wollten ja schon ein bisschen angeben auch.
Naja, haben wir uns dann mal angeschaut, was denn hier so mit der Signatur stattfindet. Wir sehen, Studio Excel wird geladen. Man meldet sich an.
Klar, als Administrator einfach OK drücken. Auch sehr geil. Sehr geil ist, diese Software begrüßt einen mit Guten Tag, heute ist der 6.9.2017, es ist 2.10 Uhr.
Ja, wir haben das abends gemacht. Sie sind unter dem Namen Administrator angemeldet, Ihre letzte Anmeldung erfolgte dann und dann. Möchten Sie die Aktualität Ihrer PC-Wahl-Installation überprüfen? Natürlich! Jetzt sagt er, es gibt eine neue.
Dann muss man irgendwie hier... Haben wir aber erstmal gesagt, wir prüfen die Signatur unserer Software erstmal, um die Integrität unserer Software zu zeigen. Das ist also hier. Die hat jetzt eine eingebaute Funktion.
Man hat jetzt hier die Möglichkeit, einen MD5-Selbsttest zu machen. Wer möchte den Fehler erklären? Weil ich bin ein bisschen erkältet und muss meine Stimme schonen. Der Fehler besteht darin, dass es MD5 ist und wir nun das 12.
Jahr schreiben, seitdem MD5 als nicht sicher gilt. Also MD5 ist eine kryptografische Prüfsumme, die sich dadurch auszeichnet, dass man für jede Datei einen MD5-Hash errechnen kann und nur schwer in der Lage sein sollte, eine Datei zu bauen, die einen vorgegebenen MD5-Hash hat. MD5 hat Kollisionen oder die Möglichkeit, Kollisionen in MD5 zu berechnen, wurde erstmals 2005 dokumentiert.
Inzwischen macht man das, glaube ich, mit so einer Grafikkarte oder mit einer CPU am Nammetag oder sowas. Je nachdem, wie groß die Datei ist. Wer möchte mir sagen, was falsch wäre, wenn ich eine zeitgemäße kryptografische Prüfsumme nutzen würde? Der Selbsttest ist ein großes Problem und es ist keine Signatur.
Also drei Fehler auf einmal in nur einer Zeile Code, das muss man auch erstmal schaffen. Wir überprüfen hier mit einem unsicheren Hashing-Algorithmus, wir überprüfen keine Signatur und wir überprüfen es selber, was natürlich bei einer manipulierten Software oder dem Verdacht auf Manipulation der Software ohnehin eine schlechte Idee ist. Aber wie völlig überraschend sich herausstellt, funktioniert der Selbsttest.
Da haben wir auch noch nicht manipuliert, also das ist tatsächlich eine unmanipulierte PC-Wahl-Version. Jetzt werden wir sogar noch angewiesen, die digitale Signatur zu prüfen. Stand ja auch in dem Update drin, die digitale Signatur.
Das Zertifikat lautet auf die Regio IT GmbH. Das sieht schon aus wie so ein Phishing-Zertifikat. Also ich meine, die können ihren eigenen Namen nicht richtig schreiben.
Also Zertifikat stimmt auch, alles richtig. Das ist einfach, könnt ihr wahrscheinlich auch vergleichen mit der Version vom 5. September, die müsste das eigentlich sein. Dann machen wir ein Online-Update.
Ja, wir möchten ein Update, dann kann man sich aussuchen. Will man das über FTP machen, dann sieht man in den Change-Notes, was alles passiert ist. MD5-Summen sogar für die Meldungsdateien.
Und hier ist das Update. Der Applaus übrigens an Torsten Schröder, der das alles gebastelt hat. Der Chaos-Knoten könnte also genauso gut eine manipulierte Studio.exe sein, die andere Wahlergebnisse hochlädt.
Tja, also die Update-Signatur hat schon mal nicht funktioniert, aber naja, vielleicht signieren sie ja die Dateien, die sie hochladen. Also die Wahlergebnisse wäre ja auch schon so eine Idee. Nun, nehmt PGP, haben sie gesagt.
Und sie haben dann tatsächlich gesagt, na ok, jetzt gibt es die optionale Möglichkeit, eure Wahlergebnisse, die ihr hochladet, mit PGP zu signieren. Und da fragt man sich natürlich so, boah, das könnt ihr machen, aber wahrscheinlich wäre es einfacher, wenn ihr einfach die Wahlergebnisse vergleicht, als wenn ihr jetzt die PGP-Fingerprints vergleicht. Denn ihr habt ja quasi das Key-Management, wie wollt ihr das hinkriegen? Es gibt ja jetzt potenziell bis zu 70.000 abliefernde Instanzen.
Ich gehe immer auf diese Zahl, weil sie groß ist. Am Ende wären es nur Gemeinde- oder Kreiswahlleiter gewesen, also sehr viel weniger als 70.000. Aber wir reden immer noch von mehreren hundert oder tausend PGP-Signaturen, die hier geprüft werden müssen. Und man fragt sich natürlich, wie wollt ihr das jetzt noch machen? Also wie wollt ihr jetzt überhaupt jedem Wahlleiter, der da irgendwie mit diesen Ergebnissen in Kontakt kommt, einen PGP-Key geben? Soll der sich den selber generieren? Gebt ihr ihm den, vielleicht verschlüsselt oder so? Und die zweite Frage, die sich stellt, nutzt ihr eine Library und legt PGP in euer Studio.exe rein? Oder nutzt ihr einfach GnupG4Win und ruft es auf? Die elegante Möglichkeit wäre gewesen, PGP mit reinzukompilieren und einfach dort Keys zu generieren.
Deswegen haben sie sich für die andere entschieden. Und ich zitiere jetzt mal, das ist einfach ein Screenshot aus unserem Bericht. Also auch hier wieder die magische Zahl 3, Fehler in einer Zeile Code.
Die PGP-Passphrase wird über die Kommandozeile übergeben. Das bedeutet, man kann also für den kurzen Moment, in dem PGP aufgerufen ist, im Process Monitor sieht man dann den Aufruf von PGP. Und da steht direkt die Passphrase zu dem Key.
Also da kann der Angreifer die Passphrase sehen. Denn natürlich, der Key liegt ja ohnehin da. Was uns interessiert, wenn wir also ein Exploit auf dem Host haben, ist die Passphrase.
Wenn man in die Man-Page von GPG schaut, dann steht zu dem Argument, minus minus Passphrase. Obviously, this is a very questionable security. Don't use this option if you can avoid it.
Das war jetzt das Update. Hätten sie die Man-Page gelesen, hätten sie gesehen, dass das keine gute Idee ist. Aber es ging noch weiter.
Die GPG-Passphrase wird unverschlüsselt gespeichert. Und zwar, weil sie PGP nicht reinkombinieren in ihr eigenes Binary und immer mit PGP kommunizieren, rufen sie erst einmal PGP List Keys auf und schreiben das Ergebnis in eine TXT-Datei. Die liest dann wieder Studio.exe aus und sagt, es gibt potenziell mehrere Keys auf diesem System.
Welchen möchtest du nutzen? Dann sagt der Nutzer ja den. Dann sagt Studio.exe, gib mal das Passwort. Und dann wird quasi eine Batch-Datei gebaut, in der minus minus Passphrase steht.
Und die wird auf die Festplatte geschrieben. Also haben wir jetzt den Befehl zum Signieren unserer gefälschten Wahldateien auch direkt auf der Festplatte liegen. Und nur um es langweilig zu machen, wird sie dann auch noch einmal verschlüsselt auf der Festplatte gespeichert.
Da kommt wieder so eine Heimwerker-Kryptographie zum Einsatz, die auch schon bei den FDP-Passwörtern zum Einsatz kam. Also hier ein neues Feature, drei Schwachstellen, wie man an diese Passphrase kommt, um dann eben unsere Dateien zu signieren. Und auch das natürlich auf GitHub für die interessierten Kollegen.
Ja, soviel zu den signierten Wahldaten. Also signierte Updates haben sie verkackt, signierte Wahldaten haben sie versucht. Gibt es noch einen anderen Fix? Ja, natürlich.
Nuke it from orbit, it's the only way to be sure. Hessen hat dann einfach den Wahlerlass B16 erlassen. Der ist nicht öffentlich und der funktioniert ungefähr so.
Man gibt einfach alles wieder am Telefon durch und freut sich, weil das ja viel sicherer ist. Und somit, also das Argument ist, naja, wir erkennen also an, dass diese Software im Zweifelsfall broken beyond repair ist. Und dann wollen wir es wenigstens so schnell wie möglich merken, wenn da was manipuliert wurde.
Also machen wir den Ende-zu-Ende-Check von demjenigen, der es eingegeben hat, bis zu demjenigen, der es am Ende veröffentlicht. Einfach nochmal über Telefon, weil auf die Idee wird ja keiner kommen, da einfach auch noch was Falsches durchzugeben am Telefon. Kommen wir zum Fazit.
Und in der Kommunikation des Herstellers passiert genau das, was wir erwartet haben. Also es gibt einmal dieses, ja, wir haben ein Update, gehen Sie weiter, hier gibt es nichts zu sehen. Und die Bundesländer, die PC-Wahlen nicht einsetzen, sagen, ha, voll geil, wir benutzen eine andere Software und die ist sicher.
Und ich kann hier Rob Gongreib und Alex Hollerman zitieren, die einzigen als sicher bekannten Verfahren sind die, die wir uns noch nicht angeschaut haben. Was für ein Zufall. Gleichzeitig diese unsignierten Dateiformate, diese XML-Dateien, deren Spezifikation kommt jeweils vom Landeswahlleiter, also von der obersten Ebene.
Und jetzt wäre es theoretisch also denkbar, dass in einem Bundesland verschiedene Softwares in unterschiedlichen Gemeinden zum Einsatz kommen. Die werden aber am Ende alle die Datei gemäß Speck des Landeswahlleiter hochladen, nämlich die unsignierte XML-Datei. Das heißt, mindestens eine Schwachstelle haben wir dokumentiert, die für jede andere Software genauso gilt, sofern sie sich an die Speck der jeweiligen Landeswahlleiter hält.
Zur Vollständigkeit sei angemerkt, es gibt in unterschiedlichen Bundesländern unterschiedliche Dateien, die hochgeladen werden, aber nirgendwo ein ordentliches signiertes Format. Dieser Vortrag, den ich jetzt gerade gehalten habe, war eigentlich nur ein Vortrag über Kerkhoffs Prinzip. Kerkhoffs Prinzip, irgendwo 1800, hast du nicht gesehen, statuiert.
Es sind mehrere Prinzipien, aber was immer zitiert wird, ist das, was hier in Rot steht. Dein Sicherheitssystem darf keiner Geheimhaltung bedürfen und es dürfte kein Problem sein, wenn es in die Hände des Feindes fällt. Nun, hier haben wir sehr viele Kerkhoffs Zeitbomben, immer dann, wenn Verschlüsselung zum Einsatz kommt, immer dann, wenn Signaturen nicht verwendet werden, immer dann, wenn auf asymmetrische Kryptografie verzichtet wird.
Mit diesen Ergebnissen tigert der Kai Biermann also zu den Landeswahlleitern und zu dem Entwickler der Software und die zeigen dann, mit wie viel Ernsthaftigkeit sie ihrer Arbeit nachgehen. Also hier, Herr Bennemann ist, glaube ich, der Landeswahlleiter von Hessen. Ja, es gibt bessere Passworte als Test, das ist unangemessen, das hat er auch gleich eingesehen.
Und die Manipulation der Software sei zumindest störend, aber die Wahlergebnisse könnten jederzeit nachgeprüft werden, sie stünden letztlich noch immer auf Zetteln. Das Endergebnis ist nichtsdestotrotz gesichert. Das sagt auch Volker Berninger, der Entwickler von PC-Wahl.
Bei dem schlimmsten Szenario würde jemand damit Verwirrung stiften. Dann würden zwar irgendwelche falschen Ergebnisse im Internet stehen, aber auf dem Papier wären noch immer die richtigen vorhanden. Das gibt Ärger und Verwirrung, hat aber keine Relevanz.
Also mal ganz im Ernst, mit dieser Einstellung über Jahrzehnte die Software zu liefern, die in Deutschland die Wahlen auszählt, da bleibt mir echt die Spucke weg. Und da kann ich auch gar keine Witze mehr drüber machen. Also wenn jemand seine Aufgabe derartig lapidar auffasst, dann fällt mir einfach nichts mehr zu ein.
Ich hätte gedacht, die eine Aufgabe, die irgendeiner mal wahrnimmt, wenn er so eine Software baut, ist dafür zu sorgen, dass er das, was er da schafft, wovon er da lebt, was vielleicht auch der Stolz dieses Menschen ist, in irgendeiner Form ernst nimmt. Aber es ist offenbar eh alles irrelevant. Deswegen hat er es auch in Delphi geschrieben.
Welche Konsequenzen fordern wir? Die Beschleunigung der Vorgänge bei einer Wahl dürfte nicht das Primat vor Sicherheit, Korrektheit und Nachvollziehbarkeit haben. Geschwindigkeit ist kein Wert an sich, Sicherheit hingegen schon. Keine Softwarekomponente, die am Wahlausgang oder den Wahlmeldungen beteiligt ist, darf geheim gehalten werden.
Im Moment blicken wir auf Urteile des Bundesverfassungsgerichtes, die urteilen, dass das offenbar akzeptabel ist, dass hier Software geheim gehalten wird. Und natürlich unsere Forderung, solche Oldtimer-Software muss in modernen, sicheren Programmiersprachen mit zeitgemäßen Konzepten neu geschrieben werden, begleitend auditiert werden. Und die Auditorgebnisse müssen parallel mit dem Quellcode publiziert werden.
Ich stelle mir da tatsächlich so etwas vor wie github.com slash bundeswahlauswertung.git Und dann gibt es einen vernünftig abgesicherten Weg, wie die Wahlergebnisse hochgeladen werden. Und die Wahlergebnisse werden alle signiert mit einer qualifizierten elektronischen Signatur von so einer Smartcard, zum Beispiel vom Personalausweis oder so. Und dann kann man einfach einmal sagen, Bundestagswahl 2017 pull.
Und dann kann man quasi anhand eines Zertifikats die komplette Chain der Wahlergebnisse einmal durchverifizieren, kann sich einmal die Bundestagswahl neu ausrechnen lassen und kann nach den Bugs in der Software suchen. Denn was wir gemacht haben, sind einfach nur Sicherheitslücken in der Software. Wir wissen ja noch gar nicht, ob diese Software überhaupt vernünftig richtig funktioniert.
Ich meine, das war der Ursprung dieses ganzen Theaters und diese Frage haben wir noch nicht einmal beantwortet. Man könnte also auch eigentlich sagen, denken first, digital second. Und das habe ich von Google Translate, das heißt nachmachen.
Nachmachen könnt ihr das alles unter github.com. Dann haben wir die Demonstrationen veröffentlicht und den Report auf ccc.de. Und es bleibt mir nur noch einmal Torsten Schröder und Martin Tschiersich zu danken, die den ganzen Mist mit mir ausgeheckt haben. Es war eine wahre Freude. Vielen Dank.
Das war jetzt der Vortrag von Linus Neumann. Wahlhack, Software zur Auswertung der Bundestagswahl unsicher und angreifbar. Den hat er gehalten 2017 und zwar im Umfeld des Datengarten vom ccc Berlin.
Das ist eine Veranstaltung, wo immer interessante Themen zum Thema Computersicherheit oder auch Computereinsatz diskutiert werden und vorgetragen werden. Diese Sendung könnt ihr natürlich nachhören auf unserer Webseite politopiamagazin.de. Dort haben wir alle unsere bisherigen Sendungen abgespeichert und ihr könnt natürlich auch in den Shownotes gucken. Dort findet ihr Links, wo wir weiterführende Informationen zu diesem Thema versammelt haben.
Das politopia-magazin hört ihr jeden Mittwoch 16 Uhr bei Radio X. Wir hören uns wieder nächste Woche. Bis dann.