Dobbiamo davvero verificare l'integrità dei file scaricati? [duplicare]


9

Ho scaricato un'enorme quantità di file, ma recentemente ho scoperto l'uso di md5 e sha come controlli di integrità. Da allora preferisco sempre controllarlo per i file scaricati di grandi dimensioni, anche se non li ho mai trovati danneggiati.

Dobbiamo davvero verificare l'integrità dei file scaricati?

Scegli come esempio una distribuzione Linux che ho appena scaricato, che è 1 GB, se lo desideri.

Grazie


Questo non è davvero un problema con le moderne connessioni Internet. Dipende interamente dalle tue preferenze personali.
Ramhound,

5
Il punto di confrontare l'hash può essere piuttosto "qualcuno ha modificato il file (maliziosamente)" piuttosto che "il file è stato scaricato correttamente". Un primo esempio è quello di scaricare un ISO di Windows da una fonte non ufficiale / non affidabile e verificare l'integrità del file confrontando l'hash MD5 con quello pubblicato da Microsoft su MSDN.
User1024,

1
@ TheUser1024 questo presuppone che le tue due fonti siano uguali, la versione MSDN potrebbe essere diversa.
Eric G,

1
Questa domanda potrebbe ottenere più risposte sulla sicurezza
SE

3
In realtà era più sull'integrità che sulla sicurezza, dal momento che scarico solo da fonti attendibili, anche se è un punto importante nel download di file
maxpesa

Risposte:


6

Dipende da alcuni fattori.

  1. Hai una connessione Internet stabile?
    Se disponi di una connessione Internet stabile, non è necessario verificare l'integrità del file poiché molto probabilmente sarà corretto. Non controllo mai l'hash e non ho mai avuto file corrotti. O forse una volta quando il server remoto si è disconnesso.

  2. Vuoi verificare il file in base a motivi di sicurezza?
    Se sei preoccupato per la sicurezza del file che stai scaricando, puoi utilizzare l'hash MD5 per verificare che il file non sia stato in qualche modo modificato. Scarichi un file e se l'hash MD5 non corrisponde, significa che il file sul server è diverso dall'hash MD5 e in qualche modo qualcosa non va. Questo sarebbe valido solo se non ti fidi del server da cui stai scaricando, ma di solito se qualcuno fornisce un hash, di solito fanno anche del loro meglio per mantenere le cose aggiornate. Ma se il loro sito è stato violato e hai controllato l'hash MD5, allora hai il piccolo bonus.

Complessivamente, questi 2 daranno un no alla maggior parte delle persone. Se è un no per te, questo dipende interamente da te, ovviamente.


1
Una connessione Internet stabile non è sufficiente. È inoltre necessario assicurarsi che la RAM e l'unità di archiviazione non danneggino i file. Ma sì, abbastanza improbabile. Se la tua macchina non è BSOD, è probabile che ti interessi solo della sicurezza.
ChrisInEdmonton,

6
Un checksum di file non è un controllo di sicurezza poiché un utente malintenzionato che può modificare il file potrebbe probabilmente modificare anche il checksum.
Johnny,

1
Se dovessi hackerare un sito e sostituire il file con uno dannoso, penso che sarei abbastanza intelligente da sapere per cambiare l'hash elencato.
Cole Johnson,

3
MD5 non è più sufficiente per verificare che il contenuto di un file non sia stato modificato intenzionalmente. È buono solo per la corruzione involontaria. Le probabilità che un attaccante comprometta entrambi variano. L'archiviazione per l'hash, in molti casi, non è accessibile attraverso gli stessi canali dell'archiviazione di file di massa per un download di grandi dimensioni. Per motivi di sicurezza, le firme crittografiche sono migliori dei semplici hash, soprattutto se non si dispone di un canale sicuro per la distribuzione degli hash.
Perkins,

Penso che l'idea degli hash fosse quando il file fornito era ospitato su un sito diverso dall'hash. Ad esempio, il sito di uno sviluppatore con collegamenti hash a Sourceforge o da qualche parte.
Matthew Lock,

6

La risposta e la scelta che si farà si baseranno sulla sua tolleranza al rischio e sulle considerazioni relative al tempo e allo sforzo di verifica.

Controllare gli hash MD5 / SHA1 è un buon primo passo e dovresti farlo quando hai tempo. Tuttavia, devi considerare la tua capacità di fidarti dell'hash fornito. Ad esempio, se il sito Web dell'autore con l'hash è stato violato, l'attaccante può modificare l'hash, quindi non lo sapresti. Se l'hash che calcoli non è lo stesso dell'hash fornito, sai che qualcosa non funziona. Tuttavia, solo perché la corrispondenza degli hash non garantisce che il file sia valido.

Un'alternativa migliore per un autore di software per fornire integrità e autenticità è attraverso la firma digitale dei file distribuiti. Ciò allega le informazioni di autenticità al file e non si basa sulla fiducia in alcuni siti Web. Se un autore firma digitalmente il file, l'unico modo per falsificare questo è un'autorità di certificazione compromessa o se la chiave di firma dello sviluppatore è stata rubata. Entrambi questi casi sono molto meno probabili di un hacking di un sito Web su Internet.

In definitiva, è necessario fare la dovuta diligenza per determinare se si desidera fidarsi di qualcosa e quindi adottare contromisure (eseguire in una sandbox, una macchina virtuale, ecc.) Per mitigare eventuali fattori sconosciuti o calcoli errati effettuati quando si decide se fidarsi o meno .


4

Per motivi di sicurezza, SÌ. Considera che durante il download è stato scoperto che un nodo di uscita Tor correva patch binari , quindi ricorda che il tuo ISP può avere o meno la minima morale e che ha il controllo completo della tua connessione Internet.


Il tuo reclamo su ISP è sul fatto che possono cambiare la velocità e la priorità della mia connessione e altre cose che possono corrompere i file?
maxpesa,

@maxpesa - Possono modificare il flusso se lo desiderano. Il file non sarà danneggiato appena modificato.
Ramhound,

@maxpesa - Stavo sottolineando che il tuo ISP è nella stessa posizione del nodo di uscita Tor nell'articolo collegato - ha la capacità di controllare ciò che passa sui tuoi fili. Se lo volessero, sono in grado di modificare al volo i file binari scaricati.
Michael Kohne,

2
Se l'attaccante può modificare il file binario, l'attaccante può anche molto probabilmente modificare l'hash. Ciò richiederebbe un attacco più mirato rispetto alla correzione di tutti i binari, ma è ancora molto possibile. Mentre il controllo dell'hash può evitare danni, non esiste alcuna garanzia. Se ti interessa la sicurezza, il primo passo è scaricare solo su HTTPS, specialmente quando usi proxy come con tor!
Kapex,

1
Per aggiungere al commento di @ kapep, è ancora meglio convalidare usando le firme crittografiche (usando le chiavi distribuite attraverso un canale sicuro). In questo modo un utente malintenzionato dovrebbe compromettere sia il keystore che il repository per modificare il file binario.
Johnny,

4

Solo per aggiungere alle altre risposte:

TLDR: per i file in cui l'integrità è fondamentale, sì

Risposta lunga: trovo spesso necessario quando sto facendo qualcosa in cui è fondamentale che il file abbia un'alta integrità.

Un esempio è il flashing di un router con OpenWRT. Se il file è corrotto, quel router sarebbe in muratura e quindi dovrei:

  • Sostituirlo (costoso)
  • Risolvilo (richiede tempo. Soprattutto se devo saldare un cavo seriale / JTAG)

Entrambi sono scomodi, rispetto alla semplicità di controllo di un hash. Pertanto consiglio vivamente di farlo per i file critici.


0

Di solito mi preoccupo solo di verificare se il mio download è stato interrotto e lo ho ripreso in seguito, perché le richieste HTTP con un offset di ricerca non sono così ampiamente utilizzate, quindi potrebbe essere successo qualcosa di sciocco.

In molti casi, il download è un file compresso che non si decomprime in caso di interruzione. In caso contrario, controllare non è una cattiva idea. Potrei controllare un ISO prima di masterizzarlo su un supporto write-once.

Verificarlo con un hash dallo stesso sito da cui l'ho preso è di scarsa utilità, dal punto di vista della sicurezza, come hanno detto altre risposte e commenti. Può essere più utile se scaricato da un mirror, ma l'hash proviene dall'upstream originale. O se il nome file è ambiguo e per qualche motivo non sei sicuro di avere la versione esatta che volevi.

Il punto è che la pubblicazione di hash è utile per molti casi speciali diversi dal semplice download del file dallo stesso sito che ospita l'hash.

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.