All bodies  ›  Office of Voting Systems Technology Assessment  ›  Consultant's Source Code Review Report

OVSTA

Consultant's Source Code Review Report

Five Cedars Group Alternate Format Ballot (AFB) v4.3

Office of Voting Systems Technology Assessment · vendors-fcg-fcg-source · Document · Five Cedars Group

Read the report at Five Cedars Group ↗

Five Cedars Alternate Format Ballot (AFB) Source Code Review Test Report for California CDL-17018-CSTP-01 Prepared for: Vendor Name Five Cedars Vendor System Alternate Format Ballot (AFB) v4.3 Prepared by: 4720 Independence St. Wheat Ridge, CO 80033 303-422-1566 www.SLICompliance.com Accredited by the Election Assistance Commission (EAC) for Selected Voting System Test Methods or Services Page 1 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 Copyright 2017 by SLI ComplianceSM, a Division of Gaming Laboratories International, LLC Revision History Date Release Author Revision Summary 8.28.2017 1.0 M. Santos Initial Release 8.29.2017 1.1 M. Santos Updates for CASOS comments Disclaimer The information reported herein must not be used by the client to claim product certification, approval, or endorsement by NVLAP, NIST, or any agency of the Federal Government. Trademarks • SLI is a registered trademark of SLI Compliance. • All products and company names are used for identification purposes only and may be trademarks of their respective owners. Page 2 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 TABLE OF CONTENTS INTRODUCTION ........................................................................................................................................... 4 REVIEW SPECIFICATIONS ......................................................................................................................... 4 SOURCE CODE REVIEW ................................................................................................................................ 4 REVIEW RESULTS....................................................................................................................................... 8 DISCREPANCIES ........................................................................................................................................... 8 VULNERABILITIES ......................................................................................................................................... 8 Page 3 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 INTRODUCTION This Test Report outlines the test approach SLI Compliance (SLI) followed when performing Software Testing on the Five Cedars Alternate Format Ballot (AFB) voting system against the California Voting System Standards (CVSS). The purpose of this document is to provide an understanding of the work SLI conducted. The California Voting Systems Standards (CVSS) were written in such a way to be applicable to a wide variety of voting technology. Therefore, the relevant portions of the CVSS are reviewed as they relate to the Remote Accessible Vote By Mail (RAVBM) for purposes of this report. The use of “voting system” shall apply to the RAVBM system. The AFB application is an HTML 5 SPA (Single Page Application), which means that once the initial server call for the application is processed the entire application runs in the current browser session. REVIEW SPECIFICATIONS The following are the specifications for source code testing conducted on the Five Cedars AFB remote accessible vote by mail system (RAVBMS). Source Code Review The testing of the Five Cedars AFB Remote Accessible Vote By Mail (RAVBM) includes proprietary source code. The Five Cedars AFB voting system code was tested to the applicable CVSS requirements, and any applicable industry standards, as detailed below. SLI conducted a source code review of the source code for compliance to the CVSS. The source code was reviewed for adherence to the applicable standards in sections 5 and 7 of the CVSS. • The expected outcome was that no issue would be found. • The actual outcome was a determination that were ten discrepancies written for the “Sufficient Header Comments” (CVSS 5.2.6.a-h) requirement found in the source code base reviewed, as a result, ten discrepancies were written against the code base. Page 4 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 The source code was reviewed for adherence to other applicable coding format conventions and standards including best practices for the coding language used. • The expected outcome for this review was that no issue would be found. • The actual outcome for this review was a determination that the source code was clean and met all CVSS and applicable standards requirements in this category. Analysis of the program logic and branching structure • The expected outcome was that no issue would be found. • The actual outcome was a determination that the program logic and branching structure was reasonable and sufficient for the functionality implemented. Evaluate whether the system is designed in a way that allows meaningful analysis, including: o Whether the architecture and code is amenable to an external review o Whether code analysis tools can be usefully applied o Whether the code complexity is at a level that obfuscates its logic • The expected outcome was that no issue would be found. • The actual outcome was a determination that the architecture and code is amenable to external review and that the code complexity does not obfuscate the logic. Code analysis tools could be applied to this code base, but it is of a small quantity that manual review was as useful, if not more so. The AFB source code was searched for exposures to commonly exploited vulnerabilities including buffer overflows and SQL issues. • The expected outcome for this review was that no exposures to commonly exploited vulnerabilities would be found in the AFB source code. • The actual outcome for this review was a determination that no exposures to commonly exploited vulnerabilities were found in the AFB source code. The AFB source code was evaluated for the use and correct implementation of cryptography and key management. • The expected outcome for this review was that cryptography and key management would be found to be correctly implemented in the AFB source code, as per the CVSS. Page 5 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 • The actual outcome for this review was a determination that cryptography and key management is correctly implemented in the AFB source code. The AFB source code was analyzed for its ability to appropriately accommodate error and exception handling. • The expected outcome for this review was that no issues with error and exception handling would be found in the AFB source code. • The actual outcome for this review was a determination that no error and exception handling issues were found in the AFB source code. The AFB source code was evaluated in two areas for the likelihood of security failures being detected. a. Evaluate whether audit mechanisms are reliable and tamper resistant. (cid:1) The expected outcome for this review was that audit mechanisms in the AFB source code would be found to be reliable and tamper resistant. (cid:1) The actual outcome for this review that no issues were found – audit mechanisms in the AFB source code were found to be reliable and tamper resistant. b. Evaluate whether data that might be subject to tampering is properly validated and authenticated. (cid:1) The expected outcome for this review was that any data in the AFB source code that might be subject to tampering would be properly validated and authenticated. (cid:1) The actual outcome for this review was that no issues were found – any data in the AFB source code that might be subject to tampering is properly validated and authenticated. The AFB source code was evaluated for the risk that a user can escalate his or her capabilities beyond those authorized. • The expected outcome for this review was that in the AFB source code, a user cannot escalate his or her capabilities beyond those authorized. • The actual outcome for this review was a determination that in the AFB source code, a user cannot escalate his or her capabilities beyond those authorized. The AFB source code was evaluated for embedded, exploitable code (such as “Easter eggs”) that can be triggered to affect the system. • The expected outcome for this review was that no embedded, exploitable code (such as “Easter eggs”) that can be triggered to affect the system would be found to be resident in the AFB source code. Page 6 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 • The actual outcome for this review was a determination that no embedded, exploitable code (such as “Easter eggs”) that can be triggered to affect the system was found to be resident in the AFB source code. The AFB source code was evaluated to determine that no code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data would be found. • The expected outcome for this review was that code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data would not be found in the AFB source code. • The actual outcome for this review was a determination that no code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data was found in the AFB source code. The AFB source code was evaluated for use of runtime scripts, instructions, or other control data that can affect the operation of security relevant functions or the integrity of the data. • The expected outcome for this review was that no use of runtime scripts, instructions, or other control data would be found in the AFB source code. • The actual outcome for this review was a determination that no use of runtime scripts, instructions, or other control data that can affect the operation of security relevant functions or the integrity of the data was found in the AFB source code. The AFB source code was evaluated to determine that no code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data would be found. • The expected outcome for this review was that code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data would not be found in the AFB source code. • The actual outcome for this review was a determination that no code for dynamic memory access features which would permit the replacement of certificated executable code or control data or insertion of exploitable code or data was found in the AFB source code. Page 7 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 The AFB source code was evaluated for design and implementation to ensure that sound, generally accepted engineering practices are followed, checking to verify that code is defensively written against bad data, errors in other modules, changes in environment, user errors, and other adverse conditions • The expected outcome for this review was that generally accepted engineering practices are followed and the code is defensively written in the AFB source code. • The expected outcome for this review was a determination that in the AFB source code, generally accepted engineering practices are followed and the code is defensively written against bad data, errors in other modules, changes in environment, user errors, and any other potential adverse conditions. REVIEW RESULTS Discrepancies Discrepancies are reported such that the California Secretary of State is provided with a basis for evaluating the extent to which the source code meets applicable standards. Ten discrepancies for the “Sufficient Header comments” requirement were found in the AFB source code base reviewed, as a result, ten discrepancies were written against the code base. The discrepancies reported do not impact the functionality nor does it affect the operation of the voting system. Therefore, SLI does not recommend that fixing these discrepancies be required. Vulnerabilities For any vulnerabilities discovered, SLI was tasked with identifying the particular standards applicable to each vulnerability. To the extent possible, reported vulnerabilities included an indication of whether the exploitation of the vulnerability would require access by: • A Voter. Voters usually have low knowledge of the Remote Accessible Vote by Mail Machine System (RAVBMS) design and configuration. Some may have more advanced knowledge. A voter may carry out attacks designed by others. • An Elections official insider. Elections official have a wide range of knowledge of the RAVBMS design and configuration. An official may have Page 8 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01 Five Cedars Voting Alternate Format Ballots AFB Software Test Report r1.0 unrestricted access to the RAVBMS for long periods of time. Their designated activities include: o Set up and pre-election procedures; o Election operation; o Post-election processing of results; and o Archiving and storage operations. • A Vendor insider: A vendor insider has great knowledge of the RAVBMS design and configuration. They have unlimited access to the RAVBMS before it is delivered to the purchaser and, thereafter, may have unrestricted access when performing warranty and maintenance service and when providing election administration services. No vulnerabilities were found within the source code reviewed, as a result, no findings were written against the code base. Summary Ten discrepancy findings were located within the AFB RAVBMS system. No potential vulnerabilities were identified within the AFB code base. Within the AFB code base, all findings were low risk vulnerabilities that would require an in-depth knowledge of the code base and how it operates to be able to successfully subvert the system. To exploit them successfully, it would require modifying the code. As per the direction given by the California Secretary of State, this software testing report does not include any recommendation as to whether or not the system should be approved. End of Software Test Report Page 9 of 9 Test Report v1.1 Report Number CDL-17018-CSTP-01