*34C3 Vorspannmusik*
Herald: So, ums ganz schnell zu machen, mein bester Freund - Hallo, Silvan! - sagte
zu dem Thema, was hinter uns an der Wand steht: "Der geilste Hack und geilste Arschtritt
seit der Post". So sehe ich das auch. Linus, Thorsten, Martin, zum PC-Wahl-Hack.
*Applaus*
Linus: Schönen guten Abend, wir freuen uns, dass ihr hier seid, um uns zuzuhören.
Ich bin der Linus. Meine Hobbys sind Reiten, Schwimmen, Lesen und Hacken.
Thorsten: Ich bin Thorsten und ich mach gern Sachen kaputt.
Martin: Und ich bin Martin, heute aus Darmstadt und ich bin interessierter Bürger.
*Applaus*
L: Vielen Dank. Das ist dein Applaus, Martin. Wir haben ein Wahlprogramm
mitgebracht. Wir führen kurz das Thema ein. Wir stellen euch ein paar Angriffs-
Szenarien vor, setzen uns dann mit einigen Versuchen auseinander, diese zu fixen und
kommen zu einem Fazit. Zunächst stellt sich ja überhaupt die Frage: Wofür braucht
man eine Wahl-Software? Gewählt wird doch auf Stift und Papier? Nun, die Wahl muss
organisiert werden, sie muss erfasst werden und sie muss ausgewertet werden. Am
Ende muss da eine Zahl stehen und das Problem, was hier zu lösen gilt, ist 70
Wahllokale - 70.000 Wahllokale bundesweit bei so einer Bundestagswahl, 16
Bundesländer mit eigenen Regelungen und da dann eben Gemeinde-Wahlbezirke, die ihre
Schnellmeldungen an einen Gemeindewahlleiter geben, der
Gemeindewahlleiter übermittelt sie einen Kreiswahlleiter. Der wiederum ermittelt
sie... übermittelt sie an den Landeswahlleiter und dann irgendwann mit
allen diesen möglichen Ergebnissen sitzt der Bundeswahlleiter und sagt, so und so
lautet das vorläufige Ergebnis. Das macht der meistens wenige Minuten nach Ende der
Wahl, aber wenige Stunden danach kommen dann die vorläufigen Ergebnisse. Das ist
quasi die Schnellmeldung. Wenn die Wahl ausgezählt wird mit Papertrail und das
Ganze irgendwie übermittelt wird, dann haben wir einfach mal zwischen
Gemeindewahlbezirk und Gemeindewahlleiter nen Tag und so weiter. Das summiert sich
locker auf über zehn Tage, bis es wirklich das amtliche Endergebnis gibt. Deswegen
machts natürlich Sinn, hier eine Software einzusetzen. Da wir aber in einem
föderalen Staat leben, hat dann jedes Bundesland seine eigene Vorliebe, der
Bundeswahlleiter hat ne Vorliebe und dann können die Gemeinden teilweise sich auch
noch etwas aussuchen. Wir haben eine dieser Softwares angeschaut, und zwar die
Software PC-Wahl, die laut Hersteller- Angaben in allen Flächenbundesländern bei
allen möglichen demokratischen hohen Akten zum Einsatz kommt, und laut Hersteller
verantwortlich ist für bis zu 33 Millionen Stimmen. Aber was wir euch heute erzählen,
trifft größtenteils auch auf Alternativen zu, wie dieses Programm IVU-Elect, das von
unseren Kollegen in den Niederlanden schon auseinandergenommen wurde, oder den Vote-
Manager oder das Produkt mit dem vertrauensvollen und wohlklingenden Namen
OK-Wahl. In Quality-Land ist alles okay.
Natürlich haben sich Leute schon darüber Gedanken gemacht, wie kommen wir denn an
diese Wahl-Software, was ist das denn da? Da rechnen Computer Ergebnisse zusammen
und dann wird das irgendwie bekanntgegeben. Da hätte ich doch mal
Interesse, diese Software anzuschauen. Da hat sich ein junger Mann bis vor das
Landesverfassungsgericht geklagt. Das hat die Beschwerde zurückgewiesen, denn also
eine Überprüfung durch die Öffentlichkeit wäre hier nicht vorgesehen, es reicht,
wenn der Landeswahlleiter sich das anschaut. So viel Transparenz haben wir
dazu. T: Außerdem versteht's sowieso keiner.
L: Das versteht eh keiner. Und das zu hacken... Wieso sollte jemand eine Wahl
hacken? Wir haben diese Wahl... diese Software in unsere Finger bekommen. Und
das sind jetzt... Also, das sind Hersteller-Screenshots, die hätten wir
auch anfertigen können. Und unsere erste Reaktion, als wir jetzt diese Software vor
uns hatten...
T: Das passt auch zu dem Logo, das ist nicht selbstgebaut.
*Applaus*
L: Es war einfach von vornherein klar, das wird jetzt nicht angenehm.
*Lachen* L: Und ich würde sagen, einen Punkt kann
man dieser Software auf jeden Fall geben. Das Risiko, dass sie gehackt wird, ist
immer noch viel geringer, als dass man sie fehlbedient oder wahnsinnig wird beim
Versuch. *Lachen*
L: Hier sieht man, wie so ne Gemeindewahl angelegt werden kann, das ist ganz intuitiv.
T: Angenehmes User-Interface.
L: Hier sieht man, wie so die Erststimmen ausgezählt werden. Nicht zu übersehen,
hier, das User-Interface, das die noch nicht ausgezählten Bereiche in rot färbt,
dass man sieht, ist noch nicht soweit. Und hier haben wir einen Check, wo dann so'n
paar Summen verglichen werden und gesagt wird: "Hier, die Zahlen, die ihr da
addiert habt, die kommen nicht so ganz zusammen." Das heißt, man muss dann, wenn
die Zahlen nicht ganz stimmen, noch so lange ein bisschen daran herum
korrigieren, bis alle Felder grün sind. Aber es gibt ein
Betriebssicherheitskonzept. Und Sicherheit ist ja so das, wofür wir uns
interessieren, da haben wir gedacht, ah gucken wir mal.
T: Die interessieren sich offenbar auch für Sicherheit.
L: Die interessieren sich für Betriebssicherheit, also die richtige
Schuhwerk, Helm und so weiter. Ist auch klar, das brauchen wir auch,
Schutzhandschuhe. Nein, Spaß beiseite. Der Hersteller wirbt mit einem indexfreien
Datenbankkonzept. Und ich dachte, "Boah, Wahnsinn, indexfreie Datenbank! Was ist
das?" Ja, es werden Dateien in einen File- System geschrieben.
T: Irre. *Lachen*
L: Und die werden redundant geschrieben, denn die gleichen Daten werden in zwei
verschiedenen Formaten in unterschiedliche Ordner geschrieben. Das ist redundante
Speicherung. Und man kann das auch sogar synchronisieren. Also, die Datei-
Synchronisationsfunktion ermöglicht es, eine oder mehrere Kopien einer
Wahlergebnisdatei mit dem Original automatisch abzugleichen. Und ich dachte,
"Boah, Syncing-Konflikte und so bei einer Wahl will man echt nicht haben." Dachten
die sich auch, die legen einfach die Dateien alle auf ein SMB-Share und dann
geht's rund. *Lachen*
Kommen wir... *Applaus*
L: Also, man könnte, also böse Zungen behaupten, wir haben uns das nur
angeschaut, weil es uns einfach auf den Geist gegangen ist, ein Jahr lang nur
damit belästigt zu werden, dass irgendwie Russland die Wahl hacken würde, und dann
haben wir halt gedacht, dann schauen wir doch mal wie. Wichtig ist nochmal einmal
zu betonen: Es gibt zwei Übermittlungsmodi, das vorläufige
Endergebnis - und das ist das, wovon wir heute sprechen - und es gibt noch das
amtliche Endergebnis, was zehn Tage später veröffentlicht wird. Alles, was wir euch
jetzt erzählen, trifft nur zu für das vorläufige Ergebnis. Das amtliche
Endergebnis bei der Bundestagswahl 2017 kam 18 Tage später raus. Da fragt man sich
natürlich, wie kommt denn so'n Hacker dazu, sich das anzuschauen. Und das
erklärt am liebsten Martin, der interessierte Bürger.
M: Ja, also mich hat's schon interessiert, aber man kommt natürlich nicht so direkt
da drauf. Es müssen schon günstige Umstände vorliegen. Das eine war die
Bundestagswahl und das andere war die Existenz eklatanter Probleme bei diesem
Wahlprogramm hier. Das Erste, was wir festgestellt haben, war: Solche Wahldaten,
haben wir vorhin gesehen, werden übertragen in so ner Kette von der
Gemeinde auf den Kreis auf das Land und so weiter. Und was passiert denn einem
Wahlabend, wenn wir in der Gemeinde sitzen: Der Gemeindewahlleiter bekommt die
Ergebnisse von den ganzen Wahllokalen. Dann starten die Helfer des Wahlleiters in
der Gemeinde ihr PC-Wahl-Programm. Und das wird alles von so ner SMB-Share gestartet,
aus dem Netzwerk heraus und dann tippen sie fleißig die Schnellmeldungen ein, die
aus den Wahllokalen eingehen. Die Ergebnisse, die sie dann sammeln, die
müssen irgendwo hin. Die werden hochgeladen ins Internet auf nen FTP-
Server. Da steht ein FTP-Server und der sammelt die ganzen Ergebnisse der
einzelnen Gemeinden ein. Und der steht im Internet und in Hessen – ich komme aus
Darmstadt, deswegen Hessen, einzige Ursache – wird der von der ekom21
betrieben, lokaler IT-Dienstleister dort, kommunaler, und ekom21 hatte dem
interessierten Bürger die Anleitung zur Verfügung gestellt, wie man diese Daten
hochlädt; waren auch die Passwörter drinne, waren Konfigurationsdateien mit
eben entsprechenden Daten, die einem ermöglicht haben, im Sinne der Bürger-
Transparenz, diesen Prozess komplett nachzuvollziehen.
*Lachen, Applaus*
So, was braucht es dafür, um jetzt hier
diesen Prozess anzugreifen. Nun man braucht Google, man muss zum Beispiel nach
"Wahl Bundestagswahl Hessen" googeln, Texteditor, um diese Dateien sich
anzusehen und dann noch, ja ein Debugger ist vielleicht ganz hilfreich, wenn man ein
bisschen tiefer einsteigen möchte. Und all das ermöglicht dann Zugang auf diesen FTP-
Server. Und wir haben uns angeschaut und da liegen tatsächliche Ergebnisse drauf
von Wahlen, die reichen bis viele Jahre zurück, kleinere Wahlen,
Bürgermeisterwahl, Landeswahlen, Bundestagswahlen. Da stehen die
Zugangsdaten für diesen Server, die hatten wir dann auch in der Hand. Kleines
Problem: Diese IP ist ne lokale Adresse. Da brauchte man dann noch Zugangsdaten für
das VPN.
*Lachen, Applaus*
L: Das Schöne daran ist ja, die Bundestags- wahl 2017 war offenbar nur ein Test.
*Lachen*
M: Gut. Und damit hatten wir Hessen. War alles erledigt. Nein, nicht ganz. Was fehlt?
T: Naja, es gibt ja da noch so'n paar andere Angriffsszenarien, also nicht nur
die Möglichkeit auf dem FTP-Server Zugriff zu erlangen, um da irgendwelche config-
Daten und Dokumentation einzusehen. Z.B. eben diesen Updatemechanismus: Wie
verteilt dieses ganze System die Updates, an die verschiedenen Wahlbezirke wo diese
Software am Einsatz ist. Und ja wir haben gelernt, dass das ein durchaus spannendes
Feld ist mit den Updates. Wir haben im großen bösen Internet einmal diesen
Webserver, auf dem Dokumentation liegt, auf dem die Webseite des Herstellers
liegt, wo auch die Updates für die Software liegen. Und wir haben zum
Zeitpunkt, als wir uns mit dem ganzen Kram beschäftigt haben, gesehen: Wir haben
mindestens vier Schwachstellen auf diesem auf diesem Webserver gefunden, die es uns
erlaubt haben, auch Dateien zu modifizieren auf diesem Server. Das heißt,
wir konnten auch oder könnten auch Update- Dateien überschreiben oder austauschen
durch eigene Updates, also eigene PC-Wahl- Software.
L: Der Vorteil Updates auszuliefern ist einfach, man muss nicht für 16 Bundesländer
die Passwörter googeln, sondern kann das einfach zentral ausliefern.
T: Genau. So, das ist also viel einfacher. Aber da hat der Herr Berninger, der
Entwickler dieser Software, der in den Neunzigern angefangen hat, diese Software
zu entwickel ... M: Achtzigern!
L: Achtzigern! M: In den Achtzigern!
T: ... in den 80ern, der hat halt gesagt: Man braucht sehr viel Gehirnschmalz, um
diesen Verschlüsselungs- und Kompressions- Algorithmus zu knacken, den er sich da
ausgedacht hat. Er hat natürlich dafür gesorgt, dass man das nicht so ohne
weiteres austauschen kann. Das heißt dieses Update-Paket pcw10dat1.010 ist eine
verschlüsselte Datei. In dieser verschlüsselten Datei findet sich ein ZIP-
Archiv und in diesem ZIP-Archiv findet sich noch ne Datei, irgendwie... Naja,
also man braucht sehr viel Gehirnschmalz. Haben wir dann mal zerhackt. Hier sehen
wir so'n Ausschnitt aus nem bisschen Code, den wir einmal aus dem ... wir haben
diese Software mal gegen gegen den Disassembler geworfen, mal die großen
Gummihandschuhe ausgepackt und in Delphi- Code gewühlt. Da lag dann so'n Schlüssel
rum und so ne tolle Verschlüsselung- Methode. Dann haben wir halt einfach ein
eigenes Tool gebaut, was diese Pakete entpacken kann, sodass wir dann in dieser
Verzeichnisstruktur eigene Dateien reinpacken können und dann kann man mit
dem eigenen updatedecrypt-Tool kann man dann zum Beispiel diese studio.exe – das
ist die eigentliche Kernsoftware, die dann da läuft, also PC Wahl ist studio.exe, das
ist dieses wundervolle UI, was wir da gerade gesehen haben – das kann man
patchen, so dass zum Beispiel Wahlergebnisse vertauscht werden oder
andere böse Dinge tut und anschließend kann man mit dem Tool, was wir dann gebaut
haben, eine neue Update-Datei erstellen. Da nimmt man dann einfach nen anderen
command line switch – Laser geht nicht, Laser geht doch, da – minus c ist create
neues Update-Paket und das könnte man dann auf diesen Server im großen bösen Internet
stellen. Das würde dann an die PC-Wahl- Systeme verteilt werden, ohne dass wir da
was dazu beitragen müssen. Wir haben den Code auf GitHub gepackt, dann könnt ihr
das mal benutzen. *Applaus*
L: Also das Geniale ist natürlich: Wenn ich ne Verschlüsselungsroutine habe und
die mitliefere in dem Programmm – er muss ja nunmal seine Softwareupdates
entschlüsseln – dann war das jetzt nicht ganz so schwer das nachzubauen. Wieviel
Gehirnschmalz brauchten wir da? T: 300 Gramm.
L: 200 Gramm, kann auch 180 gewesen sein. T: Ungefähr. Wollen wir nicht so kleinlich
sein. Was wollen wir also machen, wenn wir so diese studio.exe patchen, dann wollen
wir – da ja die Kommunikationswege verschlüsselt sind. Wir haben ja von
unserer Regierung gelernt: Da muss man, wenn man abhören will, natürlich an der
Quelle anzapfen, weil die böse Crypto macht immer sonst alles so kompliziert.
Bei der Manipulation ist das ähnlich. Deswegen haben wir diese Quellen-TKM, also
Telekommunikations-Manipulation, da platziert bevor die Kryptografie ansetzt.
Und wir wollen hier - das ist jetzt ein Ausschnitt, diese Daten, die wir hier
sehen, das sind so XML-Daten, die dann vom PC an die nächste höhere Ebene gesendet
werden. Und da gibt's dann so Partei-IDs, über das Format unterhalten wir uns später
noch. Und wir haben gedacht, wir patchen das einfach mal als Proof of Concept so,
dass wir die Partei 1 und 2 vertauschen. Das heißt, dass einfach nur die Stimmen
vertauscht sind.
Das war ein Punkt in den Angriffsszenarien. Wir haben aber noch ein
paar weitere. Es gibt diese Dateiformate der INI-Dateien. Das sind
Konfigurationsdateien, die von der Software verwendet werden und die vor
jeder Wahl zur Verfügung gestellt werden. Die werden dann einfach ausgerollt. Dann
werden die Geräte provisioniert und ausgeliefert. Und diese Daten liegen halt
auch im Internet und auch in diesem Update-Paket, in dem regulären Update-
Paket, da sind also die die config-Dateien mit den ganzen Schlüsseln zu den FTP-
Servern. PGP benutzen sie auch irgendwann. Dann sind die Passphrases da auch drinne
abgelegt und da sie es den Hackern ja nicht so leicht machen wollen, haben sie
das ganze auch verschlüsselt. Das haben wir dann auch mal zerhackt. Da gibt's
verschiedene Formate. Sie haben sich nicht irgendwie einfach mal auf ein
Verschlüsselungsverfahren festgelegt, sie haben sich mehrere ausgedacht und auch wie
sie das dann kodieren: total sinnvoll – oder auch nicht. Hier ist eine Variante,
die INI file Encraption #1, wie wir sie genannt haben, wir verzichten hier
vollkommen auf einen geheimen Schlüssel.
L: Kann man machen!
T: Kann man machen. L: Brauchst du halt ne Risikoabnahme.
T: Brauchst du halt ne Risikoabnahme. Das ist so der Code, der dann aus dem
Disassembler und dem ganzen Durchlesen dieses Binaries rausgefallen ist. Das war
auch nicht so der große Spaß mit dem Delphi Code. Dann gibt es noch ne zweite
Variante. Den benutzen sie für Passwörter und Usernamen für die PGP-passphrases und
für HTTP-basierte Zugriffe. Da haben wir hier ein ganzes Byte Schlüssel.
*Lachen* Immerhin.
*Applaus* Und das wird dann genutzt, um diese
config-Daten zu entschlüsseln. Wir haben das auch einfach mal alles
durchimplementiert und auch auf GitHub geworfen. Könnt ihr ja mal auschecken.
Hier macht jetzt Linus mal kurz noch weiter zu den Formaten. Die sind nämlich
dann gar nicht so unwichtig, wenn wir zeigen wollen, wie wir das Ganze auch in
der Praxis hacken können.
L: Wie Martin ja gerade schon sagte, er hatte Zugriff auf diesen FTP-Server
zumindest in Hessen. Und wir können also einmal die Binaries manipulieren, dass sie
unterschiedliche Ergebnisse zählen, anders exportieren. Aber wenn man auf den FTP-
Server Zugriff hat, kann man natürlich auch seine eigenen Dateien schreiben. Und
da haben wir uns dieses XML-Format angeschaut, was irgendwie vorläufiges
Endergebnis, Hochrechnungsergebnis markiert hat. Und das war also auch ein
hochkomplexes Dateinamen-Konstrukt, das ist das, was dieses indexfreie Datenbank-
Konzept bedeutet: Die Dateien haben klare Namen und am anderen Ende wartet ein
Server und möchte die dann zählen. Das ist jetzt so ne Wahldatei. Also hier sehen wir
die XML-Datei und da steht dann drin: Die Partei mit der ID 0001 erhält so viele
Stimmen, die Partei mit der ID soundso soundsoviel Stimmen. Und wenn man sich
dieses XML-Dateiformat anschaut, fragt man sich: Was fehlt? Was ich da irgendwie
gesucht habe, war irgendsone Form von Signatur oder so, die in irgendeiner Form
mal sagt, wer das Ding ausgezählt hat. Was man ja bei dem Papier-Ergebniss schon
hätte. Also diese schöne XML-Datei-Format auch wieder eine Zierde für den heiligen
Akt der Demokratie. Das haben wir alles zusammen geschrieben. Es war natürlich
klar, wir haben das ja vor der Wahl veröffentlicht mit einem ausreichenden
Zeitraum von zwei Wochen ... T: Drei fast eigentlich.
L: ... Drei Wochen Zeit haben wir gegeben und haben gesagt: Das kriegt ihr doch hin.
Wir haben also einen Bericht geschrieben. Wenn wir jetzt nur ein paar Sahne-
Filetstücke gezeigt. Der eigentliche Bericht ist 24, 25 Seiten lang. Und haben
den also veröffentlicht, haben gesagt, hier, die Software ist unsicher. Und wir
haben aber schön darauf geachtet, dass wir nen langen Teil haben, wo drinsteht Fazit
Schwachstellen und immer dazugeschrieben, passt auf, folgendes müsst ihr machen. Wir
haben da ein paar Wochen dran gesessen, haben das veröffentlicht. Und haben wir
gedacht, so jetzt sind endlich fertig. Und dann haben wir abends die Tagesschau
geguckt, weil wir sind ja interessierte Bürger, also gucken wir auch die
Tagesschau. Und dann hören wir da zu unserer allgemeinen Überraschung.
*Mitschnitt Tagesschau* 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, das die Software über viele Kommunen
die Wahlergebnisse weiter melden nicht abgesichert sei.
Der Bundeswahlleiter sprach von einem ernsten Problem.
Inzwischen habe der Hersteller aber nachgebessert.
*Lachen, Applaus*
Und ich dachte so: Boah, is echt schnell. Mal gucken. Mal auf die Updateseite
schauen und diese Tage - das war die Tagesschau vom 7. September, wo wir
veröffentlicht haben. Und wir haben diese letzte Version vom 9. Septem..., vom 5.
September als Gegenstand unserer Untersuchung gehabt. Und dachten, naja,
das ist aber komisch, wenn es da jetzt Nachbesserungen gab, dann fragen wir uns,
wann die passiert sind. Und dann dämmerte es uns, wahrscheinlich meinen die die
Nachbesserungen, die der Hersteller gemachthat, während wir ihn vor
Veröffentlichung unseres Berichtes über die größten Probleme in Kenntnis gesetzt
haben. So gab es dann am 31. August einen Selbsttest der Datei unter Verwendung des
traditionsreichen --- und seit irgendwann in den 90er Jahren gebrochenen Hashing-
Algorithmuses MD5. Selbst-Check ist auch gut. Also wenn ihr... Ne manipulierte
Datei kann natürlich sehr gut sich selber checken. Am 5. September kam die digitale
Signatur des Programms und die GPG- Signatur des Payloads und dann sogar noch
die digitale Signatur des Installers später. Und jedes Mal, wenn wir das
gesehen haben, rutscht uns so'n bisschen das Herz vor Freude in die Hose und haben
gedacht: "Jetzt haben sie es geschafft. Sie haben es beseitigt." Und wenige Minuten
später war dann irgendwie das Gefühl: "Warum macht ihr das denn so?" Und die
Antwort schien mir zu sein: YOLO.
*Lachen* *Applaus*
Aber Spaß beiseite. Wir haben zwei zentrale Dinge gefordert: signierte
Software-Updates und signierte Ergebnisdaten. Das kann ja eigentlich nicht so schwer sein.
T: Das haben wir wirklich sehr oft und sehr deutlich gesagt, dass man viele
dieser groben Probleme natürlich damit in den Griff bekommt, wenn wir erstmal eine
Software sicher auf nem System deployed haben und da so'n Vertrauensanker haben,
dann können wir schon dafür sorgen, dass diese Software auf dem Weg dahin nicht
mehr manipuliert wird. Wir haben wie gesagt gesehen, dass sie da nen Selbsttest
eingebaut haben: Dieses studio.exe, das soll sich halt selbst testen. Das hier ist
jetzt Teil unseres Patch-Programms, wo man dann z.B. sehen kann, was wir halt noch
machen müssen, bevor wir diese Wahldaten manipulieren. Wir müssen den Selbsttest
austauschen durch 2 Bytes. Wir müssen eine Funktion einbringen, die dann einfach nur
die Stimmen der Partei 1 und Partei 2 austauscht. Und um diese Funktion
anzuspringen, brauchen wir dann hier noch ein paar Bytes. Das ist im Grunde genommen
alles. Damit haben wir zumindest diesen Selbsttest schon mal beseitigt. Ganz
praktisch. Als sie dann später so in diesen Tontauben-Modus übergingen und wir
halt irgendwie etwas veröffentlicht haben und sie dann nen Patch rausgebracht haben,
hat es bei dem letzten Patch, wo man dann denken kann, jetzt haben sie es
aber wirklich mal gemacht, weil das haben die jetzt so oft um die Ohren bekommen,
das geht gar nicht anders. Das war irgendwie an nem Tag, da war ich gerade
unterwegs, hab gearbeitet und erst abends im Hotel mal die Möglichkeit gehabt, mir
den Kram anzugucken, und das ging dann eigentlich doch auch wieder relativ
schnell, dass man den Kram aushebeln kann. Das hab ich dann kurz mal so getwittert
mit nem Hash über nen Proof of Concept, den ich da schon in der Tasche hatte. Aber
ich will es ja immer schön und bunt machen und so greifbar wie möglich machen und
auch so unangreifbar wie möglich machen. So sah dann der Software-Updater von PC-
Wahl aus, nachdem ich mir den nochmal angeguckt habe. Wir sehen hier ganz
deutlich, haben wir jetzt nicht mehr die Umstellung des Update-Systems vom 13.9.,
sondern schon die Umstellung auf Schad- Software mit Vollbit signierten
Installationspaketen. Das hat er dann halt auch gefressen. Jetzt haben wir hier
dieses Video und ich glaube, ich muss hier irgendwo drauf klicken. Diese Macs, die
können das nicht mit dem Multimedia so richtig.
L: Ja, mit Windows hat das immer besser funktioniert.
T: Mit Windows wär das nicht passiert. Also hier sehen wir, wie dieses Wahl-
Studio bedient wird. Man kann hier auf Versionsinfo klicken, dann wird man
gefragt, ob man die digitale Signatur von PC-Wahl überprüfen möchte. Das geht jetzt
ein bisschen schnell. Ich rede ein bisschen schneller. Hier gibt es jetzt ein
Programmaktualisierung-Software, das ist da mit bei, jetzt gibt's gleich ne
Anleitung, wie die Integrität dieses Update-Pakets überprüft werden soll.
Schaut mal ganz genau hin - war das schon? Nee. Es ging so schnell.
L: Ah kacke, viel zu schnell.
T: Ah kacke. So, das ist schon unser modifiziertes Update und hier wird jetzt
gezeigt - mach mal Pause oder so... Das ist ihr Verfahren, so signieren sie ihre
digitalen..., so signieren sie ihre Update-Pakete. Die wollen, dass man dieses
komische pc-wahl-paket.exe mit nem Rechtsklick sich die Eigenschaften
anguckt, dann auf digitale Signaturen klickt, dann doppelklicken auf den, auf
regio iT gmbh, und dann soll man gucken, ob hier steht, die digitale Signatur
gültig. Was dann passiert...
L: Allein die Idee, allein die Idee zu sagen, ach ja, signierte Updates, ja,
machen wir, aber das zu prüfen, muss der Nutzer machen. 2017, Freunde.
T: Warte mal, das geht, das wird ja alles noch viel besser. Was ja dann da passiert,
dieses pc-wahl-paket.exe ist jetzt nicht wirklich ein Installer, wie man sich das
so vorstellt. Das ist eigentlich ein Hello World-Programm. Wenn man das ausführt,
dann geht nur ein Fenster auf und da steht drinne, die Signatur dieses Programms muss
gültig sein. Die haben ein executable file-Format als Container benutzt, um dann
in den Resources, da haben sie dann ein, da haben Sie dann dieses pcw10 dat 010
embedded und das... ein anderes Programm extrahiert dann aus diesem exe das
eigentliche Installer-Paket und installiert das, nachdem man natürlich
gesagt hat, jaja, is gültig. Jetzt kannst mal weitermachen hier... Mach du mal.
Also sie haben auch hier wieder super verschlimmbessert, hier, ne. Wir sehen,
wir machen das jetzt mal wie uns das so befohlen wurde. Wir klicken da jetzt auf
digitale Signaturen. Sieht doch top aus oder.
L: 1a Signatur.
T: Irre. Einfach gültig. Ist ok. So, und jetzt muss man sagen, die Signatur war gültig.
*Lachen* *Applaus*
Und jetzt haben wir, um das natürlich zu demonstrieren, dass wir da jetzt ne eigene
Software eingepackt haben, haben wir jetzt mal hier so'n rotes Fenster aufpoppen
lassen. Das, was man, was wir mit diesem Studio-Patch produzieren, würde man ja so
jetzt gar nicht sehen, was ja auch Sinn der Sache ist.
L: Einmal noch drücken. T: Einmal noch drücken. Die signierten
Ergebnis-Daten sind ein weiterer Punkt. Sie haben sich entschlossen, die
Ergebnisse dieser XML-Dateien zu signieren. Was machen sie? Man hat ihnen
irgendwann mal gesagt, nehmt PGP. Man hat ihnen nicht gesagt, managed irgendwie auch
die Keys. Es ist völlig unklar, wie die die Keys ausrollen. Wird da irgendwie ein
Schlüsselpaar unter allen Bundesländern geteilt. Oder - man weiß es nicht. Wir
wissen es nicht. Wir haben es nie herausgefunden.
L: Also nur um das Ausmaß hier zu zeigen, wir reden ja von 70.000 Wahllokalen. Und
da gerät so'n web of trust dann ja auch ein bisschen an seine Grenzen.
T: Wer importiert die ganzen public keys, wenn die sich das tatsächlich selber alles
generieren. Zumindest in der Anleitung steht drinne, man soll bitte Kleopatra
installieren und dann soll man sich da so'n Schlüsselpaar generieren und dann
kann man die Daten signieren. Da steht nichts drinne, so schickt den key irgendwo
über nen vertrauenswürdigen Kanal noch an ne zentrale Stelle. Da muss man sich
natürlich noch entscheiden, wenn man schon PGP benutzt oder GPG, GnuPG, ob man da
jetzt irgendwie GPGME nimmt als library sozusagen, und das in die Software direkt
mit reinlinkt oder ob man ein externes Programm aufruft. Sie haben sich für was
entschieden? Sie rufen das als externes Programm auf. Das heißt sie erzeugen
innerhalb dieser studio.exe einen neuen Prozess. Manche lachen jetzt vielleicht
schon. Es gibt hier diese tolle GPG- Kommandozeilen-Option "-- batch --
passphrase", das wird dann gefolgt von der passphrase.
*Lachen*
Lacht Nicht zu früh, das wird noch besser. Also, in dem Fall sieht man schon, wenn
die PGP aufrufen und dann die passphrase auf der command line übergeben, dann
taucht natürlich für die user sichtbar dieser passphrase auch in der Prozessliste
auf. Aber es ist halt viel besser. Sie haben nämlich... sie rufen nicht... sie
eröffnen... sie erzeugen nen neuen Prozess mit GPG2.exe, nein, sie wollen ja auch
wissen, mit welchem key wollen wir jetzt die Dateien eigentlich signieren. Da muss
ja in der PC-Wahl-Software auch ein Auswahlmenü angezeigt werden, weil kann
ja, können ja mehrere private Schlüssel da sein. Also schreiben sie, erzeugen sie
einmal eine batch-Datei, wo sie GPG mit den Parametern aufrufen, um alle privaten
Keys anzuzeigen. Das wird in eine Textdatei reingeschrieben. Als nächstes
öffnet PC-Wahl diese Textdatei und parst den GPG-Output und guckt da nach, was habe
ich eigentlich für private Schlüssel. Danach erzeugen sie eine neue batch-Datei
mit dem, was wir gerade eben gesehen haben. Da schreiben sie dann nämlich diese
Passphrase und die ganze Command Line, wie man dann Sachen signiert, einmal in die
Batch-Datei rein. Das heißt sie erzeugen nicht einfach nur nen neuen Prozess, wo
die Passphrase sichtbar ist. Sie schreiben's auch einmal schön aufs
Dateisystem im Klartext, damit alle auch in der Zukunft da vielleicht auch nochmal
drauf zugreifen können.
L: Und die Datei wird natürlich gespeichert und ihr erinnert euch, dass wir, dass die
Binary und alle Dateien ohnehin auf'm Fileshare liegen. Das heißt man hat dann
auf dem Fileshare die ganzen PGP-Keys samt Passphrases in ner Textdatei stehen.
T: Verrückt. *Applaus*
L: Das ist dann einfacher, da den Überblick zu behalten.
T: Das ist vielleicht die Lehre aus diesen Ransomware-Erpresser-Trojanern oder so,
dass sie da Backups verteilen, wer weiß es. Abgesehen davon haben wir ja schon
gezeigt, dass diese Passphrase ja auch noch in den INI-Dateien drinne steht und
wie toll das verschlüsselt ist, haben wir ja auch schon gesehen.
Ja, nur damit man das vielleicht auch nachvollziehen kann. Auch das ist
natürlich selbstverständlich alles auf GitHub. Wir haben nichts zu verbergen.
M: Nun, also das haben jetzt nicht nur wir festgestellt, dass das wohl broken beyond
repair ist, das haben die auch festgestellt. Zumindest der
Landeswahlleiter oder die Landeswahlleiter haben das dann für sich festgestellt. Und
was macht man dann, wenn man mit Neuland nicht zurechtkommt? Was ist die
Standardantwort? Ausdrucken. Internet ausdrucken. Neuer Wahlerlass, ein geheimer
Wahlerlass wurde veröffentlicht. Also jedes Land hat, der Landeswahlleiter kann
Wahlerlasse mit Ausführungsbestimmungen veröffentlichen, da steht drin, wie sie es
machen müssen, die Gemeinden. Und da steht drin, wenn die Wahlergebnisse hochgeladen
wurden auf diesen FTP-Server und dann auf die nächste Ebene und so, dann gehe man
doch bitte in das Internet auf die Statistik-Webseite des Statistischen
Landesamtes, da wo die Ergebnisse veröffentlicht werden, drucke sich das
aus, vergleiche das mal mit dem, was in der Gemeinde abgegeben wurde, Stempel
drauf, abheften - und dann hat man die Prüfung gemacht. Also das ist die Antwort
auf die Probleme, das sieht dann so in etwa aus. Also alles manuell. Wir gehen
wieder zurück in die Steinzeit.
L: Man konnte aber noch mehr nuken. Aber wir haben natürlich eigentlich immer
noch... wir sind ja... wir wollten ja helfen. Und dann haben wir uns überlegt,
als es dann irgendwie mehrere Updates gab und immer wieder so: So, jetzt haben wir
aber alles gefixt - und dann Thorsten wollte ja auch irgendwann nochmal was
anderes machen und musste dann immer nochmal kurz ne halbe Stunde was reverse
engineeren und twittern. Da haben wir gesagt, so geht das nicht weiter, ja, wir
wollen wählen. Und dann haben wir gesagt, okay, wir fixen's einfach selber und
spenden den Fix für den Updater dem Hersteller als Open Source-Paket. Einfach
nur um zu zeigen, es ist möglich.
*Applaus*
Und da geht's dann also einfach darum, einfach
einen Standard Installer, ist jetzt auch kein großes Hexenwerk, nen Installer zu
nehmen, der halt guckt, ob sein Installationspaket signiert ist. Und da
muss der Nutzer nicht klicken, sondern der Installer weiß einfach, von welchem
Zertifikat das Update signiert sein soll, und prüft einfach, ob das Zertifikat
stimmt und der Inhalt. War da sonst noch irgendwas? Nee, ne?
T: Naja, so viel muss man da eigentlich nicht machen, damit man das...
L: Ja. Also eine kleine Spende, eine große Geste, eine kleine Geste, ein kleiner
Schritt für den CCC, ein großer Schritt für PC-Wahl. Aber es war natürlich auch
irgendwie klar, dass sie dieses kleine vergiftete, diese kleine vergiftete Spende
nicht annehmen würden.
T: Ja, das ist auch ganz offen gesagt natürlich jetzt auch kein, kein Software,
kein, kein Stück Software, was sie natürlich einfach in ihr Programm einbauen
können. Sie benutzen ja diese supermodernen Programmiersprachen - nicht.
Ich hab das einfach mal in C-Sharp runtergehackt, weil ich das ganz gerne zum
prototypen nehme. Und ich wollte damit zumindest mal demonstrieren, dass man mit
sehr einfachen Bordmitteln und abgehangenen Crypto-Libraries durchaus
sehr schnell einfach mal so eine Routine hinbekommt, um solche dumpfen Angriffe
abzuwehren, aber... L: Der Hersteller merkte natürlich auch,
dass er mit seinen Updates irgendwie nicht weiterkommt, unser, unsere Spende konnte
er nicht annehmen und ihm war auch klar, das muss jetzt ein Ende haben... Also hat er
einfach keine Updates mehr bereitgestellt. T: Yeay...
L: So, dann kam einfach die aktuelle, das aktuelle Update für PC-Wahl-Anwender ist
nur noch per Individualbezug über die zuständigen Service-Dienstleister
erhältlich. Bitte nehmen Sie hierzu mit Ihrem Betreuer Kontakt auf. Man muss
wissen, PC-Wahl-Anwender haben einen Betreuer.
*Applaus* Da bin ich ein bisschen fuchsig geworden.
Weil es war ja ganz klar, dass dieser Schritt erfolgt ist, weil sie wussten,
egal was sie tun, wir machen ihnen das wieder kaputt. Und dafür sind sie in...
Also sie hätten natürlich unser Lob annehmen können, aber es war auch klar,
äh, unsere Spende. Lob wär dann gekommen. Aber ich mein, in welcher Situation - und
das ist jetzt hier wenige Tage vor der Bundestagswahl, ich glaub, ... ne Woche
vorher oder sowas. Damit bleiben die alten Versionen dauerhaft verwundbar. Weil es
gibt keine Updates mehr online. Es ist auch klar, dass sich jetzt nicht die Leute
ihren Betreuer anrufen, also zumindest nicht den PC-Wahl-Betreuer, und es heißt
also, alle, die jetzt noch im Feld waren, kriegen keine Updates mehr. Es gibt auch
einen erschwerten Update-Pfad. Das heißt, das Problem bleibt bestehen, und während
das hier passierte und ich mich darüber aufregte, meldeten sich bei uns Leute: Sag
mal, welche Version von PC-Wahl habt ihr irgendwie auseinandergenommen? Wir immer
so: "Ja immer die aktuellste." "Ja was is'n die aktuellste?" "Ja die vom 15.9." "Bei uns
steht irgendwie was weiß ich, 3.8.2013. Ist das gut?"
*Lachen*
Und diese Leuten, denen wurde jetzt
einfach gesagt, so nee, ihr kriegt jetzt auch keine Updates mehr, wir sehen das
nicht mehr ein. Ich kann mir nichts Unverantwortlicheres vorstellen. Kommen
wir zum Fazit.
*Applaus*
Rop Gonggrijp und Alex Haldermann haben schon häufiger gesagt: Es ist doch
irgendwie Zufall, dass die einzigen bekannten Verfahren, die noch als sicher
gelten, die sind, die wir uns noch nicht angeschaut haben. Und wer also wer, wem
die Namen etwas sagen, beides langjährig, viel länger als wir, mit dem Thema
Elektronische Wahlen und so weiter befasst, international in allen möglichen
Ländern. Und ich glaube, man kann sich ihnen hier anschließen. Aber es gibt noch
einen weiteren sehr wichtigen technischen Punkt und er betrifft diesen ganzen
Verschlüsselungskram.
T: Ja, man sollte möglichst darauf achten, nicht gegen die Kerckhoff'schen Prinzipien
zu verstoßen, also das müsste eigentlich heutzutage in der heutigen Zeit jedem ein
Begriff sein. Wenn man ein kryptografisches Verfahren entwickelt,
dass man das eben nicht selber entwickelt, sondern vielleicht auch auf Verfahren
setzt, die bekannt sind und abgehangen sind, und dass man darauf achtet, dass
dieses gesamte Verfahren nicht plötzlich unsicher wird, nur weil es in die falschen
Hände geraten ist.
*Applaus*
M: Was wir jetzt gesehen hatten, war die Reaktion des Herstellers. Aber der Kunde
ist ja eigentlich der Wahlleiter der Wahl. Amtsinhaber. Und was wir da festgestellt
haben, das war gleichermaßen - ich sag mal: erschreckend. Wir sind natürlich
nicht direkt an die Öffentlichkeit gegangen. Wir haben erstmal lokal versucht
mit den Verantwortlichen zu reden. Wir kommen ja auch aus einer Gemeinde, haben
versucht auf die Leute zuzugehen und das erstmal so aus der Sicht der Kommune auch
zu besprechen, das Problem, und zu klären. Hier jetzt haben wir nen Wahlleiter aus
Hessen, eine Gemeinde, und die Reaktion ist jetzt nur exemplarisch. Hat das sogar
vertreten in der Öffentlichkeit. Ja, Manipulation ist wohl möglich. Das haben
wir ausreichend demonstriert. Das ist ärgerlich. Aber juckt uns nicht so
richtig. Das lässt mich trotzdem kalt. Das ist der Ausdruck, den man eigentlich hätte
plakativ nehmen können für den ganzen Vortrag. Zumindest von Seite der Kommune
oder der Wahlleiter - Gemeindewahlleiter, Kreiswahlleiter. Das hat uns wirklich
überrascht. Zumindest mich. Mich hat das überrascht, damit hab ich nicht gerechnet.
Ja, es gibt bessere Passworte als "test". Das hatten wir entlocken können. Das hat
er zugestanden. Manipulation der Software sei zumindest störend. Ja. Das haben sie
auch noch zugegeben. Und dann vom Entwickler der Software selber gab es noch
die Bemerkung: Ja, das gibt Ärger und Verwirrung, hat aber keine Relevanz. Naja.
Also, da müssen wir ganz entschieden widersprechen. Das stimmt so absolut nicht.
L: Ich bin halt überrascht, mit welchem Anspruch auch an sich selbst diese
Menschen ihrer Arbeit nachgehen. Also wenn ich doch für ne Wahl verantwortlich bin,
dann hätte ich gedacht, dass mich das mehr interessiert, oder wenn ich so ne
Wahlsoftware bau, dass ich irgendwie auch daran interessiert bin, dass da irgendwie
ein vernünftiges Ergebnis am Ende steht. Schön finden wir aber auch dieses "Ärger
und Verwirrung, aber keine Relevanz". Wir haben dann mal bei der Bundestagswahl
darauf geachtet, wie viele Tage es gedauert hat. Ja, 18 Tage Ärger und
Verwirrung, bis dann irgendwann jemand vor die Presse treten kann und sagt:
"Erinnert ihr euch an diese Bundestagswahl - uns ist da etwas aufgefallen. Das ist jetzt störend, aber
auch nicht weiter schlimm." Nach 18 Tagen - also wir haben mal hier eine kleine
Zeitleiste, was da passiert ist. Nach 18 Tagen waren da schon die Einladungen für
Sondierungsgespräche raus. Also was da einfach für ein Schaden an dem Vertrauen
in die Demokratie leichtfertig einfach aufs Spiel gesetzt wurde, wurde einfach in
Kauf genommen, oder als die Risiken gezeigt wurden, wurde eigentlich sogar
noch mit der Schulter gezuckt und ich habe irgendwie son ungutes Gefühl, wenn wir
ausgerechnet Menschen mit so ner... mit so Ambitionen in so wichtige Positionen
heben. Aber das ist son persönlicher Geschmack.
*Applaus*
Aber es ging noch weiter. Das Bundesamt für Sicherheit in der Informationstechnik
wurde natürlich auch von den Pressevertretern gefragt so "Samma... Was
ist das denn?" Also so ungefähr stelle ich mir das vor. Und. Und dann tritt der Arne
Schönbohm, der Chef des Bundesamtes für Sicherheit in der Informationstechnik, vor
die Presse, sagt: "Ja, gut dass Sie das nochmal sagen. Wir würden gerne bei der
nächsten Wahl übrigens vollständig elektronisch machen weil... Die Wahl ist
ja sicher." Und da hab ich mir dann gedacht: Sag mal, wat ist dat denn? Mehr
fiel mir da auch nicht zu ein. Und man fragt sich: Warum. Warum.
T: Weil die haben jahrelange Erfahrung mit Wahlen
L: Die ham jahrelange Erfahrung mit Wahlen. Und die Gefahr ist bei weitem
nicht gebannt. Es ist ja so: Seit Jahren wird Wahlsoftware gehackt, seit Jahren
werden Wahlcomputer gehackt, seit Jahren werden Wahlstifte gehackt. Überall auf der
Welt gibt es immer wieder Probleme mit elektronischen Wahlen. Und dann gibt's nen
Lobby-Verein, der von dem Hersteller für diese Wahl-Software ins Leben gerufen
wurde und der das Ziel hat, "dass sich der Verein auch aktiv mit der
Weiterentwicklung des Wahlrechts auseinandersetzt". Bitte bitte nicht. Zum
Beispiel könnte man sich die "Nutzung von Online-Diensten" vorstellen "im Rahmen der
weiteren Digitalisierung der Gesellschaft". Da sind dann auf einmal
Ambitionen vorhanden.
T: Genau die, die diese Software hier zu verantworten haben.
L: Der Verein ist deckungsgleich mit dem mit dem Unternehmen. Sollen wir das noch
erzählen mit dem Unternehmen? Also das was war... wir haben ja. Uns ist irgendwie
aufgefallen, dass die... dass PC-Wahl schien irgendwie die Software... die
Webseite schien irgendwie unter einem Firmennamen zu existieren und aktuelle
Statements kamen von einem anderen Unternehmen. Und wenn man dann ein
bisschen googelt, findet man , dass der eine Hersteller - VoteIT?
M: Richtig.
L: Dass die seinen Konkurrenten Berninger Software gekauft hat. Für'n ganz guten Betrag.
T: Berninger ist der Entwickler, der da auch häufig diese Statements abgegeben
hat, dass man ja sehr viel Gehirnschmalz braucht und dass das ja alles irrelevant
ist und so weiter.
L: Der gute Mann hat irgendwie ein oder zwei Jahre bevor wir PC Wahl
auseinandergenommen haben...
T: 2016
L: 2016... ein paar Monate vorher hat der die ganze Bude für'n siebenstelligen
Betrag an die Konkurrenz verkauft. Und noch ein paar Jahre Geschäftsführer für
sein altes Produkt mit eingetragen. Ich habe irgendwie den Eindruck, dass der Mann
seit dieser Veröffentlichung vor Lachen nicht mehr in den Schlaf kommt.
*Applaus*
So macht man's richtig.
T: Ja.
L: Also den gesamten Schaden hat natürlich
jetzt der Käufer. Naja, so ist das, wenn die Konkurrenz unbedingt kaufen möchte,
der wird's ihm übel nehmen. Kommen wir zu unseren politischen Forderungen, die wir
als Chaos Computer Club selbstverständlich immer noch mit dran heften, wenn wir mal
wieder etwas kaputt gemacht haben. Es ist natürlich ganz klar, wenn wir hier die
Beschleunigung, die hier irgendwie überall angestrebt wird, kann natürlich nicht
zulasten von Sicherheit, Korrektheit und Nachvollziehbarkeit einer Wahl
stattfinden. Und das ist das, was wir immer und immer wieder sehen. Was diese
Software da uns ... Das mussten wir nicht knacken, das war ja schon kaputt.
*Applaus*
T: Und Transparenz. Transparenz ist wirklich was anderes. Wenn die jetzt sogar
zum Schluss noch ihren eigenen Update- Mechanismus abgeschaltet haben und das
Ganze nur noch über Betreuer zu updaten ist, dann ist das nicht mehr transparent.
L: Dann natürlich unsere Kernforderung: keine Software-Komponente, die am
Wahlausgang oder an den Wahlmeldungen beteiligt ist, darf geheim gehalten werden
und ihr wisst, wohin das führt, wenn wir sagen: darf nicht geheim gehalten werden,
dann wollen wir bitteschön alles davon haben.
*Applaus*
Das ist ... durch eine völlig unabhängige
zeitliche Koinzidenz im September auch eine Kampagne von der Free Software
Foundation Europe gestartet, die wir als Chaos Computer Club mit unterstützt haben,
die ganz einfach sagt: Public Money - Public Code. Also wenn unsere Steuergelder
verballert werden, dann bitteschön für Code, der dann auch in unserer Hand ist.
*Applaus*
T: Das dürfte dann auch potenzielle
Entwickler von einem Open-Source-Projekt auch dazu animieren, auf moderne
Programmiersprachen zurückzugreifen und moderne Frameworks zu verwenden, moderne
Kryptografie. Das Ganze, wenn es dann öffentlich ist, wird's ja auch... ist es
ja auch einem ständigen Review-Prozess unterworfen. Zumindest ist es viel
leichter, dem Hersteller auch einfach mal zu sagen, hier hör mal, diesen Hashing-
Algorithmus da, ist das Kunst oder kann das weg. Da kann man das ändern. Das ist
das, was stattfinden muss. Diese Software muss regelmäßig auch einer Öffentlichkeit
standhalten können. Es muss dazu animiert werden, dass die Entwickler sich auch Mühe
geben, diesen Kram umzusetzen, was man jetzt hier durchaus irgendwie mal in Frage
stellen kann, ob er sich da so viel Mühe gegeben hat diesen Sicherheitsaspekt auch
herauszuarbeiten. Wenn es Audit Ergebnisse gibt, die kann man ja auch bei Open-
Source-Projekten durchführen und irgendwie finanzieren lassen, auch diese Ergebnisse
sollten natürlich öffentlich gemacht werden und parallel mit dem Quellcode
publiziert werden. Und das kann so schwer gar nicht sein. Wenn man sich überlegt,
für wie viel ja Millionen Euro diese Berninger-Software da gekauft wurde. Ich
denke, es finden sich ziemlich schnell ziemlich viele sehr fähige Open-Source-
Entwickler, die mit modernen Frameworks eine ähnliche Software mit einem besseren
User Interface produzieren dürften.
*Lachen*
L: Also ich stell mir auf jeden Fall sowas wie git gitpull Wahlauswertung mit
quelloffenem Code, schön durchsignierten Ergebnissen von den Wahlleiter, ... schön
so ne X.509-Zertifikate vom BSI oder von wem auch immer, wer sich dafür berufen
fühlt. Es gibt keinen einzigen Grund, dass irgendein Aspekt einer solchen Wahl für
uns nicht vollständig nachvollziehbar ist. Und wir haben uns ja nur die Sicherheit
dieser Software angeschaut. Was andere Menschen vorher wissen wollten, kommt die
überhaupt zu richtigen Ergebnissen, das wär auch nochmal so'n Teil, den man sich
anschauen könnte. Aber wir haben unser Kontingent an Freiwilligenarbeit für
dieses Jahr erfüllt.
T: In jedem Fall wäre ein möglicherweise...
*Applaus*
In jedem Fall wäre ein Open-Source-Projekt - ob es nun von uns initiiert wird oder
von irgendner Free Software Organisation - wäre auf jeden Fall mal ein gutes
Beispiel, dass wir Deutschen wie auch immer, die sich immer als die gute
Demokratie darstellt, wir könnten ohne weiteres einfach mal den anderen
Nachbarländern mit weniger Geld sagen: Hier, guckt mal, wir haben das mal
vernünftig gemacht. Ihr könnt das einfach benutzen, um eure demokratischen Wahlen
durchzuführen. Das wäre halt alles ziemlich einfach. Aber...
*Applaus*
L: Naja Denken first - digital second, gibt's auch hier als Aufkleber, müssen die
hier irgendwo rumliegen. Und damit kommen wir schon zum Ende. Alle Angriffs-Tools
findet ihr auf GitHub. Es gibt den Report auf www.ccc.de und unsere beiden
Pressemitteilungen dazu. Wir haben auch noch kurz E-Mail-Adressen angegeben und
wir möchten euch aber nicht ohne ein Abschluss-Feuerwerk entlassen...
T: Feuerwerk der guten Laune.
L: Und das ist das auch eine wunderschöne Funktion, das Abschluss-Feuerwerk hat uns
PC-Wahl nämlich direkt mitgliefert.
T: Die fehlerfreiste Funktion dieser Software.
L: Für schnelle Grafikkarten geht das nur. Vielen Dank!
*Applaus*
Herald: [unverständlich]
Aber 10 Minuten haben wir. Bitte schön,
Mikrofon Nummer 3.
M3: Ja Hallo, mich würde mal interessieren, was hat die Kommunen die
Software gekostet? Also was was haben die dafür bezahlt?
L: Zu viel.
*Lachen*
T: Ich nehme an, die finanzieren dieses ganze Projekt so mit Wartungsverträgen.
Das heißt die pflegen halt diese ganzen INI-Dateien mit den tollen Passwörtern und
passen halt die Listen an und so weiter.
L: Also das kann man googlen, weil da in diesem Kaufvertrag das musste wohl
irgendwie kartellrechtlich geprüft werden, da mussten dann halt auch Umsätze und so
angegeben werden.
M: Das steht alles in den Haushaltsplänen der Kommunen. Die Kommunen sind teilweise
verpflichtet, das Programm zu nehmen, also die haben keine Wahl. Der Landeswahlleiter
sagt, das wird verwendet.
Herald: Dann eine Frage aus dem Internet.
I: Hallo hallo hallo, ah ja, das Mikro, nein, das Internet würd gern wissen, ob
sich nach der Wahl irgenwas nachträglich verändert hat. Gabs irgendwie grundlegende
Konsequenzen oder ist irgendwas größeres passiert?
M: Es gab Verzögerungen bei der Wahlauswertung, ich glaube, Brandenburg
setzt komplett auf PC-Wahl in ner abgeänderten Version, ich weiß nicht, ob's
da Probleme gab, zumindest in Berlin, Berlin/ Brandenburg die teilen sich ein
Amt für Statistik, da gab's Verzögerungen, aber ob das... worauf das jetzt genau
fußt, wurde ja nie veröffentlicht.
T: Bisher ist aber noch niemand gezielt auf uns zugekommen und hat gesagt, hey,
wie kriegen wir das jetzt eigentlich alles besser auf die Reihe. ist nicht passiert.
Herald: Dann an Mikrofon 2 bitte.
M2: Habt ihr mal probiert, bei einer
Kommune anzurufen und euch als Berater vorzustellen und n Update denen zuzuschicken?
L: Nein, das ist...
T: Verboten, oder?
L: Das ist verboten.
M2: Naja, nur probiern...
L: Nee, wir würden unsere Zeit dann, wenn wir sie noch hätten, lieber darauf
verwenden, uns die anderen Produkte anzuschauen. Sind ja nur 33 Millionen
Stimmen, da gibt's ja noch n paar.
Herald: Dann an Mikrofon Nummer 3.
M3: Hab ich das richtig verstanden, dass die es geschafft haben, ihre Software seit
2013 backwards kompatibel zu halten?
L: Das ist bei dieser Software nicht schwer. Also die sieht halt echt
einfach... die ganze Software sieht aus wie backward kompatibel.
T: Sie ist backward.
M3: Ich mein also, es scheint ja möglich zu sein, dass clients verschiedenster
Versionen an dem gleichen Datensatz arbeiten. Das ist doch schon
bemerkenswert, oder?
L: Man könnte ja eher sagen, sowas wir Vorwärts-Kompatibilität ist hier die
Herausforderung. *Lachen*
Herald: Und eine letzte Frage aus dem Internet.
I: Ja, das Internet würd wissen, ob ihr euch mit Vote Manager aus demselben Haus
beschäftigt habt.
M: Ham wir mal drüber geschaut, nach der ersten Cross-Site-Scriptiung-Lücke haben
wir dann aufgehört.
*Lachen*
Herald: So und das wär's dann auch schon für diesen Talk, dankeschön, Linus, THS,
Martin, vielen Dank!
*Applaus*
*34C3 Abspannmusik*