Cos'è SHAttered? SHA-1 Collision Attacks, Explained

Mar 1, 2025
Privacy e sicurezza

Il primo giorno del 2016, Mozilla ha interrotto il supporto per una tecnologia di sicurezza indebolita chiamata SHA-1 nel browser Web Firefox. Quasi immediatamente, hanno annullato la loro decisione, poiché avrebbe interrotto l'accesso ad alcuni siti Web meno recenti. Ma nel febbraio 2017 le loro paure si sono finalmente avverate: i ricercatori hanno rotto SHA-1 creando il primo attacco di collisione nel mondo reale . Ecco cosa significa tutto ciò.

Cos'è SHA-1?

SHA in SHA-1 sta per Algoritmo hash sicuro e, in poche parole, puoi pensarlo come una specie di problema di matematica o metodo rimescola i dati che vengono inseriti in esso . Sviluppato dalla NSA degli Stati Uniti, è un componente fondamentale di molte tecnologie utilizzate per crittografare importanti trasmissioni su Internet. I metodi di crittografia comuni SSL e TLS, di cui potresti aver sentito parlare, possono utilizzare una funzione hash come SHA-1 per creare i certificati firmati che vedi nella barra degli strumenti del browser.

Non approfondiremo la matematica e l'informatica di nessuna delle funzioni SHA, ma ecco l'idea di base. Un "hash" è un codice univoco basato sull'input di qualsiasi dato . Anche una piccola stringa casuale di lettere immessa in una funzione hash come SHA-1 restituirà un numero lungo e stabilito di caratteri, rendendo (potenzialmente) impossibile ripristinare la stringa di caratteri ai dati originali. Questo è il modo in cui normalmente funziona l'archiviazione delle password. Quando crei una password, la password immessa viene sottoposta ad hashing e archiviata dal server. Al tuo ritorno, quando digiti la password, viene nuovamente hash. Se corrisponde all'hash originale, si può presumere che l'input sia lo stesso e ti verrà concesso l'accesso ai tuoi dati.

Le funzioni hash sono utili principalmente perché rendono facile capire se l'input, ad esempio, un file o una password, è cambiato. Quando i dati di input sono segreti, come una password, è quasi impossibile invertire l'hash e recuperare i dati originali (noti anche come "chiave"). Questo è un po 'diverso dalla "crittografia", il cui scopo è rimescolare i dati allo scopo di decodificarli in un secondo momento , utilizzando cifre e chiavi segrete. Gli hash hanno semplicemente lo scopo di garantire l'integrità dei dati, per assicurarsi che tutto sia uguale. Git, il software di controllo e distribuzione della versione per il codice open source, utilizza gli hash SHA-1 proprio per questo motivo .

Sono molte informazioni tecniche, ma per dirla semplicemente: un hash non è la stessa cosa della crittografia, da allora viene utilizzato per identificare se un file è stato modificato .

In che modo questa tecnologia influisce su di me?

Supponiamo che tu debba visitare un sito web in privato. La tua banca, la tua e-mail, persino il tuo account Facebook, utilizzano tutti la crittografia per mantenere privati ​​i dati che invii loro. Un sito Web professionale fornirà la crittografia ottenendo un certificato da un'autorità attendibile, una terza parte, affidabile per garantire che la crittografia sia a livello, privata tra il sito Web e l'utente e non venga spiata da nessun'altra parte. Questo rapporto con la terza parte, chiamato Autorità di certificazione , o QUELLA , è fondamentale, dal momento che qualsiasi utente può creare un certificato "autofirmato", puoi persino farlo fai da te su una macchina che esegue Linux con Openssl . Symantec e Digicert sono due società di CA ampiamente note, ad esempio.

Esaminiamo uno scenario teorico: How-To Geek vuole mantenere private le sessioni degli utenti collegati con la crittografia, quindi richiede a una CA come Symantec Richiesta di firma del certificato , o CSR . Creano un file chiave pubblica e chiave privata per crittografare e decrittografare i dati inviati su Internet. La richiesta CSR invia la chiave pubblica a Symantec insieme alle informazioni sul sito Web. Symantec controlla la chiave rispetto al suo record per verificare che i dati non siano stati modificati da tutte le parti, poiché qualsiasi piccola modifica nei dati rende l'hash radicalmente diverso.

Quelle chiavi pubbliche e certificati digitali sono firmati da funzioni hash, perché l'output di queste funzioni è facile da vedere. Una chiave pubblica e un certificato con un hash verificato da Symantec (nel nostro esempio), un'autorità, assicura a un utente di How-To Geek che la chiave è invariata e non inviata da qualcuno malintenzionato.

Poiché l'hash è facile da monitorare e impossibile (alcuni direbbero "difficile") da invertire, la firma hash corretta e verificata significa che il certificato e la connessione possono essere considerati attendibili e i dati possono essere concordati per essere inviati crittografati dall'inizio alla fine . Ma cosa succede se l'hash in realtà non era unico ?

Che cos'è un attacco di collisione ed è possibile nel mondo reale?

Potresti aver sentito parlare di "Problema di compleanno" in matematica , anche se potresti non sapere come si chiamava. L'idea di base è che se riunisci un gruppo di persone abbastanza grande, è molto probabile che due o più persone compiano lo stesso compleanno. Più in alto di quanto ti aspetteresti, infatti, abbastanza da sembrare una strana coincidenza. In un gruppo di 23 persone, c'è una probabilità del 50% che due condividano un compleanno.

Questa è la debolezza intrinseca di tutti gli hash, incluso SHA-1. Teoricamente, la funzione SHA dovrebbe creare un hash univoco per tutti i dati che vi vengono inseriti, ma man mano che il numero di hash cresce, diventa più probabile che coppie di dati differenti possano creare lo stesso hash. Quindi si potrebbe creare un certificato non attendibile con un hash identico a un certificato attendibile. Se ti convincono a installare quel certificato non attendibile, potrebbe mascherarsi come attendibile e distribuire dati dannosi.

La ricerca di hash corrispondenti all'interno di due file è chiamata a attacco di collisione . È noto che almeno un attacco di collisione su larga scala è già avvenuto per gli hash MD5. Ma il 27 febbraio 2017, Google ha annunciato SHAttered , la prima collisione mai realizzata per SHA-1. Google è stata in grado di creare un file PDF con lo stesso hash SHA-1 di un altro file PDF, nonostante avesse contenuti diversi.

SHAttered è stato eseguito su un file PDF. I PDF sono un formato di file relativamente sciolto; È possibile apportare molte piccole modifiche a livello di bit senza impedire ai lettori di aprirlo o causare differenze visibili. I PDF vengono spesso utilizzati anche per fornire malware. Sebbene SHAttered possa funzionare su altri tipi di file, come gli ISO, i certificati sono specificati rigidamente, rendendo improbabile un simile attacco.

Quindi quanto è facile eseguire questo attacco? SHAttered era basato su un file metodo scoperto da Marc Stevens nel 2012 che ha richiesto oltre 2 ^ 60,3 (9,223 quintilioni) di operazioni SHA-1, un numero sbalorditivo. Tuttavia, questo metodo è ancora 100.000 volte meno operazioni di quanto sarebbe necessario per ottenere lo stesso risultato con la forza bruta. Google ha scoperto che con 110 schede grafiche di fascia alta che lavorano in parallelo, ci vorrebbe circa un anno per produrre una collisione. Il noleggio di questo tempo di elaborazione da Amazon AWS costerebbe circa $ 110.000. Tieni presente che quando i prezzi dei componenti del computer scendono e puoi ottenere più potenza con meno, attacchi come SHAttered diventano più facili da eseguire.

$ 110.000 possono sembrare molti, ma per alcune organizzazioni rientra nel regno della convenienza, il che significa che i cybervilliani della vita reale potrebbero falsificare firme di documenti digitali, interferire con i sistemi di backup e controllo delle versioni come Git e SVN o far sembrare legittima una ISO Linux dannosa.

Fortunatamente, esistono fattori attenuanti che impediscono tali attacchi. SHA-1 è più raramente utilizzato per le firme digitali. Le autorità di certificazione non forniscono più certificati firmati con SHA-1 e sia Chrome che Firefox hanno abbandonato il supporto per loro. Le distribuzioni Linux in genere vengono rilasciate più di una volta all'anno, rendendo poco pratico per un utente malintenzionato creare una versione dannosa e quindi generarne una riempita per avere lo stesso hash SHA-1.

D'altra parte, alcuni attacchi basati su SHAttered stanno già avvenendo nel mondo reale. Il sistema di controllo della versione SVN utilizza SHA-1 per differenziare i file. Il caricamento dei due PDF con hash SHA-1 identici in un repository SVN lo causerà corrompere .

Come posso proteggermi dagli attacchi SHA-1?

Non c'è molto da fare per l'utente tipico. Se utilizzi i checksum per confrontare i file, dovresti utilizzare SHA-2 (SHA-256) o SHA-3 anziché SHA-1 o MD5. Allo stesso modo, se sei uno sviluppatore, assicurati di utilizzare algoritmi di hashing più moderni come SHA-2, SHA-3 o bcrypt. Se sei preoccupato che SHAttered sia stato utilizzato per fornire a due file distinti lo stesso hash, Google ha rilasciato uno strumento sul Sito alterato che può controllare per te.

Crediti immagine: Lego Firefox , Un sacco di hash , Per favore, non danneggiare l'autore Web sconosciuto, Google .

What Is SHAttered? SHA-1 Collision Attacks, Explained

Shattered SHA-1 Exploit Explained

SHA-1 Shattered: Overview Of SHA-1, How And Why It Broke

Looking At SHA-1 Collision

USENIX Security '17 - Speeding Up Detection Of SHA-1 Collision Attacks...

SHA1 Collision - What's It All About?

SHAttered - SHA-1 - CS50 Live - S3E1

How We Created The First SHA-1 Collision And What It Means For Hash Security

Security Snippets: MD5, SHA-1 And SHA-2

SHAttered - SHA1 Busted: Demo Of The Files Used For The Collision Attack

How We Created The First SHA-1 Collision And What It Means For Hash Security - Defcon 25

USENIX Security '20 - SHA-1 Is A Shambles: First Chosen-Prefix Collision On SHA-1 And Application


Privacy e sicurezza - Articoli più popolari

I modi migliori per proteggere il tuo server SSH

Privacy e sicurezza Oct 15, 2025

Eny Setiyowati / Shutterstock.com Proteggi la connessione SSH del tuo sistema Linux per proteggere il tuo sistema e i tuoi dati. Sia gli amminist..


Come eliminare tutte le informazioni sulla posizione dai tuoi tweet precedenti

Privacy e sicurezza Aug 15, 2025

CONTENUTO UNCACHED Il luogo in cui vivi è un luogo piuttosto privato. È preoccupante, è fin troppo facile trapelare sui social media senza volerlo davvero. Ad esempio, è possi..


Sicurezza Wi-Fi: dovresti usare WPA2-AES, WPA2-TKIP o entrambi?

Privacy e sicurezza Jul 20, 2025

Molti router forniscono WPA2-PSK (TKIP), WPA2-PSK (AES) e WPA2-PSK (TKIP / AES) come opzioni. Scegli quello sbagliato, però, e avrai una rete più lenta e meno sicura. Wir..


Come (e perché) Microsoft blocca gli aggiornamenti di Windows 7 sui nuovi PC

Privacy e sicurezza Jul 3, 2025

CONTENUTO UNCACHED Microsoft non vuole che tu continui a installare Windows 7 (o 8) sui nuovi PC. Se ci provi, vedrai un messaggio "Hardware non supportato" e il tuo PC non riceve..


Le diverse forme di autenticazione a due fattori: SMS, app di autenticazione e altro

Privacy e sicurezza Jun 8, 2025

Molti servizi online offrire autenticazione a due fattori , che migliora la sicurezza richiedendo qualcosa di più della semplice password per accedere. E..


Come bloccare o gestire le notifiche in Google Chrome

Privacy e sicurezza Mar 1, 2025

Le webapp hanno fatto molta strada. Grazie a funzionalità come le notifiche, possono persino sostituire le tradizionali app desktop per molte persone. Ma se preferisci non essere b..


Come configurare e utilizzare Apple Pay sul tuo Apple Watch

Privacy e sicurezza Dec 21, 2024

CONTENUTO UNCACHED Grazie alla proliferazione di terminali compatibili con Apple Pay che spuntano dai rivenditori in tutto il mondo, è più facile che mai pagare i tuoi acquisti ..


VirtualBox 4.0 Rocks Extensions e una GUI semplificata

Privacy e sicurezza Dec 23, 2024

CONTENUTO UNCACHED Se sei un fan di VirtualBox vorrai sicuramente prendere il nuovo aggiornamento 4.0; viene fornito con un gestore di estensioni, una GUI fresca e intuitiva, antepr..


Categorie