Carsten Wawer

Geschäftsführer SQUIRREL & NUTS digital

Digitale Lösungen für gesellschaftliche Akteure

Software-Entwickler

AI-Evangelist

Carsten Wawer

Geschäftsführer SQUIRREL & NUTS digital

Digitale Lösungen für gesellschaftliche Akteure

Software-Entwickler

AI-Evangelist

Menu
Beitrag

Für die CDU ist das Internet auch 2024 noch Neuland

Für die CDU ist das Internet auch 2024 noch Neuland

Die CDU hat heute eine Online-Umfrage zur “Rücknahme des Verbrennerverbots” abgeschaltet. Zuletzt stimmten mehr als 84 % der Teilnehmenden gegen die Position der CDU.

Wohlstand und Jobs in Autoindustrie sichern.

Die CDU spricht von zehntausenden automatisiert abgegebenen Stimmen, die das Ergebnis manipuliert hätten.

CDU: Wohlstand und Jobs sichern, Verbrenner-Verbot abschaffen.

Ob es sich wirklich um zehntausende ‚manipulierte‘ Stimmen handelte, ist von außen schwer zu beurteilen. Darum soll es für mich heute auch nicht gehen. Stattdessen möchte ich herausfinden, wie sicher die Umfrage der CDU tatsächlich war und wie schwerwiegend die angebliche Manipulation war. Und zuletzt will ich die Frage stellen: “Wie geht es besser?”

Auf Twitter verbreiten führende CDU-Politiker das Narrativ einer “nie dagewesenen kriminellen Energie” und deuten es als “Hass und Hetze”.

Kritik an Grünen-Umfrage von Julia Klöckner.

Auch Generalsekretär Linnemann verbreitet via Bild das Framing der “kriminellen Energie”, die nötig gewesen sei um das Umfrage-Tool zu manipulieren.

CDU kritisiert Wahlkampfmanipulation und fordert Fairness.

Der Dienstleister lässt sich mit folgenden Worten zitieren: “Gegen ein solches Maß an krimineller Energie, wie sie hier vorliegt, hilft nur ein aufwendiges System mit Zwei-Faktor-Authentifizierung unter Angabe von E-Mail oder Mobilnummer. Das aber steht einer möglich einfachen, niederschwelligen Teilnahme entgegen”.

Aber ist das korrekt? Und ist es für die CDU tatsächlich so schwer eine einigermaßen sichere Umfrage auf der eigenen Website anzubieten? Ich habe mir die Umfrage daher mal etwas genauer angeschaut um einschätzen zu können, welche Sicherheitsmaßnahmen die CDU auf ihrer Website implementiert hat um die Abgabe von automatisierten Stimmen zu verhindern.

Der Test

Wie funktioniert die Stimmabgabe auf der Website der CDU denn technisch? Dazu habe ich mir den entstehenden Netzwerkverkehr etwas genauer angesehen.

Hier sieht man, dass bei der Stimmabgabe bei einer Umfrage eine POST-Anfrage (hierbei werden Daten an die Website zur Verarbeitung geschickt) an die URL https://www.cdu.de/api/voting/answer abgeschickt wird. Diese umfasst im JSON-Format eine ID zur Referenzierung der jeweiligen Umfrage (questionid) und die jeweilige Antwort (im Format true/false für Ja/Nein) als reply.

Als nächstes habe ich ein kleines Skript geschrieben um die Antworten automatisiert abzugeben. Dazu habe ich den wirklich einfachsten Ansatz gewählt und das Kommandozeilen-Tool “curl” gewählt, mit dem man Anfragen jeglicher Art verschicken kann und habe die oben beschriebene Anfrage imitiert.

Konsole mit POST Anfrage Ergebnissen

Im obigen Screenshot sieht man, wie die Umfrage der CDU jede meiner Anfragen sauber verarbeitet hat und ich die aktuelle Umfrage zum Thema Asyl innerhalb weniger Minuten um einen Prozentpunkt verändern konnte.

Ich würde gerne sagen, dass es herausfordernd war. Ich würde gerne sagen, dass ich tief in einen Kaninchenbau klettern musste um die angeblichen Sicherheitsmaßnahmen zu umschiffen.

Leider war dem nicht so und die das Schreiben dieses Artikels wird deutlich mehr Zeit in Anspruch nehmen als das Schreiben eines Skripts, das laut CDU “kriminelle Energie” voraussetzt und laut Dienstleister ein “ausreichender Sicherheitsstandard” für derartige Umfragen ist.

Das Skript funktionierte sofort, die einzige Hürde stellt meiner Ansicht nach ein IP-basiertes Rate-Limiting dar, dass die Anzahl der möglichen Antworten pro Zeiteinheit limitiert. Das Skript benötigte nur mittelmäßige Netzwerkkenntnisse und vielleicht 10 Minuten Zeit. Ab diesem Zeitpunkt ist es nur noch die Frage, wie lange man das entsprechende Skript abstimmen lässt.

Das Rate-Limiting auf IP-Adressen-Basis verhindert vielleicht das Absetzen von tausenden Antworten innerhalb weniger Minuten, es verhindert nicht aber das (relativ) langsame automatisierte Abstimmen über einen langen Zeitraum. Mein Eindruck wäre, dass es durchaus möglich wäre über 10.0000 Stimmen in unter 24 Stunden zu generieren, ohne dass die Sicherheitsmaßnahmen der CDU hier greifen würden.

Ich kann dies nicht mit 100%-iger Sicherheit sagen, weil ich meinen Test nach ca 150 Versuchen bei der aktuellen Umfrage unterbrochen habe. Aber ich würde es sehr informierte Mutmaßung nennen.

Geht es besser?

Wer im Internet, gerade im politischen Umfeld, Umfragen anbietet, der MUSS mit böswilligen Akteuren rechnen. Das ist auch kein neues Phänomen der letzte Jahre sondern war bereits zur Zeit der ersten Schritte der deutschen Politik im World Wide Web Anfang der 2000er so. Politische Trolle gab es immer und sie haben immer versucht die Umfragen politischer Parteien so ausgehen zu lassen, wie es sich die Partei eben nicht wünscht. Als IT-Dienstleister für politische Parteien geht es vor allen Dingen darum so hohe Hürden aufzubauen, dass es für einen IT-interessierten Internet-Troll so aufwändig wird, dass er sich lieber ein anderes Ziel sucht.

Ich bin seit über 20 Jahren Software-Entwickler für Web-Applikationen. Auch ich habe schon Umfragen auf Websites im politichen Umfeld umgesetzt. Wie würde ich es angehen?

Filterung von Kommandozeilentools

Das erste was mich wunderte war, dass meine Anfragen über das Kommandozeilen-Tool curl überhaupt angenommen wurden. Jedes Programm, dass im Internet Daten überträgt, überträgt dabei auch eine Kennung des genutzten Programms, den “User-Agent”. In den meisten Fällen ist es der genutzte Browser, aber Kommandozeilen-Tools wie curl übertragen in der Standardeinstellung auch ihren Namen. Man könnte diesen zwar ändern, aber es war gar nicht nötig, weil die CDU diese Hürde ger nicht aufgebaut hat. Mein Skript hat sich nicht verstellt, hat gesagt “Ich bin kein Browser sondern wahrscheinlich versucht hier jemand Unsinn zu machen” und die Umfrage der CDU hat die Türen weit aufgemacht und mein Skript reingelassen.

Fazit: Das Filtern von Kommandozeilen-Tools, die sich nicht explizit als Browser tarnen, hätte mein Skript problemlos gestoppt und die automatisierten Antworten filtern können.

Verhindern wiederholter automatisierter Anfragen

Ein Problem, dass es einem Angreifer bei der Umfrage der CDU sehr einfach macht ist das Format der Antwort, die ich oben beschrieben habe. Ich kann hunderte (oder tausende) Male ein und dieselbe Anfrage abschicken und jedesmal wird die Anfrage als valide Antwort gewertet.

CSRF-Attacken (Cross-Site-Request-Forgery) sind eine der häufigsten Attacken im Internet. Diese machen sich zunutze, dass manche Websites nicht sicherstellen, dass eine Anfrage wirklich vom Besucher der Website stammt.

Bei CSRF-Attacken handelt es sich um eine der meistgenutzten Attacken im Internet und eigentlich sollte jeder, der sich mit Web-Applikationen im Internet beschäftigt, diese im Hinterkopf haben. Man verhindert diese, dadurch dass jeder Aufruf einer Website, auf der Daten übertragen werden können (egal ob Login oder eben eine Stimmabgabe bei einer Umfrage) ein individuelles Passwort, ein Token, erhält, dass den übertragenen Daten angehängt werden muss. Der Server kann nun sicherstellen, dass jeder Aufruf der Website nur zu einer Stimmabgabe führen kann.

Logisch, auch das kann man umgehen. Man könnte die Website im Skript jeweils einmal laden, den Token automatisiert herausfiltern und diesen dann nutzen um die Stimmabgabe zu manipulieren.

Aber wie ich bereits schrieb: Es gibt kein “100% sicheres System”. Man muss die Hürden aber so hoch bauen, dass es für die Angreifenden unattraktiv wird.

Fazit: Die Implementierung von CSRF-Tokens hätte es Angreifenden der CDU-Umfrage deutlich schwerer gemacht und die meisten wahrscheinlich abgeschreckt.

Verifizierung von Menschen per Javascript oder Captchas

Seit vielen Jahrzehnten sind sie ein erprobtes Mittel um zu verhindern, dass automatisierte Skripte und Bots die eigenen Services nutzen. Sogenannte Captchas.

reCAPTCHA Eingabefeld

Diese haben sich in den letzten Jahren deutlich weiterentwickelt. Heutzutage muss einem Captcha keine Eingabe mehr folgen, sondern ein im Browser des Nutzenden ausgeführtes Javascript stellt durch Analyse verschiedener Parameter (Mausbewegungen, etc) sicher, dass es sich bei den Nutzenden um Menschen handelt.

So stellen Captchas heute keine störende Unterbrechung der Nutzererfahrung mehr dar, sondern passieren praktisch unbemerkt im Hintergrund. Die Möglichkeiten hier sind manigfaltig, die Tech-Giganten wie Google bieten entsprechende Tools als reCaptcha oder (Cloudflare) Turnstile an. Diese sind aber datenschutzrechtlich mindestens problematisch und da die DSGVO personenbezogene Daten, die Rückschlüsse auf politische Orientierung zulassen, unter besonderen Schutz stellt, sind diese Tools für Parteien normalerweise keine valide Option. Aber auch im Open-Source-Bereich gibt es entsprechende Tools, beispielsweise altcha.

Fazit: Mithilfe von Javascript hätte (relativ) sichergestellt werden können, dass nur Menschen und keine automatisierten Skripte abstimmen können.

Kriminelle Energie?

Es gäbe sicherlich viele weitere Optionen die Umfrage abzusichern ohne die Keule 2-Faktor-Authentifizierung durch E-Mail oder Mobilnummer (wie der Dienstleister es behauptet) zu schwingen. Aber das würde den Rahmen hier jetzt sprengen und würde auch nicht mehr auf meinen eigentlichen Punkt einzahlen.

Kann man “nie dagewesene kriminelle Energie” nennen, wenn die Umfrage es so einfacht macht, dass man ein entsprechendes Skript in wenigen Minuten schreiben kann, weil die CDU oder ihr Dienstleister grundlegende Sicherheitsmaßnahmen ignorieren? Wenn hierbei einfachste Mittel genutzt werden, mit denen praktisch alle Umfragen im Internet seit über 20 Jahren zu kämpfen haben?

Ich glaube nein. Und die Reaktion der CDU zeigt in meinen Augen nur eines: Dass man auch im Jahr 2024 das Internet nicht verstanden hat. Weder nutzt man branchweit gängige Sicherheitsmechanismen um sich vor automatisierten Abstimmungen zu schützen, noch hat man verstanden, dass man bei einer derart polarisierenden Umfrage wie nach dem Verbrennermotor damit rechnen muss, dass irgendwer da draußen vielleicht 20 Minuten investiert um die Partei und ihre rückwärtsgewandte Position zu blamieren.

Es ist sicher ein reiner Zufall, dass die neue Umfrage zum Thema Asyl ganz andere Menschen motiviert (diesmal im Sinne der CDU-Führung) abzustimmen. 😉

Umfrage über Asyl und Migration.

Disclaimer: Ich bin Software-Entwickler und Geschäftsführer der SQUIRREL & NUTS digital GmbH. Für über 1.000 Kunden im deutschsprachigen Raum entwickeln wir passgenaue digitale Lösungen für gesellschaftliches Engagement. Unter anderem bieten wir das im sozialdemokratischen Umfeld genutzte Redaktionssystem soz.is an. Ausserdem bin ich SPD-Mitglied.

Ich habe mich im Rahmen meinen Tests auf unter 200 automatisierte Abstimmungen bei der aktuellen Umfrage auf cdu.de beschränkt, weil es mir ausschließlich darum ging die technische Funktionsweise und ihre Sicherheitsmaßnahmen zu verstehen. Das künstliche Verändern von Umfragen halte ich für falsch auch wenn ich mir wünschen würde, dass Parteien solche Umfragenvernünftig absichern.

Tags:
Write a comment