E-Voting-Hack: "Der Intrusionstest soll nicht die Sicherheit des Systems beweisen"

Was kann der Public-Intrusion-Test leisten? Die Post und die Bundeskanzlei spezifizieren das Vorgehen. Ein Security-Experte zeigt sich kritisch.
 
Der Public-Intrusion-Test (PIT) des E-Votings der Post ist lanciert. Einige davon werfen die öffentlich zugänglichen Informationen Fragen auf. Zwei Aspekte sind bemerkenswert: Intransparenz und das Test-Setting an sich.
 
Um das Setting dieses Texts gleich zu klären: Die Post erhielt dieselben Fragen schriftlich wie die Bundeskanzlei. Diverse aber wollte die Post nicht beantworten, weil es um die Vorgaben und Richtlinien des Bundes gehe, welche die Post einhalten müsse.
 
Eingangs die Frage an den Security-Experten Umberto Annino, Eidg. Dipl. ICT Security Expert und Präsident des IT-Security-Verbands Information Security Society Switzerland (ISSS): Kann man bei diesem Setting die Sicherheit des E-Votings erfolgreich und abschliessend testen? "Kurz: Nein", antwortet Annino.
 
Beginnen wir mit einem intransparenten Aspekt: Zuständig für den PIT ist eine unauffällig geschäftende Lausanner Firma namens SCRT Information Security: Sie listet eine Wand voller Logos von Technologien auf, die ISO 27001-Zertifizierung und ein Gründungsjahr (2002). Über die Besitzverhältnisse oder das Management verliert SCRT kein Wort. Ist das normal und im E-Voting-Kontext sinnvoll? "Ich würde erwarten, dass hier die Gründer und die Personen des Managements aufgeführt sind", sagt Annino. "Dies ist eher üblich, auch wenn andere dies auch nicht machen."
 
Frage inside-it.ch: Wie und warum wurde diese Firma SCRT für die Durchführung ausgewählt? Halten Sie es nicht für nötig, dass die Öffentlichkeit sich über das Management und die Besitzverhältnisse von SCRT informieren kann?
Bundeskanzlei: "Die Beschaffung wurde im Einladungsverfahren durchgeführt. Massgeblich für den Zuschlagsentscheid ist die Wirtschaftlichkeit der offerierten Dienstleistung. Dabei wurden der Preis der Dienstleistung sowie die mit Blick auf die qualitativ hochstehende Erfüllung des Auftrags mitgebrachten Kompetenzen des Dienstleisters berücksichtigt. Die Punktevergabe gemäss den vordefinierten Kriterien hat die Firma SCRT als Gewinnerin hervorgebracht, wobei vier Offerten bewertet wurden. Das Unternehmen SCRT ist ein auf IT-Sicherheit und namentlich Pentesting spezialisiertes Unternehmen aus der Romandie. Es ist für den Betrieb der Testinfrastruktur mandatiert und in keiner Weise an der Herstellung oder am Betrieb des getesteten Systems zur elektronischen Stimmabgabe beteiligt. Für Details zum Unternehmen wenden Sie sich am besten an SCRT", antwortet der Sprecher der Bundeskanzlei auf Anfrage.
 
Kommen wir zum PIT-Setting an sich. Es setzt Grenzen, welche Angriffe überhaupt erwünscht sind und folgt klassischen Konzepten. Ein Capture-the-Flag-Vorgehen (CTF) scheint kein Thema zu sein. Bei CTF, durch die Hackerkonferenz DEF CON bekannt geworden, greifen Hackerteams einen Computer oder ein Netzwerk an, während ein Team dieses zu verteidigen versucht.
 
Umberto Annino bemängelt: "Es hat im Scope bereits Ausschlüsse, zudem – ein generelles Problem von Auftrags-Tests – die Angreifer dürfen nur legale Mittel nutzen. Nur schon aus diesem Grund ist das Ergebnis des Tests ein Puzzleteil in einem grösseren Bild, aber mehr nicht."
 
Sie haben ein klassisches Penetration-Testing-Setting gewählt. Warum? Warum sind Umsysteme und Endpoints kein Bestandteil der Tests?
Bundeskanzlei: "Grundsätzlich sind alle Angriffe erlaubt und erwünscht, die mit Blick auf die Sicherheit der Stimmen einen Erkenntnisgewinn bringen könnten. Angriffe, die sich lediglich dazu eignen, bekannte Schwachstellen zu illustrieren, werden jedoch nicht entschädigt. Einige Angriffe sind sogar verboten, obwohl sie durchaus mit einem relevanten Risiko verknüpft sind. Um diese Risiken unter Kontrolle zu halten, stehen jedoch wirksamere Mittel zur Verfügung als der öffentliche Intrusionstest. Zugelassen und entschädigt werden erfolgreiche Angriffe auf die E-Voting-Infrastruktur der Post. Andere Organisationen (für Wahlen und Abstimmungen zuständige Stellen bei den Kantonen, Druckereien der Kantone, weitere Dienstleistungen der Post) nehmen am öffentlichen Intrusionstest nicht teil, dementsprechend dürfen sie auch nicht angegriffen werden. Zudem sind lastbasierte Angriffe (distributed Denial-of-service) verboten, da sie im Rahmen eines öffentlichen Intrusionstest keine neuen Erkenntnisse bringen, auch anderweitig getestet werden können und ausserdem den Ablauf des Tests stören würden. Ebenfalls keine Entschädigungen werden für Angriffe auf die Benutzerplattformen der Stimmberechtigten ausgesprochen. Dasselbe gilt für jegliche Angriffe, die darauf abzielen, via gefälschte Nachrichten die Akteure dazu zu bringen, von den vorgesehenen Prozessen abzuweichen (Social-Engineering). Erfolgreiche Angriffe machen sich ein Fehlverhalten der Akteure zunutze, das im Rahmen eines öffentlichen Intrusionstests nicht realitätsgetreu simuliert werden kann. Dennoch: Das Brechen der individuellen Verifizierbarkeit (ein "Ja" wird abgegeben und ein "Nein" angezeigt), so dass die Stimmenden keine Möglichkeit haben die Manipulation festzustellen, wird entschädigt."
 
Der Sprecher fügt an, der PIT unterscheide sich von einem klassischen Pentest dadurch, dass die Teilnehmenden ihre Erkenntnisse aus dem Test publizieren dürfen.
 
Stand ein Capture-the-Flag-Setting zur Debatte? Falls ja, warum wurde es verworfen?
Bundeskanzlei: Bei der Erarbeitung der Testbedingungen für den PIT haben Bund und Kantone Meinungen von externen Fachpersonen eingeholt. Dabei wurde auch eine an Capture-the-flag angelehnte Versuchsanordnung diskutiert. Dies wurde schliesslich verworfen: Im Kern der Zielsetzung des PIT liegt der Erkenntnisgewinn. Indem auf Flags verzichtet wird, soll eine grössere Vielfalt von Angriffsstrategien begünstigt werden. Darüber hinaus sollen auch Rückmeldungen honoriert werden, die ein Abweichen von besten Praktiken der Sicherheitsindustrie aufzeigen. Dies gilt namentlich auch dann, wenn kein Angriff demonstriert werden kann. Eine an Capture-the-flag angelehnte Versuchsanordnung ist dazu ungeeignet."
 
Kommen wir zu den spezielleren Aspekten und auf diese Frage will auch die Post antworten (für alle andern Fragen erklärte sie sich nicht für zuständig oder nicht involviert und verwies auf die Bundeskanzlei).
 
In den FAQ zum PIT steht: "Einige Elemente, die an sich wie Schwachstellen aussehen können, werden bei der Gestaltung des Systems berücksichtigt und durch andere Mechanismen gemindert. Sie werden daher nicht als Schwachstellen im Kontext dieser PIT betrachtet."
 
Des Weiteren wird ein Beispiel angeführt: "Ein einfaches Beispiel dafür ist die Möglichkeit, eine Abstimmung auf der Client-Seite (d. H. dem Computer des Wählers) durch Kompromittierung des Browsers (z. B. durch eine schädliche Erweiterung) zu ändern. Dieser Angriff ist zwar durchaus machbar und kann vom Voting-System nicht zuvor verhindert werden, wird jedoch durch den Mechanismus der 'individuellen Nachprüfbarkeit' abgewehrt, indem dem Wähler ein Return-Code anzeigt wird, der den vom E-Voting-Backend registrierten Antworten entspricht. Dieser Return-Code wird vom Wähler anhand der Stimmkarte verifiziert, die per Post verschickt wurde, und die somit ausserhalb des Angriffsbereiches liegt. Durch diesen Mechanismus kann der Wähler den Angriff erkennen und die Abstimmung abbrechen."
 
Eine Anschlussfrage an die Post und die Bundeskanzlei drängt sich auf:
Wie kommen Sie darauf, dass der Penetration-Test in diesem Setting dies wirklich "abfängt"?
 
Die Post: "Bei E-Voting wird angenommen, dass der Voting-Client (also das Endgerät) grundsätzlich unsicher ist (Vertrauensannahme des generellen Modells). Deshalb wird die individuelle Verifizierbarkeit bei E-Voting-Systemen von Bund und Kantonen vorgeschrieben. Die individuelle Verifizierbarkeit ermöglicht allen Bürgern zu überprüfen, ob ihre Stimmen unverfälscht in der elektronischen Urne angekommen sind. Die Überprüfung machen Wähler mit Prüfcodes, die übereinstimmen müssen. Wenn sie nicht übereinstimmen würden, müssten sie den Wahlgang abbrechen und an einem anderen Gerät, brieflich oder an der Urne abstimmen.
 
Angriffe auf die individuelle Verifizierbarkeit gehören aber zum Testumfang. Beispiel: Der Bürger stimmt mit 'Ja' ab. Der Hacker fängt die Stimme aber ab und gibt ein 'Nein' in die Urne und ist in der Lage, den Prüfcode für ein 'Ja' dem Bürger anzuzeigen, so dass der Bürger die Manipulation nicht feststellt".
 
Den genauen Testumfang finde man auch im Verhaltenskodex.
 
Bundeskanzlei: Die individuelle Verifizierbarkeit ist eine der Sicherheitsmassnahmen, die sich gegen Versuche richten, Stimmen vor der definitiven Abgabe unbemerkt zu manipulieren. Selbstverständlich könnte eine Angriffsstrategie darin bestehen, eine stimmberechtigte Person dazu zu bringen, von den behördlichen Instruktionen abzuweichen ("Social Engineering") – beispielsweise indem ihr auf dem Bildschirm angezeigt wird, dass die Verifizierbarkeit beim aktuellen Urnengang nicht verfügbar ist. Solche Strategien sind aus dem Test ausgeschlossen. Der öffentliche Intrusionstest ist nicht dazu gedacht, dies 'abzufangen', wie Sie schreiben. Dies liegt primär daran, dass das echte Verhalten von Stimmberechtigten im Rahmen eines öffentlichen Intrusionstests nicht simuliert werden kann. Demonstrationen von Teilnehmenden, die zeigen, wie sie Social-Engineering-Angriffe auf die eigene Infrastruktur verüben, bringen keine neuen Erkenntnisse. Ebenfalls sollen Teilnehmende nicht dazu ermuntert werden, die Infrastruktur fremder Personen anzugreifen.
 
Allerdings sind Versuche, die technische Umsetzung der individuellen Verifizierbarkeit auszuhebeln, durchaus Bestandteil des Tests."
 
Wenn ein registrierter Hacker es schafft, aus einen "Ja" ein "Nein" zu machen, dann erhält dieser ein Bug Bounty von der Post.
 
Registrierte Angreifer auf das E-Voting dürfen nur legale Mittel einsetzen. "Richtige Hacker" scheren sich aber nicht darum. Wieso testen Sie nicht unter realen Bedingungen? Welche Risiken können Sie mit Ihrem Setting nicht ausschliessen?
Bundeskanzlei: "Während eines echten Urnengangs sollen die Ressourcen vollumfänglich für diesen eingesetzt werden können. Der Test findet deshalb nicht während eines echten Urnengangs statt. Beim öffentlichen Intrusionstest dürfen die Teilnehmenden Mittel einsetzen, die bei einem echten Urnengang illegal wären – sie dürfen versuchen, in die E-Voting Server einzudringen und darüber hinaus dürfen sie versuchen Stimmen zu lesen und zu manipulieren. Das getestete System wird in realitätsgetreuer Form zur Verfügung gestellt. Illegale Versuche, Schwachstellen zu finden, können auch unabhängig vom öffentlichen Intrusionstest vorgenommen werden. Der öffentliche Intrusionstest erlaubt es hingegen auch wohlmeinenden Akteuren, das System eingehend auf Schwachstellen zu untersuchen."
 
Die Post: "Angreifer setzen grundsätzlich illegale Mittel ein. Die Registration (durch Unterzeichnung des Verhaltenskodex) toleriert aber das Verhalten und schützt die Teilnehmer vor strafrechtlicher Verfolgung. Eine Anmeldung ist zusammengefasst aus drei Gründen notwendig: 1) Sie stellt sicher, dass Teilnehmer das System aus rechtlicher Sicht angreifen dürfen und sich nicht strafbar machen. 2) Sie stellt sicher, dass bei bestätigten Befunden eine Entschädigung ausbezahlt werden kann. 3) Sie klärt die Verhaltensregeln für die Teilnehmer.
 
Dieses Vorgehen ist üblich und Standard bei jedem Bug Bounty-Programm und gehört zu den Best Practices."
 
Der Postsprecher fügt an, es handle sich durchaus um reale Bedingungen: "Der Test passiert unter realen Bedingungen, da der Test vier Wochen dauert, wie bei realen kantonalen und eidgenössischen Abstimmungen (Versand Stimmmaterial bis Urnengang). Um die Tester zu unterstützen, hat die Post gewisse Elemente aus den realen Bedingungen geändert:
  • Die Post wird bestimmte Sicherheitsmassnahmen des Systems deaktivieren, damit sich die Teilnehmer voll auf den Angriff auf das Kernsystem konzentrieren können. Dank der Erfahrung im normalen Betrieb kann die Post potenzielle Angriffe rasch identifizieren. Diese Warnsignale werden im Intrusionstest ignoriert.
  • Der Versand der Stimmrechtsausweise erfolgt beim Intrusionstest aus praktischen Gründen elektronisch statt per Post. Zudem werden die Ausweise von der Post generiert und nicht von den kantonalen Behörden.
  • Die Tester können nicht nur einen, sondern mehrere Stimmrechtsausweise bestellen."
Wie gehen Sie damit um, dass heute schon "Zero-day Exploits" existieren könnten, die bei diesem Test-Setting nicht entdeckt werden?
Die Post: "Das E-Voting-System ist unter der Annahme gebaut, dass sowohl der PC des Nutzers als auch der Server nicht vertrauenswürdig ist (das Vertrauensmodell ist durch Bund beschrieben, s. im technischen Reglement zur VEleS). Die Abwehrmassnahmen dagegen sind die individuelle Verifizierbarkeit und universelle Verifizierbarkeit. Das heisst in anderen Worten: Selbst wenn ein hypothetischer 0-day-Exploit den E-Voting-Server angreifen kann, können wir es zweifelsfrei entdecken, möglicherweise aber nicht verhindern. Ein Exploit müsste somit die universelle Verifizierbarkeit aushebeln können. Mit einem Intrusionstest stellen wir unter anderem sicher, dass die Wahrscheinlichkeit, dass ein möglicher Exploit unbekannt bleibt, auf das machbare Minimum reduziert wird. Absolute Sicherheit gibt es nicht. Es ist aber bisher niemandem gelungen die individuelle oder gar die universelle Verifizierbarkeit zu knacken und damit Stimmen unbemerkt zu manipulieren."
 
Zum Risk-Management ergänzt die Bundeskanzlei, dass Kantone eine Bewilligung für E-Voting benötigen und für jeden Einsatz eine neue Zulassung nötig sei. Dabei prüfe die Bundeskanzlei die Einhaltung der bundesrechtlichen Anforderungen. "Zu diesen gehören die vollständige Verifizierbarkeit, verschiedene Zertifizierungen sowie die kontinuierliche Beurteilung der Risiken. Im Rahmen der Zertifizierung nach ISO27001 wird auf die laufende Beurteilung von Risiken ein besonderer Akzent gelegt. Die Post hat sämtliche Zertifizierungen durchgeführt."
 
In Sachen Zero-Day-Exploits zeigt sich auch die Bundeskanzlei selbstsicher: "Die vollständige Verifizierbarkeit ist auch unter Berücksichtigung von "zero-day Exploits" besonders robust: Vollständige Verifizierbarkeit bedeutet im Wesentlichen, dass die Manipulation einer einzelnen Komponente nicht ausreicht, um unbemerkt Stimmen zu fälschen. Wird eine einzelne Komponente manipuliert, stehen weitere Komponenten zur Verfügung, dank denen ein Fälschungsversuch entdeckt werden kann. Gleichzeitig bleiben die Stimmen verschlüsselt (End-to-End)," schreibt der Sprecher des Bundes.
 
Was ist Ihr Ziel mit den Tests? Dass Sie anschliessend zeigen können, "dieses E-Voting ist 100 % sicher" oder "mindestens so sicher wie herkömmliche Stimmabgabe in der Schweiz"? Oder steht ein anderes, allenfalls quantifizierbares Ziel im Vordergrund?
Bundeskanzlei: "Bund und Kantone verfolgen mit dem Intrusionstest das Ziel, dass Schwachstellen aufgedeckt und wenn nötig behoben werden. Darüber hinaus ist es im Sinne der Transparenz, wenn sich möglichst viele unabhängige Fachpersonen im Bereich der E-Voting-Sicherheit auskennen. Der öffentliche Intrusionstest könnte für sie ein Anlass sein, sich mit E-Voting zu befassen. Der öffentliche Intrusionstest ist eine Sicherheitsmassnahme unter vielen. Jedes IT-System hat Schwachstellen, das wird bei E-Voting auch nach dem öffentlichen Intrusionstest der Fall sein. Entscheidend ist, dass keine Schwachstelle ein grösseres Risiko begründet. Schwachstellen müssen Sicherheitsmassnahmen gegenüberstehen, die hinreichend wirksam sind. Mit der vollständigen Verifizierbarkeit kennt E-Voting eine umfassende und besonders wirksame Sicherheitsmassnahme, die es für andere Dienstleistungen nicht gibt. Darüber hinaus werden die Systeme regelmässig von einer akkreditierten Stelle auditiert und zertifiziert."
 
Die Post: "Der Intrusionstest beweist nicht die Sicherheit des Systems und soll es auch nicht. Es geht darum, Angriffsszenarien testen zu lassen, und das System auf Herz und Nieren zu prüfen. Insbesondere die Mechanismen der individuellen und der universellen Verifizierbarkeit sorgen dafür, dass mathematisch jede Manipulation der Stimmen nachgewiesen werden kann. Im Intrusionstest sollen Teilnehmer besonders diese beiden Mechanismen angreifen. Die Erkenntnisse aus dem Intrusionstest fliessen in die laufende Weiterentwicklung des Systems, um die Risiken weiter zu reduzieren. Sollten Schwachstellen entdeckt werden, wird die Post sie evaluieren und risikobasiert beheben."
 
Wie gehen Sie damit um, dass mögliche Angreifer nach dem Test eine Lücke entdecken? Wie sieht Ihr Risk-Management-Konzept konkret aus?
Die Post: "Hinweise können uns jederzeit gemäss den Prinzipien der 'Responsible Disclosure' gemeldet werden. Die Post wird eingegangene Hinweise analysieren und falls nötig risikobasiert Massnahmen treffen. Der Quellcode bleibt auch nach dem Intrusionstest offengelegt, damit IT-Experten und Wissenschaftler das System auf Schwachstellen weiterhin prüfen können."
 
"Aber..."
Fachlich, so bilanziert der unabhängige Experte Annino, sei am PIT nichts falsch. Doch sei der Fokus einseitig auf die Technologie gelegt. "Man muss das gesamte Wahlsystem einbeziehen: People, Process, Technology. Aber Menschen, Endpoints und Umsysteme bleiben hier aussen vor". Und kommunikations-psychologisch sei die Anlage ungenügend: "Die Aussage 'letztlich ist nichts 100% sicher' ist nichtssagend. Ich entscheide beispielsweise selber, ob ich in ein Flugzeug steige. Und genau das will ich beim E-Voting: Aufklärung, volle Transparenz der Bundeskanzlei und der Post, und dann ein demokratischer Entscheid."
 
Der PIT, so eine Zwischenbilanz, stösst auf Interesse: Bis anhin haben sich bereits rund 1900 Teilnehmer aus diversen Ländern angemeldet, wie der Website zu entnehmen ist.
 
Weitere Hintergründe zum PIT finden sich online bei der Bundeskanzlei.
 
Parallel dazu hofft die Bundeskanzlei, dass Stimmberechtigte künftig faktenbasiert wählen können, uuf welchem Weg sie ihre Stimmen abgeben. "Zudem soll die Offenlegung des Quellcodes dazu beitragen, dass unabhängige Fachpersonen vermehrt zu Themen rund um E-Voting mitdiskutieren werden."
 
Diesen Ball nehmen wir gerne jetzt schon auf: Liebe Security-Interessierte: Was halten Sie vom PIT? Nutzen Sie die Kommentarspalte, oder schreiben Sie ein E-Mail an [email protected] (Marcel Gamma)