Der PC-Wahl-Hack (34C3)
Auf dem 34C3 haben Thorsten Schröder, Martin Tschirsich und ich unsere Analyse der Wahlsoftware PC-Wahl vorgestellt. Das ist der ausführliche Vortrag zu dem, was wir im September 2017 öffentlich gemacht hatten – mit allen Angriffswegen, dem Hersteller-Trauerspiel und einem Abschlussfeuerwerk.
Kurz zur Einordnung: Gewählt wird auf Papier, aber die Schnellmeldungen am Wahlabend – das vorläufige Ergebnis – laufen durch Software. PC-Wahl kommt laut Hersteller in allen Flächenländern zum Einsatz und ist für bis zu 33 Millionen Stimmen zuständig. Das amtliche Endergebnis wird ohnehin von Hand ausgezählt und kommt erst gut zwei Wochen später.
Angreifbar war praktisch alles. In Hessen lagen die FTP-Zugangsdaten samt Anleitung offen im Netz – man konnte fremde Ergebnisse auf den Server legen, die XML-Dateien waren nicht signiert. Der Update-Server hatte mehrere Lücken, über die sich Updates austauschen ließen; die selbstgestrickte Verschlüsselung der Update-Pakete haben wir aufgemacht und ein Tool gebaut, das eigene – manipulierte – Updates verpackt. Und die Konfigurationsdateien? Mit zwei selbst erfundenen „Verschlüsselungen" geschützt, eine davon ganz ohne geheimen Schlüssel, die Passwörter und PGP-Passphrasen im Klartext daneben.
Das eigentliche Lehrstück war die Reaktion des Herstellers. Nach unserer Vorabmeldung kamen im Tagestakt „Verbesserungen": ein Selbsttest mit dem längst gebrochenen MD5, dann eine digitale Signatur, dann eine GPG-Signatur – jede davon haben wir binnen Minuten ausgehebelt. Geprüft werden sollte die Signatur am Ende per Rechtsklick vom Nutzer, und beim Signieren schrieb die Software die Passphrasen samt Schlüsseln im Klartext auf das ohnehin offene Netzlaufwerk.
Wir haben dem Hersteller einen sauberen Updater als Open-Source-Spende angeboten – abgelehnt. Stattdessen schaltete er die Online-Updates kurz vor der Wahl einfach ab („nur noch über Ihren Betreuer") und ließ damit die alten, verwundbaren Versionen im Feld stehen.
Am meisten erschreckt hat mich nicht die Software, sondern die Gelassenheit der Verantwortlichen. Ein Wahlleiter fand die belegte Manipulierbarkeit „ärgerlich, aber ohne Relevanz"; der Entwickler sprach von „Ärger und Verwirrung"; und der damalige BSI-Chef schlug vor, doch gleich ganz elektronisch zu wählen.
Unsere Forderung bleibt dieselbe: Keine Komponente, die am Wahlergebnis mitwirkt, darf geheim gehalten werden. Wahlsoftware gehört offengelegt – public money, public code – und muss regelmäßig einer Öffentlichkeit standhalten. Für ein paar Millionen Euro, wie sie beim Verkauf der Software geflossen sind, fänden sich problemlos genug fähige Leute, die das mit modernen Mitteln besser bauen.