Vale la pena verificare le ISO scaricate dal sito Web ufficiale?


37

Ho scaricato l'ISO da https://www.ubuntu.com/download , selezionando l'opzione "Ubuntu Desktop" predefinita.

Il sito Web collega la pagina https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu che fornisce istruzioni su come verificare ubuntu.

Questo sembra piuttosto noioso, e mi chiedo quanto sia realistico che ci sia un problema con ISO scaricato dal sito ufficiale. Noto che il processo di verifica stesso mi richiede di scaricare software che è nuovo per me, introducendo così un altro vettore di attacco su di me anche mentre ne sto chiudendo un altro.

Per quello che vale, sto pianificando di usare solo Live USB e non di installare completamente Ubuntu. Questo fa la differenza?


8
La mia risposta politica è "SÌ FARLO". Non l'ho mai fatto tranne forse una volta sul primo download molte lune fa. Sto sempre scaricando e valutando software o patch / correzioni di bug e semplicemente non posso preoccuparmi dei passaggi aggiuntivi. Inoltre i miei sistemi sono tutti non di produzione e se vanno "male" domani mi limiterei a scrollare le spalle e andare avanti.
WinEunuuchs2Unix

14
Il torrent è un'alternativa, se non vuoi controllare md5sum. Quando ricevi un file tramite torrent, verrà controllato automaticamente :-) Spesso è più veloce usare il metodo torrent (rispetto ai download ordinari), ma alcuni fornitori di servizi Internet lo bloccano perché pensano che sia usato solo per scopi illegali .
sudodus,

2
L'uso primario di checksum MD5 su file di grandi dimensioni è garantire l'integrità del file scaricato (ad esempio per rilevare se il trasferimento è stato annullato prematuramente), non per mitigare la possibilità di attacchi MITM.
rexkogitans,

1
@rackandboneman No, questa non è affatto la domanda di fondo.
David Richerby,

16
Curiosità: probabilmente passerai più tempo a porre questa domanda rispetto al calcolo dei checksum in tutta la tua vita.
el.pescado,

Risposte:


57

Sì, vale la pena.

Ci vogliono solo pochi secondi per md5sum / etc un ISO scaricato e fornisce rassicurazione che non sei stato attaccato dal MITM ecc. Oltre a ciò, quei secondi sono un'assicurazione per il [ore di] tempo perso se hai avuto qualche errore e il debugging necessario inseguendo gli errori che nessun altro ottiene a causa del download (ad es. hai problemi di rete e quindi prova a eseguire il debug; ma la rete è piena perché questo è ciò che i pochi bit sbagliati erano ...) Pensa ai checksum come un'assicurazione molto economica.

Il software necessario per md5sum di solito proviene da un'altra fonte (una versione precedente, anche diverse os / distro in alcune occasioni), è molto piccola ed è già presente per molti / molti di noi.

Inoltre mi permette di scaricare da un mirror locale, ma perché prendo il md5sum dalla fonte canonica; Ho l'assicurazione che lo specchio non ci ha giocato. Ancora una volta un'assicurazione molto economica che mi costa ~ 3 secondi di tempo.


12
Tuttavia, se il download ha utilizzato il metodo di trasferimento HTTPS, tutti i controlli di integrità sono già stati effettuati.
Nayuki,

15
@Nayuki questi controlli di integrità sarebbero inutili se il file fosse in qualche modo danneggiato sul server (errore del disco / driver FS, mirroring errato ecc.).
Ruslan,

6
@Nayuki Solo perché stai accedendo a un sito Web tramite HTTPS non significa che l'intero collegamento dal tuo PC allo spazio di archiviazione contenente il file che stai scaricando sia crittografato end-to-end. Vedi la debacle dei link ai data center di Google alcuni anni fa.
un CVn

30
Se qualcuno ha MITM con l'ISO, a chi dire che non ha MITM il checksum quando lo hai visualizzato sul sito web? (Se stai usando un mirror, è utile.) Non è troppo raro vedere il checksum e il download offerti dalla stessa entità.
Lan

14
Non assumere MAI il presupposto che un checksum rileverà MitM. Anche i checksum forniti potrebbero essere falsi. Il modo corretto è verificare la firma , ma ciò richiede GPG (l'ho fatto solo una volta ed è una seccatura da fare).
Micheal Johnson,

21

Sì, è MOLTO CONSIGLIATO di verificare l'immagine che hai scaricato, ecco alcuni motivi:

  • Bastano pochi secondi e posso dirti se l'integrità del file è corretta, voglio dire, il file non è danneggiato. (Una causa comune di corruzione è un errore di trasferimento a causa di motivi tecnici come una connessione Internet instabile dal commento di @sudodus.)
  • Se il file è danneggiato e l'immagine ISO viene masterizzata su un'unità CD / USB e non funziona o durante l'installazione potrebbe non riuscire, si perdono tempo e CD.
  • Sei sicuro di utilizzare la versione CLEAN ufficiale di qualsiasi tipo di immagine o software ISO e non una versione modificata (forse dagli attaccanti), vedi questo rapporto: Watch Dogs pirati colpiti dallo scorbuto malware Bitcoin-mining

Se hai già una distribuzione GNU Linux, puoi usare md5sum , se sei in Windows puoi usare: WinMD5Free .

Spero che sia d'aiuto.


3
Per Windows puoi utilizzare il built-in certutil: superuser.com/a/898377/521689
Kanchu

1
Ho anche risposto, ma sto votando la tua risposta perché ritengo che risponda bene alla domanda ed è utile per più lettori poiché non entra in dettagli troppo tecnici come le altre risposte.
Bitoolean

@sudodus Networks ha i propri controlli di integrità. Sebbene non sia impossibile per gli errori superarli (TCP utilizza solo un semplice checksum, che non rileverà gli scambi di parole, ma la maggior parte dei collegamenti utilizza CRC), non è qualcosa di cui ci si preoccupa in genere.
Barista

Se un utente malintenzionato è in grado di corrompere un file, anche la modifica del valore in una casella MD5 dovrebbe essere a portata di mano.
Pascal Engeler

2

Sì, ma Ubuntu sembra renderlo più difficile di quanto dovrebbe essere.

Nel migliore dei casi è sufficiente scaricare foo.iso e foo.iso.sig e fare clic sul file .sig (o utilizzare gpg sulla shell sul file .sig) dopo aver importato la chiave una volta. Questo costa pochi secondi.

Ubuntu sembra rendere più complicato costringendo a controllare le somme sha256 da un file mentre solo il file stesso è firmato. È conveniente per loro, ma più lavoro per i loro utenti.

D'altra parte, quando il file è stato generato solo da sha256sum * >SHA256SUMS, è possibile verificarlo utilizzando sha256 -ce ottenere OK/Bad/Not-Foundcome output.


2

Controlla la tua /proc/net/deve vedere quante male fotogrammi TCP avete ricevuto finora. Se vedi un valore a una cifra (si spera uno zero), continua a leggere. Se hai molti errori di rete o di rete, usa MD5 per verificare i tuoi download (anche se preferirei indagare sulla causa principale, poiché una rete inaffidabile significa che non puoi fidarti di ciò che ricevi via HTTP).

Quando si esegue il download su TCP che controlla tutti i dati trasmessi, ci sono poche possibilità di avere un download corrotto con esattamente le stesse dimensioni. Se sei sicuro di scaricare dal sito ufficiale (normalmente se usi HTTPS e il controllo del certificato ha esito positivo), la verifica del completamento del download è normalmente sufficiente. I browser Web decenti di solito eseguono comunque il controllo per te, dicendo qualcosa sulla falsariga di "download non riuscito" se non ottengono la quantità di dati che si aspettano, anche se ho visto browser che decidono solo di mantenere il file incompleto senza dire nulla per l'utente, nel qual caso è possibile verificare manualmente la dimensione del file.

Naturalmente, la verifica di un checksum ha ancora valore, coprendoti nei casi in cui il file che stai scaricando è corrotto sul server, ma ciò non accade troppo spesso. Tuttavia, se hai intenzione di utilizzare il download per qualcosa di importante, è un passo che vale la pena fare.

Come ha detto @sudodus nei commenti, usare Bittorrent invece di HTTPS è un'altra opzione, poiché i client torrent fanno un lavoro molto migliore quando trattano dati incompleti / corrotti come fanno i browser web.

Nota che i checksum non ti impediscono davvero di essere attaccato, ecco a cosa serve HTTPS.


5
Il checksum TCP non è abbastanza grande per qualcosa di grande come un file ISO. Sono solo 16 bit; su un collegamento rumoroso, ci sono buone probabilità che un po 'di corruzione sia passata.
Mark

1
@Mark per un ISO elevato, ci saranno molti checksum TCP: uno per ogni singolo segmento TCP richiesto per trasmettere i dati.
Anthony G - giustizia per Monica

3
@AnthonyGeoghegan, esattamente. Ogni segmento ha una possibilità indipendente di essere danneggiato e, dato il numero di segmenti coinvolti in un file ISO, c'è una buona probabilità che uno di essi venga danneggiato in un modo che corrisponda ancora al checksum di quel segmento.
Mark

1
@Mark puoi controllare il tuo / proc / net / dev e dire quanti frame TCP cattivi hai ricevuto? Il mio computer ha ottenuto 0, con un tempo di attività di 140 giorni. Se non sbaglio, l'apparecchiatura Gigabit Ethernet certificata fornisce un tasso di errore bit di 10 ^ -10 o superiore. Certo, tutto dipende da quella che chiami una "buona possibilità" ...
Dmitry Grigoryev,

1
@Mark Che tipo di layer 2 stai usando che non ha un CRC o simile? Con Ethernet ottieni controlli CRC e checksum TCP. Non ho fatto la matematica per quello, ma non riesco a vedere come arrivi a "buone possibilità" lì.
Voo,

0

Ho scoperto il modo difficile di non controllare la somma. Vorrei masterizzare un CD con un ISO che è stato danneggiato durante il download e non è stato possibile avviarlo o ha avuto errori durante l'esecuzione.

Come hanno detto gli altri, ci vuole poco tempo.


La cosa peggiore di quell'esperienza è che se si brucia di nuovo l'ISO, si ottiene lo stesso errore sul CD
thomasrutter

1
Ecco perché uso CD e DVD RW. :-)
fixit7

7
Non ho mai scritto alcun CD / DVD per più di un decennio. Non vale il tempo di scrivere e costare per comprare quando ci sono tonnellate di pendrive a buon mercato
phuclv

0

Lo vedi con un solo caso d'uso, in una configurazione con automazione di massa aiuta a verificarlo; script che eseguono il controllo, prima di procedere con ciò che mai abbiamo bisogno di fare con l'immagine


0

Gli altri hanno dato risposte con dettagli tecnici che ho dimenticato anche se sono un programmatore (il mio lavoro non prevede la comunicazione su reti), quindi ti farò solo conoscere un'esperienza personale.

Un lungo tempo fa, quando ho usato per masterizzare CD di frequente, una volta è successo a me per aver scaricato questo distribuzione Linux ISO, che sembrava aver scaricato correttamente. Il CD non mi è riuscito, quindi ho controllato il file scaricato e non corrispondeva. Quindi, ho scaricato di nuovo e ha funzionato. Quindi, questo è successo solo una volta ogni 15 anni da quando sono un utente esperto di computer e programmazione (uso computer dall'età di 11, 19 anni fa e ho masterizzato più di mille dischi). Ma è la prova che può succedere.

Mi è successo anche tramite BitTorrent una o due volte, quindi non è neanche sicuro. Quando è stato forzato il controllo del file scaricato, è stato identificato il pezzo corrotto.

La mia conclusione è che HTTP (basandosi su TCP) potrebbe essere il più sicuro possibile, ma Internet significa che ci sono nodi intermedi tra il dispositivo e il server, e non si può dire cosa può succedere lungo la strada (i pacchetti vengono addirittura persi tempo), e a volte i computer non possono dire che i dati sono sbagliati, immagino.

Nessuno può rispondere se varrebbe la pena per te - dipende dal contesto e sono sicuro che puoi giudicarlo da solo. Per me, non ne vale la pena la maggior parte del tempo. Se avessi installato un sistema operativo, avrei comunque verificato l'immagine scaricata prima.

Nota: il fatto che ho notato solo una o due volte un download corrotto non significa che sia successo solo allora. Forse altre volte non si frappone, quindi non te ne accorgi.

EDIT: Avevo anche altri programmatori più esperti al lavoro che discutevano (con una certa indignazione) che questi hash di verifica dell'integrità dei dati permettessero di sapere se un file è bit identico all'originale, ma so (ho letto) che il fatto che due file generino lo stesso hash non significa che siano identici - significa solo che è estremamente improbabile che siano diversi. Il modo in cui sono utili è che quando i file non sono identici, e specialmente quando sono molto diversi, i loro codici hash risultanti non saranno praticamente più gli stessi (è ancora meno probabile che questo test fallisca). In poche parole: se i codici hash sono diversi, sai che i file sono diversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.