Sequoia e-voting machine commandeered by clever attack
Return-oriented programming strikes again
Computer scientists have figured out to how trick a widely used electronic voting machine into altering tallies with a technique that bypasses measures that are supposed to prevent unauthorized code from running on the device.
The method, known as return-oriented programming, has already been used to defeat security measures built into the Linux and OpenBSD operating systems. Now scientists have used it against the Sequoia AVC Advantage machine, which is used almost universally in New Jersey and in parts of Louisiana, Pennsylvania, Wisconsin, Colorado and Virginia, according to the Verified Voting Foundation.
The machine is programmed to execute code only when it's stored on read-only memory chips that are difficult to install and remove. By expressly forbidding the running of code contained in random access memory, the designers intended to make it impossible for attackers to inject malicious programs that might compromise the integrity or confidentiality of the election.
The computer scientists were able to evade this safety mechanism using return-oriented programming. Rather than designing the malicious code from scratch, the technique reassembles programming expressions already found in the targeted software in a way that gives the researchers the ability to take complete control over the machine. It's tantamount to kidnappers who write a ransom note using letters cut from the headline of a newspaper.
The research team - from Princeton University, the University of California at San Diego and the University of Michigan - pulled off the attack by obtaining a Sequoia AVC Advantage legally off the internet. Without access to any of the source code, they reverse engineered the hardware. They were then able to reverse engineer the software it ran by analyzing the machine's ROM.
Sequoia and manufacturers of other brands of e-voting machines frequently discount vulnerability research into their products by pointing out that the underlying source code is closely guarded. Researchers in many studies, they argue, have unrealistic access to the devices' inner workings.
"What we have shown or what I hope we have shown in this paper is that that criticism in untrue," Hovav Shacham a professor at UC San Diego, told The Register. "It might take a little more work if we don't have the source, but nevertheless we're able to find vulnerabilities and exploit them in useful ways in machines where the only access we have is the physical artifacts themselves."
Sequoia in the past has gone to great lengths to prevent outsiders from peering into its proprietary voting machines. Last year, it threatened to sue after a county in New Jersey asked Princeton University researchers to inspect election gear suspected of malfunctioning during the presidential primary election.
The exploit works successfully on AVC Advantage machines running software version five, Shacham said. It remains unclear if the flaw that makes the attack possible is contained in newer versions of the software.
The proof-of-concept attack caused the machine to steal votes in a pre-determined way. The code that makes it possible can be installed in a few minutes. While a simple rebooting of the machine causes the malicious instructions to vanish, the exploit also caused the machine to appear as if it were turned off when in fact it was turned on. When the power switch is activated, the malware makes the machine appear to boot up.
A Sequoia spokeswoman said she hadn't read the report and had no comment. She suggested interested parties look here for responses to previous research by Princeton professor Andrew Appel, a computer scientist who has long criticized the security of the machine.
Return-oriented programming has already been shown to be an effective way of piercing protections such as WxorX found in Linux, OpenBSD and Solaris. Its application to the Sequoia machine is impressive because the device is undocumented except to a select few who have signed non-disclosure agreements. The research was presented Monday at the Electronic Voting Technology Workshop/Workshop of Trustworthy Elections. The paper in PDF and slides are available here and here respectively.
"It's excellent research," said David Wagner, a computer scientist from the University of California at Berkeley who attended the conference and was not involved in the paper. "The research is significant because it illustrates that attacks get better over time and it shows just how difficult it is to protect paperless voting systems." ®
You appear to be playing on the wrong field
It's great to see you slander me ``I think you missed my point by quite a large margin - no, that's being kind; you weren't even close" when clearly you do not understand the problem!
``what I thought was pretty obvious to everyone (but, evidently, I was wrong), was that hackers do not have the right to walk to up the machine, pry open the cover and fit their own firmware. Especially not out-of-hours."
Yes, I respect this point. But you appear to be playing on the wrong field. Maybe the following example will help.
``Just because an ATM is alarmed, secured and valuable, does not mean you cannot walk up to it and use it to withdraw funds from your own bank account."
Again, you seem to be missing the point. The real attack is if I can walk up to an ATM machine and withdraw your money!
Relating back to e-voting. If I can use a voting machine to: cast your vote; cast multiple votes; erase the memory; .... and do so without ``prying open the cover and fit my own firmware" then I have won. Attacks against voting machines are real (read the literature).
Re: Other ways
It is a bit more subtle than that: They used that same technique, but instead of calling libc functions, they used the code within the ROM itself.
If you can directly program the i-cache over the allowed ROM area, you win. Maybe a hack program that uses return addresses (from an external buffer overflow exploit) calling the ROM code you want executed e.g. in libc.