elections, computer security, and electronic voting

53
#1 Elections, Computer Security, and Electronic Voting CS161 4/19/2010 David Wagner

Upload: others

Post on 12-Sep-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Elections, Computer Security, and Electronic Voting

#1

Elections,Computer Security,

and Electronic Voting

CS161 4/19/2010David Wagner

Page 2: Elections, Computer Security, and Electronic Voting

#2

Page 3: Elections, Computer Security, and Electronic Voting

#3

Page 4: Elections, Computer Security, and Electronic Voting

#4

Page 5: Elections, Computer Security, and Electronic Voting

#5

Page 6: Elections, Computer Security, and Electronic Voting

#6

• Integrity: No election fraud

• Transparency: Everyone – especially theloser – must be able to verify that theelection was conducted appropriately

• Privacy: No one learns how the voterhas voted

• Secret ballot: Voter cannot prove howshe voted

Security Goals for an Election

Page 7: Elections, Computer Security, and Electronic Voting

#7

Breakthrough! — the Australian secret ballot.

Ballot printed by govt. Ballot boxes monitored byobservers. Ballots counted, by hand, in public. Competing interests keep each other honest.

Page 8: Elections, Computer Security, and Electronic Voting

#8

Page 9: Elections, Computer Security, and Electronic Voting

#9

Page 10: Elections, Computer Security, and Electronic Voting

#11

Page 11: Elections, Computer Security, and Electronic Voting
Page 12: Elections, Computer Security, and Electronic Voting

#14

Page 13: Elections, Computer Security, and Electronic Voting

#15

Another anomaly during the 2000 election

From: Lana Hires

Subject: 2000 November Election

I need some answers! Our department is being audited by the

County.

I have been waiting for someone to give me an explanation as to

why Precinct 216 gave Al Gore a minus 16022 when it was

uploaded. Will someone please explain this so that I have the

information to give the auditor instead of standing here "looking

dumb".

Page 14: Elections, Computer Security, and Electronic Voting

#16

Page 15: Elections, Computer Security, and Electronic Voting

#17

Page 16: Elections, Computer Security, and Electronic Voting

#18

Page 17: Elections, Computer Security, and Electronic Voting

#19

Page 18: Elections, Computer Security, and Electronic Voting

#20

Page 19: Elections, Computer Security, and Electronic Voting

#21

Question: How do election security goals apply to touchscreen (DRE) electronic voting machines?

Security Goals for an Election:Integrity, Transparency, Privacy, Secret ballot

1. Machine must allow each authorized voter to vote exactly once; must prevent tampering with votes after they are cast.

2. Machine should be verifiably trustworthy.

3. Machine must randomize the order in which votes were cast.

4. Machine must not give voter a ―receipt‖.

Page 20: Elections, Computer Security, and Electronic Voting

#22

Nov 4, 2002:State of Georgia votes on Diebold DREs.

March 18, 2003:Diebold source code leaks.

July 23, 2003:Tadayoshi Kohno, Adam Stubblefield, Avi Rubin, Dan Wallach, ―Analysis of an Electronic Voting System‖.

Page 21: Elections, Computer Security, and Electronic Voting

#23

smartcard

QueryStatus

ACTIVE (0x01)

SetStatus CANCELED (0x08)

Succeeded

(record vote)

Status = CANCELED

The voter authorization protocol

Page 22: Elections, Computer Security, and Electronic Voting

#24

smartcard

QueryStatus

ACTIVE (0x01)

SetStatus CANCELED (0x08)

Succeeded

(record vote)

[Are you a valid card?]

[Yup.]

[Please cancel yourself.]

[Ok.]Status = CANCELED

The voter authorization protocol

Page 23: Elections, Computer Security, and Electronic Voting

#25

malicioussmartcard

QueryStatus

ACTIVE (0x01)

SetStatus CANCELED (0x08)

Succeeded

(record vote)

QueryStatus

ACTIVE (0x01)

SetStatus CANCELED (0x08)

Succeeded

(record another vote)

Attack!

Page 24: Elections, Computer Security, and Electronic Voting

#26

What’s the secret PIN?

2301

What kind of card are you?

An administrator card.

Authenticating election officials

2301

Ok, you have admin access.

What’s the secret PIN?

Page 25: Elections, Computer Security, and Electronic Voting

#27

Source code excerpts

#define DESKEY ((des_key*)”F2654hD4”)

DESCBCEncrypt((des_c_block*)tmp, (des_c_block*)record.m_Data, totalSize, DESKEY, NULL, DES_ENCRYPT);

Page 26: Elections, Computer Security, and Electronic Voting

#28

Source code excerpts

// LCG - Linear Congruential Generator -// used to generate ballot serial numbers// A psuedo-random-sequence generator// (per Applied Cryptography, Bruce Schneier)

int lcgGenerator(int lastSN) {return ((lastSN*1366) + 150889)%714025;

}

―Unfortunately, linear congruentialgenerators cannot be used for cryptography.‖

— Applied Cryptography, p.369

Page 27: Elections, Computer Security, and Electronic Voting

#31

Page 28: Elections, Computer Security, and Electronic Voting

#32

Page 29: Elections, Computer Security, and Electronic Voting

#33

Page 30: Elections, Computer Security, and Electronic Voting

#34

Page 31: Elections, Computer Security, and Electronic Voting

#36

California Top-to-Bottom Review

In 2007, California Secretary of State Debra Bowen commissions a review of California’s voting systems.

43 experts (led by David Wagner & Matt Bishop) examine voting systems used nationally.

Page 32: Elections, Computer Security, and Electronic Voting

#37

Technical findings of the CA TTBR

All voting systems examined have serious security problems:• None followed sound engineering principlesexpected of security-critical systems.

• All were vulnerable to viral attacks: one outsidercould subvert all voting machines countywide

Page 33: Elections, Computer Security, and Electronic Voting

#38

Example flaw (Premier system)

Bug: The code that reads data off the memory card has buffer overrun vulnerabilities.

Attack:1. Attacker writes malicious code onto 1 card2. When central PC reads votes off card on

election night, it gets infected3. Infected PC writes malicious code onto all

cards used in the next election, infecting entire county

Page 34: Elections, Computer Security, and Electronic Voting

#39

Quotes from the reports

―We found pervasive security weaknesses throughout the Sequoia software. Virtually every important software security mechanism is vulnerable to circumvention.‖

―Our study of the Diebold source code found that the system does not meet the requirements for a security-critical system. It is built upon an inherently fragile design and suffers from implementation flaws that can expose the entire voting system to attacks.‖

―The Hart software and devices appear to be susceptible to a variety of attacks which would allow an attacker to gain control of some or all of the systems in a county. [..] Many of these attacks can be mounted in a manner that makes them extremely hard to detect and correct. We expect that many of them could be carried out in the field by a single individual, without extensive effort, and without long-term access to the equipment.‖

Page 35: Elections, Computer Security, and Electronic Voting

#40

Outcome of the CA TTBR

Bowen decertifies most DRE voting systems and imposes strict new procedural protections.

Result: Most Californians now vote on paper ballots.

Page 36: Elections, Computer Security, and Electronic Voting

#41

Ronald Dale Harris

Employee, Gaming Control Board, 1983-1995

Arrested, Jan 15,1995Convicted, Sept 23, 1997, for rigging slot machines

Trojan Horses and the Insider Threat

Page 37: Elections, Computer Security, and Electronic Voting

#42

…schedule();goto repeat;

}if ((options == (__WCLONE|__WALL)) && current->uid = 0))

retval = -EINVAL;retval = -ECHILD;end_wait4:current->state = TASK_RUNNING;…

Attempted Trojan Horse in Linux Kernel

???

Page 38: Elections, Computer Security, and Electronic Voting

#44

Trojan Horses and Voting Machines

Malicious logic hidden by an insider might, e.g., record votes incorrectly to favor one candidate. How would we defend a voting system against this kind of insider threat?

Potential solutions:• Verify that the software is free of Trojans andwill work correctly on all future elections.(beyond the state of the art)

• Assume sw might contain Trojans. Verify thatsw worked correctly in this particular election.(voter-verified paper records + random audits)

Voting on Satan’scomputer.

Page 39: Elections, Computer Security, and Electronic Voting

#45

Page 40: Elections, Computer Security, and Electronic Voting

#46

Page 41: Elections, Computer Security, and Electronic Voting

#47

Page 42: Elections, Computer Security, and Electronic Voting

#48

Page 43: Elections, Computer Security, and Electronic Voting

#49

Page 44: Elections, Computer Security, and Electronic Voting

#50

Page 45: Elections, Computer Security, and Electronic Voting
Page 46: Elections, Computer Security, and Electronic Voting

#52

Page 47: Elections, Computer Security, and Electronic Voting

#56

Statistical audit

• After election, randomly choose 1% ofmachines and manually recount the paperrecords on those machines. If paper count electronic count, there was fraud.

• If » 100 machines cheat, detection is likely.Consequently: If paper count electronic count,then no more than ~100 machines cheated.

Prover(Elec. Official)

Verifier(skeptical voter)

The tallies are t1, …, tn

Show me the paper for machine i.

(voter-verified paper audit trail)

Page 48: Elections, Computer Security, and Electronic Voting

#57

Trends in e-voting technology

Page 49: Elections, Computer Security, and Electronic Voting

Adoption of paper records + random audits

Page 50: Elections, Computer Security, and Electronic Voting

#59

Timeline

2000 2002 2004 2006 2008 2010

HAVA

SarasotaFlorida

TTBR

Page 51: Elections, Computer Security, and Electronic Voting

#60

• E-voting security is hard, but...• E-voting can be made secure and trustworthy,if it can be audited.

• Technical principles:- Two-person control, separation of duties- Statistical audit- Security against malicious insiders

Conclusions

Page 52: Elections, Computer Security, and Electronic Voting

#61

• Understand security requirements before youdesign & deploy an information system.

• Independent review is valuable.• Sometimes technical threats can be handledthrough non-technical defenses.

• Seek independent, end-to-end checks that thesystem is working properly.

• Securing systems against malicious insiders isextremely challenging.

• Business structure determines the technologythat is built & deployed. If buyers cannotmeasure how secure a product is, be preparedfor market failures.

Lessons

Page 53: Elections, Computer Security, and Electronic Voting

#63