La scoperta della falla crittografica che permette la manipolazione del voto senza lasciare alcuna traccia, trovata nel codice sorgente del programma di voto commissionato dalla Posta svizzera alla società spagnola Scytl, oltre a mettere in questione il voto elettronico nella confederazione elvetica, rischia di far sprofondare ogni possibile difesa dei sostenitori del voto elettronico in un pantano dal quale difficilmente si potrà uscire.
Non solo, in merito al caso specifico sono molti gli interrogativi che vengono a galla riguardo, per esempio, alla possibilità che il bug, già peraltro identificato, sia stato mantenuto per permettere di manipolare il voto.
Come si è arrivati alla scoperta (e le conseguenze)
La Posta svizzera ha messo a disposizione della comunità hacker il ce che avrebbe voluto usare per la gestione del voto online nelle elezioni dei cantoni svizzeri.
Tre ricercatori, Sarah Jamie Lewis, Vanessa Teague dall’Australia e Olivier Pereira hanno trovato la famigerata falla crittografica nel codice sorgente del programma.
Si può pensare che l’obiettivo dell’esposizione del codice sia proprio quello di permettere la scoperta di potenziali errori e quindi che tutto stia funzionando come dovrebbe. Invece non è così.
Per la Posta svizzera e per il produttore Scytl è una bocciatura senza appello che può ridimensionare la permanenza del voto elettronico nella confederazione elvetica, dove già uno dei fornitori si è dovuto ritirare dopo la scoperta di problemi sostanziali nella proprio software. Anche se la Posta svizzera oggi lo sottovaluta, il caso politicamente non sarà senza conseguenze.
I ricercatori che hanno analizzato il codice non stavano neppure partecipando alla competizione in quanto “le condizioni di partecipazione formulate dalla Posta non erano e non sono compatibili con un presupposto basilare: l’opinione pubblica deve essere informata su questioni critiche come questa”.
La Posta ha posto delle condizioni molto stringenti sulla competizione, che includono l’impossibilità di comunicare pienamente in pubblico i risultati delle analisi, e la non divulgazione del codice stesso per una ispezione da parte di chi non avesse firmato le clausole di partecipazione. Non otterranno quindi i soldi in palio, ma hanno potuto divulgare tutto liberamente.
Una falla già conosciuta
Già in precedenza Sarah Jamie Lewis. la ricercatrice che ha analizzato i codici del sistema svizzero di e-voting, aveva segnalato la falla incriminata ma la Posta e il produttore Scytl avevano risposto molto duramente: “… negli ultimi giorni sono stati pubblicati vari commenti di diversi individui al di fuori dei canali ufficiali. Affermano che i protocolli crittografici non sono sicuri e hanno fatto commenti generici sulla qualità del codice. Commenti in questa forma non contribuiscono a creare un dialogo complessivo e costruttivo sul codice sorgente e non servono né alla sicurezza dei dati della community, né rispondono all’interesse dei cittadini. I protocolli crittografici sono il risultato di ricerche compiute e messe a disposizione del pubblico fin dall’epoca della fondazione di Scytl nel 2001. Hanno superato con successo gli esami da parti di esperti indipendenti di crittografia.”
La Scytl sosteneva quindi di aver fatto molti test su quel codice, vantando anche di aver superato il vaglio di «esperti indipendenti di crittografia». Dopo la pubblicazione definitiva del report scientifico, la Posta ha dovuto ammettere che la falla era già a loro conoscenza e che avevano richiesto al produttore di correggerla già tre anni fa.
Se stiamo parlando, come vantano, della punta di diamante del software per la gestione del voto elettronico online c’è da chiedersi come è possibile non solo che ci fosse quel bug (capita!) ma soprattutto che nonostante fosse stato già stato identificato e comunicato il produttore non avesse fatto nulla per risolverlo, e ancor peggio il committente non avesse verificato il risultato prima di esporsi in pubblico? Questo non avrebbe proprio dovuto capitare!
Ignorati i sistemi di bug tracking?
Nello sviluppo del software si usano sistemi di «bug tracking» dove alla scoperta di un malfunzionamento corrisponde una specifica scheda di identificazione (ticket) che permette di seguire la lavorazione del problema fino alla sua positiva soluzione e verifica di assicurazione della qualità. Nei prodotti open-source questi sistemi sono visibili online da tutti, cosicché chiunque possa contribuire al miglioramento del programma. Possibile che lo sviluppo del software della Scytl non adotti questo sistema? O che invece lo abbia adottato ma che la Posta svizzera in tre, lunghissimi, anni non si sia mai accorta che il problema non era stato risolto, o peggio ancora che fosse stato dichiarato come risolto quando in verità permanesse ancora inalterato?
O invece… anche se i ricercatori un po’ retoricamente lo escludono (“Non crediamo che la falla che abbiamo trovato sia stata inserita volontariamente”) chi può escludere che in presenza di un processo di verifica così inconsistente come quello messo in atto dalla Posta svizzera, la falla non fosse stata mantenuta nel codice volontariamente proprio per manipolare le elezioni?
Indipendentemente dalle risposte che la Posta svizzera darà all’opinione pubblica, questi accadimenti rendono bene evidente qual è la dinamica che affligge questo tipo di sistemi su cui non è possibile fare assicurazioni sul rischio residuo e per cui i costi reputazionali sono altissimi.
Una dinamica che spiega anche la frettolosa retromarcia della Posta svizzera che in un primo momento aveva escluso ogni possibile problema, liquidando il contributo dei ricercatori come non interessante per i cittadini salvo poi dover dichiarare «siamo riconoscenti verso quei ricercatori che ci hanno aiutati a identificare questo problema.»
Un fallimento annunciato
Una bruttissima prova di relazioni pubbliche simile a quella che ha portato Davide Casaleggio prima a querelare il giovane ricercatore che trovò una grave falla in Rousseau, salvo poi riabilitarlo tentando di attrarre gli hacker pronti ad accettare le condizioni capestro dell’analisi tecnica del suo nuovo programma. Un fallimento ovvio e annunciato.
Se la falla svizzera, oggi divulgata solo grazie al fatto che i ricercatori non stessero partecipando alla competizione, fosse stata individuata all’interno della competizione stessa, chi avrebbe garantito che il committente l’avrebbe resa pubblica? Soprattutto chi avrebbe garantito che poi il produttore avrebbe veramente posto riparo al problema?
Il garante in questi casi sarebbe stato solo il committente, ovvero quella stessa Posta svizzera, che abbiamo scoperto grazie alla divulgazione dei ricercatori indipendenti non è stata capace di verificare che le modifiche richieste già da tre anni fossero poi in realtà messe in atto dal produttore.
La domanda giusta è: si sarebbe volontariamente esposta al plateale danno d’immagine che oggi subisce oppure avrebbe trovato una qualsiasi forma per insabbiare tutto?
Il precedente dell’Estonia
Abbiamo una controprova: pur con un’altra scala, dovuta alla non disponibilità del codice sorgente, quello che è avvenuto in Svizzera non è differente da quello che è avvenuto in Estonia quando il governo invitò un gruppo di esperti indipendenti guidati dal professor J. Alex Halderman, dell’Università del Michigan (un esperto riconosciuto dall’accademia con decine di anni di esperienza sul campo) insieme a Jason Kitcat, autore del programma di voto elettronico open source GNU.Free (poi abbandonato per sottolineare l’assoluta impossibilità di realizzare un programma rispettoso dei requisiti di un voto democratico).
In quel caso le critiche poste dai ricercatori finirono (e lo sono tuttora) eluse dal governo che ritiene tuttora di propagandare al mondo, e recentemente anche in Italia, le delizie del proprio programma di voto elettronico facendo finta che quei problemi neppure esistano.
D’altro canto questo è ovvio: affrontarli significherebbe dare il colpo di grazia alla narrazione di uno Stato smart ed efficiente in cui la garanzia della privacy per i cittadini (peraltro abituati ad un approccio da regime sovietico da cui provengono) si limita alle indiscutibili affermazioni di principio del governo. Ammettere che il voto online estone è stato affetto dai notevoli problemi riscontrati dai ricercatori di Halderman sarebbe ammettere che sia sempre stato un fallimento. Meglio far finta di nulla e propagandare la verità governativa.
Una lezione anche per l’Italia
Il passo falso della Posta svizzera dovrebbe quindi essere d’insegnamento ai politici nostrani.
Il M5S, a dispetto di tutta la comunità scientifica internazionale, è pronto a dare garanzie sul voto elettronico proprio come qualche settimana fa ne dava la Posta svizzera e Scytl che almeno hanno avuto il coraggio, o piuttosto l’avventatezza, di pubblicare il codice sorgente. Perché è stato impedito l’accesso ai documenti della gara per il voto elettronico in Lombardia? Perché, neppure a distanza di tempo, si conosce come quella soluzione tecnologica è stata messa in atto? È possibile che queste cose debbano sfuggire al controllo e all’ispezione della società civile?
L’aspetto critico qui non sono le paure dei cittadini ma piuttosto le incrollabili certezze di una propaganda pro-voto elettronico cieca e sorda alla realtà dei fatti e a ogni forma leale di confronto.
Non è il miglior modo per rendere attrattiva la proposta di una (sic!) «innovazione democratica».