BedenkliCH

SwissTengu hat seine Gedanken zur kürzlich aufgedeckten Schwachstelle im Genfer E-Voting System in herrlicher Weise in Bits und Bytes zusammengefasst. Und er hat mir die Erlaubnis gegeben, mal den Versuch einer Übersetzung zu starten. Also: lesen und merken!

So ist es also geschehen: Ein Hacker hat den Beweis erbracht, dass das Genfer E-Voting System kaputt ist. War da nicht schon mal was …?

Ein kurzer Rückblick: der Genfer Sébastien Andrivet hat sich die Zeit genommen, in einer geschlossenen Umgebung eine Minimalversion des E-Voting Servers nachzubauen. Seine Motivation: nichts anderes als herauszufinden, ob es möglich sei, die Funktion „Stimme ändern“ zu missbrauchen.
Und er hat es geschafft. Mit ein wenig Finesse, ein wenig Javasript und ein wenig viel Geduld beim Reverse-Engineering (weil der Quellcode ja logischerweise (?) nicht öffentlich zugänglich ist) hat er das Resultat an einer Veranstaltung zum Thema Sicherheit auf magistrale Art demonstriert.

Wie Ihr Euch vorstellen könnt haben die Reaktionen nicht auf sich warten lassen: Zeitungsartikel, Stellungnahmen von Partien und Politikern, jeder hat seine Meinung abgegeben. Und es scheint sich nicht beruhigen zu wollen – es geht dabei ja um ein Werkzeug der Demokratie. Ein Werkzeug, das Dank ein paar höchst peinlichen Bugs schon einmal zu Diskussionen Anlass gab.

Und natürlich verteidigt sich die Genfer Staatskanzlei. Mehr schlecht als recht. Und gibt solche Dinge von sich:

  • Das Problem war bekannt und als Restrisiko akzeptiert (geht gar nicht!)
  • Die Staatskanzlei hat sich immer für eine Öffnung des Quellcodes eingesetzt (Bullshit – wobei, es war eigentlich immer der Staatsrat, der sich mit dem Verkauf einer lausig gebastelten Demokratie ein schönes Sümmchen verdienen wollte)
  • Berichte wurden in einer Schublade liegen gelassen [Oppliger : http://www.umic.pt/images/stories/publicacoes1/rapport_oppliger_fr.pdf]
  • Sicherheits-Audits nur zur Hälfte durchgeführt, wobei die Client-Seite sträflich vernachlässigt wurde (dabei ist es gerade der Client, der die grösste Verwundbarkeit aufweist)

Die Staatskanzlei „will Lösungen finden“ und fügt hinzu, dass bis anhin „keine technische Lösung gefunden werden konnte“ … Seien wir mal lieb mit ihnen und geben hier ein paar Hinweise, wie man die Sicherheit des Teils etwas verbessern könnte:

  • Den Quellcode zugänglich machen, und zwar ohne Einschränkung und für alle (so muss sich auch Sébastien keine Sorgen darüber machen, dafür verklagt zu werden, dass er das tat, was jeder Bürgern tun können sollte: die Demokratie kontrollieren)V
  • erwendung eines externen Gerätes, wie sie zum Beispiel die UBS einsetzen; somit kann jede Transaktion validiert werden)
  • Verwendung eines 100% beherrschten Webbrowsers, welcher auf einem read-only USB-Stick läuft (Irrtum vorbehalten kommt das beim E-Banking der Migros Bank zum Einsatz)
  • Einsatz einer virtuellen Maschine (wobei hier die Gefahr besteht, dass ein grosser Teil der Bevölkerung nicht über die notwendigen Kenntnisse verfügt)
  • Signieren eines jeden Schrittes mit der SuisseID-Karte (obschon die ja auch ihre eigenen Probleme mit sich bringt – aber wenigstens muss da das Rad nicht neu erfunden werden)

Das Problem dieser Lösungen?
Meine Lieben, das kostet was. Diese Vorschläge, mal abgesehen von der Veröffentlichung des Quellcodes, kosten Zeit und Geld.
Zeit, um die Dinge zu implementieren, um sie zu testen und zu validieren (und da soll doch bitte die ganze Bevölkerung mitmachen können, ohne Einschränkung und von A bis Z). Und Geld, um die verschiedenen Geräte zu entwickeln (oder sie entwickeln zu lassen), die notwendig sind, um die Sicherheit der Stimmabgabe zu garantieren.

Eine weitere Möglichkeit, die einiges Zähneknirschen verursachen würde: Tabula rasa. Das Ganze „Halt!“. Wir fangen von vorne an und bauen ein solides Fundament auf Basis der ursprünglichen Berichte. Unter Einbezug von Sicherheitsexperten (es gibt sie an den Hochschulen, sei das nun eine Eidgenössische Technische Hochschule oder eine Universität) und ihrer Kenntnisse der Kryptografie, der sicheren Kommunikation und der sicheren Datenaufbewahrung.
Klar, das kostet mehr als weiter an einer lausigen Anwendung herumzubasteln, die in ihrem Quellcode die Namen von Entwicklern und das eine oder andere „Fuck“ enthält.
Klar, das bedeutet, dass mit den „Versuchen“ aufgehört werden muss (ich erinnere daran: Versuche, die sehr wohl bei den Abstimmungsresultaten berücksichtigt werden, und die möglicherweise das Resultat in die eine oder andere Richtung beeinflussen können).
Aber es würde zeigen, dass das Problem ernst genommen wird, dass damit aufgehört wird, Zauberlehrling zu spielen, und dass die ganze Sache seriös angegangen wird.

Eine letzte Lösungsmöglichkeit: wir geben das E-Voting ganz einfach auf. Aber das wird nicht geschehen, unter anderem „wegen“ den Auslandschweizern.

Seit ich mich mit der Thematik befasse habe ich den Eindruck, dass die Staatskanzlei nur auf das reagiert, was zu diesem System gesagt und gedacht wird, anstatt das ganze pro aktiv anzupacken und Probleme zu verhindern.
Bestes Beispiel ist die doppelte Stimmabgabe, die letztes Jahr kurz für Aufsehen gesorgt hatte. Die doppelte Stimmabgabe war auf Grund von drei Problemen möglich:

  • fehlende Datensperre bei Transaktionen
  • eine Modifizierung der Datenbank
  • Fehlen eines Indexes in besagter Datenbank (keine Ahnung, ob die Modifizierung auf der selben Tabelle geschah – der Quellcode ist geheim ;) ).

Das Fehlen einer Datensperre weist klar auf eine mangelhafte Risikoeinschätzung hin. Die beiden anderen Probleme zeigen auf, dass keine weitreichenden Tests stattgefunden haben. Ein solcher Bug – wohlgemerkt in einer produktiven Umgebung, deren Zweck das demokratische Abstimmen via Internet ist – ist nicht akzeptabel.

Ich werde den Eindruck nicht los, dass sich dieses Projekt im Kreis dreht und dass die elementarsten Entwicklungstechniken nicht beherrscht werden. Kurz gesagt, mein Vertrauen am Boden. Und die letzten Ereignisse sind nicht dazu geeignet, meine Meinung zu ändern.

Ich hoffe, dass J.-C- Schwaab genügend Unterstützung erhalten wird, um diesem Mummenschanz ein Ende zu bereiten. Das trifft nicht nur auf die Genfer E-Vote Lösung zu, sondern auch auf die Systeme von Neuenburg und Zürich, mit denen ich mich nicht im gleichen Ausmass auseinandersetzen konnte.

E-Voting beerdigt sich zur Zeit gerade selbst. Und das haben wir ein paar Stümpern zu verdanken, die ihren linken Fuss zum Nachdenken verwenden. Auf eine gewisse Art: eigentlich ist das ja gut so.

 

Schreibe einen Kommentar