e-Gov

L’algoritmo SHA-1 presto bucato grazie ad Amazon e Intel

Entro pochi anni basterà un comune PC per superare le migliori difese crittografiche odierne, o al massimo lo si potrà fare con un economico sistema cloud a noleggio come quelli di Amazon. Il problema riguarda anche, o in particolare, l'algoritmo SHA-1 usato per proteggere transazioni online, password, server sicuri e altri ambiti delicati.

L'acronimo SHA indica il Secure Hash Algorithm, ritenuto l'algoritmo di hashing più sicuro al mondo tra quelli effettivamente in uso. Ricordiamo che l'hashing consiste nel trasformare un dato in una sequenza di caratteri apparentemente casuale, ed è generalmente applicato alle password. Questa sequenza è poi l'informazione usata dai sistemi informatici per gestire gli accessi.

Crittografia

"Quando un utente digita una password, il sistema ne calcola l'hash e lo confronta con quello memorizzato (generato al momento di immissione della prima password registrata). Se gli hash coincidono allora l'accesso è garantito, altrimenti negato", spiega Andrea Allievi di ITSec.

"Il meccanismo non è reversibile, in quanto in teoria non è possibile dall'hash estrarre la password. Questa è la motivazione per cui i software in generale permettono sempre di cambiare una password persa ma non di recuperarla", continua l'esperto.

Craccare un hash non è possibile "in teoria" perché per farlo ci vogliono troppa potenza di calcolo e tempo. Mesi o anni per scoprire una singola password, persino usando la potenza del GPGPU, ma presto potrebbe non essere più così. Inoltre un attacco "Brute Force" funzionerebbe – avendone il tempo – solo con una password composta da parole o combinazioni note (come la sostituzione di alcune lettere con numeri).

Due diversifile, stesso hash MD5

Esiste però un'altra via per violare l'hashing, nota come il metodo "della collisione". Uno strumento di violazione al quale l'algoritmo MD5 (ancora piuttosto diffuso) è vulnerabile già oggi.

"Nel lontano 2006 hanno trovato il modo per far collidere gli hash MD5. Se un programma, sito, web server, memorizzasse gli hash con il metodo MD5, un hacker/cracker, con la potenza di calcolo di oggi, riuscirebbe a trovare una sequenza di caratteri che produce lo stesso MD5 della password originale in poche ore", ci ha spiegato Allievi. Questa vulnerabilità nell'algoritmo MD5 tra l'altro è quella che ha permesso gli attacchi del virus Flame, fa notare Glenn Fleishmann su Technology Review.

In altre parole al cracker non serve trovare la password originale, ma gli basta una sequenza che generi lo stesso hash per ingannare il server e accedere al sistema. La vulnerabilità in questione riguarda anche l'algoritmo SHA-1, e secondo Jesse Walker di Intel a partire dal 2018 sfruttarla sarà abbastanza conveniente.

La sicurezza è anche una questione di convenienza

"Con un buon sistema multicore e con tanta astuzia, sarebbe possibile per un cracker creare un hash identico a quello di un certificato digitale (l'hash della chiave dei certificati digitali è leggibile in chiaro). In questo modo il cracker potrebbe generare un nuovo certificato e spacciarsi per qualcun altro", aggiunge Andrea Allievi.

Stiamo parlando in sostanza di una colonna portante nella sicurezza digitale: non ha senso cercare la protezione perfetta, perché non esiste. Basta fare in modo che il cracker non trovi vantaggi nell'attacco, rendendo quest'ultimo troppo faticoso e costoso. In altre parole, far sì che il gioco non valga la candela. Con il progredire della potenza hardware e del cloud computing però questo approccio diventerà sempre più oneroso, perché aumentano le risorse nelle mani dei cracker.

Ed è proprio per evitare tale pericolo che la NSA (National Security Agency, Stati Uniti), sta già sviluppando SHA-2 ed SHA-3, che – almeno per quanto è noto – sono privi dei difetti citati. Dovrebbero garantire una certa serenità almeno per qualche anno, ma non molto a lungo: dopotutto oggi chiunque può affittare un sistema con decine e decine di core spendendo poche decine di euro, e ogni giorno questo fenomeno è più pervasivo.

Bisogna esaminare il codice con attenzione

Un altro problema, non meno importante, riguarda l'aggiornamento da un sistema all'altro. In molti usano ancora MD5 ed SHA-0, che si sono dimostrati deboli, e non è detto che tutti i servizi online passeranno alle nuove versioni di SHA velocemente.

Bisogna prima di tutto che i produttori di sistemi operativi rendano il loro prodotto compatibile con i nuovi algoritmi, ma non solo. Anche i siti web avrebbero qualche difficoltà, perché passare da un algoritmo all'altro significa chiedere a tutti gli utenti di aggiornare i propri dati di registrazione, o almeno d'inserire nuovamente la password affinché sia eseguito di nuovo l'hashing. Tutti i certificati digitali dovrebbero essere emessi nuovamente, ma in questo caso il problema non è grave perché comunque l'aggiornamento è almeno annuale.