Kuboid
Open Luck·Kuboid.in

Evidence-Based Elections and Software Independence

DEFCONConference342 views44:005 months ago

This keynote discusses the critical security requirements for election systems, emphasizing that software-based voting systems are inherently untrustworthy due to potential for self-modification and lack of verifiable integrity. The speaker advocates for evidence-based elections, where voter-verified paper ballots serve as the ground truth, and risk-limiting audits are used to confirm election outcomes. The talk highlights the inherent risks of internet and mobile-based voting, concluding that such technologies are currently too dangerous for public elections.

Why Your Voting Machine Is Just a Fancy Paperweight

TLDR: Modern electronic voting systems often fail the basic test of software independence, meaning an undetected code error or malicious payload can alter election outcomes without leaving a trace. Ron Rivest’s recent research confirms that software-based integrity checks are fundamentally flawed because the underlying hardware cannot be trusted to report its own state. For security professionals, the only path to a verifiable election is through voter-verified paper ballots and rigorous, manual risk-limiting audits.

Security researchers have spent decades pointing out that electronic voting machines are essentially black boxes. When you walk into a booth and tap a screen, you are trusting a proprietary, closed-source binary to record your intent accurately. You have no way of knowing if that binary has been tampered with, if it contains logic bombs, or if it is simply misinterpreting your input. The core issue is that we are asking software to verify itself. If a machine is compromised, it can easily lie about its own integrity, reporting that it is running the expected, audited code while executing a malicious payload in the background.

The Illusion of Software Integrity

Software independence is the standard by which we should measure any system where the outcome is critical. A system is software independent if an undetected error in the software cannot cause an undetectable change in the election outcome. Most current electronic voting systems fail this test miserably. They rely on internal logs and digital signatures that are generated by the very software being audited. If an attacker gains access to the system, they can modify the code to alter votes and simultaneously update the logs to reflect the "correct" (but fraudulent) totals.

This is not a theoretical concern. We have seen real-world instances where voting machine software was accessed and copied by unauthorized parties. Once an attacker has the binary, they can reverse-engineer it to identify vulnerabilities or backdoors. Even without a sophisticated exploit, the lack of transparency in these systems makes it impossible for independent researchers to verify that the code running on election day is the same code that was certified by the vendor.

Why Paper is the Only Reliable Audit Log

The only way to break this cycle of distrust is to move the ground truth outside of the digital realm. Voter-verified paper ballots provide an immutable record that exists independently of the machine’s software. When a voter marks a paper ballot, they are creating a physical artifact that can be audited by hand.

For a pentester or researcher, the goal is not to secure the machine—which is a losing battle—but to ensure that the machine’s output can be verified against the physical record. This is where risk-limiting audits (RLAs) come into play. Instead of a full manual recount, which is time-consuming and expensive, RLAs use statistical sampling to verify that the reported outcome is correct. By randomly selecting a small, statistically significant number of paper ballots and comparing them to the machine’s digital tally, auditors can achieve a high level of confidence in the result. If the sample shows a discrepancy, the audit scales up, potentially leading to a full manual recount.

The Danger of Internet and Mobile Voting

Proponents of internet and mobile voting often argue that these technologies increase accessibility and turnout. While those are valid goals, they ignore the reality of the current threat landscape. The internet is a hostile environment, and mobile devices are notoriously difficult to secure. When you move the voting process to a user’s personal device, you lose control over the entire chain of custody.

An attacker does not need to compromise the central election server to influence an election; they only need to compromise the client-side application or the device itself. OWASP’s guidance on mobile security highlights the myriad ways an attacker can intercept data, inject malicious code, or manipulate the user interface. If a voter’s phone is infected with malware, that malware can change the vote before it is even encrypted and sent to the server. There is no "paper trail" on a smartphone, and there is no way for a voter to verify that their vote was recorded as intended.

What Pentesters Should Focus On

If you are tasked with assessing election infrastructure, stop trying to find a "perfect" software configuration. It does not exist. Instead, focus your efforts on the auditability of the system. Can the system produce a voter-verified paper record? Are the procedures for handling and storing those ballots secure? Is the statistical methodology for the audit sound?

The National Academies of Sciences, Engineering, and Medicine report on Securing the Vote remains the definitive resource for understanding these requirements. It emphasizes that we must design systems that assume the software will fail or be compromised. We need to build processes that allow us to detect those failures and recover the correct outcome through independent, physical evidence.

Security is not about building a wall that cannot be climbed; it is about ensuring that when the wall is climbed, we have a way to see who did it and what they changed. In the context of elections, that means keeping the software out of the critical path of verification. If you are looking for a project, investigate the ElectionGuard SDK, which attempts to provide end-to-end verifiability. It is a complex, heavy-duty cryptographic approach, but it represents the kind of rigorous thinking we need to move away from blind trust in proprietary black boxes. Stop trusting the machine and start trusting the math and the paper.

Talk Type
keynote
Difficulty
intermediate
Category
policy
Has Demo Has Code Tool Released


DEF CON 33 Voting Village

17 talks · 2025
Browse conference →
Premium Security Audit

We break your app before they do.

Professional penetration testing and vulnerability assessments by the Kuboid Secure Layer team. Securing your infrastructure at every layer.

Get in Touch
Official Security Partner
kuboid.in