If ever there were an application where open-source software should be mandated by law, electronic voting has got to be it. The benefits of a simple user interface for a populace confounded by the intellectual demands of punch cards are obvious.
A well-designed and transparent touch-screen ballot system with proper cryptographic protections and a robust auditing mechanism would go a long way to avoiding recount debacles like the one in Florida that made the 2000 elections so intriguing. Unfortunately, the systems that state and local governments have been throwing taxpayers' money at are closed, poorly protected against fraud, and lacking in adequate auditing features.
Such is the conclusion of a group of university researchers who got their hands on some of Diebold's e-balloting software. A recent study by Tadayoshi Kohno, Adam Stubblefield and Aviel Rubin of Johns Hopkins University and Dan Wallach of Rice University finds that the Diebold system lacks basic fraud prevention features.
The team examined unencrypted source code from the Diebold AccuVote-TS voting terminal which was recently posted on the Web, apparently leaked inadvertently by the company in an unprotected FTP directory. The terminal software runs on Microsoft Windows.
Among the more glaring security and data-integrity weaknesses is a re-programmable smart-card used by voters which the team says could be modified with ease and allow voters to cast multiple ballots without detection. The cards are meant to be cancelled automatically as soon as a voter casts his ballot, but the system is easy circumvent with card programmer available for about $100, the researchers say.
"A voter can also perform actions that normally require administrative privileges, including viewing partial results and terminating the election early. Similar undesirable modifications could be made by malevolent poll workers (or even maintenance staff) with access to the voting terminals before the start of an election," the paper says.
"Furthermore, the protocols used when the voting terminals communicate with their home base, both to fetch election configuration information and to report final election results, do not use cryptographic techniques to authenticate the remote end of the connection nor do they check the integrity of the data in transit. Given that these voting terminals could communicate over insecure phone lines or even wireless Internet connections, even unsophisticated attackers can perform untraceable man-in-the-middle attacks."
Election results can easily be skewed by voters and poll workers through smart-card tampering and access to administrative functions in the privacy of the voting booth; ballot choices can be altered by poll workers and supervisors; and, perhaps most worrisome, unauthorized machines running the Diebold software can easily authenticate themselves to the election authority. Finally, tampering is often impossible to detect due to inadequate audit-mechanism security, and re-counts are therefore suspect when tampering occurs.
Because the smart cards communicate with the ballot terminal without encryption, reprogramming one is trivial. A dishonest voter "could program a smartcard to ignore the voting terminal's deactivation command. Such an adversary could use one card to vote multiple times."
For its part Diebold says that its software is rigorously tested and certified by an outside reviewer. But beyond that the company has not been willing to make its source code available for independent review on the usual concerns over having to put money better spent on lobbyists and lavish executive remuneration packages towards defending its patents and copyrights.
However, if exclusively open-source (though not free) software were mandated by federal law, no company would be able to hide pilfered code in competing products and the problem of copyright and patent infringement could be neatly circumvented. ®