ASV vēlēšanās izmantotajai lietotnei Voatz ‘Blockchain’ ir daudz drošības problēmu, teikts ziņojumā

Masačūsetsas štata uzņēmums Voatz, kas reklamē mobilo balsošanas lietotni, kurā iespējota bloķēšanas ķēde, ir saņēmusi sabiedrības kritiku par pārredzamības trūkumu, cita starpā, it īpaši attiecībā uz datu drošību. Un ar vēlēšanu sagrozīšanas draudiem likme ir tikpat liela kā jebkad.

Voatz ir izmantots vēlēšanās Rietumvirdžīnijā; Džeksona apgabals, Oregona; Umatillas apgabals, Oregona; pašvaldību vēlēšanas Jūtas apgabalā, Jūtā; kā arī notikušajās vēlēšanās un pašvaldību vēlēšanās Denverā, Kolorādo štatā.

Sabiedrības drošības audits, ko veic cienījama trešās puses firma, kuru eksperti ir pieprasījuši beidzot šeit. 2019. gada decembrī Voatz un Tusk Philanthropies, kas finansēja lielāko daļu Voatz mobilo balsošanas pilotu, piesaistīja drošības firmu Trail of Bits, lai veiktu visaptverošu baltās kastes auditu.

Lai gan Voatz nespēja nodrošināt aizmugurisko versiju ļaunprātīgu uzbrukumu vektoru tiešraides pārbaudei, Bits Trail bija piekļuve visam pirmkodam, ieskaitot galveno serveri, Android klientu, iOS klientu un administratora tīmekļa saskarni.

Revīzijas ziņojums ir visaptverošs, un tajā ir 122 lappušu drošības pārskats un 78 lappušu dokuments par apsvērumiem par draudu modelēšanu. Piedāvājam ātru galveno daļu pārskatu.

Voatz nav nepieciešama blokķēde

Bloķēšanas ķēdes pievilcība ir tāda, ka tā ir decentralizēta sistēma, kas neprasa vēlētājiem uzticēties nevienam. Bet Voatz izmantotā blokķēde faktiski neattiecas uz mobilo klientu. Tā vietā Voatz ir izmantojis balsis Hyperledger Fabric blokķēdei, kuru tas izmanto kā revīzijas žurnālu – kaut ko tikpat viegli izdarāmu, izmantojot datu bāzi ar revīzijas žurnālu.

Kaut arī Voatz pārstāvis apgalvoja, ka Hyperledger “nodrošina vairākas drošības funkcijas, piemēram, nodrošinot kopējo balsojumu, ļaujot pēc vēlēšanām veikt revīziju un nodrošinot digitālo biļetenu aizbildnības ķēdi, kad tie šķērso ekosistēmu,” nav skaidrs, kā tas rīkotos, un šī iespēja pārskatā nav redzama.

Apskatītajā kodā Trail of Bits netika izmantots pielāgots ķēdes kods vai viedie līgumi. Faktiski ziņojumā teikts:

“Visa datu pārbaude un biznesa loģika tiek izpildīta ārpus ķēdes Voatz Core Server Scala kodubāzē. Vairāki augsta riska atklājumi bija datu validācijas problēmu un neskaidru vietnieku galvenā servera rezultāts, kas ļāva vienam vēlētājam maskēties kā citam, pirms pat pieskārās blokķēdei. ”

Tā kā vēlētāji paši nepieslēdzas blokķēdei, viņi nevar neatkarīgi pārbaudīt, vai balsis atspoguļo viņu nodomu. Bet ikvienam, kam ir administratīva piekļuve Voatz aizmugures serveriem, ir iespēja “deanonimizēt balsis, noraidīt balsis, mainīt balsis un padarīt nederīgas revīzijas liecības”.

Ziņojumā tika konstatēts, ka Voatz sistēmai nav nekādu atvieglojumu vēlētāju deanonimēšanai, pamatojoties uz laiku, kad viņu balsošana tika ierakstīta blokķēdē. Paziņojumā Voatz pārstāvis teica, ka tam ir eksperimentāls mixnet, kas darbojas malas infrastruktūrā, ko izmanto tīkla līmeņa eksperimentiem, bet bez avota koda, un Voatz bieži uzdotie jautājumi pretenzijas ka “pēc iesniegšanas visa informācija tiek anonimizēta, novirzīta caur” mixnet “un ievietota blokķēdē.” Bet tas bija sauca jautājums MIT ziņojumā – un tagad atkal šajā revīzijā.

“Šķiet, ka Trail of Bits sniegtajā kodā nav un arī nav minēts mixnet,” teikts revīzijā. “Galvenais serveris spēj deanonimizēt visu datplūsmu, ieskaitot vēlēšanu biļetenus.”

Bits taka apstiprināja MIT secinājumus – Voatz tos apstrīdēja

13. februārī MIT pētnieki publicēja iepriekš minēto ziņojumu “Balsošana tiek izlaista pirms blokķēdes: Voatz, ASV federālajās vēlēšanās izmantotās pirmās interneta balsošanas lietojumprogrammas, drošības analīze”, uz kuru Voatz atbildēja ar emuāra ierakstu tajā pašā dienā, lai atspēkotu to, ko tā sauca par “kļūdainu ziņojumu”, novedot pie MIT pētniekiem pastu FAQ ar paskaidrojumiem.

Izrādās, ka Voatz atspēkojums tika uzrakstīts trīs dienas pēc tam, kad Bits Trail apstiprināja aprakstīto MIT ievainojamību, saņemot anonimizētu problēmu kopsavilkuma ziņojumu no ASV Iekšzemes drošības departamenta. Tas liek domāt, ka Voatz pirms publiskas atlaides zināja, ka ziņojums ir pareizs.

Revīzija arī apstrīd dažus Voatz iebildumus pret MIT pētnieku ziņojumiem. Voatz paziņoja, ka analizētā Android lietotne bija 27 versijas veca, taču Bits Trail rakstīja, ka starp MIT pētnieku izmantotās lietotnes 2019. gada septembra versiju tā “neidentificēja nekādas ar kodu saistītas drošības izmaiņas”, kas būtiski ietekmētu viņu prasības.

Voatz apstrīdēja arī pētniekus, kas izstrādāja izspēles serveri, nosaucot to par “kļūdainu pieeju”, kas “neder jebkādus apgalvojumus par viņu spēju apdraudēt kopējo sistēmu”. Voatz pat rakstīja, ka šī prakse pētnieku vārdā “noliedz jebkādu ticamības pakāpi”.

Bet Trail of Bits apgalvo, ka “izspēles servera izstrāde gadījumos, kad savienojuma izveide ar servera serveri var izraisīt tiesiskas darbības, ir ievainojamības izpētes standarta prakse. Tā ir arī programmatūras testēšanas standarta prakse. ” Turklāt ziņojumā norādīts, ka secinājumi koncentrējās uz Android klientu, bet nebalstījās uz padziļinātām zināšanām par Voatz serveriem.

Voatz pārstāvis saka, ka Voatz “iebilst pret MIT pētnieku metodoloģiju un pieeju” un ka ziņojumā ir “vairākas kļūdas”.

“Ja mūsu metodoloģija būtu nepareiza, teorija būtu tāda, ka mēs nonāktu pie nepareiziem secinājumiem. Tomēr visas mūsu atklātās vājās vietas ir apstiprinājušas viņu pašu drošības pārskats. Turklāt nešķiet, ka viņi kādu no viņiem apstrīdētu, ”sacīja Maikls Spekters, viens no MIT pētniekiem, kurš ir ziņojuma autors..

Iepriekšējās revīzijas nebija visaptverošas

Neskatoties uz to, ka Voatz reklamē vairākas drošības revīzijas, šī ir pirmā reize, kad tiek veikts baltās rūtiņas novērtējums, analizējot galveno serveri un aizmuguri. Lai gan ne visas iepriekšējās revīzijas ir publiskas, Trail of Bits apkopoja tās visas.

Viena iepriekšēja drošības pārbaude bija veikta 2019. gada augustā NCC – neatkarīga, privāta bezpeļņas organizācija, kurā nav nodarbināti tehniskās drošības eksperti. Revīzija koncentrējās uz lietojamību, nevis drošību. 2018. gada jūlijā nenosaukts pārdevējs veica Voatz mobilo klientu melnās kastes auditu.

2018. gada oktobrī TLDR Security, tagad pazīstams kā ShiftState, veica plašu drošības higiēnas pārskatu, kas ietvēra sistēmas arhitektūru, lietotāju un datu darbplūsmas un draudu mazināšanas plānošanu, taču nemeklēja kļūdas ne sistēmā, ne faktiskajā lietojumprogrammā. Pēc tam ShiftState 2018. gada decembrī veica vēl vienu revīziju, pārbaudot, vai sistēma darbojas kā paredzēts un vai tā ievēro labāko praksi.

Kaut arī ShiftState izpilddirektors Andrē Makgregors jau iepriekš teica ka Voatz “ļoti labi veicās”, Bits pārskats par ShiftState revīziju norāda uz problēmām ar ierobežotu reģistrēšanu, nepārvaldītiem serveriem un Zimperium pretmobilo ļaunprātīgas programmatūras risinājumu, kas nebija iespējots izmēģinājuma laikā.

Tā kā visa Voatz mobilo ierīču aizsardzība pret iejaukšanos ir balstīta uz Zimperium, tā ir neaktīva, kas nozīmē, ka lietojumprogrammu varēja triviāli izmainīt, jo Voatz trūkst papildu aizsardzības pret ļaunprātīgām lietojumprogrammām, kas varētu piekļūt sensitīvai informācijai..

Voatz pārstāvis teica, ka Zimperium tika pilnībā integrēts tikai 2019. gadā un daži pētnieki pieprasa tā atspējošanu testēšanas nolūkos, ko viņi dara katrā gadījumā atsevišķi. “Bits Trail nevarēja patstāvīgi pārbaudīt, vai Zimperium patentētās pārbaudes pret iejaukšanos nepārprotami verificē Android drošības nodrošinātāju,” teikts ziņojumā, kurā ieteikts veikt papildu pārbaudi, ja Zimperium kādreiz tiek apzināti vai nē atspējots..

DHS galīgajā revīzijā, kas tika veikta 2019. gada oktobrī, vienkārši tika aplūkoti mākoņa resursi, nevis lietojumprogramma – vai ir pierādījumi par uzlaušanu vai ja to varētu atklāt, ja tas notiek.

Papildus iepriekšējo drošības novērtējumu ierobežojumiem, kurus Voatz ir reklamējis, nepubliskojot – piemēram, to, ka nevienā no revīzijām nebija serveru un aizmugures ievainojamību – ziņojumā Trail of Bits teikts, ka pārējo veikto drošības novērtējumu pieraksti bija tehniski dokumenti . Tas liek apšaubīt, vai ievēlētās amatpersonas pieņem lēmumus, pamatojoties uz dokumentiem, kuru lasīšana viņiem nav kvalificēta.

Voatz šķiet mežonīgi neorganizēts

Bits Trail novērtējums ilga veselu nedēļu ilgāk, nekā sākotnēji bija plānots, “koda un aktīvu saņemšanas kavējumu, negaidītas sistēmas sarežģītības un lieluma, kā arī saistīto pārskatu sniegšanas dēļ”.

Bits Trail nekad nav saņēmis koda darba kopiju, aizliedzot uzņēmumam veikt tiešu testēšanu, kas nozīmē, ka pētnieki gandrīz pilnībā aprobežojās ar statisko testēšanu, kas viņiem prasīja lasīt lielu daudzumu koda. Saskaņā ar ziņojumu Voatz rīcībā ir tik daudz kodu, ka tas “prasīja, lai katrs inženieris novērtēšanas dienā analizētu vidēji gandrīz 3000 tīras koda rindas 35 failos, lai sasniegtu minimālu pārklājumu”.

Kaut arī Bits Trail saņēma piekļuvi aizmugures testēšanai tiešajā testēšanā dienu pirms tam, kad bija plānots pabeigt novērtējumu, – ko Voatz pārstāvis teica tāpēc, ka vienlaikus notika revīzija, audu kavēšanās un paralēlas darbības, kā arī ierobežots testēšanas platformu daudzums, apsardzes firmai tika lūgts neuzbrukt un nemainīt instanci tādā veidā, kas liegtu kalpot vienlaicīgai revīzijai.

Voatz pieļāva iesācēju kļūdas – un nešķiet nopietni par labojumiem

Bits Trail aprakstīja vairākas kļūdas, kas varētu novest pie balsu novērošanas, iejaukšanās vai deanonimizācijas, vai kas varētu apšaubīt vēlēšanu integritāti.

Papildus tam, ka vēlētāji nevar patstāvīgi apstiprināt, ka viņu vēlēšanu kvīts ir derīga vai balsis ir pareizi saskaitītas, Voatz darbinieks teorētiski varēja piespiest lietotāju balsot divreiz, ļaut viņiem balsot divreiz vai dublēt savu balsi bez viņu ziņas par aizmuguri. . Tāpat Voatz izmanto astoņu ciparu PIN kodu, lai šifrētu visus vietējos datus – kaut ko tādu, ko varētu uzlauzt 15 minūšu laikā.

Turklāt ziņojumā tika konstatēts, ka lietotnei nav drošības kontroles, lai novērstu bez uzraudzības uzraudzītu Android ierīču apdraudēšanu. Sensitīvie API akreditācijas dati tika glabāti git krātuvēs, kas nozīmē, ka ikviens uzņēmuma darbinieks, kuram ir piekļuve kodam – varbūt pat apakšuzņēmēji – varētu izmantot vai ļaunprātīgi izmantot krātuvēs eksponētās slepenās atslēgas..

Voatz darbinieki ar administratora piekļuvi var meklēt konkrētus vēlētāju biļetenus. Voatz izmanto ad hoc kriptogrāfijas rokasspiediena protokolu, kas parasti nav ieteicams – jo pašmāju kriptogrāfija ir pakļauta kļūdām, un vislabāk ir izmantot šifrēšanas shēmas, kuras pētnieki ir izpētījuši un pārbaudījuši reālajā pasaulē. SSL (Secure Sockets Layer) nebija konfigurēts pilnīgi drošā veidā, un tam trūka galvenās funkcijas, kas klientiem palīdz identificēt, kad tiek atsaukts TLS (Transport Layer Security) sertifikāts..

Vienā gadījumā Voatz pat izgrieza un ielīmēja atslēgu un inicializācijas vektoru no atbildes Stack Overflow. Parasti nav ieteicams izgriezt un ielīmēt kodu pat koledžas līmeņa datoru drošības kursos, jo informācijas kvalitāte par kaudzes pārpildi ir atšķirīga, un pat labs kods var nedarboties noteiktā vidē. Tomēr atslēgas un IV izgriešana un ielīmēšana ir vēl sliktāka, jo tas nozīmē, ka datu šifrēšanai izmantotā atslēga un IV ir identiski kaut kam internetā, kaut arī it kā tas nav publiski pieejams. Voatz pārstāvis e-pastā teica, ka tas ir testa kods demonstrācijai lietotnē un “faktiski netiek izmantots nekādos gadījumos vai darījumos”.

Pat apkopojot, Trail of Bits ieteikumi ir astoņas lappuses. Šķiet, ka Voatz ir pievērsies astoņiem drošības riskiem, daļēji risinājis vēl sešus un atstājis 34 nemainītus. Parasti uzņēmumiem ir visaptverošs plāns, kā novērst augstus un vidējus riskus. Patiešām, Voatz pārstāvis sacīja: “Mēs nopietni uztveram katru atradumu, analizējam katru atradumu no praktiskā viedokļa, piešķiram riska varbūtību un pēc tam nosakām virzību uz priekšu,” e-pastā sacīja Voatz pārstāvis..

“Ja kļūda vai problēma ir praktiski izmantojama reālās pasaules scenārijā, kas atbilst maza mēroga pilotiem, kurus veicam, tad mēs tos nekavējoties novēršam, citādi tie plūst mūsu parastajos attīstības cauruļvados, ievērojot prioritātes.”

Pārsteidzoši, Voatz nolēma, ka tas “pieņem risku” daudzām no šīm kļūdām, galvenokārt uzņemoties risku vēlētāju vārdā, nevis veicot labojumus, kurus ieteica no nolīgtās firmas.

Tuska filantropijas, Voats un Bitu taka atsaucās uz Cointelegraph atsevišķi emuārs ziņas par revīziju, un Bitu taka atsaucās uz pašu ziņojumu.

Šis raksts ir atjaunināts ar Voatz pārstāvja komentāriem.

Saistīts: Voatz drošā osta vai iemesta haizivīs?