Alcune password sono più vulnerabili ai password cracker?

4

Supponiamo di avere una password composta da n caratteri alfabetici. A un utente malintenzionato viene fornita la password con hash e tenterà un attacco di forza bruta per crackarlo.

Posso immaginare un ingenuo password cracker che prova tutte le combinazioni che iniziano con AAAA...A poi AAAA...B poi AAAA...C ecc. fino a ZZZZ...Z . Per questo utente malintenzionato, una password che inizia con A ridurrà il tempo di crack di 25 * 26^(n-1) (rispetto all'inizio con Z ).

Ovviamente, potresti prima provare le parole del dizionario, le variazioni delle parole del dizionario e un elenco delle password più comuni ... ma se la password è stata casuale, allora a un certo punto dovrà scorrere l'intero spazio dei caratteri . E se non hai eseguito iterazioni sullo spazio in un modo ben definito (es. Input casuali), allora avresti bisogno di una quantità enorme di spazio per ricordare quali input hai già tentato (e dovresti controllarlo ad ogni iterazione, quindi rallentando le cose).

Potresti parallelizzare gli input in modo da provare A... , B... , C... , ..., Z... allo stesso tempo, ma ad un certo punto esaurirai i core.

In che modo i moderni password cracker risolvono questo problema?

    
posta Anthony Kraft 09.03.2014 - 20:36
fonte

3 risposte

3

La parte finale della tua domanda è facile da rispondere:

Fanno esattamente quello che hai suggerito:

  • parole del dizionario
  • password comuni
  • processori più veloci
  • altri processori

ma usano anche tabelle hash o tabelle arcobaleno, che consentono all'attaccante di scambiare tempo prima di ottenere gli hash con il tempo necessario per rompere in seguito. In termini semplicistici, pre-calcolano effettivamente gli hash delle password (non esattamente corretti - guarda le nostre domande sulle tabelle arcobaleno per maggiori informazioni)

Il problema in sé è il motivo per cui consigliamo sempre lunghe password. Al di sopra di una certa lunghezza sono efficacemente non brute-forzabili nella vita dell'universo (o altra pietra miliare appropriata)

    
risposta data 10.03.2014 - 23:26
fonte
1

Prima di tutto, c'è un'enorme differenza tra il cracking dell'hash della singola password e il set di hash delle password.

Potrebbe non essere facile decifrare un singolo hash, mentre è banale crackare una percentuale del set contenente diciamo 10.000 hash.

I moderni cracker di password tendono a decifrare insiemi di hash, perché ne beneficiano di più.

Ad ogni modo, se chiedi dei metodi, la tua intuizione è giusta.

Tutta la storia inizia dagli attacchi del dizionario. Il dizionario di Ofcourse non è solo un insieme di parole. Il buon dizionario contiene anche modelli. Ad esempio qazxswedcvfrtgb sembra abbastanza strong, ma se guardi la tua tastiera, potresti notare il suo schema ovvio.

Nel mondo reale, dove i cracker creano serie di hash, la storia finisce qui. Un dizionario di poche milioni di parole ti permetterà di craccare dal 5% al 50% di hash nel set.

Ad ogni modo, se il set è piuttosto piccolo o crei una password singola, questo è il punto in cui compare la forza bruta.

Hai menzionato parallelizzazione . Al giorno d'oggi parallelizzato diventa piuttosto distribuito . Se si dispone di una botnet, è possibile installare lì MPI o PVM ed eseguire calcoli distribuiti. È davvero fantastico, perché è la scalabilità .

    
risposta data 11.03.2014 - 00:43
fonte
0

I veri cracker proveranno prima le password più comunemente usate. Utilizzeranno per prima cosa nomi, parole del dizionario, elenchi di password usate conosciute e variazioni su tutti questi. Ecco una descrizione di uno di questi sforzi su un elenco di hash che è stato pubblicato:

link

    
risposta data 10.03.2014 - 08:27
fonte

Leggi altre domande sui tag