Storia e fatti dell’hacking (S01 E07): L’urgenza hacker di trasparenza

In questo episodio ci occupiamo dell'importanza della trasparenza nel mondo hacker.

Storia e fatti dell’hacking (S01 E07): L’urgenza hacker di trasparenza

Contestualmente alla diffidenza per tutto ciò che è chiuso, vi è, nel modo di operare da hacker, un’urgenza di trasparenza anche con riferimento alle tecnologie utilizzate. La predilezione per il software libero, ad esempio, ne è un chiaro segnale.

Che cosa s’intende, in questa sede, per trasparenza? Semplicemente che non può esistere sistema informatico, tecnologia o software che si possa definire sicuro se è mantenuto oscuro.

A tale proposito è emblematico il caso del software Haystack, ideato da Austin Heap con il fine di aggirare la censura in Iran e offrire al popolo iraniano una connessione a Internet non filtrata.

La tecnologia alla base di questo software era molto semplice: essa nascondeva le reali richieste di informazioni dell’utente inserendole in mezzo a un’altra grande mole di dati apparentemente innocui, al fine di costituire una sorta di “ago nel pagliaio”, difficilmente individuabile dagli organi censori.

Nel 2010, poco dopo il rilascio della prima versione di prova, il progetto subì una brusca battuta d’arresto poiché furono evidenziati gravi problemi di vulnerabilità e di sicurezza che rischiavano di mettere in pericolo la vita di numerosi iraniani.

Un membro del già visto Chaos Computer Club, Jacob Appelbaum, infatti, riuscì a procurarsi una copia del client che circolava tra gli attivisti e, senza particolari difficoltà, fu in grado di entrare nel network e prendere “le impronte digitali” dei computer utilizzati dalle persone collegate al network.

Ciò significava, in altri termini, che gli organi censori del governo iraniano avrebbero potuto compiere la medesima operazione e perseguire tutti gli attivisti che avevano utilizzato Haystack.

Il fatto che il progetto avesse un’architettura con un unico punto di accesso centrale è stata ritenuta la vulnerabilità principale.

Le critiche al progetto muovevano, tuttavia, anche dalla decisione del suo sviluppatore di non voler rilasciare il codice sorgente, dietro la motivazione che la conoscenza del medesimo avrebbe consentito alle autorità locali di bloccare Haystack. Si tratta di un modus operandi che si pone in contrasto con i principi cardine della sicurezza e soprattutto è contrario al principio di Kerckhoffs in base al quale un sistema deve rimanere sicuro anche se il “nemico” conosce ogni dettaglio del suo funzionamento. Il fatto che il software non possa essere scaricato e testato da estranei rende i difetti e le vulnerabilità  molto più  difficili da rilevare. Peer review e software open source sono due presupposti fondamentali per garantire la sicurezza di un programma.

Questa ultima affermazione un po’ drastica è motivata dal fatto della conoscenza della ricetta, ossia dal fatto che non è possibile fidarsi di qualcosa che non si conosce.

La trasparenza, in particolare, può venire da due direzioni.

Dal produttore stesso, che, ad esempio, rende disponibile il codice sorgente o le specifiche, o dalla richiesta “popolare” che viene dal basso, ossia dal diritto di ogni cittadino di chiedere che, per i servizi critici, sia illustrato ogni dettaglio del loro funzionamento.

La trasparenza è essenzialmente necessaria per dare fiducia (trust), di conseguenza non è peregrino che gli hacker la domandino con sempre maggior vigore.

Sempre in un’ottica di trasparenza, soprattutto negli ultimi anni, si sono diffusi numerosi progetti dal basso motivati da un forte interesse a conoscere le logiche sottese all’utilizzo delle risorse pubbliche, anche per prevenire o portare allo scoperto episodi di corruzione.

Si pensi, a mero titolo di esempio, ai progetti che utilizzano i dati pubblici, in forme grafiche interattive e accattivanti, per mostrare ai cittadini come vengono spesi i soldi pubblici.

In un’ottica hacker, si tratta di progetti che mirano a portare alla luce “il codice sorgente”, ossia le logiche, solitamente ben nascoste, che sono alla base delle scelte politiche di un Paese.

In tema di trasparenza dal basso, meritano una menzione le iniziative che hanno ad oggetto sistemi di voto elettronico verso i quali gli hacker hanno sempre manifestato una forte diffidenza.

A richiamare la loro attenzione è stata ed è tuttora, com’è intuibile, la sicurezza delle macchine per la gestione del voto e i connessi rischi di alterazione dei dati.

In un’ottica di sicurezza informatica, senza dubbio, un sistema di voto elettronico costituisce un sistema critico e, come tale, dovrebbe essere trasparente, basato su un software open source e sottoposto a un hardening forte (attacchi durante il suo sviluppo volti a verificarne la resistenza) per evitare sia errori congeniti sia manomissioni dolose successive.

Invero, alla base della politica di molte aziende produttrici di questi dispositivi vi è la convinzione che mantenere segreto il codice possa servire a proteggere il sistema. Ciò si è rivelato palesemente errato e tale atteggiamento di chiusura ha amplificato la diffidenza degli hacker.

Uno dei più celebri episodi di hacking dei sistemi di voto elettronico, soprattutto per il clamore suscitato nell’opinione pubblica e per le vicende legali cui ha dato origine, è quello che ha visto coinvolto il sistema elettorale degli Stati Uniti e, in particolare, la compagnia americana produttrice di macchinari per il voto elettronico Diebold.

In merito a tali dispositivi, è molto interessante anche un documentario del 2006, intitolato Hacking Democracy, premiato, nel 2007, con un Emmy per il giornalismo investigativo, che ha documentato le investigazioni sulle anomalie e le irregolarità del voto elettronico e ha rappresentato un vero e proprio attacco al sistema elettorale elettronico statunitense.

Vengono illustrate tecniche molto attuali tra cui un nuovo tipo di attacco, nei confronti della memory card della macchina, scoperto dall’hacker finlandese Harri Hursti e noto come Hursti Hack. Egli, senza avere accesso all’intero sistema ma agendo solo sul codice della memory card, è riuscito a ingannare la macchina sottraendo voti al legittimo vincitore e assegnando la vittoria all’altro candidato.

Cercando di contestualizzare l’idea di trasparenza poco sopra descritta, quali sono allora le domande che si dovrebbe porre ogni utente? A nostro avviso, sono  le seguenti:

i) chi sono i produttori dell’hardware e del software che utilizzo nella mia attività  quotidiana, e quale politica adottano nello sviluppo di detto software?

ii) Sono disponibili le specifiche, la documentazione e il codice sorgente di tutti gli strumenti che utilizzo, soprattutto di quelli che utilizzo nelle operazioni più  critiche e delicate, oppure alcuni strumenti che utilizzo sono oscuri, o parzialmente oscuri, e mi devo fidare delle dichiarazioni del produttore?

iii) Vengono promesse, dal produttore, qualità o caratteristiche sospette o inesatte che, poi, non sono documentate?

iv) È stato eseguito da terze parti affidabili e imparziali, ed è stato documentato, un test sulle possibili vulnerabilità e sulla resistenza a possibili attacchi del software che utilizziamo?

Riflettere sulle quattro domande poste poco sopra consente di avere un primo approccio sensato (e diffidente) nei confronti delle tecnologie utilizzate.