Google uccide SHA-1 con un attacco di collisione riuscito

È ufficiale: l'algoritmo di crittografia SHA-1 è stato "SHAttered". Google ha rotto con successo SHA-1. E adesso cosa?

Dopo anni di avvertimenti che i progressi nell'informatica moderna significavano che un attacco di collisione riuscito contro SHA-1 era imminente, un team di ricercatori di Google e Centrum Wiskunde & Informatica (CWI) nei Paesi Bassi ha sviluppato con successo la prima collisione SHA-1 riuscita. In termini pratici, SHA-1 non dovrebbe essere invocato per la sicurezza pratica.

Le moderne funzioni hash crittografiche dipendono dal fatto che l'algoritmo genera un hash crittografico diverso per ogni file. Una collisione hash si riferisce alla presenza di due file separati con lo stesso hash. Il fatto che le debolezze crittografiche in SHA-1 rendano i certificati che utilizzano l'algoritmo SHA-1 potenzialmente vulnerabili agli attacchi di collisione è ben noto. Il National Institute of Standards and Technology ha deprecato SHA-1 più di cinque anni fa e gli esperti hanno sollecitato a lungo le organizzazioni a passare a algoritmi hash più potenti. Fino ad ora, l'unica cosa valida per SHA-1 era il fatto che gli attacchi di collisione erano ancora costosi e teorici.

Non più, poiché il team di ricerca guidato da Google ha sviluppato un metodo che consente loro di generare due file PDF con contenuti diversi ma generando lo stesso hash SHA-1. Sebbene l'attacco di collisione sia ancora costoso, l'attacco "SHA-1 frantumato" non è più teorico, il che significa che l'attacco è alla portata di chiunque sia sufficientemente motivato e con tasche sufficientemente profonde.

"Abbiamo iniziato creando un prefisso PDF appositamente predisposto per permetterci di generare due documenti con contenuti visivi distinti arbitrari, ma questo sarebbe stato hash allo stesso digest SHA-1", hanno scritto il team di Google e CWI in un post sul blog. "Siamo stati in grado di trovare questa collisione combinando molte speciali tecniche crittoanalitiche in modi complessi e migliorando il lavoro precedente".

Tuttavia, vale la pena notare che la falsificazione dei certificati digitali rimarrà difficile grazie alle nuove regole CA / Browser Forum che richiedono l'aggiunta di 20 bit di casualità ai numeri di serie dei certificati digitali.

SHA-1 è morto; agire in accordo con

A novembre, una ricerca di Venafi ha rilevato che il 35% delle organizzazioni utilizzava ancora i certificati SHA-1. "Queste aziende potrebbero anche mettere un segno di benvenuto per gli hacker che dice: 'Non ci interessa la sicurezza delle nostre applicazioni, dati e clienti'", ha affermato Kevin Bocek, chief security strategist di Venafi. "Attacchi contro SHA -1 non sono più fantascienza ".

Anche se molte organizzazioni hanno lavorato alla migrazione a SHA-2 nell'ultimo anno, il passaggio non è completo al 100%, il che significa che le organizzazioni che non hanno ancora terminato (o avviato!) Il passaggio sono ora a rischio. Gli aggressori ora hanno la prova che gli attacchi di collisione sono possibili e, in base alla politica di divulgazione di Google, il codice che consentirebbe agli aggressori di creare questi documenti PDF sarà pubblico entro 90 giorni. L'orologio sta ticchettando.

Il browser Web Chrome di Google ha iniziato a contrassegnare i siti Web che ancora utilizzano certificati digitali firmati con SHA-1 come non affidabili all'inizio del 2017 e Microsoft e Mozilla dovrebbero seguire l'esempio con Edge e Firefox. Secondo le ultime linee guida del CA / Browser Forum, l'ente principale che regola il modo in cui le autorità di certificazione rilasciano i certificati TLS, ai fornitori di browser e alle CA è vietato emettere certificati SHA-1.

Il team di ricerca ha creato uno strumento online che scansiona le collisioni SHA-1 nei documenti sul sito web shattered.io. Google ha già integrato le protezioni in Gmail e Google Drive.

Sebbene un numero significativo di organizzazioni abbia preso a cuore gli avvertimenti e abbia migrato i propri siti Web, molte utilizzano ancora SHA-1 per il software di firma digitale e per verificare firme digitali e chiavi crittografiche per infrastrutture non rivolte al Web come aggiornamenti software, sistemi di backup, e altre applicazioni. Anche gli strumenti di controllo della versione si basano su SHA-1 - Git, ad esempio, "si affida fortemente" a SHA-1.

"È essenzialmente possibile creare due repository GIT con lo stesso hash head commit e contenuti diversi, ad esempio un codice sorgente benigno e uno backdoor", hanno scritto i ricercatori sul sito shattered.io. "Un utente malintenzionato potrebbe potenzialmente fornire selettivamente uno dei due repository agli utenti mirati".

Il cielo non sta cadendo ... ancora

Detto questo, l'attacco è ancora difficile e il malware armato che utilizza SHAttered non colpirà le reti dall'oggi al domani. I ricercatori hanno detto che trovare la collisione era difficile e a volte sembrava "poco pratico". "Alla fine l'abbiamo risolto descrivendo questo problema come un problema matematico", hanno scritto i ricercatori.

Il team ha finito per eseguire più di 9 quintilioni (9.223.372.036.854.775.808) di calcoli SHA-1 in totale, che si sono tradotti in circa 6.500 anni di calcoli con singola CPU per completare la prima fase dell'attacco e 110 anni di calcoli con singola GPU per completare il seconda fase. La tecnica è ancora più di 100.000 volte più veloce di un attacco a forza bruta.

Il cluster di CPU eterogeneo utilizzato nella prima fase è stato ospitato da Google e distribuito su otto posizioni fisiche. Anche il cluster eterogeneo di GPU K20, K40 e K80 utilizzato nella seconda fase è stato ospitato da Google.

Anche se questi numeri sembrano molto grandi, gli stati-nazione e molte grandi aziende hanno l'esperienza di crittoanalisi e le risorse finanziarie per ottenere abbastanza GPU per farlo in un tempo ragionevole, se davvero lo volessero.

Nel 2015, un diverso gruppo di ricercatori ha rivelato un metodo che avrebbe messo il costo di creare una collisione SHA-1 di successo utilizzando il cloud EC2 di Amazon tra $ 75.000 e $ 120.000. Il team di Google ha stimato che l'esecuzione della seconda fase dell'attacco nell'EC2 di Amazon costerebbe circa $ 560.000, ma se l'aggressore è paziente e disposto ad adottare un approccio più lento, il costo scende a $ 110.000, ben all'interno dell'intervallo stimato nel 2015.

Qual è il prossimo?

L'industria sa dal 2011 che questo giorno sta arrivando e la maggior parte dei fornitori ha affermato che avrebbe accelerato i propri piani di ritiro e le scadenze se un attacco più forte diventasse realtà. Il NIST ha raccomandato a tutti di passare da SHA-1 a SHA-2, così come il CA / Browser Forum. Aspettatevi di ascoltare nuove tempistiche e pianificazioni dai principali fornitori nelle prossime settimane e incorporare le modifiche di conseguenza nella vostra infrastruttura.

"Sappiamo che SHA-1 è stato sorvegliato da anni", ha detto Tod Beardsley, direttore della ricerca al Rapid7. “Una volta che una tecnologia diventa un luogo comune su Internet, è quasi impossibile eliminarla, anche di fronte a prove schiaccianti della sua insicurezza. Tuttavia, non sono ancora pronto a farmi prendere dal panico per questa scoperta. "

Ma SHA-2 è soggetto alle stesse debolezze matematiche di SHA-1, quindi perché non passare all'algoritmo SHA-3 più potente, che non condivide gli stessi problemi? Come mi ha detto Roger Grimes, questa non è un'idea pratica per diversi motivi e probabilmente porterebbe a difficoltà su vasta scala e sfide operative. Sebbene il NIST abbia raccomandato il passaggio a SHA-3 dall'agosto 2015, praticamente nessun sistema operativo o software lo supporta per impostazione predefinita. Inoltre, SHA-2 non è considerato operativamente debole come SHA-1 perché le sue lunghezze di hash sono più lunghe, quindi è abbastanza buono da usare per ora. Le lunghezze hash SHA-2 variano da 192 bit a 512 bit, sebbene 256 bit sia la più comune. La maggior parte dei fornitori inizierà ad aggiungere più supporto SHA-3 nel tempo, quindi "È meglio utilizzare la migrazione a SHA-2 come opportunità per imparare cosa fare per l'inevitabile migrazione da SHA-2 a SHA-3.

Gli avvertimenti ci sono sempre stati e ora il tempo degli avvertimenti è finito. I team IT devono completare la migrazione da SHA-1 a SHA-2 e dovrebbero sfruttare la notizia che un attacco di collisione riuscito è ora a portata di mano come il martello per spingere la gestione a dare la priorità al progetto.