On the Difficulty of Validating Voting Machine Software with Software

Ryan Gardner, Sujata Garera, and Avi Rubin


Download the pdf.


Please feel free to download and use our source code at your own risk. Also, be aware that our disk writing code will write to specific sectors of your hard disk. Unless you have specifically ensured that these are clear, this is probably going to destroy your data.

You can follow the normal grub installation instructions to install our code. It will require an x86-64 machine.

To get the malicious pioneer to work, you will need to get a "good" image of memory to the disk at the sectors where the malicious Pioneer reads from. (These are currently not the same sectors that our disk writing code writes to.) We have also included such a memory image from our machine. It may or may not work on yours.



The Pioneer Website

GRUB with Pioneer - Source Code

Malicious GRUB with Pioneer - Source Code

GRUB with Pioneer, Modified for Benchmarking - Source Code

Malicious GRUB with Pioneer, Modified for Benchmarking - Source Code

Disk Writing Code

A "Good" Memory Image from our computer (starts at physical address 0x2000)

Very Brief Notes on Configuring the Attack



Please email ryan AT this.domain if you have any questions.