Oggi ha tenuto banco la Piattaforma Rousseau sulla quale gli iscritti del Movimento Cinquestelle hanno potuto “votare” sul gradimento del nuovo Governo giallo rosso.

Sia Di Maio sia Davide Casaleggio hanno magnificato questo “nuovo e meraviglioso sistema di democrazia diretta” con il quale la base può far conoscere in tempo reale cosa pensa delle scelte dei vertici.

A parte le forti riserve su un sistema informatico gestito da una società privata che oggi ha deciso se dare il via ad un Governo della Repubblica, io non mi fido. Casaleggio dice che è stato tutto regolare. Non avendo riscontri contrari devo credergli, ma non ho nemmeno riscontri favorevoli. Un sistema elettorale i cui risultati sono da accettare fideisticamente non mi piacciono.

Preferisco le schede cartacee che si possono contare e ricontare, controllare e ricontrollare.

Sapete benissimo che in Italia, per le elezioni politiche, ci sono circa 61.000 sezioni elettorali, ognuna delle quali composta da un Presidente, un segretario e quattro scrutatori: quindi circa 360.000 persone ai quali si aggiungono i rappresentanti di lista che controllano.

I verbali (che sono in triplice copia) vanno al Comune, alla Prefettura e al tribunale. E’ infatti la magistratura che comunica i dati ufficiali, quelli del “cervellone del Viminale” sono ufficiosi al solo beneficio della stampa.

Quindi troppe persone per poter solo suppore un pericolo di brogli.

E’ ancora fresco il ricordo di quanto successe nelle elezioni presidenziali americane nel 2000. In Florida si votava con un sistema semiautomatico che “bucava” la scheda in corrispondenza del candidato prescelto.

Al Gore e George W. Bush si contesero la vittoria all’ultima scheda  che furono contate e ricontate (i “buchi” non erano netti) fino allo stop al riconteggio imposto dalla Corte Suprema che privilegiò la speditezza del conteggio alla sua correttezza.

Per comprendere quanto sia facile “modificare” in favore del partito che si predilige un sistema informatico che dovesse presiedere ad un voto elettronico, vi riporto un articolo di Douglas W. Jones, docente presso l’Università dello Iowa. L’articolo è dell’anno 2000, ma è sempre attuale perché non si basa sui tecnicismi sempre in continua evoluzione, ma sui ragionamenti di logica umana che sono alla base di qualsiasi programma. (La traduzione è di Luca Parisi, il titolo è USA: voto elettronico e software e pubblicato il 7 novembre 2000 alle 16:43:41 CST sul gruppo di discussione comp.risks Volume 21: Issue 10. Work in progress alla pagina http://www.cs.uiowa.edu/~jones/voting/ con il titolo “Election Privacy and Security”):

“Oggi è il giorno delle elezioni e in qualità di presidente del Comitato statale di controllo sulle macchine per votazione e i sistemi elettronici di voto dello Iowa, credo che sia il momento giusto per fare una pausa di riflessione sullo stato dell’arte in materia.

Nel corso degli ultimi anni si è affermata con chiarezza una importante tendenza nelle macchine per votazione che sono state presentate al nostro comitato per ottenere l’approvazione nello Iowa. Si tratta della sostituzione del software realizzato ad hoc con software standard preconfezionato, solitamente una qualche variante di Windows e basato largamente su Microsoft Office.

I computer nel sistema elettorale sono ormai una tecnologia consolidata, sia che vengano usati nei sistemi centralizzati di conteggio basati su schede perforate o lettori ottici, sia che si tratti di sistemi di conteggio ai seggi basati su macchine per votazione elettroniche a lettura ottica o a registrazione diretta. Naturalmente sono ancora in uso macchine manuali a leva ma i loro modelli non subiscono modifiche da molti anni e, di conseguenza, non vengono presentati al comitato per le verifiche.

Secondo le vigenti linee guida della Commissione Elettorale Federale (FEC, Federal Election Commission) sui sistemi elettronici di voto, tutto il software realizzato ad hoc è soggetto ad una verifica condotta da terzi indipendenti. D’altro canto, i “componenti standard” sono considerati accettabili così come sono. La FEC non ha il potere di far osservare le norme, ma le sue linee guida sono state recepite nella legislazione elettorale di numerosi Stati.

Il mio motivo di preoccupazione è che siamo testimoni del fenomeno per cui una percentuale sempre maggiore del software contenuto nei sistemi di voto è costituita da prodotti proprietari di terze parti, non soggetti al requisito della disponibilità dei sorgenti per un esame del codice. Inoltre, le dimensioni dei sistemi operativi commerciali sono enormi, per cui è molto difficile immaginare la possibilità di un controllo efficace!

A quali rischi ci espone tutto ciò?

Se io volessi influire sul risultato di un’elezione, non quella in corso ma quella che si terrà fra quattro anni, potrei ipoteticamente lasciare il mio impiego all’Università dello Iowa e andare a lavorare per Microsoft, cercando di inserirmi nel gruppo che cura la manutenzione degli elementi chiave dell’interfaccia utente (window manager). Sembra una prospettiva piacevole, anche se il lavoro che farebbe al caso mio comporterebbe, in gran parte, la manutenzione di codice che è rimasto stabile per anni. Ecco il mio obiettivo:

Desidero modificare il codice che crea un’istanza dell’elemento dell’interfaccia utente chiamato “pulsante di scelta” (radio button) in una finestra presente sullo schermo. La funzione che voglio aggiungere, in particolare, è la seguente. Se la data coincide con il primo martedì successivo al primo lunedì di novembre di un anno divisibile per 4, e se la finestra contiene un testo che comprende la stringa “straight party”, e se inoltre il radio button contiene almeno le due stringhe “democrat” e “republican” allora una volta su dieci, in modo casuale, scambia l’etichetta che identifica il pulsante contenente la stringa “democrat” con una qualsiasi altra etichetta, anche questa scelta a caso.

Naturalmente, farei ogni sforzo per rendere incomprensibile il codice da me scritto. La scrittura di programmi illeggibili (obfuscated code) è un’arte che ha raggiunto un alto grado di sofisticazione! Una volta fatto ciò, avrei realizzato una versione di Windows che distribuisce il 10 per cento dei voti diretti espressi per il Partito democratico agli altri partiti, in modo casuale. Ciò sarebbe estremamente difficile da rilevare nei risultati elettorali, correrebbe un basso rischio di essere scoperto durante i controlli e, nonostante ciò, potrebbe influenzare il risultato di molte elezioni!

E questo è solo un esempio dei possibili attacchi! Potrebbero esistere vulnerabilità di tipo analogo, ad esempio, nei database commerciali che vengono usati per la memorizzazione e il conteggio dei voti espressi.

Con questo esempio non intendo esporre alcun sentimento di ostilità nei confronti di Microsoft, ma è vero che il software di questa azienda viene usato nella grande maggioranza dei nuovi sistemi di votazione che ho esaminato. Questo genere di minacce non richiede alcuna collaborazione da parte del produttore del window manager o di altri componenti di terze parti non soggetti ad ispezione del codice sorgente. Esso richiede unicamente una talpa, che possa insinuarsi all’interno dell’azienda produttrice e realizzare del codice che non venga rilevato dalle procedure interne di verifica e ispezione. La scrittura di programmi illeggibili è facile, e l’arte delle “uova di Pasqua” nei prodotti software commerciali rende più che chiaro il fatto che molte caratteristiche non riconosciute ufficialmente vengono inserite ogni giorno in pacchetti software disponibili in commercio senza la collaborazione dei produttori del software stesso. (Sono però a conoscenza del fatto che, in alcuni casi, le “uova di Pasqua” godono dell’approvazione ufficiale del produttore).

Ciò detto, è opportuno notare che Microsoft ha espresso una preferenza nei confronti dei risultati delle elezioni odierne, e che vi sono ottimi motivi per considerare i programmi software proprietari, prodotti da un’entità schierata, con grande sospetto nel momento in cui vengono inseriti in un sistema di votazione!

Quali sono le mie conclusioni? Credo che sia giunto il momento per i professionisti dell’informatica di adoperarsi per un cambiamento nelle linee guida relative alle macchine per votazione, chiedendo che tutto il software compreso in tali macchine sia open source e aperto al pubblico scrutinio, o almeno aperto allo scrutinio da parte di un’autorità di controllo terza e indipendente. Non esistono ostacoli di natura tecnica perché ciò avvenga! Sono disponibili molti sistemi operativi open source perfettamente funzionanti come Linux, FreeBSD e diversi altri, compatibili con l’hardware intorno al quale vengono costruite le macchine per votazione moderne!

Tuttavia, questo non risolve completamente il problema! Come si può dimostrare, dopo il fatto, che il software contenuto nella macchina per votazione sia lo stesso approvato dal comitato di controllo e sottoposto a verifica da parte dell’autorità di controllo indipendente? A mia conoscenza, nessuna macchina moderna è realizzata con l’obiettivo reale di consentire una dimostrazione di questo genere, anche se diversi produttori promettono di mettere a disposizione una copia del codice sorgente da loro usato presso un ente depositario in caso di contestazioni.”

Io sono d’accordo e prediligo[SF1]  nostro vecchio ma sicuro sistema di scrutinio cartaceo: che importanza ha avere i risultati dopo un’ora o dopo 24 ore per una legislatura che deve durare, senza sospetti di origine, per cinque anni?


 [SF1]