Quanto è difficile modificare un'immagine ISO e avere ancora la vecchia somma di controllo md5?

7

Se voglio scaricare ubuntu11.04.iso allora:

UBUNTUMIRRORSRV - > ISP - > ISP - > ecc. - > MyPC

Voglio solo chiedermi quanto sia difficile spoofare la somma MD5 originale (ad esempio: md5sum sarebbe raggiungibile tramite HTTPS!).

Quindi abbiamo:
- su ubuntumirrorsrv: XY md5hash e XZ ubuntu iso
- su mypc (gli iso scaricati da ubuntumirrorsrv): XY md5hash e XY! ubuntu iso.

così potrebbe essere lo stesso md5hash (come quello originale su ubuntumirrorsrv) se ci fosse un attacco "mitm", che modificasse (metti un trojan) nell'ubo iso (ad esempio uno dei miei ISP)? (+ - pochi MByte) - quanto può essere difficile?

    
posta LanceBaynes 15.07.2011 - 08:01
fonte

2 risposte

25

Sarebbe difficile al punto da poterlo suggerire seriamente anche solo lontanamente possibile, rasentando la follia.

Ci sono state alcune dimostrazioni di attacchi teorici contro MD5 in cui "l'attaccante" poteva creare dati di messaggio destinati a produrre un hash MD5 predeterminato. Ma questo è lontano miglia e miglia dall'aggiungere un file non-jibberish a un ISO e farlo dare lo stesso hash.

Uno scenario di attacco molto più probabile sarebbe il MitM che altera la pagina che elenca gli MD5sum prima che arrivi a te in modo che tu veda l'hash dell'attaccante piuttosto che quello reale. Per quanto improbabile possa essere, ecco gli hash per il tuo confronto:

ubuntu-11.04-desktop-amd64.iso 7de611b50c283c1755b4007a4feb0379

ubuntu-11.04-desktop-i386.iso 8b1085bed498b82ef1485ef19074c281

    
risposta data 15.07.2011 - 09:03
fonte
15

Il sarebbe chiamato secondo preimage . Per una funzione hash h con un output di n bit, ci sono tre tipi di attacchi che consideriamo; per ognuno esiste un algoritmo generico con un costo elevato e la funzione è considerata sicura se non è possibile trovare alcun metodo più veloce dell'algoritmo generico. Gli attacchi sono:

  • Preimage: dato x (una stringa n -bit), trova m tale che h (m) = x . L'attacco generico ha un costo medio 2 n (espresso in valutazioni della funzione h su piccoli input): l'attacco generico funziona provando messaggi casuali < em> m fino a colpire x (l'attacco "fortuna e prega").

  • Seconda preimage: data m (una determinata stringa), trova m distinto da m e tale che h (m) = h (m ') . Questo è il tuo caso qui. L'attacco generico è di nuovo di costo 2 n ed è simile all'attacco preimage.

  • Collisioni: trova m e m ', distinti tra loro, tali che h (m) = h (m') . L'attacco generico è costato 2 n / 2 (noto come attacco di compleanno ).

MD5 ha un'uscita a 128 bit. Le valutazioni di 2 128 sono molto alte e dovrebbero fornire una sicurezza adeguata (è un miliardo di miliardi di volte superiore a quella tecnicamente possibile in questo momento, anche con un budget simile a Google / Facebook ). D'altra parte, 2 64 , sebbene ancora molto costoso (mesi di calcolo con migliaia di computer), è già stato dimostrato una volta (vedi distributed.net ).

Inoltre, un certo numero di punti deboli sono stati trovati in MD5, consentendo un algoritmo molto efficiente per la generazione di collisioni (con il mio PC posso generare una collisione MD5 in media in 14 secondi usando un singolo core). Per questo motivo, MD5 è non considerato più sicuro. Ma non è attualmente nota alcuna scorciatoia per le seconde pre-immagini. L'esistenza di punti deboli che portano a collisioni facili dimostra che la struttura interna di MD5 non è "abbastanza confusa", quindi abbiamo motivo di preoccuparci degli attacchi di preimage che potrebbero essere trovati nel prossimo futuro. Ma, proprio ora (luglio 2011), nessun attacco del genere è pubblicamente conosciuto.

Quindi la risposta alla tua domanda è che sarebbe estremamente difficile inviarti una ISO alterata che finirebbe con lo stesso hash MD5 di quello originale. Ma i distributori di Ubuntu sarebbero ben ispirati a iniziare a pubblicare anche gli hash SHA-256. Per ogni evenienza.

    
risposta data 15.07.2011 - 14:14
fonte

Leggi altre domande sui tag