Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Embedded Systems

Root the Vote: The Hard and the Soft


Hardware Rules

Rule 0: Hardware access trumps software security.

As we've seen with devices ranging from media players to cable modems to routers to game boxes, physical access to a device negates any attempt to secure its software contents. No matter how complex the hardware security, someone will defeat the interlocks, break or bypass the encryption, and gain unlimited control of the device. All it takes is time and motivation.

Voting machines have an extremely low duty cycle, spending nearly their entire lives tucked away in warehouses between elections. Governments, particularly local ones, seem unaware of the need for rigorous security, particularly when a single access can compromise a machine's functions forever afterward. It seems social engineering no more complex than knocking on the door has already gained unsupervised access to a voting machine warehouse. (Editor's Note: Recent news reports bear out this concern to an alarming degree. In some districts, election volunteers take the voting machines home because election officials failed to plan for their storage.)

Rule 1: Debugging access means total control.

Voting machines resemble any other computer-based electronic device, with all the usual parts and connections: CPUs have JTAG ports, boards have debugging ports, and external memory sockets support bootable devices. As a result, side-channel attacks work perfectly well.

Essentially all nontrivial digital chips include features designed to help get a new board up and running. Use of appropriate debugging tools, plus access to the hardware, negates all the security features built into the code, because the attack occurs below the software level.

Huang's 2002 XBox exploit used common electronics lab hardware tapped into the XBox system board's HyperTransport bus, much as an engineer might monitor those signals during development, which means even buses exposed on the circuitboard provide an attack path between well-protected chips.

Rule 2: There's no such thing as a hidden feature.

Omitting the external interface drivers and connectors for debug-enabled chips doesn't make those features go away. As anyone who's developed such hardware can attest, bringing up a board lacking debugging features makes for protracted, late-night, hair-pulling sessions. Shipping two boards, one with debugging hardware and another "identical" one without, doesn't work, either.

Photos of system boards in Diebold voting machines show option-select jumpers, JTAG connectors, several types of socketed memory, and other familiar doodads. Although those features may not be accessible with the covers screwed down for normal use, they provide convenient access for anyone in physical possession of the machine.

Omitting those interface parts and pads makes no difference, as attackers can deploy clamp-on adapters, hand-built extension boards, or in a pinch, flying leads to unsoldered pins. There's simply not enough money in the voting-machine business to design truly one-off chips or hardware.

Security by obscurity, the practice of not documenting circuitry or code, has little value in a design using commodity hardware. Datasheets, app notes, and reference designs festoon manufacturer's web sites, and even if a particular chip isn't well documented, attackers can begin reverse-engineering easily enough by noting where it fits in a hand-drawn schematic extracted from the hardware.

Rule 3: Mass production enables mass attacks.

Voting machines will never reach the mass-market production levels of consumer electronics, but a few thousand of anything starts to look like a standard. A single successful attack can therefore compromise security across an entire line of identical machines. Extending that attack to a line of similar machines requires far less effort than a completely new attack.

For example, the mechanical lock securing the case of the Diebold Accuvote-TS machines resembles those in hotel minibars, filing cabinets, and other low-security enclosures. Keys available from the usual office-supply sources can open the enclosure: It's a standard part with relatively few unique keys.

The knowledge gained by physical possession of a single machine can create a different attack through far less intrusive means. For example, Feldman, Halderman, and Felten developed a proof-of-concept virus that spreads through official Diebold memory cards used in the normal operation of the machines. A single compromised machine can inject an attacker's code into all the machines in an election district, using the district's own hardware, personnel, and standard procedures.

Rule 4: What one engineer can design, another can figure out.

Put differently, nobody's much smarter than anybody else. Voting-machine hardware design must assume an attacker has more knowledge, better equipment, and far higher motivation. The simple fact that no equipment can withstand such an attack should be obvious, but you don't hear that from the vendors.

Increasingly complex hardware and ever-more-baroque encryption do not provide the solution, because voting-machine hardware represents only part of the problem. The overall voting process must achieve documented reliability despite compromised hardware and corrupt personnel; at a minimum, error detection using multiple cross-checks external to the voting machines must be part of normal operation.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.