Potenziale problema di sicurezza con il nome file md5

1

Ho archiviato file usando un nome file dell'hash md5 del file. Questo mi consente di non memorizzare duplicati dello stesso file ed evitare qualsiasi conflitto di nomi. Ogni file ha un diverso sale / iv.

Voglio iniziare a crittografare il contenuto del file lato app (usando OpenSSL PKCS5), tuttavia, prendendo l'md5 del file crittografato, perdo i vantaggi di cui sopra del nome file md5.

Supponendo che la memorizzazione dei file sia stata compromessa, la combinazione del file crittografato e dell'md5 del file non crittografato potrebbe essere un potenziale problema di sicurezza?

    
posta tombroomfield 28.11.2018 - 01:18
fonte

1 risposta

0

Se l'intervallo possibile del contenuto del file era abbastanza piccolo (o perché il file è molto breve, perché l'hacker conosce ogni parte del file tranne per un pezzo molto breve, o perché l'utente malintenzionato sa che il contenuto del file è uno dei un insieme limitato di cose, quindi l'attaccante può eseguire una ricerca di forza bruta del possibile contenuto del file e controllare il digest dell'hash di ogni risultato per vedere se corrisponde al nome del file.

Si noti che questa vulnerabilità non ha nulla a che fare con il fatto che MD5 è crittograficamente rotto e deprecato; qualsiasi funzione di hash sarebbe vulnerabile allo stesso problema. Se si desidera evitare il rischio, è necessario evitare di crittografare file piccoli / prevedibili oppure non lasciare che il file di hash in chiaro di ogni file appaia in chiaro (il nome del file) stesso.

Un altro attacco che potrebbe essere possibile è se l'hacker conosce almeno alcuni dei file che hai archiviato e può generare un nuovo file da memorizzare. Poiché MD5 è danneggiato, l'autore dell'attacco potrebbe potenzialmente creare un file dannoso con lo stesso MD5 di un file che ti interessa, e quindi quando archivi il file fornito da un utente malintenzionato sovrascrivi il tuo file originale perché avrebbe lo stesso nome. L'uso della crittografia è irrilevante qui (tranne nella misura in cui rende più difficile per l'utente malintenzionato sapere quali file sono stati memorizzati); questa è semplicemente una conseguenza della deduplicazione dei file usando un algoritmo per il quale sappiamo come creare collisioni e pre-immagini (parziali). Per evitare questo rischio, non lasciare che un potenziale utente malintenzionato sappia quali file hai archiviato, non archivi i potenziali rifornimenti di un attaccante e / o passi ad usare un algoritmo di hash sicuro come un membro delle famiglie SHA2 o SHA3. / p>     

risposta data 28.11.2018 - 01:39
fonte

Leggi altre domande sui tag