IVote 2015: Security failures and verification flaws in a live online election Vanessa Teague Ruxcon 2015 Joint work with Alex.

Slides:



Advertisements
Similar presentations
Research & Development Workshop on e-Voting and e-Government in the UK - February 27, 2006 Votinbox - a voting system based on smart cards Sébastien Canard.
Advertisements

IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.
Talk by Vanessa Teague, University of Melbourne Joint work with Chris Culnane, James Heather & Steve Schneider at University of.
Can voters check that their e-vote is cast as they intended and properly included in an accurate count? Vanessa Teague University of Melbourne
ETen E-Poll ID – Strasbourg COE meeting November, 2006 Slide 1 E-TEN E-POLL Project Electronic Polling System for Remote Operation Strasbourg.
1 CS2SPE- Group project presentation Haia Al-Majali Bojin Zhou Rania Ali Suraj Patel Fatima Tunc Victoria Casas Sam Diab 19 th March 2008.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
On the Privacy of Private Browsing Kiavash Satvat, Matt Forshaw, Feng Hao, Ehsan Toreini Newcastle University DPM’13.
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
CSE 461 Section. “Transport Layer Security” protocol Standard protocol for encrypting Internet traffic Previously known as SSL (Secure Sockets Layer),
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 3 02/14/2010 Security and Privacy in Cloud Computing.
DNS Security Overview AROC Guatemala July What’s the Problem? Until July of 2008 the majority of authoritative DNS servers worldwide were completely.
More on SSL/TLS. Internet security: TLS TLS is one of the more prominent internet security protocols. TLS is one of the more prominent internet security.
Self-Enforcing E-Voting (SEEV) Feng Hao Newcastle University, UK CryptoForma’13, Egham.
Vote Hacking Kenny Denmark - October For an upcoming election, Washington D.C. was preparing a system to allow some voters to send in their ballots.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Electronic Voting (E-Voting) An introduction and review of technology Written By: Larry Brachfeld CS591, December 2010.
03 December 2003 Public Key Infrastructure and Authentication Mark Norman DCOCE Oxford University Computing Services.
Computer Science Public Key Management Lecture 5.
Database Key Management CSCI 5857: Encoding and Encryption.
RFC6520 defines SSL Heartbeats - What are they? 1. SSL Heartbeats are used to keep a connection alive without the need to constantly renegotiate the SSL.
Cryptographic Voting Protocols: A Systems Perspective By Chris Karlof, Naveen Sastry, and David Wagner University of California, Berkely Proceedings of.
How HTTPS Works J. David Giese. Hyper Text Transfer Protocol BrowserHTTP Server GET / HTTP/1.1 HOST: edge-effect.github.io HEADERS BODY HTTP/ OK.
Requirements for Electronic and Internet Voting Systems in Public Elections David Jefferson Compaq Systems Research Center Palo Alto, CA
An Internet Voting System Manager Yonghua Li Kansas State University October 19, 2001 MSE Project - Phase I.
Security Directions - Release 6 and beyond SearchDomino.com Webcast Patricia Booth Security and Directory Product Management 9/25/02.
Lecture 19 Page 1 CS 111 Online Symmetric Cryptosystems C = E(K,P) P = D(K,C) E() and D() are not necessarily the same operations.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
TOWARDS OPEN VOTE VERIFICATION METHOD IN E-VOTING Ali Fawzi Najm Al-Shammari17’th July2012 Sec Vote 2012.
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Security protocols and their verification Mark Ryan University of Birmingham Midlands Graduate School University of Birmingham April 2005 Steve Kremer.
Securing Digital Democracy Carsten Schürmann, DemTech, IT University of Copenhagen.
Strasbourg – How to create trust-1 © G. Skagestein November 2006 How to create trust in electronic voting over an untrusted platform A possible solution.
Lecture 11 Page 1 Advanced Network Security Cryptography and Networks: IPSec and SSL/TLS Advanced Network Security Peter Reiher August, 2014.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
Security Analysis of a Cryptographically- Enabled RFID Device Steve Bono, Matthew Green, Adam Stubblefield, Ari Juels, Avi Rubin, Michael Szydlo Usenix.
EVALUATING SECURITY OF SMART PHONE MESSAGING APPLICATIONS PRESENTED BY SUDHEER AKURATHI.
The Agent Based Crypto Protocol The ABC-Protocol by Jordan Hind MSE Presentation 3.
How and what to observe in e-enabled elections Presentation by Mats Lindberg, Election Adviser, Organisation for Security and Co-operation in Europe (OSCE)
Computers in Society Electronic Voting. Team Projects What is your name? Application? Presentation? Copyright The software industry The open source business.
SMUCSE 5349/7349 SSL/TLS. SMUCSE 5349/7349 Layers of Security.
BY: CHRIS GROVES Privacy in the Voting Booth. Reason for Privacy Voters worry that their vote may be held against them in the future  People shouldn’t.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
1 draft-sidr-bgpsec-protocol-05 Open Issues. 2 Overview I received many helpful reviews: Thanks Rob, Sandy, Sean, Randy, and Wes Most issues are minor.
SSH/SSL Attacks not on tests, just for fun. SSH/SSL Should Be Secure Cryptographic operations are secure SSL uses certificates to authenticate servers.
1 Secure Socket Layer Originally by Yu Yang and Lilly Wang Originally by Yu Yang and Lilly Wang Modified by T. A. Yang Modified by T. A. Yang.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Cryptography CSS 329 Lecture 13:SSL.
Lecture 10 Page 1 CS 236 Online SSL and TLS SSL – Secure Socket Layer TLS – Transport Layer Security The common standards for securing network applications.
Whatsapp Security Ahmad Hijazi Systèmes de Télécommunications & Réseaux Informatiques (STRI) 20 April 2016.
Secure, verifiable online voting 29 th June 2016.
Key management issues in PGP
Cryptographic protocols
Web Applications Security Cryptography 1
Outline The basic authentication problem
EVoting 23 October 2006.
E-voting …and why it’s good..
Electronic voting – safe or not?
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
A Messy State of the Union: Taming the Composite State Machine of TLS
ISI Day – 20th Anniversary
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
eVoting System Proposal
Presentation transcript:

iVote 2015: Security failures and verification flaws in a live online election Vanessa Teague Ruxcon 2015 Joint work with Alex Halderman Full version at

Australian e-voting

Related work I don't know of any online voting system subjected to any kind of rigorous security analysis and not found to be broken [Wolchock et al '12] Washington DC, [Springall et al '14] Estonia, [Laurent '12] France [Norway privacy bug '13] None of these were subtle privacy or verification protocol failures ● pic from Springall et al: Estonia

iVote history and background New South Wales ran Internet voting in 2011 also – Using a system by Everyone Counts – 43 of the ballots output were invalid ● With ‘N’s where there should have been preference numbers The 2015 iVote software was supplied by Scytl – Telephone, (remote) Internet and pollsite e-voting – More than 280,000 votes ● Out of nearly 4.6 million (4.3 million formal)

Advertising “People's vote is completely secret. “It's fully encrypted and safeguarded, it can't be tampered with, and for the first time people can actually after they've voted go into the system and check to see how they voted just to make sure everything was as they intended.” (Richard Carroll NSWEC, voting-may-feature-in-march-nsw-election/ )

Using a practice version of iVote, during the election we could ● intercept votes, ● expose how the person intended to vote ● manipulate the vote ● interfere with the verification process ● in many but not all circumstances The real voting server was vulnerable to the same attack We notified the Australian CERT ● NSWEC/Scytl fixed the problem ● But by then 66,000 votes had been cast in the state election ● The margin for the last Legislative Council seat was only The attack

The system Telephone, (remote) Internet and pollsite e-voting ● Register: get an iVote ID ● Vote: with iVote ID, PIN; get Receipt Number ● Send encr(vote) = AES k (vote); ElG ECPK (k) ; ElG VSPK (k) ● and encrypted ID, PIN, ReceiptNumber – Verify: by telephone only – Key in your iVote ID, PIN, Receipt Num – Listen to your vote read back – Query whether your Receipt Num was included No verifiable mixing or bulletin board, but some auditing by some other parties

iVote (Scytl/NSW) 2015 Plaintext vote check by phone Auditor Encr(vote), RNum', iVoteID, PIN Electoral Commission Vote Server RNum''ReceiptNum ? ReceiptNumbers can be queried for inclusion by Internet Verification Server

Investigating the iVote practice server ● See browser

Piwik: export grade RSA & DH

Factoring RSA Export keys (FREAK) ● “A messy state of the Union: taming the composite state machines of TLS” [Beurdouche et al.] – Some TLS clients accept Export-grade RSA even if they didn't ask for it. ● 512-bit “export grade” RSA now costs about $100 to break running overnight on Amazon’s EC2 cloud. (

FREAK – intercepting SSL/TLS key establishment 1. Client hello: I’d like to use RSA Client hello: I can only use RSA-EXP 3. Server response: OK, here’s my 512-bit RSA-EXP Key (with valid Certificate chain) 4. (Buggy) Client: Accepts 512-bit key Uses it to encrypt pre master secret. 5. Attacker: Uses factored 512-bit key to control SSL/TLS session

Factoring RSA Export keys (FREAK) ● But surely no servers still offer RSA-EXP? – Many did until very recently (freakattack.com) ● Many servers used the same 512-bit key over and over again.

Factoring the RSA key ● Piwikpro didn't keep the same key permanently – it seemed to have 11, cycled roughly on the hour – we managed to keep one TLS session open for about 20 hrs, which maintained the same key. – clients thought they were making a fresh connection – server thought it was renegotiating one session – this left 13 hours to intercept connections after 7 hours to factor – Thanks to Nadia Heninger

Intercepting the vote ● Having MITM'd the connection, substitute arbitrary javascript ● Now the attacker has javascript running inside the browser at the same privilege level as the iVote javascript ● Can intercept & modify vote – As it is passed between AngularJS worker modules to do the crypto.

Intercepting the vote

Remote control

logjam ● NSWEC & Scytl put much effort into arguing that few browsers would (still) have been vulnerable to FREAK more than a week after patches were released – I don't know of any hard data either way – Not all browsers were vulnerable anyway, though many common ones were ● But a careful look shows piwikpro also served export grade DH – The logjam attack was not public until May, ie. months later – [Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice Adrian et al, ACM CCS ‘15] – All browsers were vulnerable – By sheer good luck, the way they patched for FREAK also removed vulnerability to logjam

TLS on the main gateway ● There wasn't any (until we pointed this out to NSWEC) ● So in fact the easiest way for a MITM attacker to compromise the voting session would simply have been to misdirect registration and/or voting.

Openness and transparency Apart from the JavaScript we could see in the browser, no source code is available for any other parts of the system No idea what other vulnerabilities or errors might be present – To either external or internal attackers

Verification and scrutiny Apart from telephone-based cast-as-intended verification, no meaningful verifiability – (Some auditors did some reconciling of the voting system's database against the verification server's) Verification is easily sidestepped, e.g. by halting the Receipt Num, or by misdirecting the phone Also possible to perform a “clash” attack on registrations – As formalised in Kusters et al '12

Privacy It was never quite clear before the election exactly how the votes were going to be encrypted “iVote strategy for the NSW state general election 2015 v1 (2013)” said votes would be encrypted with a 10-digit Receipt Number With others, I pointed out this might not be good enough The “Security implementation statement” (March 2014) said they’d be encrypted with El Gamal That sounded good, because it might allow true cryptographic mixing When we looked at the javascript, neither was quite accurate encr(vote) = AES k (vote); ElG ECPK (k) ; ElG VSPK (k) In many applications, this would be a fine way to encrypt data. However, the use of AES, which can’t be rerandomised, means that the encrypted vote looks identical all through the process

Timeline FREAK announced Election Day (iVote closes) logjam announced Legislative Council count announced FREAK Patches released iVote opens for voting flaw notified to Au CERT System fixed TV News story 3 March around 10 March 16 March 20 March 21 March (evening) 28 March 17 April 20 May System fixed 21 March (midday) TV News story 21 March (evening) TV News story 21 March (evening) Technical blog post 23 March

Tallying Most Legislative Assembly ballots are cast on paper and hand-counted But the 4.6 million Legislative Council ballots are counted electronically by randomized Single Transferable Vote (STV) – No source code available – No public seeding of randomness – preference data available at home.htm#lc/state/preferenceshttp:// home.htm#lc/state/preferences – Released in August, 4 months after the election ● margin about 3000, varying by randomness – Probability of a different answer small but nonzero ● Compare this with the 66,000 votes cast while the system was vulnerable to FREAK & Logjam

Conclusion External privacy breach and manipulation are only the most obvious of security threats to Internet voting Internal/insider threats are arguably a greater problem There are lots of insiders Perhaps the subtle arguments about privacy and verifiability might one day become important These processes provided no meaningful evidence of having announced the correct election outcome We know the opportunity for manipulation was there; there is neither evidence that it was exploited nor evidence that it wasn’t particularly serious for the closest Legislative Council seat