In che modo un attacco di forza bruta determina effettivamente che è riuscito? [duplicare]

3

Prima di tutto, non si tratta di cracking delle password con hash. So che un attacco di tipo brute-force o dizionario sa che ha infranto la password quando entra.

Tuttavia, se un aggressore sta cercando di forzare un messaggio, diciamo che un messaggio trasmesso da un governo alla sua ambasciata in un paese straniero, come fa il cracker a determinare che ha finalmente trovato il testo normale?

A cura:

A quanto pare, la mia domanda originale era scritta male. Ho affermato che non stavo chiedendo di crackare le password, e poi ho formulato la domanda come se fosse quello che stavo chiedendo, almeno in parte. Per prima cosa, ho parlato di MD5, che è un algoritmo di HASHING, non di un algoritmo usato per crittografare allo scopo di essere decodificato. @ lucas-kauffman ha dato una buona risposta a quello che mi è sembrato di chiedere, e grazie per questo, come comunque è stato informativo.

Lascia che lo faccia in modo diverso per evitare confusione.

Dato un testo cifrato creato usando la crittografia a chiave pubblica e supponendo che un utente malintenzionato avesse le risorse per utilizzare un metodo di forza bruta per attaccarlo, in che modo il programma di cracking deciderà se alla fine ha raggiunto o meno il piano? testo? Questo non è il cracking delle password, in cui il risultato sarebbe ovvio (l'ingresso è stato acquisito alla cosa che è stata attaccata). Diciamo che il testo cifrato del messaggio era qualcosa sulla linea di "JPOAISUDF89L; JKQWERTYQIOP34JUU890JEROTUQ3-49TJ" (< == solo alcuni caratteri casuali che ho digitato non provano a "romperlo"). Come avrebbe deciso il programma di cracking di aver trovato il testo in chiaro, dato che non sapeva cosa cercava in primo luogo?

So che un umano potrebbe guardare una decifrazione del processo (presumendo che una cosa del genere esista) e sapere che "Attack at midnight" rappresenta un messaggio reale, mentre "aroOFPS toj34ioA diy66b234" non lo fa (spera), ma un umano non è sarà coinvolto (dato che il processo farà centinaia di tentativi al secondo). Quindi il programma di cracker presumibilmente deve avere un modo per sapere che ha colpito paydirt, o almeno potenziale paydirt? Questo sarebbe particolarmente rischioso se il mittente avesse crittografato il messaggio due o tre volte (Triple DES chiunque?).

Mi sembra incredibilmente improbabile che un dato messaggio crittografato usando un metodo sicuro possa MAI essere rotto in un tempo limitato, specialmente se l'aggressore non sapeva esattamente cosa cercava esattamente.

    
posta Cyberherbalist 19.03.2012 - 22:12
fonte

2 risposte

3

Se hai un testo in chiaro noto, puoi provare tutte le chiavi e trovare quello che decodifica il testo in chiaro noto. Potresti pensare che questo non accadrà mai, ma in realtà è piuttosto comune, a causa della struttura del protocollo.

In alternativa, se sai che il testo in chiaro ha una struttura particolare - per esempio, è un testo in inglese - puoi fare decrittografie di prova e mantenere solo quelle che producono qualcosa che assomiglia a un testo inglese ragionevole. Ad esempio, è possibile controllare che il bit più alto di ogni carattere sia disattivato o utilizzare la lettera o le frequenze del bigram.

Per questi motivi, sarebbe un errore pensare che questa sia una seria barriera per un aggressore. Se la sicurezza del tuo sistema fa affidamento sul presupposto che l'hacker non sarà in grado di far conoscere il testo in chiaro, o non sarà in grado di riconoscere una decrittazione valida, allora c'è qualcosa di sbagliato nel design del tuo sistema: probabilmente non lo è t sicuro come pensi che sia.

Per ulteriori dettagli, ecco un documento di ricerca sull'argomento:

David Wagner e Steven M. Bellovin. Un riconoscitore di testo normale programmabile . 1994.

Ecco una citazione dal documento: "La maggior parte dei tipi di testo può essere attaccata in modo efficiente: tipicamente [...] possiamo aspettarci di trovare la chiave di decrittazione il 90% delle volte usando tre blocchi di testo cifrato. ricadere sulla nostra macchina per la ricerca di chiavi con solo testo cifrato, purché l'autore dell'attacco sappia per quale architettura sono stati compilati i binari ".

    
risposta data 19.03.2012 - 23:26
fonte
1

La maggior parte delle volte ciò che accade è che iniziano con un dizionario e cancellano ogni singola parola lì dentro. Essi mappano quell'hash su quella parola, quindi se hai un hash MD5 di una parola, cerchi quell'hash nel tuo database e riceverai la / e parola / e corrispondente / i. Alla fine la tua password è solo un "testo" stesso.

Un'altra opzione è che iniziano andando oltre ogni possibile combinazione di lettere e numeri, applicando un hash ad esso e confrontando l'hash con l'hash della password. Le moderne schede grafiche possono indovinare fino a 800 milioni di hash al secondo. A volte memorizzano gli hash in un database, questo è chiamato una tabella arcobaleno.

Il problema è che ci vorrà ancora molto tempo per un messaggio lungo, inoltre è possibile ottenere una collisione hash. Ma puoi semplicemente mantenere ogni collisione di hash, puoi solo controllarli in seguito, non ci saranno centinaia di collisioni hash su un semplice testo.

    
risposta data 19.03.2012 - 22:37
fonte

Leggi altre domande sui tag