Seit vielen Jahren arbeitet die Post an ihrem E-Voting-System. Im Laufe dieser Zeit wurde es sowohl von der internationalen White-Hat-Hacker-Community als auch von Expertinnen und Experten untersucht. Eine Person, die sich intensiv mit dem System der Post, aber auch mit anderen
E-Voting-Lösungen auseinandergesetzt hat, ist Andrew Appel, Professor für Computer Sciences an der renommierten Princeton University.
In einem Interview haben wir mit ihm über die Grenzen von Bug-Bounty-Programmen und Experten-Berichten, das Risiko von Wahlmanipulationen sowie den Faktor Mensch gesprochen.
Sie haben sich verschiedene E-Voting- und elektronische Wahlsysteme auf der ganzen Welt angeschaut. Wo sehen Sie das Schweizer System und wie beurteilen Sie die Entwicklung in den vergangenen Jahren?
Andrew Appel: Das Verfahren für eine unabhängige Evaluierung des Schweizer Wahlsystems ist umfassender als alles, was ich sonst irgendwo gesehen habe. Aber das System stösst immer noch auf das Problem der inhärenten Unsicherheit von Internet-Wahlsystemen. Das eigentliche Problem ist, dass es äusserst schwierig ist, zu wissen, welche Software auf einem Computer installiert ist. Software befindet sich sowohl auf den Clients der Stimmberechtigten als auch auf Servern. Bei jedem Wahlsystem müssen wir uns mit der Frage befassen, wie wir wissen können, ob es sich wirklich um die richtige Software handelt.
Man muss sich also mit der Unsicherheit auf der Server-Seite sowie auf der Client-Seite befassen?
Die Entwickler des Post-Systems nehmen beides sehr ernst, wie in kaum einem Internet-Wahlsystem. Es gibt viele, die Probleme auf der einen oder beiden Seite ignorieren. Die Macher des Schweizer Systems versuchen ernsthaft, dem Problem Rechnung zu tragen, dass man nicht wissen kann, welche Software auf den Clients installiert ist, und dass man nicht jedem, der Zugriff auf die Server-Software hat, voll vertrauen kann.
Wie wird das gemacht?
Server-seitig wird dies erreicht, indem die kryptografischen Schlüssel aufgeteilt werden. So gefährdet eine nicht vertrauenswürdige Person nicht die Vertrauenswürdigkeit des gesamten Systems.
Und wie schaut es mit den Geräten der Wählerinnen und Wähler aus?
Das System versucht die Unsicherheit der einzelnen Clients aufzufangen, indem es bestimmte wichtige Informationen vor ihnen verbirgt. Nur der menschliche Wähler kann diese Informationen sehen, aber nicht sein Computer. Dazu wird ein ausgeklügeltes kryptografisches Protokoll verwendet, mit all den Codes, die ein Wähler eintippen und überprüfen muss. Allerdings stellte sich heraus, dass dieses kryptografische Protokoll Mängel aufwies. Diese Schwachstellen wurden von unabhängigen Forschern entdeckt.
Eine Reihe von Forscherinnen und Experten haben das System unter die Lupe genommen. In Ihren Publikationen beschreiben Sie, warum diese Überprüfungen nicht ausreichend sind. Wo liegen die Probleme?
Die kurze Antwort wäre: "Es ist sehr, sehr kompliziert." Um ein System zu untersuchen, braucht es eine detailliertere Erklärung der Entwickler und Implementierer. Es muss dokumentiert werden, wie es funktionieren soll und auf welche Weise die implementierte Software dem abstrakten Protokoll entspricht, das die Entwickler zu implementieren glauben. Nach den Berichten zu urteilen, haben die Entwickler über einen Zeitraum von zwei Jahren bei dieser Dokumentation gute Fortschritte gemacht. Dies führte auch zu einem besseren Verständnis seitens der Experten. Aber der Abschlussbericht von 2020 zeigt auch, dass es noch viel zu tun gibt.
Nehmen wir an, alles wird, wie von Experten empfohlen, umgesetzt. Das wären gute Nachrichten.
Wie ginge es dann weiter? Software wird ständig aktualisiert und verändert. Wird nach jeder Softwareaktualisierung die gleiche gründliche und unabhängige Untersuchung in Auftrag gegeben? Wenn Leute das Team verlassen oder neue Mitarbeitende dazustossen, die mit der Softwarebasis weniger vertraut sind, können Fehler auftreten. Selbst wenn die Software in einer bestimmten Momentaufnahme für sicher erklärt wurde, bedeutet das nicht, dass sie es auch drei Jahre später noch ist.
Zudem ist das Bedrohungsmodell stark begrenzt. Einer der Experten hat ausdrücklich betont, dass er die Qualität der Software und ihre Sicherheit im Hinblick auf ein bestimmtes Bedrohungsmodell untersucht habe, von dem einige Dinge explizit ausgeschlossen wurden. Darüber hinaus gibt es Gefahren, die nicht bedacht werden. Es gibt Bedrohungen, an die 2019 noch niemand gedacht hat, die heute offensichtlich sind. Und es gibt Dinge, die es heute noch nicht sind, aber 2025 offensichtlich sein werden. Wer weiss, wozu Dinge wie ChatGPT führen werden? Schliesslich gibt es noch eine weitere Klasse von Bedrohungen, die bei all diesen Analysen nicht berücksichtigt werden. Ich nenne sie Benutzerschnittstellen-Probleme.
Der Faktor Mensch also?
Der Mensch hat seine Schwächen und ist ungeduldig, wenn es darum geht, ein kompliziertes mehrstufiges Protokoll zu befolgen. Wenn Sie zum Beispiel Geld abheben und eine Quittung erhalten, überprüfen Sie diese dann auch? Das System der Schweizer Post verlangt vom Wähler eine lange, komplizierte Reihe von interaktiven Kontrollen. Das befolgen Wähler vielleicht beim ersten, dritten oder fünften Mal, aber irgendwann werden sie darauf verzichten. Diese Ungeduld der Menschen könnte ausgenutzt werden. Diese Art von Bedrohungen werden in der Analyse ausser Acht gelassen. Soweit ich weiss, hat kein Experte für menschliche Computerinteraktionen, sprich Benutzerschnittstellen, das System untersucht.
Aber eigentlich könnte der Stimmbürger überprüfen, ob seine Stimme richtig abgegeben und gezählt wurde?
Ja, der Prozess dafür ist etabliert. Das Problem ist aber, was passiert danach? Nehmen wir an, der Wähler sieht ein Problem mit dem Antwortcode, der nicht funktioniert. Das könnte ein Hinweis auf eine Schadsoftware sein, die versucht, die Stimme zu verändern. Aber das System der Schweizerischen Post sagt nicht, was passieren soll, wenn der Wähler dies bemerkt. Und in der Tat kann nichts Sinnvolles passieren. Denn wir wissen nicht, ob der Wähler den Code korrekt eingegeben hat. Selbst wenn der Wähler alles richtig macht und die Maschine beim Betrug erwischt, kann nichts dagegen unternommen werden. Dies wird als Dispute-Resolution-Problem bezeichnet.
Nicht nur Experten, sondern auch die breitere Community hat mittels Bug-Bounty-Programmen das System nach Schwachstellen untersucht. Dies könnte helfen, mögliche Bedrohungen zu erkennen.
Ich bin mir nicht sicher, ob Bug Bounties eine sinnvolle Massnahme sind. Man kann sich nicht darauf verlassen, dass White-Hat-Hacker kostenlos oder für niedrige Prämien arbeiten. Wenn ein Black-Hat-Hacker eine Zero-Day-Schwachstelle findet, kann er sie für viel Geld verkaufen. Wenn also jemand eine Sicherheitslücke im Schweizer Postsystem findet, hat er im Prinzip die Wahl, sie zu veröffentlichen oder zu verkaufen. Aber das ist nicht das zentrale Problem. Nicht jeder erfahrene White-Hat-Hacker will jedes Jahr aufs Neue analysieren, ob zufällig neue Sicherheitslücken in das System eingebaut wurden. Auf solche Methoden kann man sich nicht verlassen, wenn man Sicherheit erreichen will. Und die Tatsache, dass Pen-Tester nichts gefunden haben, sagt wirklich nichts über clientseitige Schwachstellen aus.
Ein Hacking-Angriff ist nicht die einzige Gefahr für einen E-Voting-Prozess.
Nur ein Beispiel wäre die Möglichkeit von Korruption in der für die Wahlzettel zuständigen Druckerei. Die gesamte Sicherheit des Systems beruht darauf, dass die auf den Zettel gedruckten Sicherheitscodes geheim sind. Aber für die Druckerei sind sie eben nicht geheim. Wenn diese Datenbank geleakt wird und in die Hände von jemandem gelangt, der keine Skrupel hat, dann kann er für jeden Wähler Stimmen abgeben. Dieses Problem war von Anfang an bekannt.
Dies würde Manipulationen im grossen Stil ermöglichen.
Ein solches Leck könnte einen skalierbaren Angriff nach sich ziehen. Für einen skalierbaren Angriff könnte man aber auch eine Zero-Day-Schwachstelle in Android, iOS oder Microsoft Windows ausnutzen. Eine Schwachstelle, die es Hackern ermöglicht, Schadsoftware auf Tausenden von Geräten von Wählern zu installieren. Die Veränderung der Stimmen auf mehreren 1000 Computern reicht aus, um das Ergebnis von Kommunalwahlen oder von sehr knappen nationalen Wahlen zu beeinflussen.
Die Integrität des Abstimmungsergebnisses wird zuletzt von einem Auditor bestätigt. Die universelle Verifizierbarkeit sollte eine unabhängige Überprüfung des Wahlresultats ermöglichen.
Wähler müssen ihr gesamtes Vertrauen einem unabhängigen Auditor schenken. Und unabhängig davon, wie integer diese Person ist, stellt sich die Frage, ob jeder ihr vertraut. Man könnte meinen, dass die Schweizer Wählerinnen und Wähler dem Wahlprozess vertrauen. Aber das hätte ich vor wenigen Jahren auch noch von den USA gedacht.
In den USA wurden viele Wahlzettel nachgezählt, was die Situation zu einem gewissen Grad beruhigt hat. Müsste das eine Lehre sein? Braucht es Papier?
Ja, der aktuelle Stand der IT-Security-Wissenschaften lässt uns derzeit und auf absehbare Zeit zum Schluss kommen, dass bei Wahlen Papierstimmzettel, die von Hand ausgefüllt, von Hand nachgezählt und von Hand geprüft werden können, die einzig sichere Methode sind, die man kennt.
Das liegt zum Teil daran, dass öffentliche Wahlen eine einzigartige Sicherheitsanforderung haben: Die Wähler können nicht darauf vertrauen, dass eine einzelne Person oder ein privates Unternehmen alle Geheimnisse bewahrt und die Stimmen zählt. Die Stimmen müssen so ausgezählt werden, dass Zeugen der verschiedenen Parteien oder Kandidaten die Fairness prüfen können. Wenn dieser Prozess in einem Computer eingeschlossen ist, für den nur eine Person oder ein privates Unternehmen die Schlüssel hat, ist dies ausgeschlossen. Das private Unternehmen ist der Hersteller des Betriebssystems, sprich Google, Apple, Microsoft oder die Linux-Stiftung. Das ist das Problem.
Andrew W. Appel
Professor für Informatik an der Princeton UniversityAndrew Appel ist Eugene-Higgins-Professor für Informatik und war von 2009 bis 2015 Vorsitzender der Computer-Sciences-Abteilung der Princeton University. Seine Forschungsschwerpunkte sind Software-Verifikation, Computersicherheit, Programmiersprachen und Compiler sowie Technologiepolitik. Über die Jahre hat er sich intensiv mit dem Schweizer E-Voting-System auseinandergesetzt.