Explore
de
meinung
Autor
Jakob Kaya
Autor
Vadim Kravcenko

… und die Schweiz noch nicht dazu bereit ist

Die Schweizer Post hat am 25. Februar 2019 den Quellcode Ihrer e-Voting Lösung veröffentlicht und die Öffentlichkeit gebeten den Code bis am 24. März 2019 einem Intrusions- und Penetrationstest zu unterziehen. Das Entwicklerteam von mindnow hat ebenfalls an diesem Test teilgenommen. Dieser Text will in diesem Zusammenhang einen groben Überblick über Pentests, e-Voting und unsere Eindrücke über den Code der Schweizer Post veröffentlichen.

Wir als mindnow digitalisieren tagtäglich Prozesse für namhafte Kunden und verstehen uns als starken Digitalisierungspartner. Die Schweiz ist ein fantastischer Standort für IT Unternehmungen. Auch wenn mindnow ein bunter Blumenstrauss verschiedenster Nationalitäten ist, sind wir uns alle der grossen Privilegien bewusst, hier in der Schweiz leben und arbeiten zu dürfen. Das ist Grund genug uns verpflichtet zu fühlen, von dieser Möglichkeit teilzuhaben, Gebrauch machen und unsere Entwickler für diesen Test einzuschreiben.

Warum e-Voting?

Elektronische Wahlsysteme können aus unserer Sicht die ersten grossen Schritte zu einem sicheren und flexiblen digitalen Wahl-Ökosystem für die Schweiz sein. Durch die Einführung von E-Governance-Systemen können enorme Steigerungen in Sachen Sicherheit ermöglicht werden und gleichzeitig steigern diese Systeme die Effizienz von längst überholten bürokratischen Prozessen der öffentlichen Verwaltung.

Gerne liebäugeln wir als mindnow mit Estland. Estland ist einer der wenigen Staaten, in welchem quasi 99% der öffentlichen Dienste rund um die Uhr online verfügbar sind. Der baltische Kleinstaat ist das erste Land, welches das Paradigma der digitalen Gesellschaft absorbiert und sich in hohem Tempo um die Digitalisierung der öffentlichen Dienstleistungen bemüht.

Inwieweit der Wahl- und Abstimmungsprozess in der Schweiz jedoch digitalisiert werden soll, sind wir uns auch noch nicht sicher und haben uns darüber noch keine abschliessende Meinung gebildet. Die Risiken in Sachen Wahlbetrug und Stimmenkauf sind auf jeden Fall extrem schwer abzuschätzen.

(Die Risiken von) e-Voting in der Schweiz

Klar, auch die Schweiz digital macht vorwärts. Auf kantonaler Ebene gibt es bereits erste Gehversuche gewisse Dienstleistungen zu digitalisieren. Unter anderem bietet der Kanton Genf bereits ein e-Voting für seine Bürgerinnen und Bürger an. Der Quellcode dazu wurde vorbildlich auf der Plattform Github veröffentlich.

Die Schweiz ist eines der wenigen Länder, das in der Lage wäre, viele seiner öffentlichen Dienstleistungen zu digitalisieren und die staatliche Verwaltung mit digitalen Dienstleistungen zugänglicher und kundenfreundlicher zu gestalten. Dieser Meinung sind auch zwei Drittel der Schweizerinnen und Schweizer, wie eine nationale Umfrage ergab. Doch gerade in der Schweiz mit Ihren ausgebauten und vielfältigen direktendemokratischen Instrumenten ist e-Voting ein hochsensibles Thema. Wenn auch nur das kleinste Risiko für einenWahl-  oder Abstimmungsbetrug besteht, kann dies schwerwiegende Folgen für die Glaubwürdigkeit der Institutionen haben. Welche Kraft haben Gesetze, in in einem Verfahren verabschiedet wurden, das nicht über jeden Zweifel erhaben ist? Welche Auswirkungen könnte eine solche Entwicklung letztlich auf die Bürgerinnen und Bürger haben?

Es ist kein Geheimnis, dass diverse Regierungen ganze Bataillonen von Cyber-Soldaten beschäftigen um im «feindlichen» Ausland destabilisierend zu wirken. Dabei werden auch die Grundfestungen der Demokratien über digitale Schwachstellen tagtäglich zu penetriert. Wer meint, dass die Schweiz und ihr e-Voting von der sich rasant weiterentwickelnden Cyber-Kriegsführung verschont bleibt, blendet die Realität aus.

Nun hat also die Schweizer Post ihren Code für Hackers und Sicherheits-Enthusiasten veröffentlicht und die Ergebnisse sind haarsträubend. Am 12. März hat der CCC Schweiz einen Beitrag mit dem Titel “E-Voting mit Post und KPMG: Totalschaden mit universeller Wahlfälschung” dazu veröffentlicht. Wem die Headline noch nicht reicht, kann sich den Artikel hier zu Gemüte führen. Andere brachten es auf Twitter kurz und knapp auf den Punkt: “lol burn it with fire.

Warum die Schweizer Post unser e-Voting programmiert

Was will die Post mit Ihrem e-Voting System bezwecken?

Die Post bietet den Kantonen und Gemeinden eine einfache und flexible Lösung für die Einführung von E-Voting für In- und Auslandschweizer an. Als die vertrauenswürdige Übermittlerin von über 20 Mio. Sendungen mit Stimmunterlagen und brieflichen Stimmabgaben pro Jahr ist die Post dazu prädestiniert, mit E-Voting auch bei der elektronischen Stimmabgabe für den sicheren und vertraulichen Transport von Stimmen zu sorgen. Seit 2016 wird ihre Lösung eingesetzt.

Was für ein fataler Trugschluss, dem aber auch schon andere traditionelle Industriegrössen unterlagen! Warum soll ausgerechnet die Post der ideale Anbieter von digitaler Innovation sein? Das wäre wie wenn die SBB behaupten würde, sie sei die prädestinierte Entwicklerin einer neuartigen Quanten-Beam-Transporttechnologie, nur weil sie seit 1902 Menschen auf Schienen von A nach B befördert. Schuster bleib bei deinen Leisten.

Warum ist der Quellcode überhaupt öffentlich?

Dass Quellcode über Open Source Lizenzen veröffentlicht wird, ist eine altbewährte Praxis aus den Sphären der IT. Dies geschieht oft nicht nur aus altruistischen Motiven, dass zum Beispiel Information gratis und öffentlich zugänglich sein soll. Dieser Weg hat sich auch bewährt, um die Sicherheit und Fehlerlosigkeit von Code zu überprüfen, und diesen unter Umständen durch die Community verbessern und korrigieren zu lassen.

Die Schweizer Post hat den Code aber nicht unter einer Open Source Lizenz released, sondern möchte mit diesem Schritt vor allem die Sicherheit des Codes überprüfen lassen. Dabei geht es vor allem darum sicherzustellen, dass eine sogenannte “universelle Verifizierung” möglich ist. Das Auditing, also die Überprüfbarkeit, ist die wichtigste Kennzahl, um die Vertrauenswürdigkeit von e-Voting-Systemen zu beurteilen. Dies bedeutet, dass beim e-Voting eine universelle Überprüfbarkeit gewährleistet werden muss, dass jedes Mitglied der Öffentlichkeit das ordnungsgemäße Wahlverhalten überprüfen und sicherstellen kann.

Wie sieht der Post Code aus?

Als erstes ist unseren DevMinds aufgefallen, dass im Code viele Kommentare zu finden sind, welche stark darauf hindeuteten, dass der Code noch in Arbeit ist. Das allgemeine Erscheinungsbild des Codes erachten wir nicht als «Production-Ready», also für eine Veröffentlichung nicht genug ausgereift. Wir hätten den Code so nicht veröffentlicht. Im Code fehlen Kommentare und aussagekräftige Beschreibungen, um es externen Entwicklern leicht zu machen, ihn zu verstehen und ordnungsgemäss zu überprüfen.

Der wichtigste Teil – die Kryptographie – wurde auf mehrere Module und Dateien aufgeteilt, was die Verifizierung der Algorithmen komplex macht und auch die Anzahl der potenziellen Fehler vergrössert, die übersehen werden können. Der Code scheint zwar genau das zu tun, wofür er gemacht wurde, wurde aber offensichtlich nicht als Open Source konzipiert.

Wir sind auch auf eine Verschlüsselungsparameter-Hölle gestossen. Es ist schwer zu verstehen, was die übergebenen Parameter bewirken, und ob diese tatsächlich sicher sind. Dies signalisiert eine riesige „red Flag“ für die Gesamtsicherheit des Projekts. Mit unserer kritischen Beurteilung stehen wir auf jeden Fall nicht alleine da, wie die beiden folgenden Punkte zeigen.

Was andere über den Post-Code sagen

Prüfung durch die KPMG

Gemäss den veröffentlichten Dokumenten wurde der Code von einem der führenden Berater-Unternehmen KPMG genehmigt und verifiziert. Es ist also doch sehr überraschend, dass so schnell nach der Veröffentlichung des Codes dermassen kritische Schwachstellen gefunden wurden, was ein sehr düsteres Licht auf die Leistung der KPMG wirft. Klar, kein System ist “hacker-proof”, nichts ist unpenetrierbar. Aber Sicherheitslücken in diesem Ausmass hätten in der ersten Prüfungsrunde durch die KPMG sofort erkannt werden müssen.

Unsere Meinung

Damit die Schweizer Regierung ein neues, digitales Wahlsystem als Ergänzung oder Ersatz des bisherigen Systems in Betracht ziehen darf, muss es von jedem Bürger nachprüfbar sein. Dabei sollten folgende Kriterien erfüllt werden:

  • Der Code muss gründlich dokumentiert und alle kryptographischen Parameter müssen erläutert und deren Verwendung geklärt werden. Es muss damit klar sein, was die Grenzen und die Sicherheitsimplikationen der einzelnen Parameter sind.
  • Der Code muss, wenn nicht sogar eine universelle Verifizierbarkeit, zumindest „vollständige Verifizierbarkeit“ bieten.
  • Der Code sollte eine Vielzahl von Penetrationstests durch öffentliche und privaten Sicherheitsprüfer durchlaufen und bestehen.

Der Code, der derzeit von der Schweizerischen Post veröffentlicht wurde, entspricht diesen Kriterien nicht. Er ist unterentwickelt und schlecht kommentiert. 

So sehr wir als dezidierte Befürworter der Digitalisierung der öffentlichen Hand gelten, so sind wir uns auch der Risiken dieser Projekten bewusst. Gerade die Sicherheit beim e-Voting ist ein Thema, welche nicht zu unterschätzen ist. Wir schliessen uns in diesem Punkt klar dem Chaos Computer Club Schweiz an, und können nicht genug betonen, dass alle Akteure in der Schweiz beim Thema e-Voting einen technisch seriöseren Ansatz verfolgen sollten. Wenn dies nicht gewährleistet werden kann, sollte die Schweiz lieber die Finger davon lassen.

Mitreden

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Autor
Jakob Kaya
Autor
Vadim Kravcenko