Logo Ordinateurs–de–Vote.org Citoyens et informaticiens
pour un vote vérifié par l'électeur

Accueil du site > A l’étranger > USA > Fraude en Floride ? Une maison avec une porte tambour inverrouillable

Fraude en Floride ? Une maison avec une porte tambour inverrouillable

30 juillet 2005

Le 4 Juillet 2005 (date bien particulière aux USA : l’Independance Day, leur Fête Nationale), l’association citoyenne BlackBoxVoting.org a publié le rapport de l’expert informatique finlandais Harri Hursti, expliquant comment les systèmes de vote à technologie optique Diebold Accu-Vote pourraient aisément être manipulés.

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.

Ticket
Ecran de contrôle
JPEG - 9.3 ko
Machine à voter
Bulletin

 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

Emplacement pour 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].

La manipulation a eu lieu entre les événements n°18 et 19

 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) :

VotesTotal réel de ATotal réel de BTotal apparent de ATotal apparent de BNb 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].

P.-S.

Photos (c) BlackBoxVoting.org

Notes

[1] “Federal Efforts to Improve Security and Reliability of Electronic Voting...”, pages 25 et 26.

[2] Deux jeux de fonctions AccuBasic ELECTION_ZERO_REPORT/ELECTION_RESULTS_REPORT et TEST_ZERO_REPORT/TEST_RESULTS_REPORT, page 7

[3] La comparaison avec les plug-ins d’un logiciel a ses limites : de tels logiciels fonctionnent parfaitement sans aucun plug-in, ceux-ci ne servant qu’à étendre leurs possibilités. Par contre, le morceau de logiciel dans la carte mémoire est indispensable et primordial.

[4] « house with an unlockable revolving door », p. 1

[5] « exceptionally flexible one-man exploit requiring only a few hundred dollars, mediocre technical ability, and modest persuasive skills (or, in lieu of persuasive skills, just a touch of inside access) », p. 1

[6] E-voting critics report new flaws, CNET News

[7] H.Hursti a utilisé un modèle de la marque Cropscan. Photo et description

[8] Par exemple, chaque fois que le logiciel veut intentionnellement modifier la carte mémoire (un compte de voix par exemple), il contrôle (par la technique dite de checksum) que son contenu n’a pas changé depuis la dernière modification, sous l’effet d’un bug ou d’une défaillance de l’électronique. Ce mécanisme n’est pas très élaboré : cf appendices B et C du rapport. Des révélations (postérieures au rapport) d’une source protégée indiqueraient la présence d’un contrôle de l’intégrité du morceau de logiciel dans la carte. Le logiciel faisant ce contrôle se situerait... dans la carte !

[9] Les nombres sont stockés sous forme de seize 0 ou 1 (on dit aussi 16 bits), ce qui donne 2 puissance 16 possibilités, soit 65536. Donc seul un nombre valant entre 0 et 65535 peut être mémorisé. Une conception rigoureuse doit s’apercevoir qu’on tente de dépasser 65535 et déclencher une erreur. Les ordinateurs récents utilisent plutôt 32 ou 64 bits.

[10] “logic and accuracy test”

[11] Les cartes sont en général conservées telles quelles, mais il y a eu des exceptions, comme en Géorgie, où elles ont été copiées sur CD.

[12] « Hursti left several little mysteries and time bombs in his report, knowing that programmers who are very perceptive will spot them.
There is also a double set of books in the program in the memory card. Programmers, look carefully. You’ll see it. Then go back to the Diebold explanation about double sets of books, above, and see if it holds water. »
extrait d’un forum de BlackBoxVoting, contenant également un récapitulatif de leurs sources protégées et du hack de GEMS.

©© ordinateurs-de-vote.org - dernière modification : samedi 25 novembre 2017.

Répondre à cet article


Suivre la vie du site Syndication/fil RSS 2.0 (explications) | Plan du site | Espace privé | SPIP