L’app “Blockchain” di Voatz utilizzata nelle elezioni statunitensi presenta numerosi problemi di sicurezza, afferma il rapporto

Voatz, la società con sede nel Massachusetts che promuove un’app di voto mobile abilitata alla blockchain, è stata accolta con critiche pubbliche per la mancanza di trasparenza, tra le altre cose, in particolare quando si tratta di sicurezza dei dati. E con la minaccia di manomissioni elettorali, la posta in gioco è più alta che mai.

Voatz è stato utilizzato nelle elezioni in West Virginia; Contea di Jackson, Oregon; Contea di Umatilla, Oregon; elezioni municipali nella contea dello Utah, Utah; così come nelle elezioni di ballottaggio e nelle elezioni municipali a Denver, in Colorado.

L’audit di pubblica sicurezza da parte di una rinomata società di terze parti che gli esperti hanno richiesto lo è qui finalmente. Nel dicembre 2023, Voatz e Tusk Philanthropies, che hanno finanziato la maggior parte dei piloti di voto mobile di Voatz, hanno incaricato la società di sicurezza Trail of Bits di condurre un audit completo della scatola bianca.

Sebbene Voatz non sia riuscito a fornire un backend per testare in tempo reale i vettori di attacchi dannosi, Trail of Bits ha avuto accesso a tutto il codice sorgente, incluso il server principale, il client Android, il client iOS e l’interfaccia web dell’amministratore.

Il rapporto di audit è completo e include una revisione della sicurezza di 122 pagine e un documento di 78 pagine su considerazioni sulla modellazione delle minacce. Ecco una rapida carrellata delle parti principali.

Voatz non ha bisogno di blockchain

Il fascino del voto su blockchain è che si tratta di un sistema decentralizzato che non richiede agli elettori di fidarsi di nessuno. Ma la blockchain utilizzata da Voatz non si estende effettivamente al client mobile. Invece, Voatz ha applicato i voti a una blockchain di Hyperledger Fabric, che utilizza come registro di controllo, cosa altrettanto facile da fare utilizzando un database con un registro di controllo.

Sebbene un portavoce di Voatz abbia affermato che Hyperledger “fornisce diverse funzioni di sicurezza come garantire il voto aggregato, consentire l’audit post elettorale e fornire una catena di custodia per i voti digitali mentre attraversano l’ecosistema”, non è chiaro come lo farebbe, e questa capacità non è evidente nel rapporto.

Il codice Trail of Bits esaminato non utilizzava chaincode personalizzato o contratti intelligenti. Infatti, nel rapporto si legge:

“Tutta la convalida dei dati e la logica di business vengono eseguite off-chain nel codebase Scala del Voatz Core Server. Diversi risultati ad alto rischio sono stati il ​​risultato di problemi di convalida dei dati e di deputati confusi nel server principale che potrebbero consentire a un elettore di mascherarsi come un altro prima ancora di toccare la blockchain “.

Poiché gli elettori non si collegano direttamente alla blockchain, non possono verificare in modo indipendente che i voti riflettano il loro intento. Ma chiunque abbia accesso amministrativo ai server back-end di Voatz ha la possibilità di “rendere anonimi i voti, negare voti, modificare i voti e invalidare gli audit trail”.

Il rapporto ha rilevato che il sistema Voatz non ha alcuna mitigazione per la deanonimizzazione degli elettori in base al momento in cui il loro voto è stato registrato nella blockchain. In una dichiarazione, un portavoce di Voatz ha affermato di avere un mixnet sperimentale in esecuzione sull’infrastruttura edge utilizzata per gli esperimenti a livello di rete, ma senza alcun codice sorgente, e le FAQ di Voatz reclami che “una volta inviate, tutte le informazioni vengono rese anonime, instradate tramite un” mixnet “e pubblicate sulla blockchain”. Ma questo era chiamato in questione in un rapporto del MIT – e ora di nuovo in questo audit.

“Non sembra esserci, né viene menzionato, un mixnet nel codice fornito a Trail of Bits”, si legge nell’audit. “Il server principale ha la capacità di deanonimizzare tutto il traffico, comprese le schede elettorali.”

Trail of Bits ha confermato i risultati del MIT – Voatz li ha contestati

Il 13 febbraio, i ricercatori del MIT hanno pubblicato il rapporto di cui sopra, “The Ballot Is Busted Before the Blockchain: A Security Analysis of Voatz, the First Internet Voting Application Used in U.S. Elezioni Federali”, a cui Voatz ha risposto con un post sul blog lo stesso giorno per confutare quello che viene definito un “rapporto difettoso”, portando i ricercatori del MIT a farlo inviare una FAQ con chiarimenti.

Si scopre che la confutazione di Voatz è stata scritta tre giorni dopo che Trail of Bits ha confermato la presenza delle vulnerabilità descritte al MIT, dopo aver ricevuto un rapporto riassuntivo anonimo dei problemi dal Dipartimento per la sicurezza interna degli Stati Uniti. Ciò suggerisce che Voatz era consapevole che il rapporto era accurato prima di scartarlo pubblicamente.

L’audit contesta anche alcune delle obiezioni di Voatz alle relazioni dei ricercatori del MIT. Voatz ha affermato che l’app Android analizzata era vecchia di 27 versioni, ma Trail of Bits ha scritto che “non ha identificato alcuna modifica rilevante per la sicurezza nella base di codice” tra la versione di settembre 2023 dell’app utilizzata dai ricercatori del MIT che avrebbe influenzato in modo sostanziale le loro affermazioni.

Voatz ha anche contestato i ricercatori che sviluppano un server fittizio, definendolo un “approccio imperfetto” che “invalida qualsiasi affermazione sulla loro capacità di compromettere il sistema generale”. Voatz ha anche scritto che questa pratica “nega qualsiasi grado di credibilità da parte dei ricercatori”.

Ma Trail of Bits afferma che “lo sviluppo di un server fittizio nei casi in cui la connessione a un server di produzione potrebbe comportare un’azione legale è una pratica standard nella ricerca sulle vulnerabilità. È anche una pratica standard nei test del software “. Inoltre, il rapporto sottolinea che i risultati si sono concentrati sul client Android, ma non si basavano su una conoscenza approfondita dei server Voatz.

Un portavoce di Voatz afferma che Voatz “si oppone alla metodologia e all’approccio dei ricercatori del MIT” e che ci sono “diversi errori nel rapporto”.

“Se la nostra metodologia fosse sbagliata, la teoria sarebbe che saremmo arrivati ​​a conclusioni errate. Tuttavia, tutte le vulnerabilità che abbiamo riscontrato sono state confermate dalla loro stessa revisione della sicurezza. Inoltre, non sembra che stiano contestando nessuno di loro “, ha detto Michael Spectre, uno dei ricercatori del MIT che ha creato il rapporto.

Gli audit precedenti non erano completi

Nonostante Voatz reclamizzi più audit di sicurezza, questa è la prima volta che viene condotta una valutazione white box, con il server principale e il backend analizzati. Sebbene non tutti gli audit precedenti siano pubblici, Trail of Bits li ha riassunti tutti.

Una precedente revisione della sicurezza è stata condotto nell’agosto 2023 da NCC, un’organizzazione no profit privata e indipendente che non impiega esperti tecnici di sicurezza. L’audit si è concentrato sull’usabilità piuttosto che sulla sicurezza. Nel luglio 2023, un fornitore senza nome ha condotto una verifica della scatola nera dei client mobili di Voatz.

Nell’ottobre 2023, TLDR Security, ora noto come ShiftState, ha condotto un’ampia revisione dell’igiene della sicurezza che includeva l’architettura del sistema, i flussi di lavoro degli utenti e dei dati e la pianificazione della mitigazione delle minacce, ma non ha cercato bug nel sistema né nell’applicazione effettiva. ShiftState ha quindi condotto un altro audit nel dicembre 2023, verificando se il sistema funzionasse come previsto e seguisse le migliori pratiche.

Sebbene il CEO di ShiftState Andre McGregor ha detto in precedenza che Voatz “ha fatto molto bene”, la revisione di Trail of Bits dell’audit di ShiftState indica problemi con registrazioni limitate, server non gestiti e una soluzione antimalware Zimperium anti-mobile che non è stata abilitata durante il pilota.

Poiché tutte le protezioni anti-manomissione di Voatz per i dispositivi mobili si basano su Zimperium, essere inattivo significa che l’applicazione potrebbe essere stata banalmente manomessa, poiché Voatz non dispone di protezione aggiuntiva contro applicazioni dannose che potrebbero accedere a informazioni sensibili.

Un portavoce di Voatz ha affermato che Zimperium non è stato completamente integrato fino al 2023 e che alcuni ricercatori ne richiedono la disabilitazione a scopo di test, cosa che fanno caso per caso. “Trail of Bits non ha potuto verificare in modo indipendente che i controlli anti-manomissione proprietari di Zimperium verificano esplicitamente il provider di sicurezza Android”, si legge nel rapporto, raccomandando un controllo aggiuntivo nel caso in cui Zimperium venga disabilitato, intenzionalmente o meno.

L’audit finale del DHS, condotto nell’ottobre 2023, ha semplicemente esaminato le risorse cloud, non l’applicazione, se ci sono prove di pirateria informatica o se poteva essere rilevato se si verifica.

Al di là dei limiti delle valutazioni di sicurezza precedenti che Voatz ha propagandato senza rendere pubbliche – come il fatto che nessuno degli audit includesse vulnerabilità del server e del back-end – il rapporto di Trail of Bits afferma che i resoconti delle altre valutazioni di sicurezza condotte erano documenti tecnici . Ciò mette in dubbio se i funzionari eletti stiano prendendo decisioni sulla base di documenti che non sono qualificati a leggere.

Voatz appare selvaggiamente disorganizzato

La valutazione di Trail of Bits è durata un’intera settimana in più rispetto a quanto inizialmente programmato “a causa di una combinazione di ritardi nella ricezione del codice e delle risorse, della complessità e delle dimensioni impreviste del sistema e dell’impegno di reporting associato”.

Trail of Bits non ha mai ricevuto una copia funzionante del codice, impedendo all’azienda di eseguire test dal vivo, il che significa che i ricercatori erano quasi interamente limitati al test statico, che richiedeva loro di leggere un’enorme quantità di codice. Secondo il rapporto, Voatz ha così tanto codice che “richiedeva a ogni ingegnere di analizzare, in media, quasi 3.000 righe di codice pure su 35 file al giorno della valutazione per ottenere una copertura minima”.

Sebbene Trail of Bits abbia ricevuto l’accesso al backend per i test dal vivo un giorno prima che la valutazione fosse programmata per terminare, che un portavoce di Voatz ha detto era dovuto a controlli simultanei, ritardi negli audit e attività parallele e un numero limitato di piattaforme di test, all’azienda di sicurezza è stato chiesto di non attaccare o alterare l’istanza in un modo che negherebbe il servizio a controlli simultanei.

Voatz ha commesso errori da principiante e non sembra serio riguardo alle soluzioni

Trail of Bits ha descritto diversi bug che potrebbero portare a voti osservati, manomessi o deanonimizzati, o che potrebbero mettere in discussione l’integrità di un’elezione.

Oltre al fatto che gli elettori non possono convalidare in modo indipendente che la loro ricevuta di voto sia valida o che i voti siano stati conteggiati correttamente, un dipendente Voatz potrebbe teoricamente costringere un utente a votare due volte, consentire loro di votare due volte o duplicare il proprio voto a loro insaputa sul back-end . Inoltre, Voatz utilizza un PIN di otto cifre per crittografare tutti i dati locali, cosa che potrebbe essere violata entro 15 minuti.

Inoltre, il rapporto ha rilevato che l’app non dispone di controlli di sicurezza per evitare che i dispositivi Android non presidiati vengano compromessi. Le credenziali API sensibili sono state archiviate nei repository git, il che significa che chiunque in azienda abbia accesso al codice, forse anche i subappaltatori, potrebbe utilizzare o abusare delle chiavi segrete esposte nei repository.

I dipendenti di Voatz con accesso amministrativo possono cercare schede elettorali specifiche. Voatz utilizza un protocollo di handshake crittografico ad hoc, che generalmente non è raccomandato, poiché la crittografia fatta in casa è soggetta a bug ed è meglio utilizzare schemi di crittografia che sono stati studiati dai ricercatori e testati nel mondo reale. L’SSL (Secure Sockets Layer) non è stato configurato in modo completamente sicuro, manca una funzionalità chiave che aiuta i client a identificare quando un certificato TLS (Transport Layer Security) viene revocato.

In un caso, Voatz ha persino tagliato e incollato una chiave e un vettore di inizializzazione da una risposta di Stack Overflow. Tagliare e incollare codice è generalmente sconsigliato, anche nei corsi di sicurezza informatica a livello universitario, perché la qualità delle informazioni su Stack Overflow varia e persino un buon codice potrebbe non funzionare in un ambiente specifico. Tuttavia, tagliare e incollare una chiave e un IV è ancora peggio, poiché significa che la chiave e l’IV utilizzati per crittografare i dati sono identici a qualcosa su Internet, anche se non dovrebbe essere pubblico. Un portavoce di Voatz ha detto in una e-mail che questo era un codice di prova per una demo in-app e “non è stato effettivamente utilizzato in nessun caso o transazione”.

Anche se riassunti, i consigli di Trail of Bits sono lunghi otto pagine. Voatz sembra aver affrontato otto rischi per la sicurezza, parzialmente affrontato altri sei e lasciato 34 non risolti. In genere, le aziende hanno un piano completo su come correggere i rischi alti e medi. In effetti, un portavoce di Voatz ha affermato: “Prendiamo sul serio ogni risultato, analizziamo ogni risultato da una prospettiva pratica, assegniamo la probabilità di rischio e quindi determiniamo il corso da seguire”, ha detto un portavoce di Voatz in una e-mail.

“Se il bug o il problema è praticamente sfruttabile in uno scenario del mondo reale conforme ai progetti pilota su piccola scala che stiamo conducendo, li affrontiamo immediatamente altrimenti fluiscono nelle nostre normali pipeline di sviluppo soggette a priorità”.

Incredibilmente, Voatz ha deciso di “accettare il rischio” di molti di questi bug, essenzialmente accettando il rischio per conto degli elettori piuttosto che apportare le correzioni suggerite dall’azienda che ha assunto.

Tusk Philanthropies, Voatz e Trail of Bits rimandavano Cointelegraph ai loro separato blog post sull’audit e Trail of Bits ha fatto riferimento al report stesso.

Questo articolo è stato aggiornato con i commenti di un portavoce di Voatz.

Correlati: Safe Harbor o Thrown to the Sharks di Voatz?