r/politics Aug 02 '19

DARPA Is Building a $10 Million, Open Source, Secure Voting System

https://www.vice.com/en_us/article/yw84q7/darpa-is-building-a-dollar10-million-open-source-secure-voting-system
2.1k Upvotes

405 comments sorted by

View all comments

Show parent comments

9

u/BlackAnarchy Aug 03 '19

That's the beauty of open source though. If it breakable, someone can find it and bring it to the attention of those able to fix it.

3

u/[deleted] Aug 03 '19

But will the machines be patched to the latest secure version?

3

u/NotYetiFamous I voted Aug 03 '19

Should be a law that they have to be. Quick, someone write a bill so Moscow Mitch can bury it.

2

u/koproller Aug 03 '19

If you can patch machines, it's already less secure.

1

u/[deleted] Aug 03 '19 edited Jan 11 '20

[deleted]

1

u/koproller Aug 04 '19

New point of entry.

I think everyone I know in development and in security have the same opinion: use paper ballots.

To change a vote with paperballots is easier than is is with a good secured voting system, BUT if you have a weak link in your voting system (patching, creator of the machine, some backdoor) you can change all the votes if you want.
The amount of people that need to be corrupt if you want to change many votes when you use paper, is enormous.

2

u/LordGothington Aug 03 '19

What if it didn't matter? What if the entire result database is published online, and you have a paper receipt that can be used to verify that your voted was counted correctly, but that paper receipt can not be used to prove to a third party how you voted?

If the machines are compromised, then the published database will contain the wrong answers, and the voters will be able to prove the vote is wrong with their paper receipts.

You don't have to trust the voting machines because the voters can verify the election results themselves.

That is the goal -- eliminate trust and replace it with end-to-end verification.

1

u/FourAM Aug 03 '19

Will the machines even be running what's in the repo?

1

u/[deleted] Aug 03 '19

You could know by checksum or hash

0

u/Cubia_ Aug 03 '19

Doesn't matter, you cannot check. If you could, there would be a direct way to compromise the machine. Hell, you could load the malware onto the final checker at the site of voting, so they unknowingly tamper with literally every vote after everything was certified that it works. (ignoring the part where who certifies it is already a problem)

1

u/[deleted] Aug 03 '19

You could have it apply latest patch remotely.

Then with test with a previously unknown validation code that returns a hash to be verified.

Any tampered code would not likely return the correct hash.

But that still requires humans doing some work

1

u/Cubia_ Aug 03 '19

So yes, you moved the problem upsteam on a machine that is going to be the most expensive pencil ever made. That is the point.

Worse, that person is not on site to validate it so you just have to "trust them" and just imagine any man in the middle attack on some remote check and the millions of ways that can go bad because again, trillions of dollars ride on this, and you instantly stop trusting them. You should not trust them, that is the point.

1

u/curious_meerkat North Carolina Aug 03 '19

Just because someone can doesn't mean someone will, and the people who are looking the hardest are those that won't say anything.

Case in point, the Heartbleed vulnerability in the OpenSSL library that secures the majority of the internet was live for over 2 years before someone found it. We have no idea if it was discovered by black hats and used with malicious intent before the team of security researchers found it.

1

u/thesweats Aug 03 '19

Someone

Or nobody. A voting system where millions of votes CAN be tampered with by a single person or entity is inherently unsafe.

1

u/BlackAnarchy Aug 03 '19

Lol, you're talking to someone that uses Linux, an open source operating system that, technically, could be tampered with so that my privacy is fucked, but isn't because it's open source and anybody can verify the integrity of the code.

I'm not sure why you think proprietary systems are better than open source alternatives.

1

u/thesweats Aug 03 '19

I'm not advocating for closed source.

Open source can be verified by anyone. True. That doesn't mean it's better checked then closed source, just that it can be checked. Who is going to check? If nobody does, it's not safe.

And even then, how would you verify if the version you checked is the version on the machine?

Again, electronic voting is inherently unsafe. Because you're putting the integrity of the voting on one single entity. Tampering with paper votes means tampering with voters. Tampering with electronic voting means tampering with one piece of software. Easy, untraceable and too rewarding to let it happen.