Evotefail : tout se passe comme prévu

ajouté le 2013-07-23T06:33:10 dans Suisse • par SwissTenguCommentaires
Tags: evotefail genève evotech

Ça y est, c'est fait : un hacker a réussi à prouver que le système de vote par Internet genevois est pourri. Depuis le temps…

Pour la petite histoire : Sébastien Andrivet, Genevois, a pris "un certain temps" (plusieurs mois) pour recréer, dans un environnement de labo, un serveur de vote minimaliste. Son but ? Voir s'il était possible d'exploiter la fonction "changer de vote" du système.

Et il y est arrivé. Avec un peu d'astuce, un peu de javascript, une patience immense pour faire du reverse-engeneering (bah oui, les sources ne sont pas disponibles…), il a pu faire une démonstration magistrale lors d'un Talk de sécurité.

Les réactions ne se sont pas faites attendre, vous pouvez l'imaginer : articles dans les journaux, prises de positions de partis et personnalités politiques, tout y est passé. Et ça ne semble pas redescendre — en même temps, on touche à un outil démocratique ayant déjà fait parler de lui suite à des bugs assez embêtants.

Et, évidemment, la Chancellerie genevoise se défend. Mal. Ou en disant des énormités :
- Le problème était connu et accepté ( o________O WHAT ?! )
- La Chancellerie a toujours été pour l'ouverture du code (Bullshit - quoi que c'est plus le Conseil d'État genevois qui comptait se faire un max de pognon en vendant une démocratie trafiquée et médiocre)
- Des rapports sont restés au fond d'un tiroir
- Audits de sécurité faits à moitié, les champs étant trop réduits et ignorant complètement la partie client, alors que c'est juste la plus vulnérable

La Chancellerie dit "vouloir trouver des solutions" et ajoute qu'"aucune solution technique n'a été trouvée"… On va être très gentil avec eux, et on va lister une série de mesures permettant d'assurer un tant soi peu la sécurité du bouzin :
- ouvrir le code, en accès libre et illimité (ça évitera que des Sébastien ne risquent de se faire poursuivre en justice en voulant simplement faire ce que tout citoyen devrait faire : contrôler sa démocratie)
- employer un appareil externe, du genre des "calculatrices" de l'UBS, pour valider via un code chaque transaction
- employer un navigateur web maîtrisé à 100%, sur une clef USB en lecture seule par exemple (sauf erreur, c'est la Banque Migros qui a ce genre de chose)
- employer une machine virtuelle (mais là, ça risque de mal passer auprès de pas mal de monde qui ne sauront pas l'employer)
- signer chaque étape via la carte SuisseID (même si elle possède ses propres failles et ses propres problèmes — au moins on ne réinvente pas la roue)
- … sans doute d'autres solutions auxquelles je ne pense pas en ce moment.

Le problème de chacune de ces solutions ?
Bin ça coûte, ma bonne Dame. Ces solutions, à part l'ouverture du code (qui n'est qu'un bout de la solution, il faut bien se le mettre en tête), coûtent du temps et de l'argent.

Du temps pour implémenter les choses, les tester et les valider (avec le concours du Peuple je vous prie ! Des volontaires pouvant tester tout le système de a à z, sans restriction), et aussi de l'argent, pour faire fabriquer (ou commander) les différents appareils nécessaires à assurer la sécurité du vote.

Une autre solution qui ferait grincer bien des dents : on arrête tout, on efface tout, on repose des bases propres en ressortant les rapports initiaux, en demandant à des experts en sécurité (il y en a assez dans les Hautes Écoles, que ce soit les EPF ou Uni) à quoi on en est niveau cryptographie et sécurisation des communications, stockage de données etc.
Certes, ça coûtera sans doute plus que de coller une ou deux rustines à une application possédant des "fuck" et des noms de "développeur" dans son code.
Certes, ça signifie arrêter les "essais" de vote (qui, je le rappelle, sont pris en compte dans les résultats et peuvent, potentiellement, faire pencher la balance d'un côté ou de l'autre — avec une faille connue !).

Mais cela signifie, surtout, une prise de conscience réelle des problèmes, un arrêt des jeux d'apprenti-sorciers et une reprise en main sérieuse de la chose.

Une dernière solution : arrêter purement et simplement. Mais cela ne pourra pas passer, entre autres "à cause" des suisses de l'étranger, qui y trouvent un réel intérêt.

Depuis que je m'y intéresse, j'ai l'impression que la Chancellerie ne fait que réagir à ce qu'on dit/pense de ce système, au lieu de prendre les devants pour éviter les problèmes.
L'exemple parfait : le bug du double vote, qui a créé un petit buzz l'année passée. Ce double vote était dû à trois problèmes distincts:
- absence de "lock" lors des transactions
- une modification dans la base de donnée
- l'absence d'un index dans cette même base de données (aucune idée si la modification était faite sur la même table - on n'a pas les sources ;) ).

L'absence de lock montre une mauvaise estimation des risques, quant aux deux autres, cela montre une absence de tests étendus. Un tel bug, sur une infrastructure de production, pour une chose aussi sensible que le vote par Internet, n'est tout simplement pas acceptable.

Ça me donne juste l'impression que ce projet tourne à vide, que les techniques élémentaires de développement ne sont pas maîtrisées. En bref, la confiance est au niveau le plus bas. Et ce ne sont pas les récents évènements qui vont me faire revoir mon jugement.

J'espère que J.-C. Schwaab arrivera à se faire entendre et à rallier assez de monde derrière lui pour faire cesser cette mascarade. Y compris les autres applications de vote, auxquelles je n'ai pas pu trop m'intéresser (pour rappel, Neuchâtel et Zurich ont leur propre système).

Le vote électronique est en train de s'enterrer tout seul, par la seule incompétence d'une poignée de bras cassés employant leur pied gauche pour réfléchir. Tant mieux, dans un certain sens.

T.
Bitcoin Litecoin Skrill
 

RSS Commentaires

 
Got Gravatar?

napster2core , le 2013-07-23T09:08:20

Sans oublier la perle que la chancellerie a osé nous sortir au sujet des "fuck" dans le code: "Cela provient d’une partie que nous avons copiée en open-source.".
Alors soit la chancellerie a pris une application sous licence open source (il faudrait déterminer sous quelle licence) pour injecter ce code dans une application propriétaire sans respecter la licence (sauf si c'est de la lgpl) ce qui est intéressant... Soit c'est du bullshit (car un fuck dans un commentaire ne passe pas vraiment, même dans un projet open source, sauf contexte humoristique, et encore...) et ça démontre une fois de plus que la chancellerie se fout du peuple !

Bravo en tout cas, et surtout merci à cette chancellerie de nous fournir autant d'arguments contre elle, on ne pouvait pas rêver mieux !

permalien

 
Got Gravatar?

Alias , le 2013-07-23T09:41:47

Un des plus gros problèmes de la cartes SuisseID, c'est quand même son nom.

À part ça, excellent article. Je ne retiendrai pas ma respiration en attendant des changements, cela dit.

permalien

 
Got Gravatar?

iGor , le 2013-07-23T11:01:35

+1 @napster2core

Sinon, tu as trouvé où le nom du développeur dans le code ? /me curieux...

permalien

 
Got Gravatar?

napster2core , le 2013-07-23T11:05:27

@iGor: Voici le gus en question: http://www.hesge.ch/heg/annuai... Il y a de quoi se poser 2-3 questions quand on lit l'unique papier qu'il a publié...
Comme toujours, e-vote fail, et bien fail !

permalien

 
Got Gravatar?

SwissTengu , le 2013-07-23T11:13:39

@iGor: dans le javascript (qui n'est à priori pas accessible en dehors des périodes de votation).

permalien

 
Got Gravatar?

iGor , le 2013-07-23T11:27:21

@SwissTengu Ok, merci pour l'info.

permalien

 
Got Gravatar?

zazie , le 2013-07-23T15:05:11

Intéressant, sans doute. Mais soyez franc: la securité du procès d'une votation n'était pas plus menaçée que lors d'un envoi d'une enveloppe avec votre bulletin de vote par la poste.
On a vu une attaque de type "man-in-the browser". Cela EST un problème, bien connu aux résponsables. C'est justement à cause de ce problème, un ordinateur corrompu d'un client, que le Conseil fédéral a décidé, le 14 juin 2013, de nouveaux conditions pour les futurs systèmes de vote électronique en Suisse. Documents accessibles ici .

permalien

 
Got Gravatar?

Crazygolem , le 2013-07-23T21:10:01

@zazie :
Si on compare le nombre d'ordinateurs compromis et le nombre d'offices de poste et de facteurs compromis, je dirais, en prenant en compte la proportion des votants pour chaque système (et sans avoir de vraies statistiques) que le nombre d'ordinateurs compromis est plus élevé.

Tu peux aussi ajouter le facteur "maitrise des éléments secondaires" (ou "maîtrise du système") : Il me semble à priori plus aisé de comprendre et maitriser le système postal suisse et le processus d'envoi d'une enveloppe que de comprendre et maîtriser son ordinateur (système d'exploitation, logiciels tiers). En plus, il y a certaines garanties que la poste doit pouvoir fournir, qu'on ne pourra pas demander pour un vote électronique. Par exemple, la poste doit respecter des délais, garantir qu'une certaine proportion du courrier qu'elle doit délivrer arrive bien à son destinataire, etc. En gros il faut que le système fonctionne (avec une certaine marge d'erreur) et il y a des garanties. On ne peut pas vraiment exiger de garanties au propriétaire d'un ordinateur privé, quant au bon fonctionnement de son appareil.

La seule "sécurité" que le vote électronique peut encore proposer par rapport au vote par correspondance, c'est sa relative jeunesse : Il n'y a pas encore beaucoup de monde qui a pu étudier le processus de vote électronique, par rapport à celui de vote par la poste.

Donc non, minimiser les risques du vote électronique parce que le vote par correspondance en comporte aussi est franchement hors de propos. Et c'est pas uniquement parce que je suis un geek pédant et que je prends les gens pour des cons.

permalien

 
Got Gravatar?

zazie , le 2013-07-24T11:09:04

@Crazygolem:
Je suis d'accord avec ton analyse. Mais les risques des ordinateurs compromis était un des paramètres, pourquoi les essais avec le vote électronique devaient se limiter a un taux assez petit d'électeurs (< 3% des électeurs en Suisse, <10% d'un canton). Les autorités voulaient limiter les dégâts possibles.
Les nouveaux systèmes VE doivent garantir la verifiabilité du procès de vote même si l'ordinateur de l'électeur est compromis. Cela est la bonne piste.

permalien

 
Got Gravatar?

SwissTengu , le 2013-07-24T11:27:57

@zazie : un paramètre écarté des audits de sécurité, ce qui est totalement anormal, sachant que le vecteur d'attaque principal serait de ce côté…

Le problème principal est que le système de vote a été monté à l'envers, en refusant de tenir compte d'avis d'experts qui avaient, pourtant, anticipé les potentiels problèmes côté client et proposé des solutions pour augmenter la fiabilité…

Ce que les audits ont montré jusqu'à présent, c'est "juste" que Genève sait configuré des vlan, un accès VPN et isoler une infrastructure dédiée dans le réseau d'état… Un truc qu'un administrateur système en début de carrière sait faire les yeux fermés.

On peut donc en déduire que les audits ne servent à rien, à part jeter un semblant de "faites-nous confiance" - alors qu'au final, niet, ce n'est pas bon du tout.
De la poudre aux yeux, point final.

La table raz semble être une solution des plus vitales.

permalien

 
Ajouter un commentaire
Les tags HTML ne sont pas autorisés. Pour ajouter une URL, copiez-la simplement, ou employez le BBCode [url=http://...]titre[/url].
Pour le formatage, les BBCodes suivants sont autorisés: [b]gras[/b], [i]italique[/i].
sens[/url]. T. certain un dans mieux, [url=http://hal.archives-ouvertes.fr/docs/00/18/13/35/PDF/VoteInternet.pdf]Tant réfléchir. pour gauche pied leur employant cassés bras de poignée d'une incompétence seule la par