Google riesce a fare breccia nel SHA-1: giorno storico

Indice

Sono passati oltre 20 anni da quando il protocollo di sicurezza SHA-1 è entrato in vigore. In questi 20 anni ne sono nati degli altri e lo stesso SHA si è evoluto. Oggi i ricercatori Google sono riusciti a dimostrare la prima collision del protocollo che sembra destinarlo definitivamente al pensionamento.

Innanzitutto rispondiamo alla domanda più importante: che cosa è una collisione.

Fonte: Google Security Blog
Fonte: Google Security Blog

La collisione si verifica quando due differenti blocchi dati hanno la medesima firma (hash), il che li rende essenzialmente identici nel processo di cifratura. Questa evenienza non dovrebbe mai accadere, proprio perchè ogni file è un’unità di dati indipendente. In questo articolo non analizzeremo le motivazioni tecniche, finemente spiegate da Google in questa pagina. Bensì andremo ad analizzare le motivazioni sottese a questo attacco.

Come è la collisione

Il protocollo di sicurezza SHA-1 fu inventato più di venti anni fa e come molti di voi potranno immaginare, è stato considerato ormai obsoleto. Tuttavia, poiché fino ad oggi nessuno era riuscito a manometterlo facendo breccia, il protocollo era rimasto attivo ed in uso su molti sistemi. Fare breccia all’interno di un algoritmo di cifratura è solo questione di tempo: con il passare degli anni la tecnologia aumenta le sue prestazioni e la capacità di calcolo incrementa esponenzialmente. Questo è quello che è successo nel caso del SHA-1 e, prima di lui, per altri algoritmi. Google cerca di spiegare questo concetto con una frase molto chiara:

We hope that our practical attack against SHA-1 will finally convince the industry that it is urgent to move to safer alternatives such as SHA-256.

Speriamo che il nostro attacco potrà finalmente convincere l’industria sull’urgenza di utilizzare alternative più sicure come il protocollo SHA-256.

 

L’evoluzione di Internet è passata per protocolli che erano considerati sicuri fino a pochi anni fa ed oggi sono ritenuti assolutamente inadeguati per un ambiente di produzione degno di avere questo nome. Potremmo citare, in tal senso, il protocollo di cifratura MD5, o il ben più conosciuto SSL. Nell’immagine seguente Google dimostra quanto la tecnologia possa incidere sulla sicurezza.

Fonte: Google Security Blog
Fonte: Google Security Blog

Per rompere la cifratura MD5 è sufficiente uno smartphone e 30 secondi di tempo. Per una SHA-1 sono necessarie 110 Graphic Processing Unit (e quelle di NVIDIA sono molto potenti) e un anno di tempo con un attacco di tipo Shattered. Se si utilizzasse la forza bruta (ossia tentativi casuali via via sempre più complessi), occorrerebbero 12.000.000 di GPU e un anno di tempo.

Che cosa è un attacco “shattered”

Shattered significa frantumare ed è un tipo di attacco sviluppabile sulle piattaforme Microsoft Windows, intervenendo sul sistema di messaggistica che Windows usa tra le applicazioni. Lo scopo è l’introduzione di codice exploit all’interno della memoria del sistema operativo in modo da permettere l’esecuzione via linea di comando. Più semplicemente significa usare le API di Windows per avere privilegi di alto livello e poter eseguire il codice necessario. I Black Hat hanno rilasciato tempo fa un paper su questo argomento che rendo disponibile qui.

 

Perché questo test

Perché la preoccupazione che affligge molti addetti ai lavori è che, tutt’ora, grandi aziende e privati affidano la sicurezza delle comunicazioni ad un protocollo considerato obsoleto a fronte di un’economicità tutta da dimostrare. Se, infatti, il protocollo ha un prezzo basso di adozione, dall’altro potrebbe comportare una perdita di dati o una breccia di sicurezza dal costo ben più alto dell’immaginabile. Ciò nonostante l’impiego di questo protocollo continua ad essere largamente usato proprio perchè, fino ad ora, non era mai stato manipolato.

Google attenderà 90 giorni prima di rilasciare il codice sorgente con cui viene spiegato come è avvenuto l’attacco, dando così tempo alle aziende di passare ad una sicurezza più conforme alle necessità odierne.

 

Consigli sulla sicurezza…ovvi ma sempre importanti

Quella di oggi è una notizia importante ma anche prevedibile. Il team che ha lavorato a questo risultato è basato su cripto-analisti e staff messo a disposizione dei laboratori di sicurezza di Google. Il ruolo di Google, in particolare, è stato quello di agevolare i calcoli necessari all’esecuzione dell’attacco: lavoro non di poco conto se considerassimo l’infrastruttura utilizzata dal team. Ciò detto la preoccupazione è che questo attacco possa essere rivolto a strutture governative e soggetti di un certo spessore, per i quali valga la pena impiegare una capacità di calcolo non indifferente. È dal 2013 che si sta provando, sempre più assiduamente, a creare una collisione nel protocollo SHA-1 ed oggi, dopo 3 anni, i tecnici sono riusciti a dimostrarlo.

Banche, istituzioni, multinazionali, aziende e anche privati cittadini che affidano i loro dati a infrastrutture cifrate, devono imparare a conoscere la sicurezza. È come se apriste un conto corrente in banca e scopriste successivamente che in quella banca le casseforti non esistono e i soldi venissero tenuti in cassetti di legno protetti da una semplice serratura. Aprireste un conto in una banca così? Probabilmente solo se non aveste molti soldi, ma la risposta sensata è no.

 

In particolare…

I proprietari di siti che fanno uso di protocolli di sicurezza possono verificare la tipologia di cifratura esaminando i dettagli del certificato. Poi, chiaramente, in caso di violazione, possono richiedere al fornitore di servizi l’aggiornamento della sicurezza infrastrutturale.

 

Per molti altri, oggi è un giorno ordinario, nel quale la storia ha semplicemente messo la parola fine ad un protocollo obsoleto che già sarebbe dovuto essere abbandonato da tempo.