Sujet : Vulnérabilité potentielle dans l'eVoting GE, inversion possible de résultats
De : Jean-Paul Kroepfli
Date : Wed, 07 Jan 2009 14:33:42 +0100
Pour : Hans-Urs Wili (Chancellerie Fédérale, section des Droits Politiques) , Patrick Ascheri (Département des Institutions [GE], service des Votations et Élections)

Bonjour Messieurs,

Je pense avoir repéré une autre vulnérabilité dans le système de vote électronique de la chancellerie genevoise.
Une importante vulnérabilité, qui -bien que dans la lignée de celle de 2004- est encore plus simple et plus efficace à exploiter. Cette vulnérabilité permet une très élégante attaque, qui, si elle avait eu lieu, ou même si elle a eu lieu (car on ne peut pas le savoir...), aurait ou a inversé le résultat cantonal sur la votation de l'AVS.

En effet, selon les précédentes évaluations de l'EPFL, une telle attaque peut affecter jusqu'à 40%* des bulletins électroniques (chiffre confirmé encore récemment par le Dr Oechslin). L'attaque ne laisse aucune trace tangible, et ne peut donc pas être détectée (elle peut avoir ou ne pas avoir eu lieu, ce qui est très mauvais pour la confiance populaire).
(*) Ces 40% peuvent être désormais une évaluation moyenne, et non plus une borne maximale. Car, avec un seul vecteur de pénétration, un vers classique opérant ici sans optimisation géographique, il a été estimé récemment que son autopropagation peut produire entre 3500 et 8500 nouveaux ordinateurs infectés par jour, soit un taux potentiellement en mesure de saturer le parc informatique domestique d'un canton moyen en trois semaines. [Étude univ. de Berkeley  sur un vaste réseau de PC infectés -dont les capacités sont offertes à la location- généré par le vers Storm* ; et statistiques OFS]
[add](*) Un autre vers actif actuellement, Conficker/Downadup, a infecté un demi-million de PC en moins de 10 jours après son lancement[chronologie], il infecte depuis les machines à la vitesse de plus d'un million par jour, voire plus d'un million et demi à près de deux millions de PC par jour [F-Secure et aussi].
[add](*) Douze millions de nouveaux PC-zombies infectés en trois mois. [McAfee/Nouvo] Une attaque localisée par les réseaux WiFi juxtaposés en milieu urbain permettrait d'infecter des miliers d'ordinateurs ou routeurs connectés en quelques heures [IEEE].
[add](*) Un maliciel opérant de manière similaire à cette attaque, s'est répandu en septembre 2009 en Allemagne, affectant les trois principaux navigateurs (MS-IE, Firefox, Opera), et délestant de leurs fonds les clients de banques pendant leurs transactions d'eBanking et totalement à leur insu -malgré l'identification sûr et les sécurités bancaires [CNET]. Se différenciant très rapidement, et se cachant profondément dans le système d'exploitation, il n'est pas détecté par les anti-virus, ni à son arrivée, ni après infection.
À titre d'exemple de l'impact possible, une telle attaque aurait pu inverser un des résultats de la dernière votation :

Lors du vote de novembre, le résultat genevois sur l'initiative "AVS flexible" fut de 51,05% OUI et 48,95% NON, soit une différence de. 2089 voix.
Comme, et malgré le très faible taux d'usage, il y eut 2741 bulletins électroniques, la falsification peut donc avoir potentiellement affecté 1096 bulletins électroniques. En conséquence, s'il y eu un report de choix, suite à la falsification, de 1096 NON en l'équivalent de OUI, c'est que, sans cette éventuelle falsification, le résultat aurait très bien pu être : 49'546 OUI et 49'649 NON.
Donc, le résultat du vote -non falsifié- aurait pu être inverse (49.95% OUI, 50,05% NON) de celui publié sans que l'on puisse le savoir.

Cette vulnérabilité affecte tout autant le système zurichois.

Principe de fonctionnement (un peu similaire, à la base, à celui de mon rapport de 2004; c'est un mode opératoire utilisé effectivement lors d'attaques au eBanking) :
Un logiciel malveillant (vers, virus, Web-maliciel*, etc.) infecte l'ordinateur du citoyen, en s'accrochant dans le navigateur utilisé (généralement le browser MS-Internet Explorer). Il y reste dormant.
  1. Lorsque l'URL du site de vote est entré, il s'active en observant le dialogue.
  2. Au moment où le votant termine le renseignement du bulletin et demande l'affichage de la confirmation [l'étape est requise], il laisse effectuer l'opération, puis envoie au serveur un ordre de retour à l'étape du renseignement [fonction légalement obligatoire selon l' OrdDroitsPol, art.27e al.5].
  3. Le maliciel inscrit les choix désirés par l'attaquant, et redemande la confirmation.
    • Le tout en retenant l'affichage et laissant ainsi la confirmation initiale sur l'écran, ceci avec les imagettes filigranées d'authentification, telles qu'attendues par le votant.
  4. Lorsque le votant valide ses choix, c'est en fait à partir des choix falsifiés que le bulletin est versé dans l'urne, qui le comptabilisera valablement [contrairement à l'ODP art.27e al.7].
  5. Le maliciel s'inactive alors et disparait.
(*) "il y a deux semaines, la Centrale suisse d'enregistrement et d'analyse pour la sûreté de l'information MELANI recensait 700 sites helvétiques infectés. Il suffisait de s'y connecter pour télécharger à son insu un logiciel espion capable d'enregistrer toutes les activités sur son PC." (infection courante dite par drive-by-download) [Le Temps 07/01/2008, MELANI, 24/12/2008]
Comme ce fut déjà le cas pour la première vulnérabilité que j'avais repérée, et du fait de la structure du système, tout contournement de celle-ci est vain et ne reviendra qu'à compliquer encore plus l'affichage ou le dialogue, et rendre encore plus rébarbatif l'usage de ce système de vote; et une autre attaque -plus subtile- pourra toujours être menée..
Par ailleurs, la confusion induite par la modification répétée des opérations du votant, des dialogues ou de l'interface utilisateur, en suite de comblements réitérés de vulnérabilités, empêche les citoyens de bien connaître le comportement normal du vote, et donc ruine leurs chances de percevoir les indices d'une fraude en cours.
Conclusion : lors du vote, le navigateur utilisé, et donc de préférence tout son environnement système, doit être vierge et isolé autant que possible du système d'exploitation du poste du citoyen.

Merci d'avance de vos éventuels commentaires, et tous mes voeux de bonnes années
Très cordialement.

Jean-Paul Kroepfli