Ohio Election Blog

Ohio must stress accountability with bipartisan, nonpartisan election reform

Candice Hoke

article thumbnailOhio's reputation as a "good government state" was tainted in 2004's election. Under microscopic scrutiny for nearly five years, the array of...
..read more

Remembering John Gideon's Generosity to Ohio and the Nation

Candice Hoke

article thumbnail The loss of John Gideon is incalculable. John Gideon was a stalwart friend of Ohio and all who seek transparency, accountability, fair access, and...
..read more

Election Officals' Options

Candice Hoke

article thumbnail STYLE--> A new paper reviews the types of voting equipment technical events that merit a closer look, and how to...
..read more

On open source vs. disclosed source voting systems

Article Index
On open source vs. disclosed source voting systems
Page 2
All Pages

Sometimes, working on voting seems like running on a treadmill. Old disagreements need to be argued again and again. As long as I've been speaking in public about voting, I've discussed the need for voting systems' source code to be published, as in a book, to create transparency into how the systems operate. Or, put another way, trade secrecy is anathema to election transparency. We, the people, have an expectation that our election policies and procedures are open to scrutiny, and that critical scrutiny is essential to the exercise of our Democracy. (Cue the waving flags.)

On Tuesday, the Election Technology Council (a trade association of four major American voting system manufacturers) put out a white paper on open-source and voting systems. It's nice to see them finally talking about the issue, but there's a distinctive cluelessness in this paper about what, exactly, open source is and what it means for a system to be secure. For example, in a sidebar titled "Disclosed vs. Open: Clarifying Misconceptions", the report states:
... taking a software product that was once proprietary and disclosing its full source code to the general public will result in a complete forfeiture of the software's security ... Although computer scientists chafe at the thought of "security through obscurity," there remains some underlying truths to the idea that software does maintain a level of security through the lack of available public knowledge of the inner workings of a software program.
Really? No. Disclosing the source code only results in a complete forfeiture of the software's security if there was never any security there in the first place. If the product is well-engineered, then disclosing the software will cause no additional security problems. If the product is poorly-engineered, then the lack of disclosure only serves the purpose of delaying the inevitable.

What we learned from the California Top-to-Bottom Review and the Ohio EVEREST study was that, indeed, these systems are unquestionably and unconscionably insecure. The authors of those reports (including yours truly) read the source code, which certainly made it easier to identify just how bad these systems were, but it's fallacious to assume that a prospective attacker, lacking the source code and even lacking our reports, is somehow any less able to identify and exploit the flaws. The wide diversity of security flaws exploited on a regular basis in Microsoft Windows completely undercuts the ETC paper's argument. The bad guys who build these attacks have no access to Windows's source code, but they don't need it. With common debugging tools (as well as customized attacking tools), they can tease apart the operation of the compiled, executable binary applications and engineer all sorts of malware.

Voting systems, in this regard, are just like Microsoft Windows. We have to assume, since voting machines are widely dispersed around the country, that attackers will have the opportunity to tear them apart and extract the machine code. Therefore, it's fair to argue that source disclosure, or the lack thereof, has no meaningful impact on the operational security of our electronic voting machines. They're broken. They need to be repaired.

The ETC paper also seems to confuse disclosed source (published, as in a book) with open source (e.g., under a GPL or BSD license). For years, I've been suggesting that the former would be a good thing, and I haven't taken a strong position on the latter. Even further, the ETC paper seems to assume that open source projects are necessarily driven by volunteer labor, rather than by companies. See, for example:
... if proprietary software is ripped open through legislative fiat, whatever security features exist are completely lost until such time that the process improvement model envisioned by the open source community has an opportunity to take place (Hall 2007).
There are plenty of open-source projects that are centrally maintained by commercial companies with standard, commercial development processes. There's no intrinsic reason that software source code disclosure or open licensing makes any requirements on the development model. And, just because software is suddenly open, there's indeed no guarantee that a community of developers will magically appear and start making improvements. Successful open source communities arise when distinct developers or organizations share a common need.

Before I go on, I'll note that the ETC report has cherry-picked citations to support its cause, and those citations are neither being used honestly nor completely. The above citation to Joe Hall's 2007 EVT paper distorts Hall's opinions. His actual paper, which surveys 55 contracts between voting system manufacturers and the jurisdictions that buy them, makes very specific recommendations, including that these contracts should allow for source code review in the pre-election, post-election, and litigation stages of the election cycle. Hall is arguing in favor of source code disclosure, yet the citation to his paper would seem to have him arguing against it!

So, how would open source (or disclosed source) work in the commercial voting machine industry? The ETC paper suggests that it might be difficult to get an open-source project off the ground with distributed development by volunteers. This is perfectly believable. Consequently, that's not how it would ever work. As I said above, I've always advocated for disclosure, but let's think through how a genuine open-source voting machine might succeed. A likely model is that a state, coalition of states, or even the Federal government would need to step in to fund the development of these systems. The development organization would most likely be a non-profit company, along the lines of the many Federally Funded Research and Development Centers (FFRDCs) already in existence. Our new voting FFRDC, presumably sponsored by the EAC, would develop the source code and get it certified. It would also standardize the hardware interface, allowing multiple vendors to build compatible hardware. Because the code would be open, these hardware vendors would be free to make enhancements or to write device drivers, which would then go back to the FFRDC for integration and testing. (The voting FFRDC wouldn't try to take the code to existing voting systems, so there's no worry about stealing their IP. It's easier to just start from scratch.) My hypothetical FFRDC model isn't too far away from how Linux is managed, or even how Microsoft manages Windows, so this isn't exactly science fiction.