Quando scarichiamo un'immagine ISO o un file DMG per installare un software su macOS, Windows o Linux, non basta che "sembra" che tutto sia andato a buon fine. Dobbiamo assicurarci che i dati siano identici a quelli pubblicati dallo sviluppatore.che non siano stati corrotti lungo il cammino e che nessuno li abbia manipolati con cattive intenzioni.
In questo contesto entrano in gioco i checksum, gli hash crittografici e, nel caso di macOS, firme digitali e convalida dei certificatiCapire come funziona tutto questo è fondamentale per fidarsi di un programma di installazione, per convalidare un'immagine ISO che si intende masterizzare su un'unità USB con balenaEtcher o Ventoy e, in generale, per trasferire file importanti senza sorprese.
Cos'è esattamente un checksum e quale ruolo svolge?
Un checksum è, essenzialmente, una stringa di caratteri alfanumerici che riassume il contenuto di un fileSi ottiene applicando un algoritmo matematico (una funzione hash crittografica) ai bit del file e funge da impronta digitale univoca per verificarne l'integrità .
Quando un fornitore di software rilascia un programma di installazione, un'immagine ISO o un aggiornamento importante, di solito include il relativo checksum. L'utente scarica il file, calcola localmente lo stesso tipo di hash e confronta i due valori.Se corrispondono, è estremamente probabile che il file sia identico all'originale; in caso contrario, qualcosa è andato storto (corruzione durante il download, manipolazione malevola, errori di archiviazione, ecc.).
Queste somme sono anche note come valori hash, codici hash, somme hash o semplicemente hashLa loro utilità va ben oltre i download: vengono utilizzati per controllare i pacchetti sulle reti, per archiviare in modo sicuro le password nei database, per firmare le email o per garantire l'integrità delle immagini forensi di interi dischi.
Come funziona una funzione hash: dal file all'impronta digitale
Le funzioni hash crittografiche sono algoritmi unidirezionali: Prendono in input dati di qualsiasi dimensione e producono in output dati di lunghezza fissa.Non importa se il file di input è di pochi kilobyte o di diversi gigabyte; il risultato di SHA-256, ad esempio, sarà sempre una sequenza a 256 bit (64 caratteri esadecimali).
Una proprietà fondamentale è il cosiddetto effetto valanga: Una minima modifica nei dati di input produce un hash completamente diversoSe calcoli l'hash MD5 della frase "This is a test." e poi rimuovi il punto, il valore risultante sarà completamente diverso, permettendoti di rilevare anche le minime variazioni.
Inoltre, una buona funzione hash è progettata per risultare in È computazionalmente impossibile ricostruire il contenuto originale dall'hashe anche per rendere estremamente difficile trovare due input diversi che generino lo stesso valore (una collisione). Quando si scoprono collisioni pratiche in un algoritmo, come è successo con MD5 o SHA-1, questo viene considerato non sicuro per determinati usi.
Tipi di algoritmi di checksum e le loro differenze
Dietro ogni checksum si cela un algoritmo specifico. Non tutti servono allo stesso scopo o offrono lo stesso livello di garanziaEd è utile conoscere almeno le categorie più comuni per sapere cosa stiamo utilizzando in un dato momento.
Algoritmi di controllo degli errori semplici
I meccanismi leggeri che non sono propriamente crittografici, ma che aiutano a rilevare gli errori di trasmissione, sono stati utilizzati per decenni nelle reti e nei sistemi di base. Un esempio classico è il parola o byte di parità longitudinale, che raggruppa i dati in parole di n bit, applica un'operazione XOR tra tutte e aggiunge il risultato come parola extra alla fine.
In fase di ricezione, l'XOR viene ricalcolato includendo la parola somma e Se il risultato non è composto interamente da zeri, si presume che si sia verificato un errore.Si tratta di un metodo di calcolo economico e ragionevolmente efficace contro errori a singolo bit o con un numero dispari di bit, ma non rileva bene determinati schemi (come cambiamenti simmetrici in due parole o riordini di blocchi).
L'algoritmo di complemento della somma Si trattava di un tentativo di migliorare il metodo precedente. Somma le parole come numeri interi binari senza segno e aggiunge il complemento a due di quella somma come checksum. A destinazione, tutto viene sommato di nuovo, incluso il checksum, e se il risultato non è una parola di zeri, sappiamo che qualcosa è andato storto. Rimane semplice e, come la parità , Rileva errori semplici ma non è resistente alle manipolazioni intenzionali..
Somme di controllo dipendenti dalla posizione
Per ridurre il numero di casi in cui un errore passa inosservato, sono nati algoritmi che tengono conto non solo del valore delle parole, ma anche del loro ordine. I checksum dipendenti dalla posizione assegnano un peso diverso a ciascun blocco a seconda della sua posizione nella sequenza..
Esempi di questa famiglia sono Adler-32, i diversi tipi di CRC (controllo di ridondanza ciclica) o il checksum di Fletcher. Sono molto comuni nei protocolli di rete, nei file compressi e nei sistemi di archiviazione., in quanto migliorano significativamente il rilevamento di errori ripetuti, inserimenti o cancellazioni di blocchi, sebbene non siano ancora algoritmi crittograficamente robusti.
Checksum fuzzy
Nel mondo del filtraggio dello spam e del rilevamento collaborativo dello spam si utilizzano diverse tecniche: checksum approssimativiAnziché cercare che ogni minima modifica alteri completamente il valore, si cerca l'opposto: che email molto simili generino hash identici o molto simili.
Per raggiungere questo obiettivo, il contenuto del messaggio viene normalizzato e ridotto a una versione minima (eliminando parti variabili, formati, ecc.) e quindi viene calcolato il checksum. Servizi come DCC ricevono milioni di questi hash da vari provider di posta elettronica.e segnalano i modelli come potenzialmente spam quando lo stesso valore si ripete al di sopra di una certa soglia.
funzioni hash crittografiche moderne
Quando parliamo di verifica delle immagini ISO, dei programmi di installazione o firmwareÈ frequente imbattersi in algoritmi di hash crittografici come MD5, SHA-1, SHA-2 o SHA-3. Il suo obiettivo non è solo quello di rilevare errori accidentali, ma anche di resistere ad attacchi specifici. che intendono generare file dannosi con lo stesso hash di un originale legittimo.
MD5, ad esempio, è stato per anni lo standard di fatto per la convalida dei download, con hash a 128 bit. Tuttavia, sono state dimostrate collisioni pratiche e Oggi è considerato insicuro per proteggere l'integrità dagli attacchi, sebbene sia ancora utilizzato in contesti in cui conta solo l'individuazione di danni accidentali.
SHA-1 (160 bit) ha seguito un percorso simile: ampiamente adottato nei certificati, nelle firme e nella convalida dei file, ma attualmente sconsigliato per i nuovi sistemi a causa delle vulnerabilità . La famiglia SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) Ha in gran parte sostituito MD5 e SHA-1, e SHA-256 è diventato lo standard raccomandato dal NIST e utilizzato nei browser, in protocolli come TLS, VPN o persino in reti come Bitcoin.
SHA-3 è l'ultima generazione standardizzata, con lunghezze di output simili a SHA-2 ma con una diversa architettura interna. Algoritmi moderni come BLAKE2 o BLAKE3 offrono anche alta velocità e alta sicurezza.Pertanto, sono comunemente utilizzati negli strumenti e nelle applicazioni di verifica di file in blocco che richiedono prestazioni estreme.
Come controllare i checksum in Windows
In Windows non è necessario installare nulla per calcolare gli hash di base dei file. È possibile utilizzare il comando certutil nel prompt dei comandi o in PowerShell.oppure, per un utilizzo più pratico, è possibile utilizzare il cmdlet Get-FileHash in PowerShell.
Con certutil, basterebbe aprire una finestra del prompt dei comandi ed eseguire qualcosa del genere certutil -hashfile "percorso\al\file.iso" SHA256Lo strumento genererà il checksum utilizzando l'algoritmo specificato (MD5, SHA1, SHA256, SHA384, SHA512, ecc.) e basterà confrontarlo con quello fornito dallo sviluppatore sulla sua pagina.
In PowerShell, il comando Get-FileHash C:\percorso\verso\file.iso Restituisce di default un hash SHA-256 del file, sebbene sia possibile specificare altri algoritmi con il parametro -Algorithm (MD5, SHA1, SHA384, SHA512, RIPEMD160, MACTripleDES…).
Se il valore visualizzato corrisponde carattere per carattere a quello pubblicato sul sito web ufficiale, si può presumere che il file sia integro. Se il risultato è diverso, la cosa più sensata da fare è eliminarlo e scaricarlo di nuovo.perché potresti avere a che fare con un file danneggiato o manipolato da terzi con intenti malevoli.
Come convalidare i checksum in macOS: Terminale, ISO e DMG
macOS include tutto il necessario per generare e confrontare gli hash dei file, per i formati ISO, DMG e altri. Non è necessaria alcuna installazione di software aggiuntivo; è sufficiente utilizzare l'applicazione Terminale..
Il comando più versatile è `shasum`, che permette di selezionare diversi algoritmi della famiglia SHA. Ad esempio, se hai scaricato un programma di installazione come `vlc-3.0.6.dmg` e il sito web del progetto pubblica il suo hash SHA-256, su macOS puoi fare quanto segue:
shasum -a 256 vlc-3.0.6.dmg
Il terminale visualizzerà una riga con il valore hash e il nome del file, e basterà confrontarla con quella che appare sul web e verificare che non ci siano differenze. Per altri algoritmi, sono disponibili comandi diretti.: md5 per MD5, shasum -a 1 per SHA-1, -a 384 per SHA-384, -a 512 per SHA-512, ecc.
Nel caso di immagini ISO che includono un file md5sum.txt o simile, è normale che questo file contenga l'hash di ciascun file interno dell'ISO, non solo dell'immagine stessa. Una volta masterizzata l'immagine ISO sull'unità USB, è possibile montare l'unità e utilizzare il comando `md5sum -c md5sum.txt` in Linux o comandi equivalenti in macOS. per verificare file per file, anche se in macOS è più comune verificare l'hash dell'intera ISO prima di copiarla sull'unità USB.
Firme e certificati in macOS: oltre l'hash
Oltre agli hash, macOS si basa fortemente su un sistema di firme digitali, certificati e politiche di fiducia che vengono gestiti tramite Accesso Portachiavi e Gatekeeper. Il semplice fatto che un programma di installazione abbia l'hash corretto non garantisce che provenga da uno sviluppatore legittimo; a questo servono le firme del codice.
Con l'app Accesso Portachiavi puoi utilizzare Assistente certificatore Per esaminare un certificato specifico, analizzarne la politica di attendibilità e determinarne la validità , macOS verifica che il certificato sia stato emesso da un'autorità radice attendibile, che non sia scaduto e che non sia stato revocato; in base a questi elementi, consente o blocca l'esecuzione di determinati file binari.
Nella vita di tutti i giorni, quando apri un file DMG o esegui un'app scaricata da Internet, macOS combina il verifica della firma dello sviluppatore con meccanismi quali Gatekeeper e notarizzazioneLa parte relativa all'hash si concentra sull'integrità del file; la parte relativa alla firma e al certificato si occupa dell'autenticità dell'emittente.
In che modo strumenti come balenaEtcher o Ventoy verificano il contenuto di un'unità USB?
Quando si utilizzano utility come balenaEtcher o Ventoy per creare un'unità USB avviabile, non ci si limita a copiare i byte e incrociare le dita. Questi strumenti eseguono una convalida successiva per verificare che quanto scritto sull'unità corrisponda al contenuto originale., solitamente confrontando il contenuto letto dal dispositivo con quello dell'immagine ISO originale.
Il flusso di lavoro tipico è molto simile a quello che si farebbe manualmente con dd: scaricare l'immagine ISO, pulire l'unità , scrivere i dati e poi leggerli di nuovo. balenaEtcher, ad esempio, di solito legge i blocchi dall'unità USB e li confronta direttamente con gli stessi blocchi presenti nell'immagine del disco.Se rileva una qualsiasi differenza, contrassegna il processo come fallito senza richiedere un file md5sum.txt nell'immagine ISO.
Ventoy segue una strategia diversa, in quanto non "masterizza" l'ISO sull'unità , ma la copia così com'è in una partizione speciale e Il processo inizia visualizzando un menu dal quale è possibile scegliere quale immagine ISO utilizzare.In questo caso, l'integrità può essere verificata confrontando l'hash del file ISO memorizzato sull'unità USB con l'hash presente sul computer di origine, senza bisogno di esaminare il contenuto interno dell'immagine.
Se l'ISO di una distribuzione Linux include file come md5sum.txt o SHA256SUMS e il bootloader di installazione è predisposto per essi, I file interni dell'immagine possono essere convalidati durante il processo di avvio stesso.Ma gli strumenti di registrazione non dipendono da questi file: la loro verifica si basa soprattutto sul confronto dei dati scritti con i dati sorgente a livello di blocco.
Cosa fare quando l'immagine ISO non include un file di checksum interno
Non tutte le immagini ISO includono un file md5sum.txt o simile con gli hash del loro contenuto. Ciò che dovresti sempre pretendere è che il sito web ufficiale fornisca almeno un hash dell'immagine ISO completa. (di solito SHA-256) nella pagina dei download o in un file separato (SHA256SUMS, CHECKSUMS, ecc.).
Se non esiste un file interno con le somme per ciascun file, la convalida si riduce al confronto dell'hash ISO. Si calcola l'hash SHA-256 del file scaricato nel proprio sistema e lo si confronta con il valore pubblicato.Se corrispondono, sai che l'immagine completa è identica a quella generata dallo sviluppatore e, a quel punto, puoi masterizzarla sull'unità USB con la massima sicurezza.
Se il fornitore non pubblica alcun tipo di checksum o firma, la situazione si complica. Potresti confrontare l'hash della tua ISO con quello di un'altra copia scaricata da una rete diversa o da un'altra personaMa mancherebbe comunque un riferimento ufficiale. In questi casi, è prudente essere cauti se il software è sensibile (sistema operativo, strumento di sicurezza, portafoglio di criptovalute, ecc.) e cercare una fonte più affidabile.
Ricorda che anche con un hash pubblicato, la sicurezza dipende dall'ottenimento dello stesso da [fonte mancante]. una fonte attendibile e tramite una connessione sicura (HTTPS)Un malintenzionato potrebbe creare un sito web falso con un'immagine ISO dannosa e un hash personalizzato, quindi la verifica ha senso solo se ci si trova effettivamente sul sito ufficiale del progetto.

Strumenti specifici per lavorare con gli hash e verificarne l'integritÃ
Oltre alle utilità integrate in ciascun sistema operativo, esistono molti programmi specializzati che facilitano la gestione degli hash, soprattutto quando è necessario Calcola somme per più file, confronta intere cartelle o automatizza le copie verificate.
Applicazioni come QuickHash Offrono un'interfaccia grafica molto completa per Windows, Linux e macOS, con supporto per MD5, SHA-1, SHA-2 (256 e 512), SHA-3, BLAKE2, BLAKE3 e altriConsentono di generare hash di testo, hash di singoli file, hash di più file, confrontare due file o persino due directory, nonché di creare copie con hash verificato.
Altri strumenti come HashMyFiles, MultiHasher o MD5 & SHA Checksum Utility si concentrano su Windows e consentono Genera hash in blocco per intere cartelle e sottocartelle.e persino essere integrate nel menu contestuale di Esplora risorse per poterle richiamare con un clic destro.
Esistono anche soluzioni leggere o portatili (HashCalc, MD5 Hash Check, Hasher Lite, DeadHash, Hash Generator, FCIV, Checksum Control…) che coprono esigenze più specifiche, come ad esempio il controllo rapido di un programma di installazione scaricatosenza dover ricordare comandi o aprire il terminale.
Rischi, attacchi e limiti di sicurezza degli hash
Sebbene gli hash siano spesso descritti come "inviolabili", è importante capire che esistono tecniche per tentare di aggirarli. Il metodo più diretto è un attacco di forza brutatestando tutte le possibili combinazioni di input fino a trovarne una che generi l'hash desiderato, cosa irrealistica per password lunghe con gli algoritmi moderni.
Gli attacchi a dizionario e le tabelle arcobaleno velocizzano il processo quando l'attaccante sospetta il tipo di input (ad esempio, password tipiche utilizzate dagli esseri umani). Anziché testare stringhe casuali, funziona con elenchi precompilati e hash precalcolati., riducendo notevolmente il tempo necessario per individuare le chiavi deboli.
Gli attacchi di collisione sfruttano il fatto che, essendoci uno spazio finito di output, devono esistere input distinti che generano lo stesso hash. Se un algoritmo presenta delle debolezze matematiche, è possibile individuare le collisioni in modo relativamente efficiente.Ciò consentirebbe la creazione di due file diversi con lo stesso hash. Questo è esattamente ciò che è accaduto con MD5 e SHA-1, che sono diventati inaffidabili per applicazioni critiche.
Per mitigare molti di questi rischi, vengono utilizzate diverse strategie: Utilizza hash robusti e aggiornati, aggiungi "salt" casuali agli input prima di calcolarne l'hash e usa algoritmi specifici per le password. (bcrypt, scrypt, Argon2) progettati per essere deliberatamente lenti e costosi da parallelizzare.
Procedure consigliate per la verifica delle immagini ISO e DMG su macOS
Se intendi scaricare un'immagine ISO o DMG da utilizzare su macOS, soprattutto se devi installare un sistema o uno strumento sensibile, è consigliabile seguire una procedura ben definita. Innanzitutto, scaricate sempre dal sito web ufficiale del progetto, assicurandovi che l'URL e il certificato HTTPS siano corretti..
Successivamente, individua la sezione in cui vengono pubblicati i checksum o le firme PGP associate. Si consiglia di preferire algoritmi moderni come SHA-256 o superiori.Evitate MD5 o SHA-1 a meno che non vi interessi solo rilevare corruzioni accidentali in file non sensibili.
Con il file ISO o DMG già presente nella cartella Download, apri il Terminale, vai a quella cartella e Calcola l'hash utilizzando shasum o md5 a seconda dei casi.Confronta il risultato con il valore ufficiale, facendo attenzione a non omettere cifre né a confondere caratteri simili. Se non corrispondono, elimina immediatamente il file.
Se intendi utilizzare balenaEtcher, Ventoy o un altro strumento per masterizzare l'immagine su un'unità USB, assicurati che L'applicazione offre una fase di validazione post-scritturaIn questo modo, non solo si ha la certezza che l'immagine ISO sia corretta, ma anche che la copia sulla chiavetta USB riproduca fedelmente i dati originali.
Sebbene possa sembrare un lavoro un po' più impegnativo, questo processo di verifica vi risparmia grattacapi e riduce il rischio di eseguire codice corrotto o manomesso. Comprendere come funzionano i checksum, le firme e i certificati in macOS consente di utilizzare i file ISO e DMG con molta più tranquillità .sapendo che ciò che si installa è esattamente ciò che lo sviluppatore intendeva fornire e nient'altro.

