Perché è necessario abbinare il checksum di un download con un altro file fornito dallo stesso server? [duplicare]

7

Su molti server che forniscono file per il download, c'è un file su cui vengono forniti i checksum per ogni download. Example1 Esempio 2

Capisco che questi checksum possano essere forniti per verificare che il download sia riuscito (file non corrotto). I download di file su HTTP o FTP sono comunque abbastanza affidabili.

Ma perché mi impedirebbe di scaricare un file dannoso? Se un utente malintenzionato può modificare il download sul server, significa che il server è stato compromesso. Pertanto, l'autore dell'attacco potrebbe aver modificato anche questi file MD5SUMS.

Quindi è davvero necessario utilizzare il checksum fornito se sia il checksum che il download originale sono forniti dallo stesso server?

    
posta Benoit 08.01.2013 - 14:22
fonte

3 risposte

6

In realtà, quando si trovano nello stesso sito, non esiste un reale valore di sicurezza. È solo un valore di sicurezza quando si tenta di verificare che un file di un'altra origine sia lo stesso file (anche se potrebbe essere dubbio per il successo degli attacchi di collisione contro molti errori tipici di rilevamento degli errori). La ragione principale, come accennato, è semplicemente per assicurarsi che è possibile convalidare la trasmissione è stata ok.

    
risposta data 08.01.2013 - 14:49
fonte
4

Il checksum MD5 riguarda il download del grande archivio tramite HTTP (possibilmente da un mirror) mentre si ottiene il valore MD5 da un sito Web "sicuro" (HTTPS). In questo modo devi solo concentrarti sull'ottenere il giusto valore MD5, ma puoi ottenere l'archivio da qualsiasi sorgente su qualsiasi supporto (download da un mirror dall'aspetto fishy, rete p2p, CD / DVD, carrier aviano ... non importa fino a quando il valore hash corrisponde). Il valore hash è solo un modo per concentrare i requisiti di sicurezza, su un valore sufficientemente piccolo da (presumibilmente) rendere più semplice la sicurezza. Ovviamente, questo non risolve il problema: devi ancora preoccuparti se il valore dell'hash è autentico e inalterato.

Il checksum MD5 è anche bravo a rilevare alterazioni non dannose, ad es. un po 'capovolto a causa della cattiva RAM sul tuo computer (un'occorrenza molto più comune di quanto si supponga di solito).

    
risposta data 08.01.2013 - 14:31
fonte
0

prefazione

La domanda richiede la "necessità" / "perché è necessario" per eseguire il checksum test. Anche se o forse perché presumo un contesto di sicurezza, sono un po 'turbato. Immagino che tu intendessi dire qualcosa come "quale sarebbe il guadagno in termini di sicurezza dell'uso della stessa origine hash / checksum in chiaro"?

No, non è molto utile per la sicurezza / sicurezza

Come potresti aver già affermato con la tua domanda scettica / brillante, il guadagno in termini di sicurezza sarebbe in molti casi piuttosto limitato. Se qualcuno è in grado di manomettere un download di 600 MB al volo come un "uomo trasparente nel mezzo", quell'attaccante è sicuramente in grado di generare un hash adatto che impedirà di notare la manomissione del file da 600 MB.

Il motivo (non tanto per la sicurezza) "potenziale corruzione dei dati durante la trasmissione dei dati" è già stato affermato.

Non voglio provocare questo nuovo punto in più come "una caratteristica molto sicura", ma se si percepisce un attacco alla luce dei suoi sforzi e dei suoi costi. Potrebbe essere che un utente malintenzionato sia in grado di manomettere un file da 600 MB (che richiede del tempo per il download) in uno o due punti. Il file hash / checksum (che come @Thomas Pornin mette abbastanza bene concentra i requisiti di sicurezza) può essere scaricato più rapidamente (solo pochi byte). Può essere facilmente scaricato più volte (in momenti diversi). Senza grandi sforzi da parte tua (dal momento che il file è così piccolo) ma richiederebbe che l'attaccante fosse costantemente in guardia in qualche modo. Il fatto che l'hash si concentri sulla sicurezza potrebbe fare spostare il "bilancio dello sforzo" dalla tua parte. Non scaricheresti il tutto (diciamo 600MB * .iso) per 3-4 volte solo per verificare se è sempre lo stesso (cioè che non c'è alcun segno evidente di manomissione dei dati), ma potresti prendere in considerazione il download (molto poca spesa), l'hash da più fonti in date diverse. Lo sforzo (grazie all'hash) è poco per te. D'altra parte, l'attaccante deve essere ancora lì (anche per i pochi byte), altrimenti l'hash / checksum non adatto può indicare qualche discrepanza.

Ovviamente si può considerare che si tratta solo di una sicurezza aggiunta molto piccola e limitata (risultante da un potenziale aumento dello sforzo necessario per eseguire correttamente l'attacco) ma poiché l'hash può essere calcolato e trasmesso (più volte, più volte fonti) può promuovere un aumento della sicurezza.

in merito a origine multipla : I tuoi esempi forniti possono essere visti come

combinata. permettendo di scaricare l'iso via HTTP (risparmiando la potenza di calcolo della crittografia della trasmissione) e quindi scaricando HASH / Checksum via HTTPS per ridurre ad un certo punto la possibilità di un attacco.

Solo per menzionarlo anche. Spesso vengono utilizzate anche firme di file che non solo contengono un valore hash ma che utilizzano la firma di chiave pubblica / privata possono essere verificate per autenticità o origine e superano (in termini di sicurezza) i soli file hash-valore / checksum.

    
risposta data 08.01.2013 - 15:20
fonte

Leggi altre domande sui tag