Monday, June 11, 2007

Belgian Voting Machine source code ... available?

Here it is - someone (John Smith) posted it to the Full Disclosure mailing list - but here is the link to the source code for the Belgian voting machines that were used this past weekend in the election.

Taking a peek at the files inside the ZIPfile, we can gleam that most of the code was written in this century - but within the last few years even. They are re-using a number of very very old (particularly in the archive piece) functions which date back as far as 1993... I suppose there's no need to re-invent a perfectly good wheel? I think it's interesting for a number of reasons:
  1. The government actually published the source code - shows they have nothing to hide (no further comment made there...)
  2. Full Disclosure of source code can help make this system overall more secure
I've copied some of the headers, and some of the more interesting pieces of the files here for your viewing pleasure:
  • This is interesting... Generated by MS Access 97?!

Author : (Generated from MsAccess97)

  • Interesting... written in 1993 and re-used here
Revision History

01/06/93: revision history starting date
07/09/93: Previous_Message handling changed, we now use the Prev_M index
as global variable
Fixed : the Prev_M was never incremented in Display_Messages
11/10/93: Display_Strings_URN was adapted so the names of the MASTER and BACKUP
disks are set dynamically in the messages, to allow multiple
BACKUP disks.
17/11/93: The password is converted to uppercase either than lowercase,
due to a change in the Bell's programs.

There's a lot more of this stuff too... feel free to peruse and enjoy. If you're a real code-freak... try and figure out if there are any interesting ways to bypass/crash/hack this baby!

Here is the link to the Belgian Site hosting the code.


No comments: