2009-04-18 6 views

risposta

9

Un hash fornisce un identificativo univoco (di tipo) per un file in base al suo contenuto. Con connessioni con perdite e metodi di trasmissione scadenti, oltre a copie di file malevoli che galleggiano intorno, un hash fornisce un modo per dimostrare che il tuo file è lo stesso file che hai provato a scaricare dal server.

Si convalida l'hashing della copia del file che si ottiene e si verifica se gli hash sono uguali.

Le persone possono iniettare codice sgradevole, modificare il file da scaricare o si potrebbe ottenere solo un download danneggiato.

+1

Quanto ci sono questo tipo di attacchi nel web? Mi piacerebbe sapere la probabilità. –

+0

Il gestore pacchetti di Ubuntu controlla automaticamente il codice hash? –

+0

È, inverosimilmente, improbabile. Fondamentalmente, dovresti avere qualcuno sulla tua rete o qualcuno che attacca il server per farlo. In pratica non succede mai, ma controlla sempre gli hash ogni volta che vengono forniti. È un'ottima pratica e un'ottima idea per ambienti critici per la sicurezza. – Anthony

1

Il file può essere controllato se è corrotto. Questo è tutto ciò che penso.

+0

Quindi non è una misura di sicurezza. –

2

È possibile che qualcuno possa inserire il proprio codice durante il download?

Sì. Se il download viene eseguito tramite HTTP non crittografato, viene instradato attraverso un certo numero di reti e c'è sicuramente un'opportunità per le persone di manipolarlo e inserire un trojan o un virus.

E questo è esattamente l'obiettivo dei checksum MD5 per i download, anche se ovviamente non è una sicurezza perfetta, dal momento che il checksum può essere manipolato allo stesso modo. Ma richiederebbe più sforzo e coordinamento da parte dell'attaccante.

Tutto sommato, questo non è un problema molto comune, poiché ci sono altri vettori di attacco che sono attualmente molto più utili per i cattivi (principalmente le vulnerabilità di webbrowser).

+0

@ Michael: Quanto spesso ricevi file danneggiati? Hai mai controllato MD5 da solo? –

1

Un hash MD5 è una forma di convalida. Se un singolo bit nel file è diverso, l'hash fornito non corrisponderà a quello generato dal file scaricato. Ciò ti avvisa di un errore nella trasmissione o nel gioco scorretto (raro).

3

In termini di download corrotti, è piuttosto raro. Non penso di aver mai avuto un download danneggiato, tranne se in qualche modo è stato troncato e l'errore non è stato riportato (vecchi client FTP nel corso della giornata).

Potrebbe esserci qualche vantaggio di sicurezza se si sta scaricando da un mirror e ci si fida del sito reale (che pubblica l'MD5) più di quanto ci si fidi del mirror (che potrebbe non essere aggiornato, o malvagio, o buggato , o pwned, o qualcosa, e così potrebbe essere un proxy web di caching tra lui e te). Una situazione piuttosto improbabile, tuttavia, poiché normalmente non c'è motivo di pensare che il sito principale sia più o meno affidabile o sicuro dello specchio. Eppure, è una seconda opinione.

Di solito non mi preoccupo di controllare i checksum pubblicati a meno che non ci sia un motivo particolare per ritenere che siano corretti e il download non sia sicuro (ad esempio il checksum si trova su un URL https e il download non lo è). Se sei preoccupato per i malvagi, allora hai bisogno di firmare, non solo di un checksum trasmesso in modo insicuro.

A volte uso i report di scansione antivirus basati su hash su virustotal.Immagino che un MD5sum pubblicato possa consentire di controllare il file prima di scaricarlo, e quindi dovresti controllare la somma dopo il download per confermare che il valore che hai controllato con il virus era davvero per il file che hai scaricato.

Nota che i checksum MD5 non sono sicuri se il malvagio genera il file originale e quello malevolo caricato da virus. È possibile generare collisioni MD5, anche se non esiste (ancora) un attacco pre-immagine completo. Chiunque sia serio riguardo alla sicurezza è passato alle somme SHA256 laddove possibile. Che è meno di quanto si possa sperare, per motivi legacy e di risorse.

0

Fondamentalmente risponde alla stessa domanda dell'autenticazione: se colui che dice di essere l'unico è effettivamente quello. Ti aiuta ad assicurarti che il programma che hai scaricato sia in realtà quello che viene fornito dall'autore e non sia stato manomesso dal venditore fino al labirinto di internet sul tuo desktop.

1

Oltre a consentire di essere sicuri di aver ottenuto il codice che si è tentato di scaricare (non è stato danneggiato intenzionalmente o accidentalmente), se si controlla l'hash, la pratica di includere gli hash durante la pubblicazione del codice è buona igiene sociale . Poiché le persone che condividono o vendono software spesso includono hash con il loro codice e crediamo che alcune persone li controllino regolarmente (perché alcuni strumenti di download lo fanno automaticamente), i cracker ritengono che questo sia un modo meno utile di diffondere malware. Pertanto, coloro che controllano solo l'hash su software di sicurezza o quelli che non verificano mai possono avere più fiducia che il software è ciò che pretende di essere. Se i cracker tentassero di iniettare virus o trojan in siti di download spesso usati, verrebbero rilevati abbastanza rapidamente e l'attacco riparato e reso pubblico.

Quindi, puoi aiutare chiunque a controllare occasionalmente, e anche se non lo fai, la presenza degli hash dovrebbe fornire una certa sicurezza che il codice è probabilmente come l'autore lo ha inteso, e lo stesso codice scaricato da molti altri persone.

0

Controllo md5 la maggior parte del tempo. Anche se forse solo una o due volte, sì, ho ricevuto download corrotti.

Se si scarica qualcosa, controllare md5 e archiviare insieme al file, potrebbe anche essere un modo per verificare in seguito se l'editore ha cambiato il file in segreto senza comunicarlo a nessuno.

-2

Completa perdita di tempo.

Un hacker cambierebbe l'hash e il file binario in modo che fosse solo una misura di sicurezza contro gli hacker incompetenti.

I binari più scaricati vengono compressi con controllo degli errori incorporato, quindi l'hash non ottiene esattamente nulla, motivo per cui non ho mai visto nessuno, a parte i geek, usarli.

Ora un hash con firma digitale utilizzato da un programma di installazione pacchetto è qualcosa di diverso e utile.