Ci vuole più tempo per forzare una password a partire da z di una che inizia con a?

5

Mi chiedevo quanto segue:

Se qualcuno cerca di ottenere la mia password con Brute Force, una password che inizia con "a" indovina più velocemente di una che inizia con "z"? In questo caso, supponi che la password non sia salata, ma solo hash.

Un attacco Brute Force inizia con "a", prova e poi vai avanti o calcola prima tutti gli hash e poi vedi se ci sono corrispondenze?

    
posta print x div 0 29.07.2014 - 13:31
fonte

8 risposte

9

Direi si . Non in modo significativo (non basare le password su questo), ma ancora.

Frequenza lettera

Prima di tutto, se segui questa regola, la tua password contiene una 'z' invece di una 'a'. La lettera "a" si presenta molto di più frequentemente nel testo inglese rispetto alla lettera "z" (questo è vero anche per la inizio di una parola ), e come tale sarà più frequentemente parte delle parole in una lista di parole. Inoltre, molti meccanismi di cracking (come modalità Incremental John the Rippers ) probabilmente creeranno una password contenente un ' un 'invece di una' z 'più veloce. Questo è solo un effetto collaterale della tua regola, ma è comunque pertinente. E rende più probabile che le password che iniziano con un 'a' siano incrinate rispetto alle password che iniziano con una 'z'.

Metodi disperati di cracking

Diciamo che il cracker ha fatto prima tutte le cose comuni: elenchi di parole, ecc. Loro dove non ha successo. Ora potrebbero effettivamente provare le password in modo sistematico (nota che questa sarà generalmente l'ultima cosa che provano). A partire da a,b,...,z,aa,ab,... e così via. In questo caso, le password che iniziano con a verrebbero decifrate prima. Ma è altamente improbabile che l'attaccante si fermi a azzz e non provi anche bzzz,...zzzz . Ci vorrebbe solo un po 'di più

Ancora una volta, questo non è in alcun modo realmente significativo. Direi che ha un effetto, ma questo effetto può essere trascurato nel mondo reale.

La tua domanda aggiuntiva

No, un utente malintenzionato non calcolerà prima tutti gli hash ( tutti gli hash è un gruppo abbastanza grande) e li confronterà solo alla fine. Essi calcolano un hash, lo confrontano, calcolano un altro hash, lo confrontano e così via.

    
risposta data 29.07.2014 - 14:08
fonte
16

In generale, gli attaccanti sono adattivi. Sanno cosa pensa la gente. Se gli utenti tendono a iniziare le loro password con 'z', gli aggressori inizieranno la loro forza bruta con quella lettera.

Qualsiasi strategia specifica, come scegliere una 'z' come prima lettera, può darti un vantaggio sull'attaccante solo se l'attaccante non lo conosce; quindi parlarne in un pubblico Q & Un sito non è la mossa più intelligente di sempre. Inoltre, gli aggressori hanno sempre la possibilità di provare le password in un ordine casuale, il che garantisce un caso non-peggiore per l'attaccante. Quando ci sono N password equiprobabili, il costo medio per l'attaccante è N / 2 e, provando le password in un ordine casuale, l'attaccante ottiene quel costo indipendentemente da la tua strategia di scelta.

Il punto importante è che la protezione tramite password è stocastica. Per qualsiasi istanza di password specifica, un utente malintenzionato può essere fortunato; può anche essere particolarmente sfortunato. Analizziamo quindi la resistenza delle password basata sul processo di generazione della password , non basato su una specifica istanza di password: il processo di generazione ci dice quale sarà la percentuale di successo media dell'attaccante. "Media" è la parola chiave.

Prendi nota che le probabilità ti governano la vita: quando esci da casa, stai scommettendo probabilisticmente che non sarai colpito da un fulmine o morso da un Rottweiler scatenato. Accettate questo perché eseguite istintivamente un'analisi costi / benefici e considerate che tali eventi sono sufficientemente improbabili da non superare i benefici di poter camminare all'esterno.

Questo concetto si applica anche alle password: ti baserai sul processo di generazione della password con entropy sufficientemente alto, ovvero rendendo sufficientemente basso il tasso di successo degli attaccanti, che gli attaccanti non tenteranno nemmeno (o vince) ' t successo con probabilità abbastanza alta). In questo senso, "aaaaaaaa" non è più strong o più debole di "zzzzzzzz", a patto che il metodo che usi per generare la tua password possa produrre entrambi con pari probabilità. La forza di una password non è in quello che è, ma in quello che avrebbe potuto essere.

    
risposta data 27.10.2014 - 16:04
fonte
5

Innanzitutto, la maggior parte degli strumenti / siti web come "HowSecureIsMyPassword" non considerano solo gli attacchi bruteforce ma anche gli attacchi dizionario e arcobaleno, oltre a semplici regole come la lunghezza della password, il pool di caratteri, l'uso di parole, ecc. Quindi password come aaaaaaa e ZZZZZZZ , saranno valutati per lo più allo stesso modo.

In base alle mie conoscenze, non esiste un metodo "comune" per l'avvio di una sequenza di bruteforce oltre al semplice% da% a%%% (scelto per illustrare un punto e non parole / stringhe particolari).

Rispondere alla tua ultima domanda fa sorgere più domande: quanto "veloce" è il processo bruteforce (anche a seconda di molte cose), cosa intendi per "differenza da calcolare". In particolare, è possibile calcolare il pool totale di password e creare lì un modulo di valutazione.

Riguardo a a bruteforce per 1 anno, potrei dire che questo numero dipende anche da un sacco di fattori. Innanzitutto, possiamo eseguire tentativi illimitati di bruteforce? Se ci stiamo sottomettendo a un modulo che calcola l'hash, questo ridurrà significativamente la "velocità". Se siamo (offline / online) bruteforcing di un hash, allora stiamo parlando di pool più grandi (% hash di bit diZZZZZZ). In secondo luogo, esaminando l'aspetto più pratico, la password è "preziosa" da utilizzare per un anno e sarà rilevante dopo quel periodo.

    
risposta data 27.10.2014 - 16:05
fonte
2

Dipende solo da quanto bene è scritto il software. Scritto male che inizia da "a" e quindi è più sicuro.

Altrimenti, programmazione parallela (Naturalmente questo può essere programmato in modo diverso e ottimizzato dal compilatore, ecc.)

Non compliciamolo e rendiamolo semplice e diciamo che ogni core ha la stessa quantità di dati da elaborare e non ci sono altri processi che saranno utilizzati da Core 0 e 1.

  • Core 0 funzionerà da A fino a M (che è metà dell'alfabeto)
  • Core 1 funzionerà da Z fino a N (che è l'altra metà dell'alfabeto)

Il motivo per cui funziona è incase Core 0 sta facendo il lavoro più velocemente di Core 1 così, può subentrare alla successiva elaborazione prima di passare.

Quindi la tua domanda dovrebbe essere contro un software utilizzato per forzare brutemente.

    
risposta data 27.10.2014 - 19:36
fonte
2

L'entropia conta più della lettera di partenza. Un attacco di forza bruta competente dovrebbe ordinare le ipotesi in base alla frequenza di utilizzo piuttosto che in ordine alfabetico. Se sono folli e vanno in ordine alfabetico, allora ci sarebbe un vantaggio, ma se la tua password è zebra e la mia password è a#4difk* , la tua password sarà indovinata FAR prima di quanto un elenco di parole basato sulla frequenza indurrà zebra relativamente presto ma non indovina la mia password fino a quando non inizia a provare tutte le combinazioni possibili.

Anche se la tua password è zf894SZD , sarebbe difficile dire quale sarebbe stato raggiunto per primo perché diversi cracker useranno approcci diversi per fare ipotesi. Per davvero casuale, possono effettivamente decidere di capovolgere le cose sulla loro testa e andare con le scelte delle lettere meno comuni prima supponendo che qualcuno potrebbe aver pensato che sarebbe stato più intelligente invece di andare veramente casuale. Non puoi davvero dirlo.

La password migliore è quella che è in realtà un'alta entropia, il che significa che non esiste un sistema con cui un aggressore possa corrispondere. È semplicemente una grande quantità di dati casuali che non ha un percorso rapido per indovinarlo perché non esiste alcun modello.

    
risposta data 29.07.2014 - 15:37
fonte
1

Con due opzioni A**** e Z**** , non puoi sapere come funziona l'attaccante, dalla A alla Z o dalla Z alla A. Potrebbe anche iniziare dalla fine della parola: ****A o% codice%. Se vuoi essere sicuro di ciò, aggiungi un carattere in più alla tua password, e quindi forse M è la scelta più sicura, al sicuro nel mezzo.

Non puoi dipendere da un singolo personaggio per la tua sicurezza. In questo caso, o se è la tua preoccupazione, aggiungine un'altra. Se non lo fai, rimuovi un carattere quando ne calcoli la forza.

    
risposta data 27.10.2014 - 17:12
fonte
0

La forza bruta è un approccio non un programma specifico. La forza bruta ha come obiettivo di coprire tutte le possibili password, ma il modo in cui l'algoritmo viene implementato è specifico per un approccio programmatico. Uno può iniziare in un, altri può iniziare con la lettera più comunemente usata. Domani qualcuno potrebbe inventare un nuovo approccio.

Ci sono già disponibili elenchi di hash precalcolati. Ad esempio l'hash MD5 di zzzzz è 95ebc3c7b3b9f1d2c40fec14415d3cb8 . Collegalo a Calcolatore di hash inverso e ottieni zzzzz in 5 secondi.

Non dovresti dipendere da trucchi come essere creativi con la tua password, ma piuttosto usare password complesse con caratteri generati casualmente. Un altro approccio consiste nell'utilizzare una frase con più parole che è possibile ricordare e quindi utilizzare la prima lettera di ciascuna. È anche possibile un gestore di password. Per le password online preferisco PwdHash con un'unica password complessa in modo da poter utilizzare una singola password su più siti senza preoccupazioni. Ora preferisco questo ai gestori di password per via della semplicità, anche se utilizzo ancora un gestore di password.

    
risposta data 29.07.2014 - 14:38
fonte
0

Nessuna password che inizia con z non è più sicura. Gli attacchi di forza bruta spesso usano dizionari per scorrere un possibile elenco di password. Alla fine arriverà alle voci che iniziano con z. Si noti che alcuni dizionari non elencano le password in ordine alfabetico, ma in base alla frequenza può verificarsi una password (in base all'esperienza precedente); come password1234$ o zzzzz .

Anche se l'attacco Brute Force calcola le permutazioni della password senza un dizionario, alla fine, arriva alle password che iniziano con z.

Il modo migliore per mitigare gli attacchi di forza bruta consiste nell'imporre password complesse, meccanismi di blocco degli account (sebbene questo inviti DDOS) o implementare regole forti di rilevamento delle intrusioni.

    
risposta data 29.07.2014 - 13:47
fonte

Leggi altre domande sui tag