Unity is the election management software suite. It iscomprised of a number of individual programs which interact with oneanother through shared data files (collectively referred to as the ``database''). Election Data Manager is used to initialize thedatabase with jurisdiction, voter, and candidate information. ES&S Image Manager and iVotronic Image Manager are used todesign the appearance of paper and touchscreen ballots. TheElection Reporting Manager is used to collect and tally electionresults, and the Audit Manager is used to verify election resultsusing audit data. All interaction between Unity and voting hardwareis controlled by the Hardware Programming Manager program.The iVotronic is a touchscreen direct recording electronicvoting terminal (DRE). There are two distinct types of iVotronicterminals, distinguished by colored inserts along the sides: red supervisor terminals and blue voter terminals. Both types ofiVotronic terminals are activated using special hardware tokens calledPersonalized Electronic Ballots (PEBs), which are also used tostore ballot definitions and election results (seeFigure 2). PEBs are typically programmed via a supervisorterminal at the start of an election, and read using either asupervisor terminal or a dedicated PEB Reader connected to themachine running the Election Reporting Manager at the end of anelection. A PEB can be used in multiple iVotronics as long as theyare qualified for the same election and polling place.The voter iVotronics also use Compact Flash cards to store largeballots, audio ballots, and election result audit files. A printer which provides a voter-verified paper audit trail, known as the Real-Time Audit Log is connected to the iVotronic.The Model 100 is a machine for scanning and validating/tallyingpaper ballots at a polling location. The Model 100 uses PCMCIA MemoryCards to hold ballot definitions and tallies.The Model 650 is a machine for batch scanning and tallying paperballots at a central election office. The Model 650 uses Zip Disksto hold ballot definitions and election tallies.
3.1.1 UnityUnity is the Windows-based software suite for managing elections. Itcontains tools for creating and managing election databases (ElectionData Manager), designing the appearance of ballots (ES&S andiVotronic Image Managers),tabulating and reporting results (Election Reporting Manager).Additionally, there is a tool to audit the use of the other componentsof Unity (Audit Manager), and a tool for abstracting programming andcommunicating with the various hardware components used by severalUnity components (Hardware Programming Manager). The variouscomponents of Unity communicate with each other indirectly throughcommon files stored on the Windows filesystem.
3.1.2 Hardware ComponentsIn this subsection we will review the different hardware components of theES&S voting system. These include the DRE iVotronic interfaces, theM100, and the M650. In addition, some of the media interfaces used bythe hardware components will be discussed in more detail.The iVotronic is a touchscreen DRE based on an Intel 386processor with 1 MB of SRAM. There are four internal flash memorydevices. There are two serial ports for input/output on the iVotronic,one connected to a standard DB9 serial port at the top of theiVotronic, and the other to an infrared transceiver. The externalserial port is used to connect to the RTAL printer ora communications pack to report from the field, or to a computerrunning Unity HPM or ERM in the central election office. The infraredserial port is used to communicate with the Personalized ElectronicBallot hardware tokens. The left side of theiVotronic case has a molded socket to hold a PEB allowing IRcommunication as well as activation of the iVotronic power switchthrough a magnetic reed switch. A Compact Flash slot is also locatednext to the printer serial port. There are two types of iVotronicterminals used in elections: red ``Supervisor iVotronics'' are used bypoll workers or elections officials to administer the election, andblue ``Voter iVotronics'' are used by voters to cast their votes. The red iVotronic Supervisor Terminal is used to manage PEBs andthe contents of their flash memory before, during and after elections.It plays a far more significant role in the Voter Activated Votingmode (which is not used in Ohio elections, thus not studied in ourreport), where at least one Supervisor Terminal must be at everypolling place. In the Poll Worker Activated Voting mode used in Ohio,a Master PEB for each polling location is created from HPM using aSupervisor Terminal connected via null modem cable. Afterward, eachMaster PEB is then cloned several times using a Supervisor Terminal(standalone from Unity) in order to produce the Supervisor PEBs neededwhile the polls are open. At this point, the supervisor terminal isno longer required for opening, closing, or tallying the election.The blue iVotronic Voter Terminal is the iVotronic used byvoters to cast their ballot. When a qualified Supervisor PEB isinserted the iVotronic prompts the poll worker to select the correctballot to be voted on. If a Supervisor PEB is inserted while holding the ``Vote'' buttonabove the touchscreen, a service menu appears. This menu allowsvarious settings of the terminal to be adjusted, and also provides theinterface for opening and closing the polls. While in the servicemenu, actions performed are logged to the RTAL printer.The Real-Time Audit Log Printer (RTAL) is a continuous feedthermal printer that provides the function of VVPAT (Voter VerifiablePaper Audit Trail) on an iVotronic machines. It is connected to theiVotronic by a standard 9-pin RS232 serial cable, and mounted behind aPlexiglas window next to the iVotronic.The Personalized Electronic Ballot (PEB) is a palm-sized devicecontaining a PIC micro-controller, 2MB of flash storage, abi-directional infrared (IR) transceiver, and battery. The PEB isactivated by a magnetic reed switch, and contains a magnet to activatethe corresponding reed switch in the iVotronic PEB socket. Themicro-controller firmware implements the passive half of a very simplecommand/response protocol between the PEB and host over the PEB IRport using IrDA SIR (Serial Infrared). The primary operation isreading and writing 128 byte blocks of the PEB's flash memory, orverifying the integrity of blocks using a cyclic redundancy check(CRC) stored with each block. The last memory block of the PEB isknown as the Election Qualification Code (EQC) block, and serves toauthenticate the PEB to the iVotronic. PEBs, along with the compact flash cards can be used to store vote tally information for an election.The Model 100 (M100) is a voter-operated optical scan ballotcounter intended for use at the polling location. It is mounted ontop of a secure ballot box which holds the accepted (and counted)ballots and provides physical security for the M100. The M100provided in our study used one set of identically keyed locks forphysical protection of the M100 and ballots, and a second differentlykeyed lock for selecting the mode of the M100. Unity (via the HPM) andthe M100 use specially formatted PCMCIA SRAM flash storage cards forall communications. The cards are formatted so that a small headercan be loaded into the M100's RAM which contains pointers into theSRAM for ballot definitions and results counters. The same headerinformation also informs the M100 if this card is formatted for afirmware upgrade.The Model 650 (M650) is a centralized high-speed optical ballotcounter intended for use at a central elections office. It scansbatches of ballots, possibly from multiple precincts, and tabulatesresults to be transferred to Unity. Additionally, an Iomega Zip 100drive is used to transfer ballot definitions and perform firmwareupdates to the M650, and carry results from the M650 to Unity. TheM650 uses FAT32 formatted 100MB Zip disks to load ballotconfigurations and store tallies of counted ballots. The files on thedisk are copied by the Hardware Programming Manager. In Windows,these disks are mounted to the desktop and accessible to any Windowsapplication with no special libraries.The hardware and software system components are described in detail in Chapter 5 of (18).
4 Systemic and Architectural IssuesThere are fundamental security deficiencies throughout the ES&S UnityEMS, iVotronic DRE and M100 optical scannersoftware and hardware. Virtually every mechanism for assuring theintegrity of precinct results and for protecting the back-end tallyingsystem can be circumvented. Election results can be tampered withinthe ES&S system by exploiting any of a number of differentvulnerabilities that were discovered. The normal access provided toindividual precinct poll workers (and in some cases to votersthemselves) is sufficient to conduct attacks that alter county-wideelection results and that, in some cases, cannot be detected orrecovered from through audits or recounts.Perhaps more importantly, we show how the interaction of thevarious software and hardware modules leads to systemic vulnerabilities that can spread throughoutthe system.There is a strong potential for practicalattacks that propagate ``virally'' from the field back to the countyelection management system. That is, a single circumvented piece ofprecinct hardware (such as a memory card returned from a precinct forvote tallying) can effectively ``take over'' the county-wide back-endtally system, alter county-wide results reported in the currentelection, and then corrupt the installed firmware of additionalprecinct hardware in subsequent elections. The broad scope of suchattacks provides great leverage to the adversary and can beextraordinarily difficult to detect, trace, or recover from. Differentpossibilities of how the firmware of each component can be altered byinputs from other components are described in Section 5.Both the DRE (iVotronic) and the precinct-based optical scan (M100)systems are subject to many exploitable vulnerabilities. However, the DREsystem provides more vectors for attacks that cannot be recovered fromthrough manual recounts. While there are many specific errors and weaknesses in various parts of the ES&S software (and which are detailed in our earlier public report(18)), our focus is on systemic weaknessesthroughout the system's overall design and implementation. Hence, the following is just a partial sample of the vulnerabilities we discovered. Theseweaknesses render the system as a whole difficult to securein practice. We identify four fundamental, pervasivedeficiencies that give rise to the most serious vulnerabilities wefound: ineffective access control, critical errors in input processing, ineffective protection of firmware and software and, ineffective cryptography and data authentication.
Download File https://gohhs.com/2yXE0e