Ce n’est pas nouveau, le vote électronique, et en particulier le vote par Internet, est critiqué. A raison ! Car par définition, il n’est pas sûr : non seulement, il rend le dépouillement opaque et source de manipulations, mais il ouvre aussi la porte à des pirates qui pourraient par exemple manipuler les votes sur une machine compromise.
Voilà ce qu’a souhaité prouver Laurent Grégoire, Français résident à l’étranger et informaticien, qui a, comme des milliers d’autres expatriés, été invité à voter par Internet aux élections législatives. Dans un papier d’une vingtaine de pages, « Comment mon ordinateur a voté à ma place », il prouve qu’il est tout à fait possible de réaliser une attaque de type « man in the middle » en injectant du code dans l’application Java fournie par le ministère des Affaires étrangères, pourtant qualifiée de « sécurisée » !
Il faut pour cela que le pirate ait accès à la machine de la victime, soit directement, soit par le biais d’un logiciel malveillant téléchargé sur Internet. Une fois l’ordinateur pourri, l’attaque de M. Grégoire est diabolique : au moment où l’électeur choisit le candidat qu’il désire, l’ordinateur change son suffrage et vote pour le candidat souhaité par le pirate. L’électeur, lui, ne voit rien. Et côté serveur, le piratage passe comme une lettre à la poste, car le vote a apparemment été réalisé dans les règles de l’art…
Comment ça marche ?
Le hack de Laurent Grégoire n’est pas particulièrement complexe, mais nécessite une solide expertise en informatique, et en particulier en programmation Java. Pour parvenir à ses fins, M. Grégoire a d’abord décompilé le programme fourni par le ministère. « L’utilisation de code Java facilite la tâche sur toutes les étapes du processus », explique-t-il dans son papier, car il est « très facilement décompilable » et qu’il profite du mode de fonctionnement de débogage de Java, qui permet à un développeur « d’inspecter et de modifier le comportement de la machine virtuelle. » Ou à un pirate de modifier le fonctionnement du programme pour modifier un vote sans que l’utilisateur ne s’en rende compte, par exemple… Une étape d’autant plus facile pour notre expert que le code du ministère n’était pas « obfusqué », autrement dit transformé avant compilation pour rendre la rétro-ingénierie plus difficile.
Une fois le code récupéré, notre programmeur est en mesure de l’analyser. Il met en place un lien avec le client du ministère via le mode de débogage de Java et en modifie les fonctions pour trafiquer le vote. Par ailleurs, il développe un programme permettant d’injecter ses modifications au moment où l’électeur choisit son candidat… Le tour est joué.
Pour tromper l’électeur, Laurent Grégoire imagine aussi un programme « pot de miel », un jeu ou une application en rapport avec l’élection par exemple, qui cachera à la fois son injecteur et son code « pourri » et qui restera là tourner en tâche de fond jusqu’au jour de l’élection… Afin d’être prêt à déclencher toute la procédure au moment clé !
Impossible à parer
« Ce type d’attaque est impossible à prévenir, à moins de garantir la fiabilité complète de l’ordinateur de l’électeur », indique M. Grégoire dans son article. Ce qui est, on le sait bien, impossible. « L’attaque présentée est tellement simple qu’une organisation politique aux intentions discutables peut facilement décider du résultat d’un scrutin. » écrit-il ensuite. Des propos qui font écho à ceux du parti Pirate, engagé dans la bataille des législatives, qui s’est aussi ému de l’utilisation de ce mode de scrutin, en dénoncant son opacité et « l’abandon du contrôle des élections à des sociétés privées. »
Suite à la publication de la méthode de M. Grégoire, le Quai d’Orsay a simplement réagi en indiquant qu’à ce jour 126 647 Français de l’étranger avaient voté en utilisant le Web… Tout en précisant que « pour ce premier tour de vote par Internet, les conditions constitutionnelles exigées pour tout scrutin politique ont été respectées : secret du vote, sincérité du suffrage et accessibilité du scrutin. Il en a été de même au plan technique. De nombreuses informations sur les questions techniques de sécurité […] ont circulé ces derniers jours. Elles sont analysées avec méthode. À ce stade, aucune d’entre elles n’est de nature à remettre en cause le respect des trois exigences constitutionnelles susmentionnées. »
Le vote pour le premier tour, qui a par ailleurs rencontré des soucis techniques, est achevé. Les expatriés pourront voter de nouveau par Internet au second tour dès le 6 juin.
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.