In che modo bruteforce decodifica i dati se non sai cosa stai cercando?

4

Se volessi eseguire la decodifica forzata dei dati, proverei a decrittografarlo con una chiave e vedere se la decrittografia ha restituito un'assurdità. Se la decrittografia restituisse dati significativi (ad esempio qualcosa che un processore di linguaggio naturale considerava inglese, se stavo tentando di decifrare un'e-mail in lingua inglese), presumevo di avere la chiave. Se non restituisse dati significativi, proverei di nuovo con la prossima chiave possibile finché non avrò provato tutte le possibili chiavi. Ma questo metodo non funzionerebbe se non sapessi se stavo cercando di decodificare un'immagine, testo in spagnolo, testo in cinese, un file audio ecc.

Come decifri la forza bruta se non sai cosa stai cercando di trovare?

    
posta bernie2436 19.08.2013 - 13:21
fonte

2 risposte

5

È una situazione estremamente rara per un attaccante di forza bruta lavorare su dati dove non hanno idea di cosa sia crittografato. Quando i file crittografati vengono forzati brute in una cartella non crittografata con la dicitura "documentazione finanziaria", è abbastanza probabile che se ottieni documenti validi, fogli di calcolo o file PDF, hai decodificato qualcosa.

Anche senza perdita di informazioni da un file system mal gestito, i tipi di file più comuni contengono una grande quantità di metadati standard. File PDF, file .doc, file .JPG e altri contengono intestazioni abbastanza standard. I file di testo contengono informazioni sulla loro codifica. Un avversario di forza bruta passerebbe il tempo a cercare questi metadati. (Questa è, in effetti, una forma di Attacco di testo in chiaro noto .) Non importa se quel documento di Word è in Inglese, cinese, swahili o esperanto. È ancora un documento di Word, con tutti i metadati ad esso associati.

Anche se non è precisamente quello che stai chiedendo, cryptananalysis of the Enigma durante la seconda guerra mondiale coinvolto una forma simile di questo attacco.

    
risposta data 19.08.2013 - 14:55
fonte
0

A seconda dell'implementazione, ci possono essere semplici metodi per confermare che la chiave era corretta.

Ad esempio, TrueCrypt utilizza un hash crittografato della chiave principale / intestazione valida. Dopo aver provato una chiave di decrittazione utente, viene controllato l'hash dell'intestazione. Se l'hash corrisponde, TrueCrypt procede all'avvio, se non viene richiesto all'utente la password non è corretta.

Se consideri se ciò sia sciocco o meno - dal momento che stai essenzialmente dando a un utente malintenzionato un modo per controllare facilmente se hanno indovinato la chiave giusta, non dimenticare che se TrueCrypt non lo ha fatto, quando gli utenti hanno inserito un password errata il BIOS cercherebbe quindi di avviarsi essenzialmente da una tabella delle partizioni danneggiata (e chissà cosa potrebbe succedere allora, l'integrità dei dati è saggia).

In casi più generici, un buon metodo sarebbe calcolare l'entropia dei dati di output. Se ti aspetti, ad esempio, un documento, puoi tranquillamente supporre che la tua decrittazione corretta abbia un'entropia molto bassa, e che i caratteri solo nel set di caratteri [a-z0-9,.'] , ad esempio.

    
risposta data 19.08.2013 - 14:55
fonte

Leggi altre domande sui tag