I ricercatori dell'istituto francese di ricerca in informatica e automazione (INRIA) e della Nanyang Technological University (Singapore) hanno presentato un metodo di attacco (), che si propone come la prima realizzazione pratica di un attacco all'algoritmo SHA-1, utilizzabile per creare firme digitali false PGP e GnuPG. I ricercatori ritengono che ora tutti gli attacchi pratici su MD5 possano essere applicati anche a SHA-1, sebbene richiedano ancora risorse significative per essere attuati.
Il metodo si basa sull'effettuazione , che consente di trovare due set di dati arbitrarî ai quali possono essere aggiunti dei supplementi, in modo tale che, una volta allegati, si ottengano set che danno luogo a una collisione, il che significa che l'applicazione dell'algoritmo SHA-1 produrrà lo stesso hash risultante. In altre parole, per due documenti esistenti è possibile calcolare due supplementi, e se uno viene aggiunto al primo documento e l'altro al secondo, gli hash SHA-1 risultanti per questi file saranno identici.
Il nuovo metodo si distingue dalle tecniche simili proposte in precedenza per l'aumento dell'efficienza nella ricerca di collisioni e per la dimostrazione di un'applicazione pratica in un attacco a PGP. In particolare, i ricercatori sono riusciti a preparare due chiavi pubbliche PGP di dimensioni diverse (RSA-8192 e RSA-6144) con identificatori utente differenti e certificati che provocano collisioni SHA-1. inclusa l'identificatore della vittima, e inclusa il nome e l'immagine dell'attaccante. Grazie alla selezione della collisione, il certificato identificativo contenente la chiave e l'immagine dell'attaccante aveva lo stesso hash SHA-1 del certificato identificativo contenente la chiave e il nome della vittima.
L'attaccante poteva richiedere una firma digitale per la sua chiave e la sua immagine a un'autorità di certificazione di terze parti, dopodiché trasferire la firma digitale per la chiave della vittima. La firma digitale rimane valida a causa della collisione e della convalida della chiave dell'attaccante da parte dell'autorità di certificazione, permettendo all'attaccante di ottenere il controllo anche sulla chiave con il nome della vittima (poiché l'hash SHA-1 per entrambe le chiavi coincide). In conclusione, l'attaccante può spacciarsi per la vittima e firmare qualsiasi documento a suo nome.
L'attacco rimane ancora piuttosto costoso, ma è già alla portata dei servizi segreti e delle grandi aziende. Per una semplice ricerca di collisioni utilizzando una GPU NVIDIA GTX 970, il costo è stato di 11.000 dollari, mentre per la ricerca di collisioni con un prefisso specifico è stato di 45.000 dollari (per confronto, nel 2012 i costi per la ricerca di collisioni in SHA-1 erano stimati in 2 milioni di dollari, e nel 2015 – a 700.000). Per effettuare un attacco pratico su PGP sono stati necessari due mesi di calcoli utilizzando 900 GPU NVIDIA GTX 1060, e il noleggio di queste ha comportato per i ricercatori una spesa di 75.000 dollari.
Il metodo proposto dai ricercatori per la rilevazione delle collisioni è circa 10 volte più efficiente rispetto ai risultati precedenti: il livello di difficoltà dei calcoli per le collisioni è stato ridotto a 261,2 operazioni, rispetto a 264,7, mentre le collisioni con un prefisso specifico a 263,4 operazioni invece di 267,1. I ricercatori raccomandano di passare il prima possibile da SHA-1 all'uso di SHA-256 o SHA-3, poiché prevedono che nel 2025 il costo per eseguire un attacco scenderà a 10.000 dollari.
Gli sviluppatori di GnuPG sono stati avvisati del problema il 1° ottobre (CVE-2019-14855) e il 25 novembre, con il rilascio di GnuPG 2.2.18, hanno adottato misure per bloccare i certificati problematici: tutte le firme digitali identificative SHA-1 create dopo il 19 gennaio dello scorso anno sono ora riconosciute come non valide. In CAcert, uno dei principali centri di certificazione per le chiavi PGP, si prevede di passare all'uso di funzioni hash più sicure per la certificazione delle chiavi. Gli sviluppatori di OpenSSL, in risposta alle informazioni su questo nuovo metodo di attacco, hanno deciso di disabilitare SHA-1 nel primo livello di sicurezza proposto per default (SHA-1 non sarà utilizzabile per certificati e firme digitali durante il processo di negoziazione delle connessioni).
Fonte: opennet.ru
