Hai scaricato un programma o un’immagine ISO: il nome sembra corretto, la dimensione è plausibile, ma come sapere se il contenuto corrisponde a quello distribuito dal produttore? Un controllo dell’hash aiuta a rispondere senza aprire né eseguire il file. Il punto decisivo, però, è avere un valore di riferimento affidabile.
Un hash, chiamato anche digest, è un’impronta calcolata a partire dal contenuto di un file. A parità di algoritmo, lo stesso contenuto produce sempre lo stesso risultato. Rinominare un file non cambia la sua impronta; modificarne il contenuto, invece, normalmente sì. Con un algoritmo crittografico robusto, trovare contenuti diversi con lo stesso hash deve essere impraticabile.
Prima del comando, scegli il riferimento giusto
Apri la pagina ufficiale del produttore e cerca l’hash associato al download. Controlla che riguardi proprio il file che hai scaricato: stessa versione, stessa architettura e stesso formato. L’installer per Windows a 64 bit e l’archivio della versione portabile, per esempio, sono file diversi e avranno impronte diverse.
Verifica anche l’algoritmo indicato. Un digest SHA-256 va confrontato con un altro digest SHA-256: calcolare SHA-512 non rende il confronto più sicuro, lo rende semplicemente impossibile con quel riferimento. Per proteggersi da alterazioni intenzionali, evita di considerare MD5 e SHA-1 garanzie adeguate: non sono più ritenuti sicuri contro gli attacchi.
Calcolare l’impronta con PowerShell
Apri PowerShell e usa Get-FileHash. Nell’esempio seguente devi sostituire il percorso con quello reale del tuo download:
$risultato = Get-FileHash -LiteralPath 'C:\Users\Nome\Downloads\programma.exe' -Algorithm SHA256
$risultato | Format-List
Il comando calcola l’hash del file e mostra algoritmo, impronta e percorso. -LiteralPath fa interpretare il percorso così com’è, senza trattare eventuali caratteri come caratteri jolly; le virgolette consentono di includere anche spazi. SHA-256 è già l’algoritmo predefinito di Get-FileHash, ma indicarlo esplicitamente rende chiaro quale controllo stai facendo.
Confronta il valore del campo Hash con quello pubblicato dal produttore. Deve corrispondere l’intera impronta, non soltanto l’inizio e la fine. Per evitare una lettura frettolosa puoi far eseguire il confronto a PowerShell, sostituendo il segnaposto tra virgolette con il solo digest ufficiale, senza il nome del file o altre etichette:
$atteso = 'INCOLLA_QUI_IL_DIGEST_PUBBLICATO'
$risultato.Hash -eq $atteso
Il confronto restituisce True se i valori coincidono e False se sono diversi. Questo risultato va letto solo dopo che il calcolo precedente è terminato senza errori: un percorso sbagliato o un file non accessibile non costituiscono una verifica valida.
Che cosa significa il risultato
Se il confronto fallisce, non eseguire il file. Prima controlla di aver scelto versione e algoritmo corretti e di aver copiato bene il riferimento. Una differenza non dimostra automaticamente un attacco: potresti avere un’altra edizione del programma oppure un download incompleto. Se necessario, scarica nuovamente il file dal canale ufficiale e ripeti il controllo.
Se i valori coincidono, con un algoritmo robusto hai una forte evidenza che il contenuto corrisponda a quello rappresentato dall’impronta di riferimento. Non hai però dimostrato, con questo solo passaggio, chi abbia pubblicato quel riferimento o che il programma sia innocuo.
L’hash non può garantire la propria provenienza
Immagina che qualcuno sostituisca un installer su un sito e possa modificare anche la pagina che ne mostra l’hash. Gli basterebbe pubblicare l’impronta del file alterato: il tuo confronto darebbe esito positivo. L’algoritmo avrebbe funzionato perfettamente, ma il riferimento sarebbe stato ingannevole.
Per questo conta la provenienza del digest. Un valore trovato accanto al download su un sito sconosciuto non diventa affidabile solo perché è etichettato “SHA-256”. Recuperarlo dal canale ufficiale del produttore è un punto di partenza più solido, ma file e impronta possono comunque dipendere dalla sicurezza dello stesso canale.
La distinzione da ricordare è semplice: l’hash verifica la corrispondenza dei contenuti; da solo non autentica il produttore e non certifica la sicurezza del software. È un controllo prezioso prima di usare un download, non un motivo per fidarsi di qualunque file che lo superi.
AUTORE
Redazione ThreatHunting.it
Da piu' di 30 anni sono appassionato di computers e tecnologia. il mio primo programma lo sviluppai in Basic nel 1989, non era un gran che :).. ma quella voglia di scrivere codici non mi ha piu' lasciato …
COMMUNITY
Non ci sono ancora commenti. Puoi iniziare tu la conversazione.