1 Erik Nordin Fredrik Holgersson Emilie Barse Security assessment.

Slides:



Advertisements
Similar presentations
Approaches to meeting the PCI Vulnerability Management and Penetration Testing Requirements Clay Keller.
Advertisements

1 Henrik Nore, Project Manager E-vote2011project Norway COE workshop observation - Oslo
ETen E-Poll ID – Strasbourg COE meeting November, 2006 Slide 1 E-TEN E-POLL Project Electronic Polling System for Remote Operation Strasbourg.
 The Citrix Application Firewall prevents security breaches, data loss, and possible unauthorized modifications to Web sites that access sensitive business.
Investigation in Computerised Environment. Causes for fraud in computerised environment Lack of technical knowledge at supervisory level Improper exercise.
Digital Firm (II) Soetam Rizky. Before we start……… Digital firm ? B2B, B2C, C2C ? E-Commerce advantages ? Prospectus of digital firm ?
Some general principles in computer security Tomasz Bilski Chair of Control, Robotics and Computer Science Poznań University.
Observation of e-enabled elections Jonathan Stonestreet Council of Europe Workshop Oslo, March 2010.
Security Issues and Challenges in Cloud Computing
Toolbox Mirror -Overview Effective Distributed Learning.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Feb 25, 2003Mårten Trolin1 Previous lecture More on hash functions Digital signatures Message Authentication Codes Padding.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Electronic Voting (E-Voting) An introduction and review of technology Written By: Larry Brachfeld CS591, December 2010.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Netop Remote Control Trusted. Secure. Experienced.
BUILDING A SECURE STANDARD LIBRARY Information Assurance Project I MN Tajuddin hj. Tappe Supervisor Mdm. Rasimah Che Mohd Yusoff ASP.NET TECHNOLOGY.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
The Business of Penetration Testing
Penetration Testing Edmund Whitehead Rayce West. Introduction - Definition of Penetration Testing - Who needs Penetration Testing? - Penetration Testing.
0 Kluge Burch Zimmerling GRC Advisors Commodity Services Specification Penetration Testing & Application Security Assessment January 2015.
CIS 451: Web Services Dr. Ralph D. Westfall March, 2009.
Information Systems Security Computer System Life Cycle Security.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
Web Application Security Implementation - © 2007 GIAC Web Application Security Implementation SANS MSISE GDWP Kevin Bong John Brozycki July 26, 2007.
Applying E-commerce in the Agribusiness. Next Generation Science / Common Core Standards Addressed CCSS. ELA Literacy.RST.11 ‐ 12.8 Evaluate the hypotheses,
Security Professional Services. Security Assessments Vulnerability Assessment IT Security Assessment Firewall Migration Custom Professional Security Services.
Web Application Security Testing Automation.. Copyright © 2008 Deloitte Touche Tohmatsu. All rights reserved.1 What types of automated testing are there?
Security Testing Case Study 360logica Software Testing Services.
Internet of Things Top Ten. Agenda -Introduction -Misconception -Considerations -The OWASP Internet of Things Top 10 Project -The Top 10 Walkthrough.
X-Road – Estonian Interoperability Platform
20411B 8: Installing, Configuring, and Troubleshooting the Network Policy Server Role Presentation: 60 minutes Lab: 60 minutes After completing this module,
R BRO SOLUTIONS INC. ©2006 RBRO Solutions Inc., All Rights Reserved Systems Design Consultants Document Migration into WorkSite.
Software Project Documentation. Types of Project Documents  Project Charter  Requirements  Mockups and Prototypes  Test Cases  Architecture / Design.
OCTAVE-S on TradeSolution Inc.. Introduction Phase 1: Critical Assets and threats Phase 2: Critical IT Components Phase 3: Changes Required in current.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
SQL INJECTIONS Presented By: Eloy Viteri. What is SQL Injection An SQL injection attack is executed when a web page allows users to enter text into a.
Web Applications Testing By Jamie Rougvie Supported by.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Database Administration
Introduction: Information security services. We adhere to the strictest and most respected standards in the industry, including: -The National Institute.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
Rob Davidson, Partner Technology Specialist Microsoft Management Servers: Using management to stay secure.
 ReadSoft 2004 Processing census forms.  ReadSoft 2004 ReadSoft Corporate Profile n Swedish company - founded1991 n Listed in Stockholm stock exchange.
MIS Week 5 Site:
Web Applications on the battlefield Alain Abou Tass.
Vijay V Vijayakumar.  Implementations  Server Side Security  Transmission Security  Client Side Security  ATM’s.
General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited and encouraged to use.
Final Project: Advanced Security Blade IPS and DLP blades.
Vulnerability Analysis Dr. X. Computer system Design Implementation Maintenance Operation.
Secure, verifiable online voting 29 th June 2016.
Lecture 19 Page 1 CS 236 Online 6. Application Software Security Why it’s important: –Security flaws in applications are increasingly the attacker’s entry.
Final Project: Advanced security blade
Web Programming Language
Web Application Security
Chapter 7: Identifying Advanced Attacks
Module Overview Installing and Configuring a Network Policy Server
Advanced Penetration testing
Advanced Penetration testing
Advanced Penetration testing
eVoting System Proposal
e-Invoicing – e-Ordering 20/11/2008
Ana Mikeladze, Spokesperson
6. Application Software Security
Advanced Penetration testing
Presentation transcript:

1 Erik Nordin Fredrik Holgersson Emilie Barse Security assessment of the E-valg system

Agenda  Evalg Introduction  Technical solution  Security assessment and results  What happens next?

Introduction to Evalg 2011 On monday evening, September 12th 2011, experts and observers from around the world gathered in the auditorium of the government district, building R5, to witness the counting process of Norway's first electronic election for local governments. This presentation deals with project experience, technical solution, results and future...

Introduction film (7 min)

Customer  Ministry of local government and regional development [Kommunal- og regionaldepartementet (KRD)]  Christian Bull / responsible for security in Evalg project

Technical solution

V: voter P: voter's computer B: the ballot box R: the receipt generator D: the decryption service A: the auditor  ElGamal  Schnorr proof of knowledge V: party1, party2, … 4l5+&sdkjf 5648d”k(nj 8318 V: party >party OK!

Locations B Brønnøysund D Oslo R Tønsberg

Zero knowledge proof

EDB Ergogroup  Developed e-voting solution via the Internet.  EDB ErgoGroup SYSteam is one of the leading IT players with approximately employees and annual sales of almost SEK 16 billion. The company is listed on the Oslo Stock Exchange with headquarters in Oslo and has a significant presence in both the Norwegian and Swedish market with 135 offices in 16 countries worldwide. 

Scytl  Spanish company  Subcontractor to EDB ErgoGroup  Implementation of the security functions  Scytl, worldwide leader in the development of secure solutions for electoral modernization. 

Combitech  Swedish IT consulting company  Independent security evaluations 

Security assessment  Transparency vs. Secrecy?  Source Code and documentation  Testing Methodology/Restrictions  Results 

Iterative development process iteration 1iteration 2 iteration 3iteration 4iteration 5iteration 6 Actual review begins Ergo+SyctlCAB

Security review  Source code review  General purpose code review  Verification of the implementation of cryptographic protocols  Penetration tests  External  Internal  (Log analysis)  Post election/test review

Source code review The codebase ~ lines of code  Java – Admin, Authentication, Vote, Counting and Cryptography Aim: Identify flaws that could lead to:  stored votes being manipulated  invalid votes entered  voting in another persons stead  removal of valid votes (selectively)  breach of the secrecy of the vote  manipulation of the counting process

Methods Automated – Sonar/Checkstyle/Findbugs  Identify possible low hanging fruit  Sql-injection, cross site scripting…  Error-/Exception handling Manual – Eclipse, Understand  Accessmethods  Error-/Exceptionhandling  Traceability/Accountability  User interaction/input  Database interaction (querys and connections)  Implementation of the cryptographic protocol  (Overall source code state – well formated, comments, structure, variable/attribute usage, …)

SQL Injection? sql = " select e.election_group_id, e.election_id, e.contest_id, v.voter_id" + " FROM voter v" + " JOIN contest_area ca ON true" + " JOIN mv_area ac ON ac.mv_area_pk = ca.mv_area_pk" + " JOIN mv_area a ON text2ltree(a.area_path) text2ltree(ac.area_path) AND a.area_level = 5" + " JOIN mv_election e ON e.election_event_pk = " + electionEventPk + " AND v.country_id::text = a.country_id::text" + " AND v.county_id::text = a.county_id::text" + " AND v.municipality_id::text = a.municipality_id::text" + " AND v.borough_id::text = a.borough_id::text" + " AND v.polling_district_id::text = a.polling_district_id::text" + " AND v.date_of_birth <= COALESCE(e.contest_end_date_of_birth, e.election_end_date_of_birth)" + " JOIN voting cv ON cv.voter_pk = v.voter_pk AND cv.election_group_pk = e.election_group_pk" + " WHERE e.election_level = 3" + " and v.election_event_pk = " + electionEventPk + " and v.municipality_id = '" + municipalityId + "'" + " and cv.approved" + " and ca.contest_pk = e.contest_pk" // order by is slow + " order by v.voter_id, e.election_id";

SQL Injection? sql = " select e.election_group_id, e.election_id, e.contest_id, v.voter_id" + " FROM voter v" + " JOIN contest_area ca ON true" + " JOIN mv_area ac ON ac.mv_area_pk = ca.mv_area_pk" + " JOIN mv_area a ON text2ltree(a.area_path) text2ltree(ac.area_path) AND a.area_level = 5" + " JOIN mv_election e ON e.election_event_pk = " + electionEventPk + " AND v.country_id::text = a.country_id::text" + " AND v.county_id::text = a.county_id::text" + " AND v.municipality_id::text = a.municipality_id::text" + " AND v.borough_id::text = a.borough_id::text" + " AND v.polling_district_id::text = a.polling_district_id::text" + " AND v.date_of_birth <= COALESCE(e.contest_end_date_of_birth, e.election_end_date_of_birth)" + " JOIN voting cv ON cv.voter_pk = v.voter_pk AND cv.election_group_pk = e.election_group_pk" + " WHERE e.election_level = 3" + " and v.election_event_pk = " + electionEventPk + " and v.municipality_id = '" + municipalityId + "'" + " and cv.approved" + " and ca.contest_pk = e.contest_pk" + " order by v.voter_id, e.election_id";

Penetration testing - logical view of network

Goal of penetration test  A secure and robust production system  Test applications in their final environment  Identify weaknesses in the realization of the design  Find forgotten test ”features”  Create a check list of vulnerabilities that needs to be eliminated or mitigated  … and it is always nice to get a root prompt

Penetration test  Methodology  OSSTMM (Open Source Security Testing Methodology Manual)  Penetration testing framework (  Tools:  Port scanning - Nmap  Vulnerability scanning - Nessus, Openvas  Web application testing - BurpSuite, Nikto, W3AF  Network traffic analysis - Wireshark, TCPdump, Urlsnarf  ARP spoofing - Ettercap  Port redirection, File transfer - Netcat  Platforms och services:  Mainly Linux based system with web applications

External penetration test  Port scanning  Vulnerability scanning  Testing the web application server and client software

Internal penetration test  Two sites tested at the same time  Test the separation between the sites and towards the Internet  Check that no sensitive data is sent in clear text  Generell security assessment – patch level, unnecessary services, …  Segmentation of internal systems

Pentest – exampels of result ARP spoofing ARP spoofing – necessary to be able to sniff network traffic between servers and check that no sensitive traffic was sent in clear text IP-filters prevented direct access to some servers – sniffing made it possible to see which servers they allowed access from 101hacker.com

Kodgranskning – exempel på xss The vulnerable link which was identified during the test is the following: 7&errorCode=welcomeController.error.eeid&lang=XSS (replacing XSS with a malicious script)

XSS - description

Log analysis  Splunk  Collects web application logs  Debugging  Forensic/incident investigation

What happens next?

Election results County Percentage of voters who voted electronically Percentage of voters who voted in advance E-voters percent of voters who voted in advance Bodø29,07 %41,40 %70,21 % Bremanger20,96 %30,87 %67,89 % Hammerfest25,89 %41,44 %62,47 % Mandal19,78 %30,41 %65,04 % Radøy31,15 %38,55 %80,82 % Re22,46 %29,58 %75,92 % Sandnes27,00 %33,89 %79,68 % Tynset31,60 %39,86 %79,28 % Vefsn21,54 %33,55 %64,20 % Ålesund26,42 %37,60 %70,26 % Total26,40 %36,43 %72,48 % Norway22,20 %

More information  Project web site:  The source code is available on the Internet:  The election system:  24/7 monitoring  Christian Bull was interviewed in Computer Sweden

The future  2017: Full scale national election in Norway?  Common criteria evaluation?  Sweden?

Is E-valg secure?

Is E-valg more secure than current systems?

Questions?