footer
The software utility, eVote and the eVote clerk, injects true democracy and deliberation into our real-world landscape.

Friday, September 24, 2004

Interesting random error - The Schaerbeek incident

Interesting random error. From Belgium.

It's in French, but in summary what happened is a human realised that there was a counting error in the results
By various checks the error was found to originate from one electronic polling booth. The error had allocated exactly 4096 extra votes to a candidate.

Experts inspected the code and found no errors, they re-fed all the data (it was on magnetic medium) and the polling booth reported the correct count. The conclusion of the experts was that a random error had occured which toggled the 13th bit of the count from a 0 to a 1 (allocating 4096 extra votes to the candidate).

I have to admit that I am skeptical of this conclusion myself. In any case CRC checking could be done to prevent such data corruption. Maybe do the count several times and if the same answer is not obtained everytime raise an alarm automatically.

The part of the article about this incident is displayed below.

-----------------------------------------------------------------------------------------------------
Extrait du rapport des experts... .

5.3.7 L'incident de Schaerbeek

Le collège a été prévenu d'un incident à Schaerbeek le 18 mai à 23h30. Il apparaissait dans le PV de totalisation qu'un candidat d'une liste précise avait obtenu plus de voix de préférence que le nombre total de voix exprimées pour la liste de ce candidat.

Une enquête débuta le 19 mai en présence du président de canton, de représentants du SPF Intérieur, des sociétés Steria et Bureau Van Dijk et du collège d'experts.

Il apparut de l'analyse des disquettes des différents bureaux de vote que le problème se ramènait à un bureau de vote.

L'urne du bureau concerné a été demandée et il a été procédé à un recomptage des votes à partir des cartes magnétiques. Les disquettes contenant les nouveaux résultats ont été à nouveau totalisées avec les disquettes originales des autres bureaux de vote.

Le nouveau PV ne laissait plus apparaître l'erreur. La différence quant au nombre de voix de préférence était finalement de 4096.

Une réunion fut organisée le 22 mai, entre le collège d'experts et la société Steria en présence d'un représentant du SPF Intérieur. La conclusion commune atteinte était que l'erreur pouvait probablement être attribuée à une inversion spontanée d'une position binaire dans la mémoire vive du PC.

Le collège d'experts a effectué ce même jour une série de tests sur le PC du président du bureau de vote en question. Sur la base de ces tests, aucun problème au niveau du matériel n'a pu être constatée.

A l'issue des différents tests effectués les 22 et 23 mai (tests de la mémoire, nouvelle clôture du bureau, simulation d'opération de vote uniquement pour le candidat en question), l'incident n'a pu être reproduit.

5.3.7.1 Analyse technique du problème

Il ressort des constatations qu'il y avait un écart de 4096 voix de préférence pour un candidat. Un écart de 4096 peut être occasionné par une inversion de la 13ème position binaire du compteur.

5.3.7.2 Analyse détaillée du code source suite à l'incident de Schaerbeek.

Suite à l'étude de l'incident de Schaerbeek, il fut procédé à une analyse détaillée du code source en rapport avec l'incident. Il apparaît de cette analyse que:

  • Toutes les données concernant le scrutin sont stockées dans une structure définie globalement dans la mémoire vive du PC du président;
  • Cette structure globale est initialisée au démarrage du programme (ouverture du bureau de vote);
  • Les différents compteurs (nombre de voix par liste, voix de préférence, ...) sont mis à 0 au démarrage du logiciel de l'urne.
  • Les différents votes sont conservés en mémoire tampon pendant les opérations de vote (sous la forme de copies des contenus des cartes);
  • Lors de la clôture du bureau de vote, les votes sont lus à partir de la mémoire tampon et les compteurs adéquats sont incrémentés;
  • Le logiciel ne prévoit pas un double comptage ou une vérification croisée;
  • Il n'y a dans le code source aucune instruction explicite qui aurait pu être à l'origine du phénomène.

Partant de l'hypothèse que l'erreur est due à une inversion spontanée de position binaire, il est de plus possible de conclure que celle-ci s'est produite entre le démarrage du logiciel de l'urne et la clôture du bureau de vote.

5.3.7.3 Conclusions du collège sur l'incident de Schaerbeek

Étant donné qu'aucune erreur n'a été trouvée dans le logiciel, et vu la structure interne du programme, le collège conclut que l'erreur a très probablement été occasionnée par une inversion spontanée et aléatoire d'une position binaire (ce phénomène est abondamment décrit dans la littérature spécialisée).
--------------------------------------------------------------------------------------------------------------

0 Comments:

Post a Comment

<< Home