- Comment vote-t-on aux USA (...)
- Présentation du système (...)
- Déroulement de l’élection
- La carte mémoire
- Sur le principe du plug-in
- Les attaques
- Hacker, définition
- Comment modifier les cartes
- Attaque n°1 - falsification
- Attaque n°2 - bourrage (...)
- Attaque n°3 - affichage (...)
- Tests pré/post-élection
- Conclusion et recommandations
- Plus de détails dans le (...)
Ce rapport est plusieurs fois référencé dans le récent rapport [1] du GAO (Government Accountability Office, agence d’audit du Congrès des Etats-Unis). C’est une démonstration d’impression de tickets falsifiés, de bourrage d’urne, et de prise de contrôle de l’afficheur LCD.
Ces systèmes sont installés dans environ 1300 villes ou comtés aux USA et au Canada : liste détaillée, mais peut-être incomplète. Concernant le Québec, voir ici.
Cet article est basé principalement sur ce rapport[eng]. Il a été allégé au maximum des aspects techniques.
Comment vote-t-on aux USA ?
On profite d’une élection majeure (présidentielle, sénat, ...) pour faire voter mille et une autres choses comme le shérif, le juge, quelques référendums...
Les méthodes de vote sont variées, depuis des automatisations anciennes telles les cartes perforées (qui ont fait tant parlé en Floride en 2000) aux très contestés écrans tactiles, mais historiquement on votait avec un stylo sur un unique bulletin où, pour chaque élection, il fallait noircir la case devant le candidat de son choix. Dans le cas présent, l’électeur remplit toujours un bulletin (adapté pour une lecture par la machine), et c’est la suite qui est automatisée.
Présentation du système de vote
Le système Diebold Accu-Vote est composé :
d’un ordinateur totalisateur (un PC standard sous Windows, pourvu d’un logiciel appelé GEMS), installé au bureau des élections du comté,
de multiples machines à voter réparties dans les bureaux de vote,
dans chaque machine à voter est insérée une carte mémoire. Elle est similaire aux cartes mémoires d’un appareil photo numérique, ou aux clefs USB, bien que le détail de l’électronique soit basé sur une technologie différente.
Cette organisation est très classique, et se retrouve dans nombre d’autres systèmes de vote.
|
|
|
Déroulement de l’élection
Avant l’élection, on entre les paramètres du scrutin dans le totalisateur : les noms des candidats, et à quels emplacements du bulletin sont les cases à noircir. Ces paramètres devront ensuite être écrits dans les cartes mémoires de toutes les machines à voter. Cette écriture, commandée par le totalisateur, se fait "à travers" les machines à voter, celles-ci n’étant qu’un intermédiaire passif. Soit on les connecte tour à tour au totalisateur, soit on en connecte une seule, et on y insére une par une les cartes. La connexion est réalisée directement par un cable court (série RS-232), ou par une ligne téléphonique.
Le matin du vote, chaque machine imprime un ticket indiquant que l’urne électronique est vide.
Lors du vote, l’électeur remplit d’abord son bulletin comme dans une élection “à l’ancienne”, puis il l’insére dans la fente à droite. Le bulletin va être scanné (exactement comme vous scannez une photo), la machine à voter cherchera du noir aux emplacements des cases à noircir, et le compte de voix du candidat choisi sera crédité. Ces comptes de voix sont stockés dans la carte mémoire. Le bulletin est conservé, mais les autorisations de dépouillement manuel sont soumises à d’importantes restrictions.
Une fois le scrutin clos, le résultat est imprimé sur un ticket. Pour la totalisation des résultats provenant des différentes machines, c’est le même principe qu’à la préparation du vote. Soit chaque machine envoit les résultats par téléphone, soit on transporte toutes les cartes mémoires vers une unique machine connectée au totalisateur.
La carte mémoire
![]() |
|
La carte mémoire contient donc les paramètres du scrutin et son résultat. Une telle carte est normalement passive : elle ne contient aucun logiciel, seulement des informations lues par la machine (les paramètres), et d’autres écrites (le résultat).
Nous avons bien précisé “normalement”, parce que cette machine Diebold présente une étrange conception. En plus des informations dans la carte mémoire, il y a quelque chose de “vivant” : un morceau de logiciel. L’essentiel du logiciel est classiquement à l’intérieur de la machine, mais à un moment, déclenche le morceau dans la carte.
Et il n’est pas confié des tâches anodines à ce morceau de logiciel... notamment l’impression des tickets de début d’élection (urne vide) et de résultat. Et curieusement, par un chemin séparé, ces mêmes impressions lorsqu’elles sont faites par les tests de bon fonctionnement effectués avant l’élection [2].
Sur le principe du plug-in
Nombre de logiciels de votre ordinateur fonctionnent ainsi : par exemple, votre navigateur Internet ne sait pas afficher par lui-même certains éléments de pages Internet, par exemple les animations “Flash”. Le format de ces animations a été conçu par une société différente qui fournit donc un plug-in : un bout de logiciel que l’on intégre au navigateur Internet et qui sera déclenché lorsque vous consulterez une page contenant une animation “Flash”. Cette technique du plug-in a donc pour but d’apporter de la flexibilité : à l’avenir, si quelqu’un invente une nouvelle forme d’animation, il lui suffit de concevoir le plug-in pour votre navigateur, fût-il antérieur à ces nouvelles animations. Le revers de la médaille est l’insécurité : le navigateur Internet, même fabriqué à la perfection, peut être conduit à faire n’importe quoi sous l’influence d’un plug-in malintentionné que vous auriez installé. Mais dans ce cas, les avantages de la flexibilité l’emportent [3].
Il n’en va pas de même dans un équipement électoral : la sécurité est un des impératifs majeurs, et le simple bon sens devrait bannir des techniques telles que le plug-in. De plus, la loi impose de certifier ces équipements : un organisme indépendant doit s’assurer qu’ils font exactement ce qu’ils ont annoncé faire, et rien de plus. Par la suite, les machines vendues doivent être identiques à la machine certifiée. Toute évolution que ferait le constructeur doit être à nouveau certifiée. La certification ne peut donc pas prendre en compte de futurs comportements flexibles.
Pourquoi un tel choix technique alors ? Si nous devions formuler cela avec beaucoup d’indulgence, nous dirions que la machine a été prévue pour s’adapter à des modalités d’élection très variées. Harri Hursti préfére raisonner en termes de sécurité, et parle de « maison avec une porte tambour inverrouillable » [4].
Harri Hursti démontre dans son rapport qu’il a pu aisément franchir cette porte. Le “aisément” est plus précisément décrit comme une « attaque solitaire exceptionnellement flexible nécessitant quelques centaines de dollars, des compétences techniques médiocres et une modeste capacité de persuasion (ou, au lieu de persuasion, un peu d’accès privilégié) » [5].
Les attaques
Trois attaques ont été réalisées, toutes ciblées sur la carte mémoire, en modifiant le morceau de logiciel qui y réside :
1) impression d’un ticket de résultats d’élection falsifié (sans toucher aux comptes de voix stockés dans la carte).
2) bourrage d’urne avant l’élection (en touchant aux comptes de voix, mais pas au ticket).
3) affichage d’un message sur l’écran de contrôle.
D’autres vulnérabilités feront l’objet d’autres rapports :
4) altération des votes dans l’ordinateur totalisateur. Cette attaque a été réalisée par le Dr Thompson et H.Hursti plusieurs fois entre Septembre 2004 [6] et Mai 2005.
5) attaque à distance : les machines à voter et le totalisateur sont parfois connectés à une ligne téléphonique, notamment pour transmettre les résultats de l’élection.
Les responsables électoraux contrôlent la cohérence entre les tickets et les résultats fournis par le totalisateur. La combinaison de (1) et (4) permet alors de donner l’illusion d’une élection intègre. Plus simple, et tout aussi trompeur, on peut combiner en une seule opération (2) et (1) (pour cacher l’effet de (2) sur le ticket de début d’élection). La flexibilité accordée au logiciel placé dans la carte mémoire est suffisamment grande pour permettre de préparer la fraude même avant que la composition exacte de l’élection soit connue : changer l’emplacement des candidats sur le bulletin ne l’empêcherait pas d’agir.
Hacker, définition
Le terme "hack" est utilisé dans cet article. Un Hacker est une personne qui aime à apprendre en expérimentant. Dans le cas d’un système informatique, cela peut passer par le fait d’y obtenir un accès illégitime pour en découvrir le fonctionnement. L’éthique du Hacker l’oblige à ne pas perturber ni détruire le système qu’il observe. Il lui arrive même de prévenir le responsable du système de l’existence d’une faille, voire de la corriger. Le terme "hack" a aussi une signification plus vaste en dehors de la sécurité informatique : il peut désigner l’adaptation à ses besoins d’un appareil ou d’un logiciel. Sa première utilisation remonte à 1963[eng]. Dans cet article, “hacké” signifie modifié pour les besoins de la démonstration.
Comment modifier les cartes mémoires ?
directement à l’aide d’un appareil spécialisé [7]. Ce fut le choix de cette démonstration. Les cartes, à l’origine fabriquées par Epson, ont été utilisées dans divers autres domaines d’activité. Il n’y a pas de restriction d’accès à ces appareils.
remplacement d’un fichier sur l’ordinateur totalisateur, par accès direct à cet ordinateur, ou à distance par "social engineering", par exemple en incitant par téléphone à installer un CD de mise à jour préalablement envoyé. Lors de la préparation de l’élection, toutes les cartes seront alors contaminées.
Attaque n°1 - falsification du ticket de résultat
A gauche, un ticket produit lors d’une élection d’entrainement des assesseurs. A droite, le ticket produit par une carte hackée. Les votes (stockés dans la carte) ont été ignorés. Sur le ticket, ont été falsifiés :
la date (on a choisi d’y mettre la même date que l’élection d’entrainement),
le nombre de votes,
le message final avant l’emplacement des signatures des assesseurs.
![]() |
![]() |
Ci-dessous le ticket d’audit de la machine à voter, censé répertorier chacune de ses utilisations et tout incident. Il est imprimé par la partie du logiciel intégrée dans la machine à voter, donc non hackée. Il ne montre rien de particulier : le hack est passé inaperçu. Les mécanismes de contrôle de l’intégrité de la mémoire de la carte ne prennent pas en compte le morceau de logiciel qu’elle contient [8].
![]() |
|
Attaque n°2 - bourrage d’urne avant l’élection
Ci-dessous le ticket imprimé juste avant l’ouverture du scrutin. Cette fois, le hack n’a pas interféré avec l’impression du ticket. Il a seulement changé les comptes des voix des deux candidats de la première élection. L’un a 25 voix au départ, l’autre -25 voix. Le ticket indique 65 511, mais comme cette machine à voter ne peut stocker que des nombres de 0 à 65535 [9], quand le 25ème électeur à se prononcer pour ce candidat votera, le compte de voix passera de 65535 à 0. A la clôture du scrutin, la somme des voix exprimées pour chaque candidat correspondra bien au nombre de votants.
Voici le détail d’un tel fonctionnement (en partant de -4 et +4 voix) :
Votes | Total réel de A | Total réel de B | Total apparent de A | Total apparent de B | Nb total de votes |
---|---|---|---|---|---|
(au début) | 0 | 0 | 65532 | 4 | 0 |
A | 1 | 0 | 65533 | 4 | 1 |
B | 1 | 1 | 65533 | 5 | 2 |
A | 2 | 1 | 65534 | 5 | 3 |
B | 2 | 2 | 65534 | 6 | 4 |
A | 3 | 2 | 65535 | 6 | 5 |
A | 4 | 2 | 0 | 6 | 6 |
A | 5 | 2 | 1 | 6 | 7 |
B | 5 | 3 | 1 | 7 | 8 |
A | 6 | 3 | 2 | 7 | 9 |
Evidemment, ce bourrage d’urne est visible. Il aurait suffit de le combiner avec l’attaque n°1 pour le masquer totalement.
Attaque n°3 - affichage d’un message sur l’écran de contrôle
Le morceau de logiciel dans la carte mémoire peut donc agir sur l’imprimante et les votes stockés, mais aussi sur l’écran de contrôle. Les boutons YES/NO sous l’écran sont également utilisables, ce qui permettrait au fraudeur d’adapter la manipulation selon les circonstances du jour de l’élection. Le logiciel frauduleux afficherait des questions sur l’écran, et agirait différemment selon qu’on appuie sur YES ou NO.
Ci-dessous ce qu’une carte mémoire hackée fit afficher sur l’écran de contrôle de la machine à voter. Cela peut se traduire par « Alors, on s’amuse bien ? ». L’apparition de ce message fit sursauter Thomas James, le responsable informatique local !
Tests pré/post-élection
Les responsables des élections ont été amenés à croire ces machines exactes si elles réussissent un test dit de “logique et d’exactitude” [10]. Pour cela, ces machines Diebold basculent dans un mode "test", utilisant une partie du logiciel différente de celle du jour de l’élection : la valeur de ce test en est déjà réduite. Même sans cela, ce serait insuffisant, car ce système de logiciel dans la carte est très flexible. Un comportement frauduleux peut se déclencher seulement à une date précise : le jour de l’élection par exemple. De tels auto-tests deviennent de toute façon absurdes dès qu’il y a possibilité de modifier le logiciel.
Conclusion et recommandations
Harri Hursti considère qu’il serait trop contraignant de pallier les failles du système de vote par des procédures opérationnelles (contrôle de l’accès aux machines, formation du personnel, ...).
Ses recommandations :
déterminer si la même architecture est utilisée par les autres machines du constructeur Diebold (autres versions de ce système optique et machines à écran tactile). La démonstration a été faite sur la version 1.94w de ces appareils, mais H.Hursti pense que les versions plus récentes souffrent vraisemblablement des mêmes défauts.
vu leur rôle prépondérant, garantir aux cartes mémoire le statut de document officiel, et les conserver 22 mois après l’élection [11].
examiner les cartes mémoire, ou à défaut le système de vote lui-même, dans chaque endroit utilisant des machines avec cette architecture. Dans certains comtés (Volusia, Brevard en Floride) où des anomalies significatives ont été détectées, faire une expertise légale.
rechercher des vulnérabilités similaires chez les autres constructeurs, en commençant par les plus importants.
Plus de détails dans le rapport
Le rapport contient évidemment de nombreuses précisions techniques : analyse et initialisation de la carte mémoire, e-mails internes à Diebold, exemples de programmes pour la carte réalisés dans le Basic fait maison par cette entreprise. Harri Hursti a également semé quelques énigmes pour les spécialistes [12].