Comment truquer une élection

Des chercheurs de l'université de Princeton ont fait la démonstration qu'il est possible de pirater une machine de vote électronique Diebold et truquer le résultat, avec un logiciel indétectable et qui peut se répandre comme un virus informatique. La vidéo suivante (en anglais) montre le mode opératoire, et la facilité avec laquelle il est possible de pénétrer dans le système (en moins d'une minute et sans clé), c'est édifiant !

Vous pouvez lire le rapport complet de leur recherche : Security Analysis of the Diebold AccuVote-TS Voting Machine.

Et pendant ce temps, les vendeurs de Nedap/France-Election, dont les machines sont homologuées pour les élections en France, pratiquent la désinformation en cherchant à faire croire que leurs machines ne sont pas des ordinateurs (prendre les gens pour des imbéciles est une bonne façon de perdre toute crédibilité). La vidéo ci-dessus démontre également très bien que la vérification d'intégrité intégrée aux machines est une duperie.

J'ai une idée, très simple à mettre en oeuvre. L'Etat (ou pourquoi pas n'importe quel élu un peu soucieux de vérité) devrait prélever des machines sur le quota homologué et les fournir à des chercheurs spécialisés en sécurité des systèmes d'information, pour qu'ils puissent à loisir pratiquer ce genre de recherche. La faille qui existe dans les machines Diebold sera fatalement exploitée, et il est légitime de se poser la question avec toutes les machines à voter, notamment celles utilisées en France. Je rappelle qu'on parle de la fiabilité du scrutin dans une démocratie, et que le dossier du vote électronique en France est verrouillé par une bande d'apprenti-sorciers composés de technocrates du ministère de l'intérieur et de vendeurs de machines.

[Via Lessig blog]

2 Trackbacks

Le documentaire Hacking Democracy diffusé par HBO a été publié sur Google Video: Il suit une autre vidéo démontrant comment truquer une élection avec des machines Diebold. Via Uninnovating Democracy qui écrit ceci : S'il s'agissait de distributeurs de ... Lire la suite

Comment truquer une election - padawan.info Et puis 軋 aussi Vote 駘ectronique = fin de la d駑ocratie sur Agoravox... Lire la suite

18 commentaires

Je viens d'en rajouter une au bêtisier ( http://www.recul-democratique.org/Florilege-de-declarations-techno.html#mairies ) : un bulletin municipal dit que la Nedap est « une calculette géante plutôt qu’un ordinateur », (Les nouvelles de Châtenay-Malabry, septembre 2006)

Je rappelle les villes en cours d'équipement (on aurait bien besoin de relais locaux) :
Grenoble, Le Mans, Montbéliard (25), Couëron (44), Epernay, Noyon (60), Kingersheim (68 - vote ce mercredi), Savigny-le-Temple (77), Le Plessis-Robinson (92), Saint-Denis.

Pierre Muller, webmestre de http://www.recul-democratique.org
Citoyens et informaticiens pour un vote vérifié par l’électeur

Ah, souvenirs de ma TI-57 et du temps où l'Ordinateur Individuel donnait plein de façons de hacker nos calculatrices :-). Il faudrait leur faire admettre que si ce sont des calculatrices, ce sont des calculatrices PROGRAMMABLES. Et là, du coup, ça le fait moins ;-).

Belle page ce bêtisier, où comment prendre les gens pour des cons.

Le seul moyen de se faire entendre à ce sujet ne serait-il pas de faire une démo en situation sur les machines Nedap, et de faire élire Casimir ou La fée Clochette dans un bureau de vote lors des élections présidentielles ?

Le pire c'est qu'avec le précédent de l'affaire Guillermito, il pourrait s'avérer assez dangereux de faire la même chose qui Princeton en France, au risque de se retrouver poursuivi !

Et d'autres termes, il faudrait hacker les machines avec l'accord du fabriquant... :)

On pourrait déjà commencer par une démo "virtuelle", c'est à dire une simulation de vote par internet bidouillé, démo entièrement sur un site internet. Un exemple est http://www.wheresthepaper.org/ mais on doit pouvoir faire mieux.

Des étudiants de Nantes avaient commencé un tel projet, mais c'est resté en plan.

Mais peut-être fait-on fausse route. Ce qui nous semble évident à nous informaticiens (ou usagers intensifs de l'informatique) ne l'ait pas forcément pour l'utilisateur lambda. Par exemple, il y a un paradoxe à avoir confiance dans les ordinateurs de vote (les enquêtes de satisfaction des mairies montre que c'est globalement le cas) tout en cotoyant au quotidien des PC avec un Windows capricieux.

10 minutes de vidéo pour ça ?? Pfiou, ces amerloques, bref, c'est neuneu leur truc, mais effectivement, la machine à voter, plus trouée qu'elle tu meurs (question à 2¢, quel est l'OS tout joli qui fait des barres de progression bleu foncé et carrées qui est installé dessus ?).

En gros, leur principal problème, c'est que l'on peut booter sur la carte. Déjà, on peut y accéder super facilement (cf un récent article sur slashdot, la clef se trouve en deux coups de cuillère à pot), mais quand bien même, booter sur une carte, y'a qu'un esprit tordu pour ne pas prendre 2 secondes et rerégler le bios. Ensuite, au niveau de l'OS, ça devient plus compliqué. En effet, avec un accès physique à une machine (et là forcément, c'est le cas, le seul moyen serait de l'enfermer dans un mur, et de ne la sortir qu'à la fin, le tout en public), on peut toujours hacker. Mais on peut savoir si ça a été le cas ou pas : il suffit de prendre la somme md5 de tous les programmes clefs (au hasard : le soft débile qui sert à voter, et au niveau de l'OS, tous les programmes permettant de passer root -- dois-je préciser qu'il faut un Linux ou un OpenBSD dessus ? -- en plus du noyau et de tous ses modules), puis comparer à la fin que l'empreinte correspond (opération qui prend plus de temps que de compter les voix à la main, noterons-nous : pour une élection cantonale, ça prend 40 minutes en tout, en comptant le rangement des tables, pour compter les voix, pas de quoi investir dans des machines stupides). Il faut aussi un système qui lutte contre les buffers overflow, style PaX ou SELinux ou AppArmor, tout simplement (et c'est le moyen le plus efficace) parce que le neuneu qui a programmé la lecture de la carte à voter ne vérifie certainement pas le formattage des données, ou très mal (c'est forcément un neuneu, c'est du boulot de GL, avec un visual studio tout pourri ; le reste est un truc de gars de l'embarqué/temps réel, mais le fait même qu'ils aient pris un WinCE montre la qualité de leur cerveau).

Dans tous les cas, si l'on peut ouvrir la machine, c'est mal barré. Un esprit très motivé pourrait même changer des parties électroniques, suffit juste d'avoir beaucoup d'argent et les gens qui savent faire ça (bon, elle risque de ramer la machine aussi, mais bon ^^). Et puis de toute façon, ça ne sert strictement à rien ces machines, y'a qu'un pays arriéré comme les USA pour ne pas arriver à compter des bulletins, n'importe quel babouin muni de doigts y arrive...

Pas si simple Palpatine.

Bloquer le bios ? il suffirait de déconnecter la pile ou l'équivalent pour faire sauter toute trace de mot de passe. Il faudrait refaire des cartes mères spéciales, et même là, la nature humaine veut qu'ils mettront un moyen de récupérer ou réinitialiser un mot de passe.

Enfermer la machine ? qui garde la clé ? qui construit le verrou ? qui assure qu'il n'y a pas d'autre clé ? qui garde le gardien de la clé ? qui assure que le cable jusqu'à l'écran mène bien à la machine qui est dans le mur ?

md5 ? mis à part que générer des collisions volontaires sur un simple exécutable est super facile (il y a plein d'articles là dessus), donc qu'il faudra partir sur un autre algo : L'exemple le montre, une fois le programme/os booté, le bon disque mémoire est remis. Vérifier le soft disque ne changera rien.
Vérifier la mémoire alors ? hum, ça veut dire qu'il y a un accès soft qui permet de scanner toute la mémoire ? ca ouvre plus de portes que ça en ferme ce genre de choses.
Et même alors, comment fait-on la vérification, en lancant un soft ? impossible de vérifier que l'os ou quoi que ce soit n'intercepte pas l'appel et répond n'importe quoi (cf l'élection test qu'ils font, c'est du même ordre de sécurité). Tant que c'est logiciel ça ne prouve rien.
Et même alors, quand fait'on la vérif ? comme on l'a vu on ne peut pas compter sur le soft lui même pour la faire. Il faudra la faire à la fin ou à un moment clé. Rien n'empêche le soft malicieux de se décharger avant. C'est justement ce qui est fait dans la vidéo : à la fin tout est normal, seuls les résultats sont mauvais.

Quoi qu'on fasse, le logiciel peut toujours être mauvais, volontairement ou pas. Quoi qu'on fasse, ce logiciel ne peut pas décement être vérifié par le public. Il faut donc forcément se reposer sur une trace papier vérifiable et faire le compte à partir de cette dernière. (oui, on perd pas mal d'intérêts à l'électronique)

Hmmm, à mon avis t'as dû louper un truc. Le gars boote depuis le lecteur de mémoire "protégé" par une pauvre clef ; son système (celui en noir et blanc, avec l'anim de chargement en ascii) patche le logiciel de vote en ROM, qui est donc modifié ; ou alors, il change la séquence de boot de l'OS (un WinCE à vue de nez), peu importe, cela revient au même, c'est fait à froid. Ensuite, il retire sa carte mémoire, remet l'ancienne, reboote la machine (ce qui efface la RAM, évidemment), qui cette fois-ci boote sur la ROM interne, et ne s'aperçoit de rien, chargeant le programme patché (ou un patch qui modifie à chaud, sauf que WinCE a beau être un OS bidon, on ne peut pas le faire, il y a 32mo de VM par processus, et c'est décidé au niveau de l'architecture du microprocesseur, du ARM9 très certainement vu l'absence de ventilation interne).

Bref, première chose : changer le bios ; ça se fait simplement, en dur (non, il ne s'agit pas d'appuyer sur "suppr" au démarrage, on n'est pas sur un PC, enfin, apparemment ; et de toute façon, il n'y a pas de clavier ! ^^). Ensuite, empêcher l'ouverture de la bestiole, parce que c'est pas super discret : a-t-on déjà vu un gars se ramener sur une borne de distribution de billets avec un tournevis ? Pas trop, non >_

Palpatine dixit :
"Quand on se donne les moyens, on peut faire plein de choses, même du soft sans bug : pour l'instant, il n'y a pas encore eu d'avion crashé pour cause d'erreur de programmation"

Du "soft sans bug" ? Jamais entendu parler. Dans ce domaine, on peut au mieux espérer s'approcher asymptotiquement de la perfection, mais il faut effectivement y mettre de très gros moyens. Il y a déjà eu au moins une fusée (Ariane 5) crashée par un bug de toute beauté.
Mais il est vrai que l'on a, heureusement, encore assez conscience du fait que le logiciel contient toujours des bugs pour éviter de trop leur confier directement des vies humaines. Sauf quand le logiciel est irremblaçable (défibrillateur implantable, par exemple).
Mais qu'on le veuille ou non, on en vient, tout doucement, sans s'en rendre compte, à mettre de manière plus ou moins indirecte, des vies humaines "à portée" de logiciels qui valent ce qu'ils valent. Je veux dire par là que lorsque des monuments comme un système de réservation tombent en panne, et que la vie de milliers de gens est perturbée, cela se paye forcément, le cas échéant par quelques morts.

"Du "soft sans bug" ? Jamais entendu parler" > Moi non plus. Palpatine, saches que les softs dans les avions sont redondés (doublés voire triplés), et pas codés par les mêmes équipes, justement dans l'espoir que si on tombe sur un bug, on peut passer à un programme de secours qui n'aura pas, avec un peu de chance, le même bug au même endroit.

François, PV, c'est bien ce que j'ai dit (c'est à la fin de mon post, vous lisez pas un peu vite ? ;) ), t'inquiètes, c'est ma partie, je le sais très bien. Tout comme Ariane5 a été fait à partir de Ariane4, en Ada plein de pragma désactivant le checking des erreurs, et le code n'était pas redondant à l'époque (depuis, ça a changé). D'une manière générale, ce qui est militaire est mal codé, le pire revenant peut-être aux missiles... Mais un avion, tu peux me croire, chaque ligne de code est vérifiée et revérifiée. Une voiture en revanche, c'est du foutage de gueule total ; d'ailleurs, quand un régulateur de vitesse part en live, on démonte la bagnole, et on va dire à la télé que l'électronique n'a rien, tout est normal (et par derrière, on patche les voitures dans les garages, c'est assez délirant jusqu'où on peut aller).

À titre de comparaison, dans un avion, il n'y a pas d'allocation dynamique, ni même de boucle. Tout le code est chargé en statique avant décollage, à l'initialisation, il est vérifié (pas d'erreur de copie en mémoire) et exécuté en déroulant de manière totalement linéaire ; pas d'ordonnancement, donc pas de risque d'inversion de priorité (ce qui arrive parfois sur des robots martiens :D ; et trop souvent sur des voitures pourries). Ça coûte horriblement cher. Plus que pour développer une fusée ou un missile, mais quand on en crashe un, c'est pas pareil au niveau des conséquences (y'a un tas de gens dedans, pour rappel). Un autre exemple est la ligne de métro meteor. Estimation de panne à 1 seconde toutes les quelques millions (je ne sais plus le chiffre exact). C'est de la sécurité de fonctionnement, ça coûte extrêmement cher aussi. Mais ça se fait.

Bref, ligne 14 et Airbus : bien. Ariane5 et Renault/PSA : mal. Moi je prend le métro :D (pas trop confiance dans les avions, mais pas pour des raisons de soft ;) ).

J'oubliais : des chips sans bug aussi, ça existe. C'est sûr que le pentium, ça tape dans le millier, voire plus. Mais un 68K ou un coldfire, vous pouvez y aller l'esprit serein. C'est pas pour rien que les satellites sont majoritairement cadencés à 12Mhz...

@Palpatine : ahem, viens pas me chercher sur de la réthorique ;-), la théorie du code sans bug parce qu'on l'a relu et relu, je n'achète pas.

Et moi j'ai déjà attendu, dans la rame en panne de la ligne 14, qu'un monsieur de la RATP vienne ouvrir l'armoire technique de tête pour faire control-alt-del ou quelque chose dans le genre sur le PC qui se trouve là-dedans. Alors camembert ;-).

Palpatine, vous avez en effet l'air de connaître le sujet. Vous savez donc que les plus belles théories sur la chasse au bug n'expliquent pas comment on viendra à bout des "ooopps !" parfaitement humains qui peuvent mettre par terre des milliers de lignes de code premier choix.
Je me souviens par exemple de ce raté à l'époque de la Guerre des étoiles, première manière, celle de Reagan. Un laser terrestre devait "allumer" un réflecteur collé sur le flanc de la navette spatiale. Deux équipes avaient bossé séparément, l'une sur le contrôle du laser et l'autre sur le tracking de la navette. Le moment venu, ce fut le bide, total. Au cours de l'autopsie, on découvrit que la deuxième équipe transmettait à la première des données exprimées en miles. Les deux avaient juste uublié de se mettre d'accord sur le type de "miles" : marin ou "statute". Or l'une des équipes était de culture "navy", l'autre plutôt "army". Je ne vous fait pas un dessin…

@François: un ctrl-alt-suppr, bein voyons ;). Tu peux me croire, c'est du solide le meteor. Mais au niveau informatique ! Maintenant, si y'a un pneu qui crève, c'est pas de la faute du programmeur ;)

@PV: vi, je la ressort souvent cette histoire, qu'ils sont crétins :D. Et le p'tit robot flashé à distance parce qu'il nous avait fait une inversion de priorité, elle est bien bonne aussi ; parce que même s'ils connaissaient les risques et qu'ils étaient paraît-ils très minces, il est quand même décent de virtualiser un peu, ou de mettre un système de secours, un hyperviseur, que sais-je, mais là, du tptp à quelques millions de km, c'est du délire pur ^^.

Encore une fois, ce n'est pas la NASA qui code sur les navions, et heureusement ;) (je l'ai dit, les militaires, c'est les pires, je le sais bien, j'en viens :D ).

URGENT

A des fins de contrôle du déroulement des votes électroniques, ne serait il pas important d'organiser à titre privé des votes
"papier" avec enveloppe et isoloir à la sortie des bureaux de votes électroniques?

il conviendrait de s'assurer d'une surveillance la plus rigoureuse et proche possible du code électoral de ces scrutins.

En examinant les resultats, on pourrait ainsi déterminer quel écart observe t'on entre ce vote officieux et le vote officiel mal sécurisé,
si cet écart dépasse un écart type explicable par les abstentions et refus de re-voter d'une part des votants, et ainsi avoir un argument solide pour demander une annulation ou une reconsidération des résultats électroniques dans une telle éventualité.

FAITES CIRCULER AUTOUR DE VOUS, MERCI DE VOTRE ATTENTION ET DE VOTRE VIGILANCE, DIFFUSEZ Au MAXIMUM CETTE INFORMATION

Si vous avez conaissance d'une autre initiative de ce type, il conviendrait de coordonner ces efforts pour mettre au point
la procédure et la façon de présenter ce vote de test au public.

pour ce faire, contactez moi ici:

pour-un-vote-sans-erreurs-ni-fraudes(at)hotmail.fr

(remplacer "(at)" par @)


toute contribution permettant d'organiser un scrutin alternatif dans les bureaux de vote concernés par les "machines a voter"
serait la bienvenue,aussi bien de la part de bénévoles que par le pret de matériels mais aussi et tout particulierement par la contribution bénévole d'huissiers ou de magistrats pour s'assurer du bon déroulement de ces scrutins
et leur conférer la légitimité nécessaire.

toute proposition pour héberger cette initiative sur une page internet sera aussi chaleureusement accueillie et étudiée.
(pour y prodiguer les conseils mis au points quand à l'organisation d'une telle opération)

merci d'avoir lu ce message et merci d'avance à tout ceux qui le feront circuler.

Laisser un commentaire

En laissant un commentaire, vous acceptez la politique des commentaires de ce blog.

Archives mensuelles

Notes récentes