Skip to content

Sicherheit von Votingsystemen

Immer wenn ich durchs Internet streife und irgendwelche Onlineumfragen sehe zweifle ich (wie eigentlich im wahren Leben auch) die Ergebnisse von vornherein an. Es gibt einfach zu viele Faktoren die man in einer grafischen Auswertung nicht erkennen kann :

  • Wo wurde die Umfrage durchgeführt?
  • Wann wurde Sie durchgeführt?
  • Wieviele Menschen wurden befragt?

Wenn ich irgendeine Kosmetikwerbung sehe in denen 87% der Verwender diese Creme ihren Freundinnen weiter empfehlen würden und ganze 100 Frauen befragt wurden, frage ich mich wie repräsentativ diese Umfrage ist. Wurde die Umfrage unter Testern oder vielleicht unter Mitarbeiterinnen durchgeführt oder wirklich unter Leuten auf der Straße die dieses Produkt schon einmal selbst gekauft und objektiv bewertet haben?

Können Umfragen von großen Herstellern die von kleinen Marktforschungsunternehmen durchgeführt wurden überhaupt negativ ausfallen? (Man sieht es ja in der „Pressefreiheit“, wenn Firmen, über die negativ berichtet wurde, ihre Anzeigen aus den Entsprechenden Zeitungen zurückziehen. Zu sehen hier oder hier – wäre dies dann der Tot von einem kleinen Marktforschungsunternehmen?)

Man sollte auf jeden Fall die Studie selbst hinterfragen und immer im Hinterkopf behalten, dass mit negativen Umfragen wohl nie geworben wird.

Wie sagte Homer Simpson so passend „Es gibt immer Querulanten die mit Statistiken um sich werfen um etwas zu beweisen. 14% aller Leute wissen das.“

Genau das gleiche passiert natürlich auch bei Onlinepolls und dort ist es um einiges einfacher als Umfrageteilnehmer das Ergebnis zu seinen Gunsten zu verschieben. Dies liegt vorallen an den schlechten Prüfroutinen der Onlineumfragescripte und den wenigen Möglichkeiten diese wirklich gut zu schützen. Dank HTML hat man dort eigentlich nur die Möglichkeit sich die IP zu merken und gegebenenfalls noch einen Cookie zu setzen, sofern der Client dies erlaubt. Durch die Verwendung eines Proxys oder der Neueinwahl ins Internet kann man die erste Sperre umgehen und durch das Verbieten von Cookies den zweiten Sicherheitsmechanismus.

Die meisten Scripte geben sich mit solch einer Prüfung auch schon zu frieden. Normalerweise sollen Umfragen auch nur ein kleines Indiz sein, wenn Umfragen jedoch dafür eingesetzt werden um einen Gewinner zu ermitteln öffnet das den Potentiellen Gewinnern alle Türen. Man könnte zum Beispiel folgende Tricks anwenden (je nach krimineller Veranlagung) :

  1. Wenn das Script Ajax verwendet könne man den Ajaxaufruf abfangen und z.B als IFrame von einer anderen Seite laden
  2. Ein Script schreiben, dass eine Liste von Proxys erhält und diese abarbeiten und die Umfrage maschinell durchführen.
  3. Als Zweit- oder Drittplatzierter die Punkte 1 und 2 den Führenden anhängen in der Hoffnung, dass diese dann disqualifiziert werden.

Geschehen ist dies aktuell zum Beispiel bei dem Gewinnspiel auf http://www.seofm.com/?p=135 mit dem Ergebnis, dass natürlich versucht wurde zu betrügen http://www.seofm.com/?p=136 .

Was kann man nun tun, wenn man als verantwortungsbewußter Softwarearchitekt die Aufgabe bekommt ein Onlineumfragetool zu programmieren?

Man muss dazu die Antworten auf die folgenden Fragen finden :

  • An wen richtet sich die Umfrage ( User in einen Loginbereich oder User mit anonymen Zugriff)?
  • Wie wichtig ist das korrekte Ergebnis einer Umfrage?

In meinem Beispiel handelt es sich, ählich wie bei SeoFM, um ein Gewinnspiel bei dem alle abstimmen dürfen. Dabei ist es natürlich sehr wichtig, dass die Wahlen gleich sind,

Wie erreicht man nun ein solches Ergebnis?

Als erstes lässt man dem Angreifer glauben, dass seine Attacken funktioniert haben – dies kann man zum Beispiel mit einer temporären Ergebnisstabelle durchgeführt werden. Woran soll man nun aber erkennen, ob es sich um einen Angreifer oder um einen ehrlichen Wähler handelt.

Dafür kann man auf die folgenden Punkte prüfen

  • Stimmt der Refferer?
  • Prüfung des Wahlverhaltens (wenn man von einer normalen Verteilung der Stimmen ausgeht) (mit Erfahrung aus alten Umfragen) z.B. verringert sich das Wahlverhalten mit der Zeit (Nachts werden normalerweise weniger Stimmen abgegeben als am Nachmittag), ändert sich in bekannter Regelmäßigkeit der User-Agent oder stimmt immer die gleiche Version des gleichen Browsers für einen Punkt?
  • Prüfung des Nutzungsverhaltens z.B. wie lange dauert es vom laden der Seite bis zum Ausführen der Wahl (liegt die Zeitdiffernz wirklich im Menschen möglichen oder ist der Zeitabstand immer gleich oder annähernd gleich?) Kommt der Anweder durch einen Direktaufruf zur Umfrageseite oder durch eine Fremdseite (In einem Forum kann man zum Beispiel prüfen, ob die Nutzerfreuquenz mit der Wahlhäufigkeit übereinstimmen könnte).

Natürlich kann man diese Liste noch beliebig erweitern und je nach Budgetgröße auch komplexer aufbauen, jedoch werden nur die wenigsten Betrüger auf die Idee kommen komplexere Tricks anzuwenden, wenn sie in den Glauben gelassen werden die Votes hätten funktioniert.

Interessante Artikel

There are no related posts on this entry.

Kommentare

3 Kommentare

  1. Horst Dezember 27, 2008

    Ich glaube nicht, dass es eine Möglichkeit gibt, sowas auch nur halbwegs abzusichern. Im Beispiel von SeoFM war es auch auffällig, dass der Erstplatzierte den ganzen Vormittag kaum Stimmen gewann, dann plötzlich in gutem Tempo loslegte. Das heißt natürlich nix, vielleicht hat er da einfach angefangen dafür zu trommeln.

    Ich hatte auch morgens begonnen den direkten Wahllink auf vielen Seiten einzubauen und per Twitter zu verschicken. Wenn ich schon Leute auffordere für mich zu stimmen, dann ist’s einfach blöd zu erklären, welche Option überhaupt für mich ist. Ein einfacher „Stimme für Markus: Klick mich“ ist besser. Den Referer kannst dann natürlich vergessen. Wobei der Unterschied zwischen Iframe und Klick nicht mehr wirklich nachweisbar ist, außer der Veranstalter schaut sich den Quellcode der Referer-Seite an. Da könnte man dann wieder mit einer Umleitung verschleiern. Ich hatte kurz vor Schluss sogar überlegt Adwords zu schalten. Aber vermutlich wäre es schon zu spät gewesen. 8-)

    Was SeoFM angeht: Denen ist das schon völlig klar. Solange nicht ein offensichtlicher Beschiss vorliegt kann man das entspannt sehen. Immerhin hat der Gewinner es ja durchaus verdient. Geärgert hätte ich mich nur, wenn ein schwacher Artikel abgeräumt hätte.

  2. Jens Altmann Dezember 27, 2008

    Ich denke auch in dem Fall war sich der Veranstalter darüber im klaren, dass es Versuche und Durchführungen gab möglichst viele Stimmen zu haschen (er hat es ja auch im Abschlusstext geschrieben). Über HTML und ohne loginsystem ist ein 100% Schutz niemals möglich, aber man kann wenigstens versuchen einen hohen Prozentsatz zu erreichen, (Wie soll man auch anonyme Wahlen durchführen können und dabei alle Manipulationen entdecken)

  3. Dennis von Schuh-4you.de Dezember 29, 2008

    :-D Ich sag besser nix, sonst zickt der Donout wieder rum :-D Aber die Mails von ihm waren klasse ! :-D

Kommentiere den Artikel

Required

Required

Optional