Otse põhisisu juurde

E-hääletamine


 

Eesti Interneti-hääletamise süsteemi turvalisuse analüüs


                Drew Springall† Travis Finkenauer† Zakir Durumeric†
     Jason Kitcat‡ Harri Hursti Margaret MacAlpine J. Alex Halderman†
                        † Michigani Ülikool, Ann Arbor, MI, USA.
                         ‡ Open Rights Group, Ühendkuningriik
.

Lisamaterjalid ja kontaktandmed leiate veebilehelt estoniaevoting.org.


LÜHIKOKKUVÕTE

Eesti oli esimene riik maailmas, kes kasutas internetihääletust üleriigiliselt ja täna antakse üle 30% oma häältest internetis. Käesolevas dokumendis analüüsime Eesti E-hääletamise süsteemi turvalisust, tuginedes isikliku valimisvaatluse, koodi ülevaatamise ja vastase testimise kombinatsioonile. Kasutades ohumudelit, mis arvestab riigi valimissüsteemi ees seisvaid arenenud ohte, sealhulgas ebaausaid siseringi ja riigi poolt toetatud rünnakuid, leiame, et E-hääletamise süsteemil on tõsiseid arhitektuurilisi piiranguid ja menetluslikke lünki, mis võivad ohustada valimiste terviklikkust. Eksperimentaalsete rünnakutega süsteemi reproduktsiooni vastu näitame, kuidas sellised ründajad võivad sihtida valimisservereid või valijate kliente, et muuta valimistulemusi või õõnestada süsteemi legitiimsust. Meie järeldused illustreerivad internetihääletamise praktilisi takistusi tänapäeva maailmas ning annavad õppetunde Eestile, teistele riikidele, kes kaaluvad selliste süsteemide kasutuselevõttu, ja turvalisusuuringute kogukonnale.


1. SISSEJUHATUS

Mitmed riigid on katsetanud interneti teel hääletamist, kuid praegu ei kasuta ükski riik siduvatel poliitilistel valimistel interneti teel hääletamist suuremal määral kui Eesti [42]. Kui Eesti võttis kasutusele 2005. aastal oma internetihääletamise süsteemi, sai temast esimene riik, kes pakkus internetihääletust riiklikul tasandil. Sellest ajast alates on seda süsteemi kasutatud kohalikel või riiklikel valimistel seitse korda ning viimastel valimistel andis üle 30% osalenud valijatest oma hääle internetis [19]. Inimesed kogu maailmas vaatavad Eesti eeskuju ja mõned imestavad, miks ka nemad ei saa internetis hääletada [54].

Sellegipoolest on süsteem endiselt vastuoluline.

Paljud eestlased peavad internetihääletamist rahvusliku uhkuse allikaks, kuid üks suur poliitiline partei on korduvalt kutsunud üles sellest loobuma [31]. Kuigi Eesti Interneti-hääletamise komitee väidab, et süsteem on "sama usaldusväärne ja turvaline kui [traditsioonilisel] viisil hääletamine" [20], on selle turvalisus seatud kahtluse alla mitmete kriitikute poolt, sealhulgas nii riigisiseselt (nt [47, 51]) kui ka välismaal (nt [61]). Vaatamata nendele muredele ei ole süsteemi varem üksikasjalikult sõltumatult analüüsitud.

Neil põhjustel on Eesti Interneti-hääletamise süsteem (E-hääletamine) ainulaadne ja oluline valimiste turvalisuse uuring. Selle tugevad ja nõrgad küljed võivad anda teavet teistele riikidele, kes kaaluvad internetihääletuse kasutuselevõttu, ning samuti tulevaste süsteemide kavandamisele teadusuuringutes ja praktikas.

Käesolevas uuringus hindame süsteemi turvalisust, kasutades vaatlus- ja katsemeetodite kombinatsiooni. Vaatlesime toiminguid 2013. aasta oktoobris toimunud kohalike valimiste ajal, viisime läbi intervjuud süsteemi arendajate ja valimiste korraldajatega, hindasime tarkvara lähtekoodi kontrollimise ja tagasipööramise teel ning tegime teste kogu süsteemi reproduktsiooniga meie laboris. Meie tulemused näitavad, et süsteemil on tõsiseid menetluslikke ja arhitektuurilisi puudusi, mis seavad Eesti ohtu, et ründajad võivad valimistulemusi märkamatult muuta.

Enamik teaduskirjanduses (nt [1, 9]) pakutud Interneti-hääletamise skeeme kasutab krüptograafilisi meetodeid, et saavutada nn otsast-otsani (E2E) verifitseeritavus [8]. See tähendab, et igaüks saab veenduda, et hääletussedelid on täpselt loetud, ilma et ta peaks usaldama, et arvutid või ametnikud käituvad ausalt. Seevastu Eesti süsteem ei ole E2E kontrollitav. See kasutab kontseptuaalselt lihtsamat ülesehitust, mille hinda on vaja kaudselt usaldada valijate arvutite, serverikomponentide ja valimisstaffeedi terviklikkust.

Selle asemel, et tõestada terviklikkust tehniliste vahenditega, tugineb Eesti keerulisele menetluslike kontrollide kogumile, kuid need menetlused ei ole turvalisuse või läbipaistvuse saavutamiseks piisavad. Meie isiklike vaatluste ja 2013. aasta protsessi ametlike-videote läbivaatamise käigus täheldasime kõrvalekaldeid menetlusest ja tõsiseid puudujääke tegevuse turvalisuses, mis jätavad süsteemi avatuks rünnakute, pettuste ja vigade võimalikkusele. Läbipaistvusmeetmed, nagu videosalvestused ja avaldatud lähtekood, olid puudulikud ja ebapiisavad, et võimaldada välisvaatlejail veenduda tulemuste terviklikkuses.

Riiklike valimiste ees seisvad ohud on alates Eesti süsteemi loomisest rohkem kui kümme aastat tagasi oluliselt muutunud. Kübervägivallast, mis kunagi oli suuresti hüpoteetiline oht, on saanud hästi dokumenteeritud reaalsus [49, 60, 64, 65] ja välisriikide rünnakud on nüüdseks tõsiseltvõetav oht riiklikule veebipõhisele valimissüsteemile. Alles 2014. aasta mais võtsid Venemaaga seotud ründajad sihikule Ukraina valimistaristu ja lükkasid lühidalt häälte lugemise edasi [10]. Arvestades, et Eesti on ELi ja NATO liige, mis piirneb Venemaaga, ei tohiks tema ohumudelis välistada võimalust, et välisriik sekkub tema valimistesse.

Käesoleva teose osa või kogu teose digitaalsete või paberkandjal koopiate tegemine isiklikuks või õppetöös kasutuseks on lubatud ilma tasu maksmata, tingimusel et koopiaid ei tehta ega levitata profit või kaubandusliku kasu saamiseks ning et koopiad on varustatud käesoleva teatega ja täieliku viitega firmal leheküljel. Käesoleva teose kolmandate isikute autoriõigusi tuleb järgida. Kõikide muude kasutusviiside puhul tuleb võtta ühendust omaniku/autori(te)ga. Autoriõigused kuuluvad autorile/omanikule/omanikele.

CCS'14, 3.-7. november 2014, Scottsdale, Arizona, USA.
ACM 978-1-4503-2957-6/14/11.
http://dx.doi.org/10.1145/2660267.2660315.


                   Joonis 1: E-hääletamise klient - eestlased kasutavad interneti teel                                        hääletamiseksspetsiaalset klienditarkvara ja riiklikku ID-kaarti.

Selliste rünnakute teostatavuse testimiseks reprodutseerisime E-hääletamise süsteemi laborikeskkonnas ja mängisime keerulise ründaja rolli valimisproovi ajal. Me suutsime välja töötada kliendipoolsed rünnakud, mis varastasid hääletajate enda arvutites hääli, möödudes sellistest kaitsemeetmetest nagu riiklik ID kiipkaardisüsteem ja nutitelefoni verifikatsioonirakendus. Samuti demonstreerime serveripoolseid rünnakuid, mis on suunatud kaudselt usaldusväärse häältelugemisserveri vastu. Sellesse serverisse pahavara sisestades võib välisriigi võim või ebaaus siseringkond muuta hääli dekrüpteerimise ja tabuleerimise vahel, nihutades tulemusi ründaja eelistatud kandidaadi kasuks.

Me järeldame, et on mitmeid võimalusi, kuidas riigi tasandi ründajad, keerukad veebikurjategijad või ebaausad siseringi kasutajad võiksid edukalt rünnata Eesti E-hääletamise süsteemi. Selline ründaja võiks usutavasti hääli muuta, salajast hääletust kahjustada, häirida valimisi või seada kahtluse alla tulemuste terviklikkuse. Neid probleeme on raske leevendada, sest need tulenevad põhilistest arhitektuurilistest valikutest ning menetluslike kontrollide abil tagatava turvalisuse ja läbipaistvuse põhimõttelistest piirangutest. Neil põhjustel soovitame Eestil E-hääletamise süsteemist loobuda.

2014. aasta mais pöördusime Eestisse tagasi ja jagasime neid tulemusi valimisliidrite ja avalikkusega. Kahjuks ulatusid valitsuse vastused tõrjuvatest kuni absurdseteni. Riiklik Valimiskomisjon väitis, et meie poolt käsitletud ohuvektorid on juba piisavalt arvesse võetud ja et meie kirjeldatud rünnakud on teostamatud [26]. Me ei nõustu mõlemas küsimuses, kuid lugejad võivad tõendusmaterjali läbi vaadata ja omad järeldused teha. Peaminister Taavi Rõivas ja president Toomas Hendrik Ilves vihjasid meediale, et meid on ära ostnud rivaalitsev erakond, kes püüab süsteemi halvustada. Me eitame seda kategooriliselt, kuid see näitab, kuidas Eesti avalikus diskursuses valimiste tehnoloogia üle on hakanud domineerima parteilisus. Loodame, et riik suudab õigeaegselt eraldada tehnilise reaalsuse poliitilisest retoorikast, et vältida suuremat rünnakut.


2. TAUST

Meie analüüs keskendub Eesti E-hääletamise süsteemile, mida kasutati 2013. aasta kohalikel valimistel [22]. Nendel valimistel oli internetihääletamine võimalik seitse päeva, 10.-16. oktoobrini, ja peamine isikliku hääletuse läbiviimine toimus 20. oktoobril. Tulemused kuulutati välja samal õhtul. Ametliku statistika [19] kohaselt anti internetis 133 808 häält, mis vastab 21,2% osalenud valijatest.1

Joonis 2: Verification app - nutitelefoni rakendus võimaldab valijatel veenduda, et                nende hääled on õigesti registreeritud. Esitame kaks strateegiat, mida ründaja                                                     võib kasutada sellest möödahiilimiseks.

Selles jaotises vaatame läbi E-hääletamise süsteemi ülesehituse ja toimimise. Joonis 4 annab ülevaate süsteemi põhikomponentide vahelisest koostoimest.


2.1 Riiklikud ID-kaardid

Riiklikud ID-kaardid on nutikaardid, mis on võimelised täitma krüptograafilisi funktsioone. Kaardilugejate ja klienditarkvara abil saavad eestlased autentida veebisaitidel (TLS-kliendiautentimise kaudu [53]) ja anda dokumentidele õiguslikult siduvaid allkirju [15]. Kaardid on populaarsed internetipanganduse ja e-valitsuse teenuste kasutamise puhul [21]. E-hääletamise süsteemis kasutavad valijad oma ID-kaarti serverile autentimiseks ja hääletussedelite allkirjastamiseks.

Igal kaardil on kaks RSA võtmepaari, üks autentimiseks ja teine digitaalallkirjade andmiseks. Kaardil ja avalikus LDAP-andmebaasis [16] on salvestatud sertifikaadid, mis seovad avalikud võtmed kaardiomaniku identiteediga. Kaart ei võimalda eksportida isiklikke võtmeid, seega tehakse kõik krüptograafilised toimingud kaardisiseselt. Täiendava kaitsemeetmena on iga võti seotud PIN-koodiga, mis tuleb esitada iga toimingu autoriseerimiseks.

Samuti saavad eestlased kasutada autentimiseks ja allkirjastamiseks spetsiaalsete SIM-kaartidega mobiiltelefone süsteemi nimega Mobile-ID [14] kaudu. 2013. aasta valimistel kasutati seda meetodit 9% veebipõhistest häältest [19]. Me jätame Mobile-ID meie analüüsist välja, sest meil ei olnud juurdepääsu välisele infrastruktuurile, mida oleks vaja selle testimiseks.


2.2 E-hääletamise serveri infrastruktuur

Suurem osa E-hääletamise serveri lähtekoodist avaldatakse GitHubi hoidlas 2-3 nädalat enne valimisi [30]. Serveri infrastruktuur konfigureeritakse avalikul tseremoonial nädal enne valimisi ja see koosneb neljast masinast:


Hääletuse edastamise server (VFS/HES) VFS (eesti keeles HES) on ainus avalikult juurdepääsetav server. See võtab vastu HTTPS-ühendusi klienditarkvarast, kontrollib hääletuskliendi valimisserveri valijate valimisõigust ja tegutseb vahendajana häälte salvestamise tagaserveri suhtes, millele ei ole internetist ligipääsu.


*****

1 Eesti kasutas seda süsteemi uuesti, vahetult pärast seda, kui me oma järeldused avalikustasime, 2014. aasta mais toimunud Euroopa Parlamendi valimistel. Tarkvaras ja menetlustes tehti vaid väikesed muudatused. Internetis antud häälte osakaal kasvas 31%-ni.


Hääletuste salvestusserver (VSS/HTS) VS on tagaserver, mis salvestab allkirjastatud ja krüpteeritud hääli veebihääletuse ajal. Kui ta saab hääle VFSist, kontrollib ta, et hääl on õigesti vormistatud, ja kontrollib valija digitaalallkirja välise OCSP-serveri abil.

Logiserver See server on sisemine logimis- ja seireplatvorm, mis kogub sündmusi ja statistikat VFSist ja VSSist. Lähtekoodi ja disaini ei ole avaldatud. Kuigi see server ei ole avalikult ligipääsetav, on sellele võimalik kaugjuurdepääs valimistöötajail.

Häältelugemisserver (VCS/HLR) VCS ei ole kunagi ühendatud võrku ja seda kasutatakse ainult valimiste finaalse etapi ajal. Ametnikud kasutavad DVD-d, et kopeerida krüpteeritud hääled (mille allkirjad on eemaldatud) VSSist. VCS on ühendatud riistvaralise turvamooduliga (HSM), mis sisaldab valimiste isiklikku võtit. See kasutab HSMi häälte dekrüpteerimiseks, loeb neid ja väljastab ametlikud tulemused.


2.3 Hääletamisprotsessid

E-hääletamise süsteem kasutab avaliku võtme krüptograafiat, et pakkuda digitaalset analoogi "topeltümbrikuga" hääletussedelitele, mida sageli kasutatakse eemalejäämisel [24]. Kontseptuaalselt tuvastab välimine ümbrik (digitaalallkiri) valija identiteedi, samas kui sisemine ümbrik (avaliku võtme krüpteerimine) kaitseb hääletussedeli salajasust. Kui iga valija valimisõigus on kindlaks tehtud, eemaldatakse allkiri, jättes järele anonüümsed krüpteeritud hääletussedelid. Need viiakse füüsiliselt eraldi masinasse, mis neid dekrüpteerib ja loeb.

Hääletamine Iga valimiste alguses avaldab valimiste korraldaja valimiskliendirakenduste komplekti Windowsi, Linuxi ja Mac OS-i jaoks, mida saab alla laadida aadressilt https://valimised.ee. Klient on kohandatud iga valimise jaoks ja sisaldab valimisspetsiifilist avalikku võtit hääletussedelite krüpteerimiseks ja TLS-sertifikaati serveri jaoks.

Joonisel 3a on näidatud hääletamise protokoll. Valija alustab kliendirakenduse käivitamisega ja ID-kaardi sisestamisega. Ta sisestab oma autentimisvõtmega seotud PIN-koodi, mida kasutatakse kliendi ja VFSi vahelise TLS-ühenduse loomiseks. Klient kontrollib serveri identiteeti, kasutades kõvakooditud sertifikaati . Server kinnitab valija valimisõigust tema avaliku võtme alusel ja tagastab tema valimisringkonna kandidaatide nimekirja [11].

                                              Joonis 3(a) Hääletamise protsess

Valija valib oma valiku c ja sisestab oma allkirjastamisvõtme PIN-koodi. Klient täidab c, kasutades RSA-OAEP ja juhuslikkust r, krüpteerib selle 2048-bitise avaliku valimisvõtmega ja allkirjastab krüpteeritud hääle valija isikliku võtmega. Allkirjastatud ja krüpteeritud hääl saadetakse serverile, kes seostab selle äraarvamatu unikaalse sümboliga x ja tagastab x kliendile. Klient kuvab QR-koodi, mis sisaldab r ja x.

                                            Joonis 3(b) Hääletuse kontrollimine

Kaitseks sundimise vastu on valijatel lubatud hääletada veebipõhise valimisperioodi jooksul mitu korda, kusjuures arvesse läheb ainult viimane hääl. Kõik varasemad hääled tühistatakse, kuid säilitatakse salvestusserveris logimise eesmärgil. Klient näitab küll, kas kasutaja on varem hääletanud, kuid ei näita, mitu korda. Valija võib oma elektroonilise hääle tühistada ka isiklikult hääletades valimispäeval.

                              Joonis 3(c) hääletustabelite koostamise protsess

Joonis 4: E-hääletamise süsteemi ülevaade - süsteemi peamised komponendid ja teabe                                                           liikumine nende vahel.

Kontrollimine Valija saab veenduda, et tema hääl on õigesti registreeritud, kasutades valimiste korraldaja poolt pakutavat nutitelefoni rakendust [25, 27, 28], nagu on näha joonisel 2. See protokoll on esitatud joonisel 3b. Rakendus skanneerib hääletuskliendi kuvatud QR-koodi, et saada r ja x. See saadab x valimisserverile, mis tagastab krüpteeritud hääle b (kuid mitte allkirja) ning võimalike kandidaatide nimekirja. Rakendus kasutab r-i iga võimaliku kandidaadi simuleeritud hääle krüpteerimiseks ja võrdleb tulemust serverist saadud krüpteeritud häälega. Vastavuse korral kuvab rakendus vastava kandidaadi, mida valija saab kontrollida oma soovitud valikuga. Server võimaldab kontrollimist teha kuni kolm korda ühe hääle kohta ja kuni 30 minutit pärast hääletamist.

Loendusserver on ühendatud HSMiga, mis sisaldab valimiste isiklikku võtit. Server kasutab HSMi iga hääle dekrüpteerimiseks ja loeb iga kandidaadi hääled kokku. Ametnikud ekspordivad kogusummad, põletades need DVD-le. Need tulemused kombineeritakse valimisjaoskondade kogusummadega ja avaldatakse valimiste üldtulemustena.



3.TÄHELEPANEKUD

Meie analüüsi esimene osa järgib vaatlusmeetodit. Neli autorit (Halderman, Hursti, Kitcat ja MacAlpine) käisid 2013. aasta oktoobris toimunud kohalike omavalitsuste valimiste ajal Eestis ametlikult akrediteeritud valimisvaatlejatena ja olid tunnistajaks E-hääletamise serverite toimimisele. Selle aja jooksul kohtusid nad ka valimisametnike ja E-hääletamise tarkvara arendajatega Tallinnas ja Tartus. Hiljem vaatasime tähelepanelikult läbi valimistel avaldatud artefaktid: serveri lähtekood [30], kirjalikud protseduurid [17] ja peaaegu 20 tundi ametlikke videoid, mis salvestasid E-hääletamise konfigureerimise, haldamise ja loendusprotsessid [18].Lõpuks tuvastasime mitmeid probleeme, mis olid seotud puuduliku menetlusliku kontrolli, puudujääkide ja ebapiisavate läbipaistvusmeetmetega.


3.1 Ebapiisav menetluslik kontroll

Kuigi Interneti-hääletamise komitee (süsteemi haldav asutus) on avaldanud ulatuslikud kirjalikud menetlused, mis hõlmavad paljusid valimisprotsessi etappe [17], täheldasime, et mõningaid menetlusi ei järgitud järjepidevalt ja teised olid ohtlikult puudulikud.

Menetlused anomaalsete tingimuste käsitlemiseks, mis võivad viidata rünnakule, näivad olevat ebapiisavalt spetsiifilised või puuduvad. Näiteks kasutatakse andmekeskuse serveririiulitel plomme, mis on võltsimiskindlad.2 Kui küsiti, mis juhtub, kui plommid leitakse kahjustatud olevat, vastasid valimistöötajad, et nad ei ole kindlad.

2013. aasta valimiste ajal esinenud anomaalseid olukordi käsitleti ad hoc viisil, mõnikord ühe isiku äranägemisel. Mitmel korral täheldasime, kuidas andmekeskuse töötajad taaskäivitasid serveri protsesse, et lahendada tehnilisi tõrkeid, ja kordasime ebaõnnestunud käske, selle asemel, et otsida algpõhjust. Sarnaseid probleeme täheldati ka tabulatsiooni ajal, kui valimiste ametnik püüdis käivitada hääletussalvestusserverit, et eksportida krüpteeritud hääli. Masin teatas vigadest, et ketta konfiguratsioon oli muutunud - võimalik märk võltsimisest. Selle asemel, et uurida hoiatuse põhjust, läks ametnik sellest mööda.

Mõned menetlused näisid muutuvat vaatlusperioodi jooksul mitu korda. Näiteks lubati vaatlejatel esialgu serveriruumis filmida ja pildistada, kuid järgmisel päeval keelati see, sest põhjendamatult väideti "võimalikku elektroonilist sekkumist". Sarnaselt järsku muudeti korda, kui vaatlejad pidid oma mobiiltelefonid jätma andmekeskusest välja pärast mitut päeva, mil see ei olnud poliitika. Reeglite ümberkirjutamine lennult viitab sellele, et menetlused ei olnud piisavalt läbi mõeldud või ei olnud töötajate jaoks piisavalt määratletud, et neid järjepidevalt rakendada.

Isegi kui menetluslikud kaitsemeetmed olid selged, ei järgitud neid alati. Näiteks näeb menetlus ette, et uuenduste ja varunduste tegemisel peaks olema kohal kaks operaatorit [11]. Ometi täheldasime 14. oktoobril, et neid ülesandeid täitis üks staff liige. Ilma teise operaatori kohalolekuta sõltub süsteemi turvalisus ühest töötajast.


*****

2 Märgime, et Eestis kasutatavaid võltsimiskindlaid plomme on teadaolevalt lihtne rikkuda, kasutades laialdaselt kättesaadavaid vahendeid [38-41]. Nende kasulikkus valimiste turvalisuse tagamisel on teistes riikides kahtluse alla seatud [3, 66].


3.2 Lahtine operatiivturvalisus

Kuna E-hääletamise süsteem käsitleb serveri infrastruktuuri osasid kaudselt usaldusväärsena, on nende serverite paigaldamiseks ja seadistamiseks kasutatavad protsessid valimiste turvalisuse seisukohalt otsustava tähtsusega. Me nägime nii kohapealsete vaatluste kui ka Interneti-hääletamise komitee avaldatud videote põhjal mitmeid tõsiseid puudusi turvalisuses.

Valimiseelne ülesehitus Valimiseelse ülesehitusprotsessi ametlikes videodes, mis toimub riikliku valimiskomisjoni kontoris Tallinnas on näha mitmeid probleeme. Videos on näha, kuidas valimistöötajad laadivad alla tarkvara, mida kasutatakse häälestusprotsessis avalikult veebisaidilt turvamata HTTP-ühenduse kaudu (joonis 6). Võrgupõhine "man-in-the-middle" ründaja võib neid rakendusi ohustada ja sisestada pahavara seadistamisprotsessi.

Teistel juhtudel sisestasid töötajad kaamera nähes kogemata paroole ja riikliku ID-kaardi PIN-koodi (joonised 7 ja 8). Nende hulka kuulusid valimisserverite juurparoolid. Sarnaseid probleeme esines ka andmekeskuse igapäevaste hooldustööde ajal. Vaatlejatele avaldati serveriruumide ja riiulite füüsilised võtmed; neid võtmeid oli võimalik teadaolevate tehnikate abil paljundada [45].

Kõige murettekitavam operatiivne turvanõrkus valimiseelsete ettevalmistuste ajal oli see, et töötajad kasutasid valimisklienditarkvara ettevalmistamiseks "ebapuhast" personaalarvutit , et seda avalikkusele levitada. Nagu näha joonisel 5, on töölaual otseteed interneti hasartmängude veebisaidile ja BitTorrent-kliendile, mis viitab sellele, et tegemist ei olnud spetsiaalselt turvatud ametliku-arvutiga. Kui kliendi ettevalmistamiseks kasutatud arvuti oli nakatunud pahavaraga, võis pahatahtlik kood levida ka valijate arvutitesse.

Igapäevane hooldus Täheldasime täiendavaid operatiivseid turvanõrkusi igapäevaste hooldustoimingute käigus, mis toimusid hääletusperioodi jooksul. E-hääletamise serverid asuvad valitsuse andmekeskuses Tallinnas ja töötajad käivad seal serveripultide juures toiminguid tegemas. Kuigi andmekeskuses olid turvavideokaamerad, ei tundunud, et seal oleks olnud ööpäevaringselt turvapersonali ega ka lõplikku teavet selle kohta, kes neid kaameraid jälgis.

Tavapärane tava igapäevase hoolduse ajal on, et töötajad logivad valimisserveritesse sisse juur-konto all ja teevad operatsioone kestas. Juurkasutajana sisselogimine on vastuolus parimate turvatavadega, sest see lihtsustab paljusid rünnakuid, keelab kasutajapõhise õiguste eraldamise operaatorifunktsioonide puhul ja suurendab inimliku eksimuse ohtu.

Krüpteerimata igapäevaseid varukoopiaid transporditi juhuslikult töötajate isiklikes seljakottides. DVD-d, millel olid rahvastikuregistri ajakohastatud valijate nimekirjad, käideldi sarnaselt juhuslikult, kui meile öeldi, et need olid loodud töötaja enda arvutis. Me ei täheldanud mingeid kontrolljälgi ega kontrolli nende DVDde päritolu üle, mida kasutati igapäevaselt E-hääletamise süsteemi keskmes.

Tabulatsioon Valimiste lõpus toimunud tabulatsiooniprotsess oli samuti murettekitav. Pärast häälte dekrüpteerimist loendusserveris takistas tundmatu tehniline tõrge töötajatel ametlikke loendusi ja protokollimärke DVD-le kirjutada. Selle asemel otsustasid ametnikud kasutada töötaja isiklikku USB-pulka, et kanda failid üle internetti ühendatud Windowsi sülearvutisse, kus tulemused ametlikult allkirjastati. Seda USB-pulka oli varem kasutatud ja see sisaldas teisi faile, nagu on näidatud joonisel 10. See toimus hoolimata publikuliikme protestist ja kaldus oluliselt kõrvale kirjalikust menetlusest, lisades mitu potentsiaalset rünnakuvektorit. Sülearvutis või USB-mälupulgal olev pahavara võis muuta allkirjastamata tulemusi või USB-mälupulgal olev pahavara võis sattuda usaldusväärsesse loendusserverisse.

Need juhtumid illustreerivad E-hääletamise süsteemi rakendanud töötajate talitluskindluse aegumise mustrit. See on eriti murettekitav, arvestades, et E-hääletamise süsteemi ülesehitus nõuab valimisserverite, klienditarkvara ja valimistöötajate endi suurt usaldust.


3.3 Läbipaistvuse puudulikkus

Valimiste korraldajad on rakendanud mitmeid läbipaistvusmeetmeid, sealhulgas võimaldanud avalikku vaatlust, avaldanud videod operaatorite tööde kohta ja avaldanud suure osa serveri lähtekoodist. Kuigi need meetmed näivad olevat heade kavatsustega, on need puudulikud ja ebapiisavad valimistulemuste terviklikkuse täielikuks tagamiseks.

Üks piirang on see, et neid meetmeid ei saa näidata, kas serverites või kõvaketastel tehti pahatahtlikke toiminguid enne salvestamise ja vaatluse algust. Praktikas ei suuda need ka kõike rajatistes toimuvat jäädvustada. Paljudel juhtudel oli korraga kasutusel mitu masinat või ekraani, kuid ainult üks kaamera.

Kuigi me püüdsime neid samaaegseid operatsioone jälgida oma isiklike vaatluste ajal, näis, et operaatorid hoidsid meid mõnikord tahtlikult kõrvale. Näiteks esmaspäeval, 14. oktoobril olime füüsiliselt kohal serveriruumis, kui üks serveritest andis ebatavalist väljundit, mis näis olevat uuendamisoperatsiooni tõrge. Ametlik videosalvestus järgnes teisele ekraanile ja operaator, kui ta nägi veateadet, koristas selle kiiresti ekraanilt. Teisel juhul, kui serveri konsoolile ilmus viga, kustutas valimistöötaja kiiresti ekraani ja palus seejärel meid ruumist välja pöörata ja teised vaatlejad sisse lasta, võimaldades talle vaatlusvaba aja bloki.

Interneti-hääletamise komitee oli palganud ühe suure rahvusvahelise konsultatsioonifirma audiitori, kelle aruandes on dokumenteeritud ka menetluslikud ja operatiivsed puudused [56]. Audiitori roll oli siiski üksnes jälgida ja talle ei antud juurdepääsu, mis oleks olnud vajalik süsteemi turvalise toimimise kontrollimiseks.

Valimisametnikud on teinud suure osa serveritarkvarast avatud lähtekoodiga [30]. See on positiivne meede, sest see võimaldab sõltumatut läbivaatamist ja hindamist - meie uuringus kasutati tõepoolest laialdaselt koodi. Avaldatud allikatest puuduvad siiski turvakriitilised koodiosad, sealhulgas kogu kliendirakendus ja kood, mida täidetakse igas serverimasinas (vt punkt 4.1).

Ametnik ütles meile, et kliendi lähtekoodi ei avaldata (ja pealegi on kliendi binaarfail varjatud), sest nad kardavad, et ründajad võivad seda muuta ja levitada troojalase kaksikut. Kliendipoolse pahavara loomine on võimalik ka ilma lähtekoodita, nagu me näitame punktis 5.1. Samal ajal takistab lähtekoodi salajas hoidmine avalikkust sellest, et mõista, mida neil palutakse oma arvutites käivitada, ja see suurendab riski, et kõik tsentraalselt sisse viidud pahatahtlikud muudatused kliendis jäävad avastamata.

Kuna neid läbipaistvusmeetmeid praktiseeritakse täna, võivad videod, avalik vaatlus ja avatud lähtekoodiga komponendid tekitada vale turvatunde. On võimalik, et süsteemid on enne videote salvestamist rikutud, et serverite uuendamiseks kasutatavaid andmekandjaid on pahatahtlikult muudetud või et avaldamata tarkvara sisaldab vigu või pahatahtlikku koodi - kõik see on praeguste läbipaistvusmeetmete raames avalikkusele nähtamatu.

Joonis 5: Turvaline ehitussüsteem - Operaatorid kasutasid arvutit, mis sisaldas muud      tarkvara, sealhulgas PokerStars.ee, et allkirjastada ametlik hääletusklientavalikuks             levitamiseks. Sellega kaasneb oht, et klient nakatub arvutist leviva pahavaraga.

      Joonis 6: Ebaturvaline tarkvara allalaadimine - operaatorid laadisid tarkvara allaebaturvalise ühenduse kaudu, et seda saaks kasutada valimiseelses seadistuses. Ründaja, kes sisestas nendesse allalaadimistesse pahavara, võis protsessi ohustada.

    Joonis 7: Klahvivajutused paljastavad juurparoole - ametnike poolt valimiste                     ajalpostitatud videod näitavad, kuidas operaatorid trükivad, paljastades                                                            kogematavalimisserverite juurparoole.

     Joonis 8: Video näitab riikliku ID-koodi PIN-koodi - valimiseelse seadistamise                        ajalsisestab keegi oma riikliku ID-kaardi salajase PIN-koodi ametliku                                                                  videokaamera silme ees.

Joonis 9: Välja pandud Wi-Fi-volitused - valimiseelse protsessi ametlik video paljastab            valimiste ametnike Wi-Fi-võrgu volitused, mis on välja pandud seinale.

        Joonis 10: Isiklik USB-mälupulk - vastupidiselt menetlusele kasutas üks                           ametnikisiklikke faile sisaldavat USB-mälupulka, kui liigutas ametlikke                                                             valimistulemusi loendusserverist välja.

Nende piirangute illustreerimiseks viisime läbi eksperimentaalse serveripoolse rünnaku süsteemi reproduktsioonile, nagu on üksikasjalikult kirjeldatud punktis 5.2. Oleme avaldanud rea videoid (vt https://estoniaevoting.org/videos/), mis vastavad samm-sammult ametlike-videote protseduuridele, kuid kus valimistulemus on ebaaus, sest pahavara on salaja sisse viidud enne valimiseelse seadistamise algust.


3.4 Avaldatud koodi haavatavused

E-hääletamise serveri tarkvara [30] avaldatud osad sisaldavad 17 000 rida koodi, millest 61% on Pythonis, 37% C++-s ja ülejäänud osa shell-skriptides. Koodibaas on üsna keeruline ja sisaldab palju väliseid sõltuvusi ning selle põhjalik läbitöötamine haavatavuste leidmiseks oleks keeruline ülesanne, mis ületaks käesoleva projekti ulatust. Me oleme aru saanud, et Eesti turvakogukonna vabatahtlikud on seda juba auditeerinud - see on tunnistuseks koodi avaldamise voorustest. Sellegipoolest avastasime koodiga tutvudes mõningaid väiksemaid vigu ja haavatavusi, et viia läbi meie teisi eksperimente. Avaldasime need probleemid 2014. aasta mais Interneti-hääletamise komiteele.

Üks leitud probleemidest võimaldab teenusetõkestusrünnakut hääletamisprotsessi vastu. Kui klient saadab HTTP-päringu, mis sisaldab ootamatuid päise välju, salvestab server välja nimed kettale. Kui ründaja saadab palju spetsiaalselt kujundatud päringuid, mis sisaldavad väga pikkade nimedega välju, saab ta serveri logimälu ammendada, mille järel ei saa ta enam uusi hääli vastu võtta. 2013. aasta valimistel oli logipartitsiooni suurus 20 GB. Meie hinnangul võib ründaja selle täita ja edasise hääletamise umbes 75 minutiga keelata. Huvitaval kombel on haavatav kood ainult paar rida kommentaarist: "Ärge kirjutage kettale; me ei tea, kui suur on väärtus". See näitab, et arendajad olid teadlikud sarnastest rünnakutest, kuid ei suutnud kõiki variante arvesse võtta.

Teine probleem, mille me avastasime, on kesta-süstimise haavatavus serveripoolses kasutajaliideses, mis on mõeldud selleks, et võimaldada operaatoritel täita eelnevalt määratud haldusülesandeid. Haavatavus võimaldaks sellisel operaatoril täita valimisserverites suvalisi shell-käske juur-õigustega. Praeguste menetluste kohaselt on see vaidlusalune, sest samad töötajad täidavad käsureal muid haldusülesandeid juur-teenusena. Siiski võivad kesta-süstimise haavatavused olla äärmiselt ohtlikud [67] ja asjaolu, et probleemi ei avastatud enne valimisi, on meeldetuletus, et avatud lähtekood ei saa tagada haavatavuste puudumist [44].


4. KATSEMETOODIKA

Selleks, et täiendavalt uurida E-hääletamise süsteemi turvalisust, seadistasime oma laboris süsteemi koopia, reprodutseerides 2013. aasta valimistel kasutatud tarkvara ja konfiguratsiooni. Kui tegelike valimiste ajal läbiviidud pen-testi läbiviimisega oleks kaasnenud arvukalt õiguslikke ja eetilisi probleeme [57], siis meie laboratoorsed seadistused võimaldasid meil mängida ründaja rolli meie enda näilistel valimistel, ilma et oleks olnud oht sekkuda reaalsetesse hääletustesse.


4.1 Näitvalimiste seadistus

E-hääletamise serverite reprodutseerimiseks kasutasime valimisasutuse poolt GitHubis avaldatud lähtekoodi [30]. Me seadistasime serverid, järgides avaldatud konfiguratsioonidokumente [17] ja sobitades samm-sammult valimistöötajate poolt ametlikes-videotes [18] tehtud toiminguid. Selle protsessi käigus genereerisime oma võtmepaarid veebiserveri TLS-sertifikaadi ja valimisvõtme jaoks.

Mõned komponendid puudusid avaldatud serveri koodist, kuid me püüdsime need võimalikult täpselt taastada. Esiteks, logiserveri tarkvara, ivote-monitor pakett ei olnud kättesaadav; selle asemel kasutasime standardset rsyslog [58] serverit. Lisaks ei olnud pakettide paigaldamise ajal igas serveris käivituva evote_post.sh skripti allikas. Me püüdsime selle funktsionaalsust reprodutseerida ametlikes videotes serveri seadistamise ajal näidatud väljundite põhjal.

Tegelikel valimistel kasutab Eesti riistvaralist turvamoodulit (HSM), et käsitleda valimiste isiklikku võtit ja dekrüpteerida hääli. Kuna meil ei olnud ühilduvat riistvara, emuleerisime HSMi tarkvara OpenSSLi ja Pythoni abil. Kuna see kaldub kõrvale välja seadistusest, tagasime, et ükski meie rünnakutest ei sõltu HSMi haavatavusest.

Me lõime oma sertifitseerimisasutuse ja OCSP-vastuvõtja riikliku ID-kaardi PKI asendajana. See võimaldas meil luua identiteedid näidisvalijate jaoks. Kuna meil ei olnud juurdepääsu tegelikele Eesti ID-kaartidele, pidime neid jäljendama. Asendasime kliendil ID-kaardi tarkvarapõhise emulaatoriga, mis räägib hääletava kliendi rakenduse oodatud protokollist. Veelkord kindlustasime, et meie rünnakute edukus ei sõltu meie tehtud muudatustest. Käesolevas uuringus eeldame, et ID-kaardid ja nendega seotud infrastruktuur on turvalised.

Klienditarkvara puhul alustasime 2013. aasta valimiste ametliku-hääletamise kliendiga, mille laadisime alla 2013. aasta oktoobris valimiste veebisaidilt [23]. Lihtsuse huvides keskendusime kliendi Linuxi versioonile. Kuna valimiste avalik võti ja serveri sertifikaat on klienti kõvasti sisse kodeeritud, pidime seda parandama, et asendada need meie proovivalimiste ja serveri võtmetega. Samamoodi kasutasime Androidi-põhise kontrolli-rakenduse [29] ametlikke lähtekoode ja muutsime seda meie serveriga suhtlemiseks.

Valimiste reprodutseerimiseks kasutatud virtuaalmasinad koos meie näidisrünnakute lähtekoodiga on kättesaadavad veebis aadressil https://www.estoniaevoting.org.


4.2 Ohumudel

Pärast valimiste näidisvormi loomist püüdsime seda kompromiteerida, võimaldades endale keerulise, kuid realistliku ründaja ressursse ja võimeid. See ründaja võib olla välisriik, hästi rahastatud kuritegelik organisatsioon või ebaaus valimistel tegutsev sisering. Selliste ründajate vastu on raske end kaitsta, kuid nad kujutavad endast tõsist ja realistlikku ohtu kaasaegsetele valimistele, arvestades, et kaalul on tohutud poliitilised ja rahalised tagajärjed.

Alates Eesti süsteemi kasutuselevõtust on kübersõda muutunud hästi dokumenteeritud reaalsuseks. Hiina spionaaž USA ettevõtete vastu [49], USA sabotaaž Iraani tuumarikastamisprogrammi vastu [60] ja Ühendkuningriigi rünnakud Euroopa telekommunikatsioonifirmade vastu [65] on vaid mõned näited. Üha rohkem riike omab ründavat arvutiturbe-võimekust [52] ja investeeringud sellesse võimekusse kasvavad väidetavalt märkimisväärse kiirusega [32]. Eesti ise kannatas 2007. aastal laialdaste teenusetõkestusrünnakute all, mida on seostatud Venemaaga [64]. Hiljuti, 2014. aasta mais, võtsid Venemaaga seotud ründajad sihikule Ukraina valimiste infrastruktuuri, mis kasutab arvutipõhist süsteemi, et koondada tulemusi kogu riigist. Ründajad üritasid väidetavalt diskrediteerida valimisprotsessi, häirides häältelugemist ja põhjustades, et süsteem teatab valesid tulemusi [10].

Riiklikult toetatud ründajal oleks võimsad võimalused. Eeldame, et nad võiksid saada üksikasjalikke teadmisi E-hääletamise süsteemi toimimisest, mida saab hankida avaldatud allikatest ja pöördprojekteerimisest (nagu meie tegime), siseteadmistest või kompromiteerides tarkvaraarendajate ja valimiste ametiisikute poolt kasutatavaid süsteeme. Samuti eeldame, et kui on vaja pöördprojekteerimist, on ründajal piisavalt inim- ja tehnilisi ressursse, et seda lühikese aja jooksul teha. Kliendipoolsete rünnakute puhul eeldame, et ründajal on võimalik toimetada pahavara valijate koduarvutitesse. See võib toimuda hääletussüsteemi väliselt, kas ostes eelnevalt olemasolevaid kuritegelikke ressursse, näiteks botnetti, või ostes või avastades populaarses tarkvaras nullpäevaseid haavatavusi. Teine võimalus oleks kompromiteerida hääletusklienti enne selle edastamist valijatele, kas ebaausate siseringitöötajate poolt, kes suudavad tarkvara muuta, või teiste ründajate poolt, kes suudavad kompromiteerida selle loomiseks või levitamiseks kasutatud arvuteid.


5. RÜNDAMISED

Me kasutasime oma E-hääletamise süsteemi reproduktsiooni, et katsetada erinevaid rünnakuid. E-hääletamise süsteem seab märkimisväärse usalduse kliendi- ja serverikomponentide vastu, mis muudab need ründajate jaoks väga atraktiivseteks sihtmärkideks.

Kuigi teatavad serveritoimingud on kaitstud krüptograafia abil (nt antud hääli ei saa dekrüpteerida veebiserveris, kuna tal puudub vajalik privaatne võti), usaldatakse muudel juhtudel täielikult, et serverid käitlevad hääli ausalt ja korrektselt. Sarnaselt, kuigi nutitelefoni verifikatsioonirakendus annab valijatele võimaluse kontrollida, kas klienditarkvara käitub ausalt, on sellel kaitsemeetmel suured piirangud, mida saab ära kasutada pahatahtliku kliendikäitumise varjamiseks.

Me kontrollisime eksperimentaalselt, et need usaldusväärsed komponendid on haavatavad, viies nende vastu läbi kaks näidisrünnakute kogumit meie valimiste näidisolukorras. Esimene tüüp on rünnakud kliendi vastu, mis on finantsiliselt võimekale ründajale jõukohane, mille puhul ründaja saab muuta suure hulga üksikute valijate hääli jaemüügi korras. Teist liiki on serveripoolsed rünnakud, mis on hästi varustatud riikliku tasandi ründaja või ebaausa siseringi jaoks kättesaadavad, mille puhul ründaja võib muuta kogu valimiste tulemusi, kahjustades häältelugemisserverit.


5.1 Kliendipoolsed rünnakud

Valija kliendiaparaat on E-hääletamise süsteemi usaldusväärne komponent ja on mitmeid võimalusi, kuidas ründaja võib proovida nakatada piisava arvu Eesti kliente, et muuta tihedas võistluses valimistulemusi. Üks võimalus on rentida robotid juba olemasolevatest botvõrkudest. Botvõrkude operaatorid pakuvad neid sageli mustal turul rendile ja need võivad olla suunatud konkreetsele riigile või piirkonnale [12]. Teine võimalus oleks avastada või osta Eestis kasutatava populaarse tarkvara vastu nulltäheaegne ekspluatatsioon. Kuigi see oleks kallis, ei oleks see riigitasandi ründajale kättesaamatu - mitu ettevõtet on spetsialiseerunud null-päeva ekspluateeringute müümisele valitsustele [33]. Kolmas strateegia oleks nakatada ametlik E-hääletamise klient enne selle valijale edastamist. Punktis 3.2 dokumenteeritud operatiivsed turvaprobleemid viitavad sellele, et see on praktiline ründeviis.

Joonis 11: Pahavara salvestab salajasi PIN-koode - eestlased kasutavad oma riiklikku          ID-kiipkaarti allkirjastamiseks ja hääletamiseks. Töötasime välja kliendipoolse             pahavara, mis salvestab kiipkaardi PIN-koodid ja asendab kasutaja hääle vaikselt.

Kui ründaja eesmärk on üksnes valimiste häirimine, oleks vaja palju vähem nakatunud süsteemi. Eesti seadused lubavad valimiste ametiisikutel probleemi avastamise korral veebipõhist hääletamist katkestada [35]. Sellisel juhul tühistatakse internetihääletajate elektroonilised hääled ja nad peavad valimispäeval valimisjaoskonda minema. See on kasulik erakorraline meede, kuid see nõuab, et valimiskomisjonid tuvastaksid rünnaku ja teeksid kiiresti otsuse selle tõsiduse kohta. Oletame, et ründaja on nakatanud väikese arvu kliente häälte varastamise pahavaraga, lubanud mõned neist avastada ja kavandanud rünnaku nii, et nakatunud populatsiooni suurust oleks raske kiiresti kindlaks teha. Sellistes tingimustes võisid ametnikud olla sunnitud tühistama valimiste veebipõhise osa, kuid ründaja vajas suhteliselt vähe ressursse.

Selleks, et uurida, kuidas ründaja saaks kliendirakenduse kaudu hääli muuta, rakendasime kaks eksperimentaalset kliendipoolset rünnakut. Mõlemad eeldavad, et ründaja on kasutanud ühte eespool nimetatud tehnikat, et algselt kliendi masinat nakatada. Mõlemad rünnakud kasutavad differentseid mehhanisme, et lüüa nutitelefoni verifikatsioonirakendust (vt punkt 2.3), mis on ainus vahend, mille abil valijad saavad tuvastada, kas nende valikuid on manipuleeritud kliendipoolse pahavara abil.

Mõlemad rünnakud hõlmavad varjatud pahatahtlikke protsesse, mis töötavad koos E-hääletamise kliendirakendusega ja muudavad selle täitmist. Nende väljatöötamiseks oli meil kõigepealt vaja 2013. aastal kasutatud klienditarkvara osad tagasi projekteerida. Klient on suletud lähtekoodiga ja arendajad võtsid meetmeid, et raskendada pöördprojekteerimist. Käivitatav fail on varjutatud, kasutades UPX-pakkimisvahendit. Stringid, avalikud võtmed ja muud ressursid on peidetud, kasutades XOR-ühendust lineaarse kongruentsusgeneraatori väljundiga. Need meetmed ei raskendanud oluliselt meie rünnakute konstrueerimist. Kasutasime binaarsuse lahtipakkimiseks rakendust UPX koos lülitiga -d ning kasutasime IDA Pro disassemblerit ja Hex-Rays dekompilaatorit, et meie rünnakuteks vajalikke osi tagasi pöörata.

Ghost Click rünnak Esimese rünnaku puhul kasutame kliendi masinas pahavara, et asendada kasutaja hääl vaikselt ründaja valitud kandidaadi poolt antud häälega. Kõrgema taseme puhul nuhib pahavara vaikselt ohvri PIN-koodi algse hääletussessiooni ajal välja. Tegelik hääl antakse ja kõik näib olevat normaalne, sealhulgas ka verifikatsiooni nutitelefoni rakendus, kui valija seda kasutab. Seejärel ootab pahavara, kuni on liiga hilja uuesti kontrollida - kas kuni 30-minutilise tähtaja möödumiseni või kuni kasutaja sulgeb klienditarkvara ja QR-koodi ei saa enam skaneerida.

Sel hetkel kontrollib pahavara, kas valija ID-kaart on veel arvutis olemas. Kui jah, siis avab ta varjatud seansis E-hääletamise kliendi koopia ja sisestab klahvivajutuse simulatsiooni abil asendushääletuse. Kui ID-kaart on juba eemaldatud, jääb pahavara passiivseks, kuni kaart uuesti sisestatakse. Kuna Eesti ID-kaarte kasutatakse mitmel otstarbel, kasutavad paljud valijad tõenäoliselt oma kaarti nädala pikkuse internetihääletamise perioodi jooksul uuesti.

Meie rakenduses seob pahavara hääletamise kliendi protsessi külge ja hõivab PIN-koodid, seades katkestuspunkte, kasutades rada [55]. Kui ta jõuab murdepunkti, loeb ta PIN-koodi kliendi mälust ja salvestab selle edaspidiseks kasutamiseks. Kuigi meie implementatsioon töötab kasutaja ruumis, võib kasutada kerneli-tasandi juurpaketti (rootkit), et muuta rünnaku avastamine veelgi raskemaks [36]. Pahavara võiks laiendada PIN-koodide väljanuhkimiseks oportunistlikult iga kord, kui valijad kasutavad oma ID-kaarti, näiteks panka sisenemisel.

Bad Verify rünnak Ghost Click ründab kinnitamise rakendust, kuid selle laiaulatuslik rakendamine tooks kaasa kahtlaselt suure arvu asendushääli. Me katsetasime ka varjatumat, kuid keerulisemat tüüpi rünnakut, mis on suunatud otse kinnituse-rakenduse vastu.

Verifikatsioonirakendus lähtub arusaamast, et nutitelefon on sõltumatu seade, mida tõenäoliselt ei ohustata samal ajal kui kliendi arvutit. Siiski ei ole kaasaegsed nutitelefonid kasutajate arvutitest hästi isoleeritud, sest tavaliselt toimub kahe seadme vahel korrapärane side. Kasutajad ühendavad oma telefonid sageli arvutiga, et laadida neid või edastada faile. Kasutajate sisu sünkroonitakse regulaarselt seadmete vahel Google Drive'i, Dropboxi ja muude pilveteenuste kaudu. Android võimaldab kasutajatel Google Play Store'i veebiliidese kaudu isegi rakendusi oma telefonidesse arvutist eemalt paigaldada ning ka teistel platvormidel on sarnased mehhanismid [50]. Sellise lähenemise tulemusena on ohtralt vahendeid, mille abil arvuti pahavara võib üritada kasutaja telefoni nakatada. See võimaldaks ründajal kasutada ebaausat verifikatsioonirakendust, mis teeb koostööd arvutis oleva pahavaraga, et valijat petta.

Sellise rünnaku katsetamiseks rakendasime tandemi PC ja nutitelefoni pahavara. Arvutis olev pahavara tuvastab, millise kandidaadi valija valib, ja muudab E-hääletamise kliendi poolt näidatud QR-koodi nii, et see kodeerib valija valitud kandidaadi. Valija telefonis olev pahatahtlik verifikatsioonirakendus käitub täpselt nagu tõeline verifikatsioonirakendus, ainult et see näitab QR-koodi sisseehitatud kandidaati, mitte aga kandidaati, kelle poolt tegelikult hääletati. See võimaldab arvuti pahavaral muuta esitatud häält meelevaldselt, ilma et kinnitamine seda avastaks või põhjustaks kahtlase arvu asendushääli.

See rünnakuvorm muudab asja keerulisemaks, kuna mõlemaid seadmeid tuleb kompromiteerida samaaegselt. Samuti on suurem võimalus, et see avastatakse, kui seda kasutatakse suures ulatuses, sest mõned valijad võivad üritada verifikatsiooni teiste isikute seadmetega. See näitab siiski, et kuna PC- ja nutitelefoniplatvormid lähenevad jätkuvalt, muutub nende käsitlemine sõltumatute seadmetena üha ebaturvalisemaks.


5.2 Serveripoolsed rünnakud

Loenduse terviklikkus sõltub loendusserveri ja selle HSMi korrektsest toimimisest, mis on ainsad komponendid, mis suudavad hääli dekrüpteerida. Samamoodi sõltub hääletussaladuse hoidmine sellest, et loendusserver ei lekitaks teavet krüpteeritud ja dekrüpteeritud häälte vastavuse kohta. Ründaja, kes nakatab loendusserveri pahatahtliku tarkvaraga, võib neid kriitilisi turvaomadusi rikkuda.

Kuigi loendusserver ei ole võrku ühendatud, on mitmeid muid vahendeid, mille abil seda võidakse rünnata. Riigi tasandil ründajad kasutavad teadaolevalt näiteks püsivarapõhist pahavara [4], mida võib kasutada BIOSi või kõvaketta nakatamiseks enne ametlike valimisteni jõudmist. Kogenud ründajad võivad sihikule võtta ka komponentide tarneahelaid ja levitamise infrastruktuuri [43]. Meid teavitati meie vaatlusmissiooni ajal, et Interneti-hääletamise komiteel on enne iga valimisi pakkumismenetlus, et rentida nende poolt kasutatavaid servereid, ning ründajad võivad selle protsessi kaudu üritada moonutatud riistvara sisse tuua.

Teine nakkusstrateegia oleks kompromiteerida serveri tarkvara enne selle paigaldamist valimiste alguses. Me kasutasime seda teed oma katsetes.

Pahavara sisestamine Vaatamata menetluslikele tagatistele [17] võib ründaja, kes ründab piisavalt varakult, lisada loendusserverisse pahatahtlikku koodi, kasutades nakkuste ahelat, mis paralleelub konfigureerimisprotsessiga. Valimiseelse häälestamise ajal kasutavad töötajad arendusmasinat, mis on enne häälestamise algust konfigureeritud, et põletada Debian Linuxi paigaldamise ISO-d DVD-dele. Neid DVD-sid kasutatakse hiljem kõigi valimisserverite seadistamiseks. Kui nende põletamiseks kasutatav masin satub ohtu - näiteks ebaausa siseringi, APT-taolise rünnaku või tarneahela rünnaku tõttu -, saab ründaja kasutada seda juurdepääsu valimistulemuste kahjustamiseks.

Me katsetasime selle rünnaku üht vormi, et muuta edukalt tulemusi meie proovivalimiste seadistuses. Kõigepealt lõime modifitseeritud Debian ISO, mis sisaldas häälte varguse pahavara, mis oli ette nähtud häältelugemisserveris käivitamiseks. Määratud ISO on ümberpakitud, et tagada originaaliga identne suurus. Tõelise rünnaku korral võib selle pahatahtliku ISO-formaadi edastada DVD-põletamise arvutis töötav pahavara, selle peegli mürgitamine, millelt see hangitakse, või võrgupõhine "man-in-the-middle" (vahendaja).

Terviklikkuse kontrollimise eiramine Seadistamise käigus kontrollivad valimiste töötajad ISO fail'i SHA-256 hash'i SHA256SUMS fail'i vastu, mis on alla laaditud anonüümse FTP kaudu aadressilt debian.org. Kuna tavaline FTP ei paku krüptograafilist terviklikkuse kontrolli, võib võrgupõhine vahendaja asendada hashi, mis vastab pahatahtlikule ISO-le. See hash oleks aga avalikult nähtav seadistamisprotsessi videotes ja võiks hiljem kahtlust äratada.

Ründaja, kes oli kahjustanud DVD-põletaja arvutit, võis saavutada suurema varjatuse. Selle demonstreerimiseks rakendasime kohandatud rootkit'i, mis võidab hash-verifikatsiooni. Meie rootkit on tuumamoodul, mis haakub süsteemikõnedega, et hash kinnitus õnnestuks ja trükiks algse ISO hash'i. Sellisel viisil rakendatud hash-kontroll on meie ohumudeli puhul vaid väike kiirendus.

Hääle varguse kasulik koormus Pärast räsikontrolli läbimist kasutatakse nakatunud ISO-faile operatsioonisüsteemi installimiseks kõikidesse valimisserveritesse, levitades nakkust. Kui uus operatsioonisüsteem käivitatakse, kontrollib pahavara, kas masin on konfigureeritud häälte lugemise serverina, millisel juhul töötab see häälte varastamiseks kasuliku koormusega.

Loendamisprotsessi ajal toimib see kasulik koormus HSMi kasutamise eest vastutava protsessi ümber, et hääli dekrüpteerida. See võimaldab pahavaral muuta dekrüpteeritud hääli enne nende tagastamist loendusrakendusele. (Meie näidises muudame 100% häältest, kuid oleks lihtne rakendada ka peenem algoritm, mis manipuleerib suvalist osa häältest). Seejärel loetakse muudetud hääled ja avaldatakse ametlikke tulemusi. Sellist rünnakut tõenäoliselt ei avastataks, sest puudub auditeerimismehhanism, mille abil saaks kontrollida dekrüpteerimise täpsust.

Muud nakatumisvõimalused Kirjeldatu ei ole kaugeltki ainus viis pahatahtliku kasuliku koormuse sisestamiseks serveritesse. Mitmed muud teadmata või ebausaldusväärse päritoluga suletud lähtekoodiga tarkvarad võivad olla rünnakute kandjateks. Nende hulka kuuluvad skript evote_post.sh, mis puudub serveri lähtekoodi repositooriumist ja mis töötab kõigis serverites, samuti HSMi draiveritarkvara, mis on suletud lähtekoodiga rakendus, mis paigaldatakse loendusserverisse käsitsi DVD-lt. Kõik need programmid puudutavad E-hääletamise süsteemi kriitilisi, usaldusväärseid osi, kuid need ei ole avalikkusele kättesaadavad ja nende terviklikkust ei kontrollita ühegi nähtava menetluse abil.

Tegelikult kasutasid töötajad 2013. aasta valimiseelse serveri seadistamise käigus evote_post.sh skripti vale versiooni, mis ei suutnud evote_analyzer paketti VFS-i paigaldada. Hiljem pidid administraatorid selle paketi käsitsi hääletuse ajal paigaldama, kui nad mõistsid, et server ei teatanud kõiki oodatud logiandmeid [56]. See on näide menetluslike kaitsemeetmete ebaõnnestumisest, millega tagatakse, et serverimasinatele paigaldatakse ainult õige tarkvara.

Nulltähtpäevakahjustused on veel üks potentsiaalne ründevektor ja paljude "tuntud tundmatute" allikas. Üks näide sellest on OpenSSL Heartbleed'i viga [34], mis avalikustati alles 2014. aasta aprillis. 2013. aasta valimiste ajal kasutatud eesliiniserver oli Heartbleedi suhtes haavatav ja ründaja, kes teadis sellest veast, oleks tõenäoliselt võinud seda ära kasutada, et hankida serveri TLSi privaatne võti. Seejärel oleks ta saanud valijate ühenduste vastu suunatud man-in-the-middle-rünnakut kasutades valikuliselt takistada teatavate valijate hääletussedelite kättesaamist tegeliku serveriga.

Meie serveripoolse rünnaku peamine õppetund on see, et kriitilises süsteemis töötava koodi terviklikkuse tagamine on äärmiselt keeruline, eriti kui on tegemist keerukate rünnakute või ebaausate siseringitöötajate võimalusega. Kui mis tahes element loendusserverisse paigaldatud tarkvara käitlevate seadmete liinis on ohustatud, võib see ohustada valimistulemuste terviklikkust [63].


5.3 Rünnakud hääletussaladuse vastu

Kuigi meie eksperimendid keskendusid valimistulemuste terviklikkuse vastu suunatud rünnakutele, kaalusime ka hääletussaladuse küsimusi, sest valija hääletussedeli salajasus on kriitiline kaitse valijate sundimise ja häälte ostmise vastu. E-hääletamise süsteem pakub suhteliselt tugevat kaitset isikliku sundimise vastu, võimaldades valijatel anda asendushääli internetis või tühistada täielikult oma elektroonilised hääletussedelid ja hääletada valimispäeval isiklikult. Siiski on võimalik ka keerulisemad rünnakud, sealhulgas nuhkvara valija arvutis või nutitelefonis, samuti serveri-poolsed rünnakud.

Serveri-poolsed rünnakud hääletussaladuse vastu on eriti murettekitavad, kuna hääletussaladuse säilitamine on süsteemi krüptograafilise topeltümbrise arhitektuuri peamine eesmärk. E-hääletamise ülesehitus püüab tagada, et hääled jäävad salajaseks, katkestades valijate digitaalallkirjade ja nende lihtkirjas antud häälte vahelise seose. Krüpteeritud hääletussedelid eraldatakse allkirjadest ja kopeeritakse enne dekrüpteerimist ja loendamist isoleeritud masinasse. Pange tähele, et sellel masinal, loendusserveril, on juurdepääs täielikule seosele krüpteeritud hääletussedelite ja lihtkirjalike häälte vahel. Ründaja, kes suudab selle teabe salajase kanali kaudu välja viia, võib ohustada iga valija salajase hääletussedeli.

Kahjuks pakuvad tabeldamismenetlused mitmeid võimalusi selle teabe väljavõtmiseks. Kui tabuleerimine on lõpetatud, kasutavad ametnikud loendusserverit, et põletada DVD, mis sisaldab nii häälte kogusummasid kui ka logifaile. Oletame lihtsuse huvides, et ründaja on ebaaus siseringi isik, kellel on juurdepääs sellele DVD-le ja allkirjastatud, krüpteeritud hääletussedelite täielikule kogumile (nt varukettalt) ning mingi mehhanism loendusserveri nakatamiseks pahatahtliku koodiga, näiteks eespool kirjeldatud marsruudid. Loendusserveri pahavara võib krüpteeritud hääletussedelid sorteerida ja lekitada igale valijale vastavad valijate valikud täisarvude jadana samas järjekorras. Kuna tavaliselt on ainult üks võistlus, on kõigi valijate valikute kindlaksmääramiseks vaja ainult paar bitti iga hääletussedeli kohta. Pahavara võib need andmed steganograafiliselt kodeerida logifailide sissekannete järjekorra kaudu või lihtsalt kirjutada selle teabe plaadi eraldamata sektoritesse. Seejärel saab ründaja selle teabe dekodeerida ja kasutada seda iga valija digitaalallkirja (ja seega tema identiteedi) seostamiseks tema häälega.


6. ARUTELU

Kuigi me oleme kulutanud suurema osa käesolevast aruandest nõrkuste ja riskide arutamisele, oleksime hoolimatud, kui me ei tunnistaks, kui suures ulatuses teevad E-hääletamise süsteemi arendajad, turvameeskond ja ametnikud oma jõupingutusi, et kaitsta valimissüsteemi.

Üks E-hääletamise süsteemi põhitugevusi on Eesti riiklik ID-kaardi infrastruktuur ja selle pakutavad krüptograafilised võimalused. Kuigi ID-kaardid ei suuda ära hoida kõiki olulisi rünnakuid, muudavad need teatud liiki rünnakuid oluliselt raskemaks. Kaardid pakuvad ka elegantset lahendust valijate kaugautentimiseks, mida vähesed riigid hästi teevad.

Interneti-hääletamise komitee valmisolek avaldada lähtekoodi on väga positiivne samm läbipaistvuse suunas. See näitab usaldust tarkvara arendajate vastu ja näitab ametnike soovi teha koostööd turvalisuskogukonnaga tervikuna. Juurdepääsu võimaldamine lähtekoodile võimaldab seda analüüsida paljudel osapooltel - mitte ainult sellistel rahvusvahelistel teadlastel nagu meie, vaid ka kodumaisel julgeolekukogukonnal, kes on veelgi enam huvitatud süsteemi turvalisest toimimisest. Neil põhjustel kutsume komiteed tungivalt üles minema kaugemale ja avaldama E-hääletamise kliendi lähtekoodi ning punktis 4.1 käsitletud serverkoodi puuduolevad osad.

Lõpetuseks kiidame Interneti-hääletamise komisjoni pühendumise eest valimissüsteemi parandamisele. Alates selle loomisest 2005. aastal on süsteemis tehtud olulisi muudatusi. Alates üleminekust eraldiseisvale kliendile kuni logiserveri kasutuselevõtmiseni, mis parandab kohtuekspertiisi ja järelevalve võimalusi, kuni verifikatsioonirakenduse lisamiseni, ei ole E-hääletamise süsteem paigal seisnud. Kuid nagu me oleme väitnud, ei piisa isegi nendest ja paljudest muudest kasulikest kaitsemeetmetest, et tagada Eesti internetivalimiste turvalisus sihikindla ja hästi varustatud kaasaegse ründaja ees.

Innovatsioonivõimalused Kuigi Interneti-hääletamise riskid on selged, on selle eelised ebakindlad. Paljud eestlased toetavad internetihääletamist, sest nad usuvad, et riigi paberkandjal põhinevas süsteemis on pettused laialt levinud. Sõltumata sellest, kas need mured on põhjendatud või mitte, ei saa E-hääletamise süsteem aidata, sest peaaegu 80% häältest antakse ikka veel paberil. Õnneks on olemas turvalised ja tõhusad võimalused uue tehnoloogia rakendamiseks, et kindlustada paberil hääletamist.

Viimastel aastatel on teadlased välja töötanud meetodid, mis võimaldavad oluliselt suurendada paberil hääletamise turvalisust. Statistilised riskipiirangud [6, 7, 46, 62] võivad vähendada vigade või pettuste ohtu tabulatsiooni ajal. Krüptograafilised meetodid, millega saavutatakse läbiv kontroll [5, 9, 59], võimaldavad üksikutel valijatel kontrollida, et iga hääl on täpselt loetud. Eestil on võimalus olla esimene riik maailmas, kes võtab need tehnoloogiad riiklikul tasandil kasutusele.


7. JÄRELDUSED

Võrreldes teiste veebipõhiste teenustega, nagu pangandus ja e-kaubandus, on hääletamine äärmiselt raske probleem, kuna on vaja tagada täpsed tulemused, pakkudes samal ajal väga salajast hääletust. Kui 2000. aastate alguses kavandati Eesti E-hääletamise süsteem, oli see uuenduslik lähenemine sellele väljakutsele. Siiski nõustusid kavandajad teatud kompromissidega, sealhulgas vajadusega usaldada keskservereid, järeldades, et kuigi nad saavad astuda samme nende riskide vähendamiseks menetluslike kontrollide abil, "jääb põhiprobleem lahendamata" [2]. Rohkem kui kümme aastat hiljem on probleem endiselt lahendamata ja need riskid on riigi poolt toetatud rünnakute kiire leviku tõttu oluliselt suurenenud.

Nagu me oleme täheldanud, pakuvad Eesti kehtestatud menetlused rünnakute vastu kaitsmiseks ja läbipaistvuse tagamiseks ebapiisavat kaitset. Meie testide põhjal järeldame, et riigi tasandil ründaja, kogenud kurjategija või ebaaus siseringi liige võib manipuleerida valimistulemustega nii tehnoloogiliste kui ka menetluslike kontrollide abil.Lühidalt öeldes on palju viise, kuidas selline ründaja võib hääletusprotsessi häirida või seada kahtluse alla tulemuste legitiimsuse. Arvestades praegust geopoliitilist olukorda, ei saa me välistada riigi tasandil toimuvaid rünnakuid, mis on suunatud süsteemi vastu tulevastel valimistel.

Nende riskide tõttu soovitame Eestil lõpetada E-hääletamise süsteemi kasutamine. Kindlasti võiks lisada täiendavaid kaitsemeetmeid, et leevendada konkreetseid rünnakuid (nt [48]), kuid püüe peatada kõik võimalikud rünnakud muudaks süsteemi keerukamaks. Ühel päeval, kui arvutiturbes on põhimõttelisi edusamme, võib riskiprofiil olla Interneti-hääletuse jaoks soodsam, kuid me ei usu, et i-hääletamise süsteemi saab täna turvaliseks muuta.


Tänusõnad

Täname kõiki Eestis, kes jagasid meie visiitide ajal oma teadmisi E-hääletamise süsteemi kohta, sealhulgas Sven Heiberg, Andres Hiie, Priit Kutser, Helger Lipmaa, Tarvi Martens, Arnis Parsovs, Jan Willemson ja paljud teised. Loomulikult on siin väljendatud seisukohad (ja võimalikud vead) ainult meie omad. Samuti täname David Jeffersoni, Brian Krebsi, Barbara Simonsi, Peiter "Mudge" Zatkod ja anonüümseid retsensente. Eriti tänulikud oleme Rop Gonggrijpile ja Dominic Rizzole arvukate soovituste ja panuse eest.

Me ei ole võtnud vastu rahalist toetust Eestist, välja arvatud vaatlejate reisi- ja majutuskulud 2013. aasta oktoobris toimunud hääletuse ajal, mille hüvitas Tallinna linnavalitsus. Selle kokkuleppe ainus nõue oli, et me vaatleme valimisi.

Käesolev materjal põhineb tööl, mida on toetanud Google/ATAP, USA riiklik teadusfond toetuste CNS-1255153 ja CNS-1345254 raames ning NSF kraadiõppe stipendium DGE-1256260 raames.

                                                                           - Tallinn, mai 2014


8. VIITED

[1] B. Adida. Helios: Veebipõhine avatud auditiga hääletamine. Proceedings of the 17th USENIX Security Symposium, aug. 2008.

[2] A. Ansper, A. Buldas, M. Oruaas, J. Priisalu, A. Veldre, J. Willemson ja K. Virunurm. E-hääletamise kontseptsiooni turvalisus: analüüs ja meetmed. Tehniline aruanne EH-02-01, Eesti Vabariigi Valimiskomisjon, 2003.
[3] A. W. Appel. Hääletamismasinate turvatõkendid: A case study. ACM Trans. Inf. Syst. Secur., 14(2):18:1-18:29, sept. 2011.
[4] J. Applebaum, J. Horchet ja C. Stöcker. Spioonivarustuse ostmine: Kataloog reklaamib NSA tööriistakasti. Der Spiegel, detsember 2013. http://www.spiegel.de/.international/world/catalog-reveals-nsa-has-back-doors-for-numerous-devices-a-940994.html.
[5] J. Benaloh, M. Byrne, P. T. Kortum, N. McBurnett, O. Pereira, P. B. Stark ja D. S. Wallach. STAR-hääletus: Turvaline, läbipaistev, kontrollitav ja usaldusväärne hääletussüsteem. CoRR, abs/1211.1904, 2012.
[6] J. Bretschneider, S. Flaherty, S. Goodman, M. Halvorson, R. Johnston, M. Lindeman, R. L. Rivest, P. Smith ja P. B. Stark. Valimisjärgsete auditite riskide piiramine: Why and how, Oct. 2012. http://www.stat.berkeley.edu/~stark/Preprints/RLAwhitepaper12.pdf.
[7] J. A. Calandrino, J. A. Halderman ja E. W. Felten. Masinapõhine valimiste auditeerimine. Proceedings of the USENIX/ACCURATE Electronic Voting.
Technology Workshop (EVT),
2007.
[8] D. Chaum. Salajased hääletussedelid: Tõelised valijate valijavõimelised valimised. IEEE Security & Privacy, 2(1):38-47, Jan 2004.
[9] D. Chaum, R. Carback, J. Clark, A. Essex, S. Popoveniuc, R. Rivest, P. Y. A. Ryan, E. Shen, A. Sherman ja P. Vora. Scantegrity II: otsast lõpuni valijate poolt optilise skaneerimise teel toimuvate valimiste kontrollitavus. confirmatsioonikoodid. IEEE Transactions on Information Forensics and Security, 4(4):611-627, dets. 2009.
[10] M. Clayton. Ukraina valimised vältisid napilt "tahtlikku hävitamist" häkkerite poolt. Christian Science Monitor, juuni 2014. http://www.csmonitor.com/World/.Security-Watch/Cyber-Conflict-Monitor/2014/0617/ Ukraine-eclection-narrowly-avoidis-wanton- destruction-from-hackers-video.
[11] Cybernetica AS. Interneti-hääletamise lahendus, 2013. Kasutatud: 13. mai 2014, http://cyber.ee/uploads/2013/. 03/cyber_ivoting_NEW2_A4_web.pdf.
[12] D. Danchev. Uuring leidis keskmise hinna botneti rentimise eest. ZDNet, mai 2010. http://www.zdnet.com/blog/security/study-finds-the- average-price-for-renting-a-botnet/6528.
[13] Eesti Sertifitseerimisasutus. Avaleht. Eesti keeles. http://www.id.ee/.
[14] Estonian Certification Authority. Kasulik tugiinfo mobiil-id kohta. Eesti keeles.
http://mobiil.id.ee/kasulik-tugiinfo/.
[15] Estonian Certification Authority. Mis on ID-tarkvara? Eesti keeles. https://installer.id.ee/.
[16] Eesti Infosüsteemi Amet. Infrastruktuur PKI avalik võti, mai 2012.
https://www.ria.ee/public-key-infrastructure/.
[17] Eesti Interneti-hääletamise komisjon. Dokumendid, 2013. Eesti keeles. Kasutatud: märts 2014, http://vvk.ee/valijale/e-haaletamine/e-dokumendid/.
[18] Eesti Interneti-hääletamise komisjon. Ehk videod, 2013. Eesti keeles. Kasutatud: Märts 2014, https://www.youtube.com/channel/. UCTv2y5BPOo-ZSVdTg0CDIbQ/videos.
[19] Eesti Interneti-hääletamise komisjon. Statistilised andmed Internetihääletamine Eestis, mai 2014. http://www.vvk.ee/voting-methods-in-estonia/ engindex/statistika.
[20] Eesti Interneti-hääletamise komisjon. ID-kaardi kasutamine ja mobil-ID, mai 2014. https://www.valimised.ee/eng/kkk.
[21] Eesti Välisministeerium. Eesti täna, 2012. http://www.euc.illinois.edu/estonia/documents/ E-Eesti.pdf.
[22] Eesti Vabariigi Valimiskomisjon. Kohaliku omavalitsuse valimised 2013. Eesti keeles. http://www.vvk.ee/kohalikud-valimised-2013/.
[23] Eesti Vabariigi Valimiskomisjon. Vabariigi . valimiskomisjon. Eesti keeles. Kättesaadav: Oktoober 2013, http://www.vvk.ee/.
[24] Eesti Vabariigi Valimiskomisjon. Elektroonilise hääletamise süsteemi üldkirjeldus, 2013. Eesti keeles. http://vvk.ee/public/dok/elektroonilise-haaletamise-systeemi-yldkirjeldus-EH-03-03-1_2013.pdf.
[25] Eesti Vabariigi Valimiskomisjon. Valimised: Android Apps on Google Play, okt. 2013. Eesti keeles. Kasutatud: 13. mai 2014, https://play.google.com/store/.apps/details?id=ee.vvk.ivotingverification.
[26] Eesti Vabariigi Valimiskomisjon. Kommentaar The Guardianis avaldatud artiklile, mai 2014. http://vvk.ee/valimiste-korraldamine/vvk-uudised/vabariigi-valimiskomisjoni-vastulause-the-guardianis-ilmunud-artiklile/.

[27] Eesti Vabariigi Valimiskomisjon. Valimised App Store'is iTunes'is, apr. 2014. Eesti keeles. Kasutatud: 15. mai 2014, https://itunes.apple.com/ee/ app/valimised/id871129256.
[28] Eesti Vabariigi Valimiskomisjon. Valimised: Windows Phone'i rakenduste+mängude pood (Eesti), apr. 2014. Eesti keeles. Kasutatud: 15. mai 2014,
https://www.windowsphone.com/et-ee/store/app/valimised/11c10268-343f-461a-9c73-630940d8234b.
[29] Eesti Vabariigi Valimiskomisjon, Eesti Interneti-hääletamise komisjon ja Cybernetica AS. Androidi-põhine hääletuse verifikatsioonirakendus.
Estonian i-voting system, sept. 2013. https://github.com/vvk-ehk/ivotingverification.
[30] Eesti Vabariigi Valimiskomisjon, Eesti Interneti-hääletamise komisjon ja Cybernetica AS. e-hääletamise tarkvara, sept. 2013. Kättesaadav: Märts . 2014, https://github.com/vvk-ehk/evalimine.
[31] Eesti Rahvusringhääling. Keskerakond pöördub Euroopa inimõiguste kohtusse e-hääletamise tõttu, sept. 2013. Kasutatud: 14. mai 2014, http://news.err.ee/v/politics/.
4ee0c8a2-b9c2-4d28-8ae4-061e7d9386a4.
[32] J. Fleming. ELi riigid arendavad küber "võimekust" valitsuse ja erasektori sihtmärkide infiltreerimiseks. EurActiv, detsember 2013. http://www.euractiv.com/infosociety/eu-nats-lack-common-approach-news-532294.
[33] A. Greenberg. Shopping for zero-days: Häkkerite salajaste tarkvarahäirete hinnakiri. Forbes, märts 2012. http://www.forbes.com/sites/andygreenberg/2012/03/23/shopping-for-zero-days-an-price-list-for-hackers-secret-software-exploits/.
[34] The Heartbleed bug, apr. 2014. http://heartbleed.com/.
[35] S. Heiberg, P. Laud ja J. Willemson. i-hääletamise rakendamine 2011. aasta Eesti parlamendivalimistel. In VOTE-ID, lk 208-223, 2011.
[36] G. Hoglund ja J. Butler. Rootkits: Subverting the Windows Kernel. Addison-Wesley, 2005.
[37] IKT ekspordiklaster. e-estonia.com: The digital society, aug. 2014. http://e-estonia.com/.
[38] R. Johnston. Tõeline pitserite müük: Improving tamper detection. Security Management, 41:93-100, sept. 1997.
[39] R. Johnston. Mõned märkused pitserite valiku ja PSA etikettide pitserite kohta. In Proceedings of the 7th Security Seals Symposium, 2006.
http://www.ne.anl.gov/capabilities/vat/pdfs/choosing-seals-and-using-PSA-seals-2006.pdf.
[40] R. Johnston. Insecurity of New Jersey's plommiprotokollide ebaturvalisus hääletusmasinate puhul, okt. 2010. http://www.cs.princeton.edu/~appel/voting/Johnston-AnalysisOfNJSeals.pdf.
[41] R. Johnston ja A. R. Garcia. Turvatihendite haavatavuse hindamine. Journal of Security Administration, 20:15-27, 1997.
[42] D. W. Jones ja B. Simons. Broken Ballots: Will Your Vote Count? Stanfordi ülikooli keele- ja teabeuuringute keskus, 2012.
[43] E. Kain. Report: NSA pealtkuulab internetis tellitud sülearvuteid, paigaldades nuhkvara. Forbes, detsember 2013. Kättesaadav: 14. mai 2014, http://www.forbes.com/sites/erikkain/2013/12/29/report-nsa-intercepting-laptops-ordered-online-installing-spyware/.

[44] J. Kitcat. Allikate kättesaadavus ja e-hääletamine: An advocate recants. Commun. ACM, 47(10):65-67, okt. 2004.
[45] B. Laxton, K. Wang ja S. Savage. Reconsidering physical key secretcy: Teleduplikatsioon optilise dekodeerimise abil. Proceedings of the 15th ACM Conference.
on Computer and Communications Security (CCS), lk 469-478, 2008.
[46] M. Lindeman ja P. B. Stark. Õrn sissejuhatus riskipiiranguauditisse. IEEE Security & Privacy, 10(5):42-49, 2012.
[47] H. Lipmaa. Paberihääletus (ja miks ma seda tegin). Blogipostitus, märts 2011. http://helger.wordpress.com/2011/03/05/paper-voted-and-why-i-did-so/.
[48] H. Lipmaa. Lihtne valatud e-valimiste protokoll turvaliste kiipkaartide abil, mai 2014. http://eprint.iacr.org/2014/348.
[49] Mandiant. APT1: Exposing one of China's cyber spionage unit, veebruar 2013.
http://intelreport.mandiant.com/Mandiant_APT1_Report.pdf.
[50] N. Mediati. Kuidas paigaldada rakendusi nutitelefoni eemalt. TechHive, nov. 2013. http://www.techhive.com/article/2067005/how-to-remote-install-apps-on-your-smartphone.html.
[51] U. Oja. Paavo Pihelgas: Elektroonilise hääletamise vaatlemine on lihtsalt võimatu, Mar. 2011. Eesti keeles. http://forte.delfi.ee/news/digi/paavo-pihelgas-elektroonilise-haaletamise-vaatlemine-on-lihtsalt-voimatu.d?id=41933409.
[52] F. Paget. Häkkerite tippkohtumine nimetab kübervõimet omavaid riike. McAfee Blog Central, okt. 2013. http://blogs.mcafee.com/mcafee-labs/hacking-summit-names-nations-with-cyberwarfare-capabilities.
[53] A. Parsovs. Practical issues with TLS client certificate authentication, veebruar 2014.
https://www.internetsociety.org/sites/default/files/12_4_1.pdf.
[54] B. Plumer. Eesti saab internetis hääletada. Miks Ameerika ei saa? Wonkblog. The Washington Post, nov. 2012. http://www.washingtonpost.com/blogs/wonkblog/wp/2012/11/06/estonians-get-to-vote-online-why-cant-america/.
[55] ptrace(2): protsessi jälgimine. Linuxi programmeerija käsiraamat.
[56] T. Raidma ja J. Kase. Kohaliku omavalitsuse valimiste e-hääletamise protseduuride hindamise löpparuanne, Jan. 2014. Eesti keeles. http://vvk.ee/public/KOV13/lopparuanne_2013.ddoc.

[57] D. G. Robinson ja J. A. Halderman. Eetilised küsimused e-hääletamise turvalisuse analüüsis. In Proceedings of the 2nd Workshop on Ethics in Computer Security Research. (WECSR), märts 2011.
[58] rsyslog: The rocket-fast system for log processing, Apr. 2014. http://www.rsyslog.com/.
[59] P. Y. A. Ryan, D. Bismark, J. Heather, S. Schneider ja Z. Xia. Prêt à voter: A voter-verifiable voting system. Trans. Info. For. Sec., 4(4):662-673, dets. 2009.
[60] D. E. Sanger. Obama korraldus kiirendas Iraani vastu suunatud küberrünnakute lainet. The New York Times, juuni 2012. http://www.nytimes.com/2012/06/01/world/.middleeast/obama-ordered-wave-of-cyberattacks-against-iran.html.
[61] B. Simons. Aruanne Eesti Interneti-hääletamise süsteemi kohta. Verified Voting Blog, sept. 2011. https://www.verifiedvoting.org/report-on-the-estonian-internet-voting-system-2/.
[62] P. B. Stark. Ülelihtne samaaegne ühe hääletussedeli riskipiiranguga audit. In Proceedings of the USENIX Electronic Voting Technology Workshop/Workshop on
Trustworthy Elections (EVT/WOTE), aug. 2010.
[63] K. Thompson. Reflections on trusting trust. Commun. ACM, 27(8):761-763, aug. 1984.
[64] I. Traynor. Venemaad süüdistatakse kübersõja vallandamises Eesti blokeerimiseks. The Guardian, mai 2007. http://www.theguardian.com/world/2007/may/17/topstories3.russia.
[65] I. Traynor. GCHQ: ELi jälgimiskohtumisel räägitakse Belgia firma vastu suunatud tohutust küberrünnakust. The Guardian, okt. 2013. http://www.theguardian.com/uk-news/2013/oct/03/gchq-eu-surveillance-cyber-attack-belgian.
[66] S. Wolchok, E. Wustrow, J. A. Halderman, H. K. Prasad, A. Kankipati, S. K. Sakhamuri, V. Yagati ja R. Gonggrijp. India elektroonilise teabe turvalisuse analüüs
hääletamismasinad. In Proceedings of the 17th ACM Conference on Computer and Communications Security (CCS), lk 1-14, 2010.
[67] S. Wolchok, E. Wustrow, D. Isabel ja J. A. Halderman. Washingtoni Interneti-hääletamise süsteemi ründamine. In Proceedings of the 16th International Conference on Financial Cryptography and Data Security, veebruar 2012.


















Kommentaarid