Perché verificare un file / firmware scaricato online contro un checksum? [duplicare]

5

Quando c'è sempre un file / firmware da scaricare online e forniscono un checksum per verificare il file, io confermo sempre che la somma di controllo del file scaricato corrisponda al checksum pubblicato online.

Ma mi è venuto in mente spesso, se una terza parte malintenzionata ha accesso FTP e può scambiare il file / firmware con una build malevola, sicuramente avrà il know-how tecnico e l'accesso per accedere all'html / php etc file di pagine web e aggiorna la somma di controllo per abbinare la loro build ora malevola, rendendo così la somma di controllo senza valore.

Ho perso il punto qui?

    
posta sam 29.10.2018 - 19:07
fonte

3 risposte

4

Tutto ciò che ti è mancato è dove un hash dovrebbe proteggerti. Hai ragione che se un utente malintenzionato ha accesso al server stesso, può semplicemente modificare tutto.

Dove si suppone che un hash ti aiuti contro un attacco man-in-the-middle. Ad esempio:

  1. Scarica il file
  2. Leggi la pagina web per testo in chiaro md5 o sha1
  3. Hash file scaricato
  4. Confronta valori

Se qualcuno fosse seduto nel mezzo, potrebbe teoricamente sedersi nel mezzo e cambiare entrambi, ma ci sono altre soluzioni tecniche per cercare di combatterlo (SSL / TLS (ancora vulnerabili al MITM) e firme digitali).

EDIT: su alcune delle correzioni dei clienti in cui sono stato, in che modo abbiamo utilizzato gli hash di download per cercare di mitigare un MITM è quello di scaricare i bit e quindi verificare che l'hash sul sito Web sia visto come lo stesso su più connessioni / computer. Ciò riduce significativamente la probabilità che un utente malintenzionato possieda tutti i mezzi di connessione degli investigatori. Se gli hash del sito di origine sono gli stessi attraverso le diverse connessioni / computer, si dovrebbe presumere che siano relativamente sicuri.

    
risposta data 29.10.2018 - 19:17
fonte
5

I checksum vengono forniti per rilevare la corruzione durante il trasferimento dei file, non per rilevare gli attacchi man in the middle.

    
risposta data 29.10.2018 - 19:17
fonte
0

Un altro punto degno di nota è che i checksum possono essere forniti in un file separato firmato con firma digitale dell'autore / manutentore del contenuto.

In questo caso, anche se l'attaccante ottiene il pieno controllo del server su cui risiede il contenuto e sostituisce il carico utile e i checksum, non sarà in grado di firmare il file di checksum con la firma dello sviluppatore (a meno che non ottengano anche la chiave privata di lo sviluppatore).

Quindi, gli utenti finali saranno in grado di rilevare che qualcosa è sbagliato, perché il processo di verifica della firma avrà esito negativo.

La procedura di download dovrebbe includere questi passaggi:

  1. Scarica il carico utile.
  2. Scarica il file di checksum.
  3. Verifica la firma del file di checksum.
  4. Verifica il checksum del payload sul file di checksum.

Con questo, un utente può decidere di scartare il carico utile nel caso in cui il passaggio 3 o 4 fallisca.

Ciò rende possibile la distribuzione di contenuti tramite l'infrastruttura di terze parti che non è controllata dall'autore originale del contenuto, senza timore di modifiche non autorizzate. Ad esempio, molti file di installazione di Linux sono ospitati su mirror pubblici appartenenti a università o appassionati.

Esempio: elenco di mirror Gentoo Linux e elenco delle loro chiavi pubbliche in modo che gli utenti possano verificare i download.

    
risposta data 30.10.2018 - 00:00
fonte

Leggi altre domande sui tag