Domanda:
Le password generate in modo casuale che iniziano con "a" sono meno sicure?
lynn
2019-07-10 18:36:59 UTC
view on stackexchange narkive permalink

Recentemente ho generato una password per un nuovo account e i primi tre caratteri erano "aa1".

Dopo aver esaurito tutti gli altri attacchi, un cracker inizierebbe a forzare bruto. Presumendo che inizino da "a", la mia password di "aa1" verrebbe violata più velocemente di, diciamo, "ba1", e più velocemente di, diciamo, "za1".

Questa password era molto lungo quindi questa domanda è più teorica che pratica. (A meno che le lunghezze delle password non siano limitate, ovviamente ...) Le mie supposizioni sul forzamento bruto e sulle password sono corrette?

La forza bruta verrebbe probabilmente parallelizzata, quindi se hai 26 istanze di attacco in esecuzione, la prima lettera minuscola iniziale non cambia nulla, ma la domanda è piuttosto interessante:)
Dipende dalla lunghezza totale e dal set di caratteri utilizzato, più il marrier.Devi assicurarti che un attacco arcobaleno non sia praticabile, dovresti controllare questo calcolatore da tavolo arcobaleno https://www.tobtu.com/rtcalc.php
* "Le mie supposizioni sul forzamento bruto e sulle password sono corrette ..." * - Probabilmente dovrai fornire più contesto.Un utente malintenzionato probabilmente eseguirà un [elenco di password] (https://github.com/danielmiessler/SecLists) con 1 milione o 10 milioni di password.In caso di esito negativo per l'account utente corrente, passerebbero all'account utente successivo e utilizzerebbero di nuovo lo stesso elenco di password.Vedere anche * [Engineering Security] di Peter Gutmann (http://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf) *.
In tal caso, usa "zzzzzzzzzzzzzzzzzzzzzzzzzz" come password più sicura.
La risposta è ovviamente "sì".Hai ridotto lo spazio di ricerca.
@user207421 tecnicamente dipende.Se sostituiscono i primi tre caratteri della loro password con "zzz", hanno ridotto l'entropia.Se hanno anteposto `zzz` alla password che altrimenti genererebbero, allora non hanno aumentato l'entropia ma hanno una lunghezza maggiore, quindi una piccola vincita.Nessuno dei due cambiamenti avrà importanza se qualcuno sta cercando di decifrare la password però ...
l '"ordine di prova" della maggior parte dei cracker di password che ho visto finora è `aaa`,` baa`, `caa`, ...,` zaa`, `aba`,` bba`, quindi vale la pena prenderloanche uno sguardo agli ultimi caratteri della tua password.non sai quale strumento un utente malintenzionato per ottenere la tua password.ma probabilmente tutti gli strumenti iniziano con "a", "0" o qualcosa del genere.quindi la tua password potrebbe essere un po 'più sicura se aggiungi semplicemente uno o due caratteri "dal centro" (es. `m`) all'inizio e alla fine della tua password per evitare il problema che descrivi.
Supponi che un attacco inizi con "a" potrebbe non essere corretto.
Presumi che un attacco di forza bruta sia necessariamente sequenziale, ma sappiamo tutti che se limiti un processo a un thread di esecuzione puoi ottenere solo questo risultato.Un utente malintenzionato che esegue un attacco bruteforce utilizzerà più thread.Quando si utilizzano più thread, perché dovrebbero dividere il lavoro in modo che la password venga selezionata in sequenza?Diventa persino complicato inviare la password successiva a un nuovo thread in modo efficiente ... Molto più semplice dare a thread1 tutte le password che iniziano con `a..d`, thread2 tutte le password che iniziano con` e..h` ecc.
Se tutti sanno che le password che iniziano con "a" sono meno sicure, in un mondo razionale le persone non le useranno mai.Pertanto, le password che iniziano con "b" sono ora meno sicure, per lo stesso motivo.Risciacqua e ripeti.Conclusione: è impossibile per una password sicura avere un primo carattere :)
Questo è il motivo per cui ogni bruto attaccante razionale forza le password * al contrario: * inizia normalmente con "aaaaaaaa", ma piuttosto che "aaaaaaab" dopo, fai "baaaaaaa".;)
@alephzero è d'accordo.L'unica soluzione razionale per proteggere la tua password è non avere un primo carattere!
Chiaramente "una graffetta corretta per i cavalli" è più sicura di "una graffetta corretta per i cavalli" ma non così sicura come "molte graffette corrette per i cavalli"
per qualsiasi cracking non banale, l'ordine di ricerca non è lineare.ma mi viene in mente che potresti provare a progettare intenzionalmente la tua password per inclinarla verso sequenze di caratteri meno comuni in modo da apparire "più tardi" nella ricerca, partendo dal presupposto che l'attaccante proverà a ottimizzare la ricerca per trovare di piùprima le password comuni.ma questo è un gioco selvaggio e inutile, con ogni possibile (molto dubbio) guadagno potenziale probabilmente inferiore all'aumento della lunghezza di una password casuale anche di un singolo carattere.
@dn3s Aveva la stessa idea e ha scritto una risposta al riguardo, ma sentiti libero di aggiungere!https://security.stackexchange.com/a/213381/15756
Una volta ho dovuto usare il lucchetto a combinazione di forza bruta (il mio).Ho iniziato sul 4-0-0 perché avevo maggiori probabilità di imbattermi nella mia combinazione più velocemente (la natura umana è quella di evitare numeri bassi per questo tipo di motivo).Molto tempo dopo, ho finalmente colpito 3-9-8 e l'ho aperto ...
@IMil OP ha posto una domanda molto genuina, non divertirti.È davvero brutto.
@CarlWitthoft Paradossalmente, "nocorrecthorsebatterystaples" è ancora più sicuro.
Nove risposte:
#1
+85
reed
2019-07-10 20:52:55 UTC
view on stackexchange narkive permalink

Sembrerebbe che dipenda da come esattamente l'aggressore imposterà la tua password. Tuttavia, la mia opinione è che alla fine non importa.

Un aggressore serio non partirà mai dall'inizio in ordine alfanumerico, da aaaaaaaa a 99999999 , a meno che non sappiano di poterlo fare in un tempo ragionevole. Se questo richiederà loro mille anni, perché dovrebbero usare quel metodo, sapendo che dovranno necessariamente fermarsi, ad esempio, a cccccccc ? Ma se l'aggressore sa che può provare tutte le possibilità in un tempo ragionevole, allora non importa se la tua password è tra le prime combinazioni o tra le ultime, perché alla fine la troveranno comunque (in un tempo ragionevole ).

La maggior parte delle password sono ancora deboli (ad esempio, il nome del tuo cane, più forse la tua data di nascita, ecc.) E agli aggressori non piace sprecare troppo tempo, figuriamoci anni per decifrare le password. Quindi ciò che normalmente fanno gli aggressori è utilizzare dizionari e schemi. Per prima cosa proveranno password come: pass123 , 123pass , john90 , john91 , John92 , JOHN93 , 123456 , l1nux4dm1n , ecc. Se ogni tentativo con dizionari e modelli fallisce, potrebbero andare avanti e presumere che la password sia veramente casuale. Quanto tempo ci vorrà per provare tutte le possibili password? Se ciò può essere fatto in un tempo ragionevole, potrebbero provarli tutti (ad esempio da aaaaaaaa a 99999999 ). Altrimenti se l'aggressore presume che non sarà mai in grado di provarli tutti, potrebbe provare a forzare la password con alcune ipotesi casuali (stringhe casuali, non ordinate): 12hrisn589sjlf , 9f2jcvew85hdye , otnwc739vhe82b , ecc. Se l'aggressore è fortunato potrebbe trovare la password, prima o poi. Tuttavia, se la password è troppo forte, in modo tale che impiegherebbero troppi anni per indovinarla, farebbero meglio a rinunciare o pensare a un attacco alternativo (phishing, shoulder surfing, keylogger, ecc.)

In effetti, penso che questo sia ciò a cui davvero si riduce: l'hacker è ben consapevole di quale sia il suo tasso di successo e quindi quali password possono decifrare in un ragionevole lasso di tempo.Forzare brute l'intero spazio di ricerca è possibile in un ragionevole lasso di tempo o non lo è, nel qual caso non si preoccuperanno e non avrà importanza.
.... a meno che il generatore di password casuali non abbia inventato "aardvark"
Hmm ... questo potrebbe significare che la pre / post-attesa di una corsa delle stesse cifre solo per rendere la password più lunga senza effettivamente aumentare l'entropia potrebbe renderla più sicura portandola fuori dall'intervallo di "tempo ragionevole"?
@SamuelÅslund, se "banana123" è considerato insicuro, "banana123zzzzzzzzzzzzzz" è decisamente più sicuro, ma è difficile dire esattamente quanto questo aiuterà.Alcuni malintenzionati potrebbero provare ad aggiungere o anteporre cose a schemi di base (alla fine, aggiungere o anteporre cose sarà ancora uno schema), ma non c'è modo di saperlo.La migliore pratica, e l'unica che è garantita per essere sicura, è quella di utilizzare password che abbiano una vera entropia e non fare affidamento su trucchi, mnemonici e riutilizzo delle password.
@SamuelÅslund Entropy riguarda il caos, non gli intervalli di numeri grezzi.Il modo migliore in cui l'ho sentito descritto è prendere la tua password e oscurare un elemento alla volta (così Banana diventerebbe Ban-na-> B-n-na).Quante ne puoi togliere prima di poter indovinare le parti rimosse con un alto grado di certezza?Questa è la prevedibilità del modello.E più prevedibile è il tuo modello, meno entropia (caos) contiene effettivamente.Questa mancanza di vera entropia è il motivo per cui il testo può essere compresso così bene negli archivi.(E perché i caratteri casuali senza relazione tra loro contengono più entropia delle parole della stessa lunghezza)
Forse questo è un motivo per avere criceti al posto dei cani.Un cane vive 10-13 anni (all'incirca) mentre un criceto vive 2-2,5 anni.L'uso di nomi di criceti invece di nomi di cani aumenta lo spazio di ricerca di un fattore 5?
@Tezra è un modo per misurare l'entropia nel linguaggio umano, ma l'entropia stessa è un argomento complicato con definizioni variabili in diversi campi (fisica, computer, teoria dell'informazione, ecc ...)
@ConorMancone Ma tutte queste definizioni si riducono a più entropia significa meno prevedibilità.Con le password, parliamo di entropia come di quanto sia prevedibile un modello.Quindi, per definizione, se puoi oscurare parte della tua password e puoi indovinare rapidamente (2-3 tentativi) quale fosse la parte oscurata in base al contesto circostante, hai ridotto l'entropia."314159265359" non è un linguaggio umano, ma è anche molto prevedibile (pi).È un modo per misurare la prevedibilità del modello.Il linguaggio umano è solo un sottoinsieme di modelli a cui puoi applicarlo.
@doneal24 Inoltre, i nomi di cani e gatti sono spesso registrati, se non altro che da un veterinario locale, il che rappresenta un punto debole dell'ingegneria sociale.Quasi nessuno registra criceti.
Per interpretare l'avvocato del diavolo, un attaccante può provare a forzare brute "aaaaaaa" in "ccccccc" se gli dà una possibilità di 1/12 di guadagnare più di 12 volte il proprio investimento.
@doneal24 Inoltre, hamster1234 è molto più sicuro di dog1234 solo per la taglia.
E alla fine, non è nemmeno maaattee-e-eeer.
#2
+28
Conor Mancone
2019-07-10 19:11:09 UTC
view on stackexchange narkive permalink

Entropia

L'entropia è davvero la preoccupazione maggiore, e l'entropia è determinata dalla quantità di casualità nel processo di generazione della password.

Usiamo una password di 18 caratteri come esempio. Esamineremo solo i caratteri alfanumerici (62 caratteri possibili). Questo dà:

log2 (62 ** 18) = 107 bit di entropia

Se decidi di convertire sempre i primi 3 caratteri in Z per creare è più difficile la forza bruta quindi hai effettivamente rimosso 3 caratteri casuali dalla tua password, lasciandoti con:

log2 (62 ** 15) = 89 bit di entropia

Che è circa un fattore di 1.000.000 più debole. Ovviamente, entrambi sono ancora assolutamente e completamente impossibili da eseguire con forza bruta, quindi se qualcuno sta cercando di forzare la tua password non mi preoccuperei.

È impossibile decifrare password complesse

Tuttavia, vale la pena sottolineare quanto sia impossibile forzare una tale password (nel caso in cui i miei collegamenti non ti convincessero). Un top della linea di hashing MD5 può provare 200 miliardi di hash al secondo. È velocissimo (motivo per cui MD5 non dovrebbe essere utilizzato per le password). Anche la tua password più debole (quando hai sostituito i primi tre caratteri con z ) ha 7.6e26 possibili combinazioni. A 200 miliardi di hash al secondo, ci vorranno solo 120 MILIONI anni per provare tutte le possibilità di password se la password è stata sottoposta ad hash con MD5. Non credo che tu abbia nulla di cui preoccuparti.

L'impatto di aa

Quindi, è meglio iniziare con caratteri "superiori" per rendere più difficile per qualcuno forzare la tua password? Forse sì forse no. Se capita che un attaccante inizi dall'inizio dell'alfabeto, allora sicuramente il tuo verrà risolto "più velocemente" (anche se non ancora in questa vita). Tuttavia, non ci sono garanzie che qualcuno che tenta una forza bruta operi in quell'ordine particolare. Di conseguenza, è impossibile indovinare se una password che inizia con aa possa essere più crackabile o meno. Anche in questo caso, però, se si utilizza una password casuale lunga, non ci sono effettivamente possibilità che venga hackerata. Quindi non me ne preoccuperei. Quando si tratta di password la lunghezza è re.

Principio di Kerckhoff (h / t Adonalsium)

Penso che il principio di Kerchkhoff sia molto applicabile qui. Questo è, in un certo senso, un "principio" fondamentale della sicurezza. L'idea alla base del principio di Kerchkhoff è che la sicurezza di un sistema dovrebbe essere basata su una, e una sola, chiave / segreta. L'idea è che più "parti" sono necessarie per mantenere un sistema sicuro, più è probabile che alcune parti vengano fuoriuscite e che si verifichi una violazione della sicurezza. Quando parliamo di password è abbastanza chiaro quale sia la "chiave": la password. In particolare, uno lungo e casuale. Come discusso sopra, è davvero tutto ciò di cui hai bisogno. Aggiungendo ulteriori "regole" alla tua password casuale, in realtà stai solo dando potenziali suggerimenti per rendere più facile per un utente malintenzionato che ti sta prendendo di mira indovinare la tua password.

Questa sorta di riduzione "intelligente" dell'entropia rimuovendo i modelli "facili da indovinare" [risale alla macchina Engima] (https://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma#Operating_shortcomings).Ad esempio: nessun rotore potrebbe trovarsi nello stesso punto per due giorni consecutivi;non possono essere adiacenti due connessioni plugboard;nessuna impostazione del rotore potrebbe ripetersi in un mese.Una volta che i codebreaker hanno capito quale fosse la procedura, tutti hanno * ridotto * le combinazioni che dovevano cercare.
@Schwern è forse il miglior commento in assoluto.Penso che meriterebbe di essere una risposta in sé.
I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (https://chat.stackexchange.com/rooms/96200/discussion-on-answer-by-conor-mancone-are-randomly-generated-passwords-starting).
#3
+21
Tom
2019-07-11 10:03:16 UTC
view on stackexchange narkive permalink

Dopo aver esaurito tutti gli altri attacchi, un cracker inizierebbe la forzatura bruta.

Dice chi?

Ci sono solo due scenari in cui la forzatura bruta è effettivamente una cosa. Uno è quando l'attaccante ha l'hash della password e l'altro è quando ha il controllo del software che controlla l'accesso perché qualsiasi software non completamente danneggiato non gli consentirebbe la forza bruta in primo luogo.

Il caso più comune è che l'aggressore disponga di un database delle password. Userà un software cracker come John the Ripper. Avrà testato alcuni milioni di possibili password prima ancora di iniziare con "aa". Nella maggior parte dei casi, a questo punto ha già violato diverse migliaia di account perché la loro password era "password" o "12345678". Oppure - per soddisfare il controllo fittizio della "sicurezza della password" - "Pass123!".

Probabilmente non si preoccuperà di lasciare che il suo cracker si imbatta nel passaggio della forza bruta, perché ha cose migliori a che fare con il suo tempo. E in realtà non sai se la forzatura bruta inizierebbe effettivamente con aa oppure no, perché ci sono buone probabilità che non lo sia.

Il tuo vero problema è che non appena man mano che stabilisci regole su quali password consideri "non valide", in realtà riduci lo spazio di ricerca. Le politiche sulle password sono dannose, a quanto pare. Ascolta, l'autore di JtR ha anche una pagina a riguardo sul suo wiki. Ovviamente il consulente $$$ che ha convinto il tuo CISO ad adottare la sua stupida politica sulle password non ha mai letto quella pagina e probabilmente non sa nemmeno che JtR esiste ancora. :-)

Quindi no, "aa1" non è sensibilmente meno sicuro di "zz9". In primo luogo perché la forza bruta è l'ultima arma, non la prima e in secondo luogo perché non vi è alcuna garanzia che il software di forza bruta inizi effettivamente da ae non da z. Non inizierei da un se dovessi scriverne uno. Ad esempio, randomizzerei l'alfabeto e lo userei. Esattamente perché immagino che le persone probabilmente evitino "aaaaaaaa" come password.

Purtroppo, secondo https://haveibeenpwned.com/Passwords, la password aaaaaaaa è stata effettivamente utilizzata, trapelata e rotta oltre settantamila volte.(zzzzzzzz arriva a 54k e llllllll a 7k.)
Non è quasi nulla, rispetto a, diciamo, "password" con oltre 3,6 ** milioni ** di volte o "segreto" (che è di soli 6 caratteri) con quasi un quarto di milione.:-)
È vero.Non è sicuramente la peggiore password al mondo.:)
In realtà, molti attaccanti usano la forza bruta come loro _first_ tecnica, anche se useranno solo la forza bruta, diciamo, 4 caratteri prima di passare ad attacchi migliori come il dizionario e gli attacchi ibridi.
La pagina wiki JtR a cui ti colleghi sulle politiche per le password non supporta davvero il tuo argomento.Dice che per una password ASCII di lunghezza 8, che richiede almeno 3 classi di caratteri riduce lo spazio di ricerca solo del 5,5%, "quindi è una cosa ragionevole da fare".Alcune autorità potrebbero affermare che "i criteri per le password sono dannosi", ma quella particolare pagina non lo fa.
@IMSoP il punto è che ** riduce ** lo spazio di ricerca, non lo ingrandisce.È controintuitivo per la maggior parte delle persone.
Infatti.Probabilmente c'è un riferimento migliore per questo, tuttavia, poiché quello a cui ti sei collegato per lo più presume che tu già sappia e sta solo quantificando l'effetto.
#4
+5
pslessard
2019-07-11 20:06:48 UTC
view on stackexchange narkive permalink

Molte altre risposte si concentrano sul motivo per cui una password che inizia con "a" non sarebbe meno sicura di qualsiasi altra lettera iniziale perché presumi che l'attaccante lo stia facendo in modo sequenziale e parallelo, o perché stai supponendo che stiano iniziando da "a", mentre un abile attaccante potrebbe non farlo. A causa di questi argomenti, nessuna lettera iniziale è meno sicura di un'altra da un attacco esperto.

Tuttavia, direi che contro un attaccante ingenuo, una password che inizia con "a" è marginalmente meno sicura, a causa al fatto che sarebbero più propensi a farlo in sequenza e partendo da "a" a causa della loro mancanza di abilità ed esperienza.

In pratica, però, come dicevano le altre risposte, questo non farà differenza perché in pratica, una password generata casualmente abbastanza lunga probabilmente non potrà mai essere forzata in un ragionevole lasso di tempo ed evitare la lettera "a" restringerebbe semplicemente lo spazio di ricerca.

#5
+4
allo
2019-07-11 15:49:11 UTC
view on stackexchange narkive permalink

Quando si presume un attacco di forza bruta, una password che inizia con "a" potrebbe essere più debole. Se l'uso di "z" diventa popolare, questo sarebbe vero per "a" e "z", il che renderebbe più complicato valutare il rischio.

Supponiamo di conoscere un carattere che viene provato prima di altri . Quindi l'attaccante deve solo testare 1/26 dello spazio di ricerca. La soluzione è rendere la password più lunga . Non solo quando inizia con "a", ma sempre.

Un utente malintenzionato probabilmente inizierà con password brevi per una ricerca a forza bruta *, quindi quella più lunga ha una protezione molto migliore. Anche quando non lo fa, dovrà testare molte più password prima di ottenere la tua.

Un attacco con dizionario o un attacco misto può provare "a", "aa", "aaaaaaaa" prima di provare "b", anche se. Questo è un gioco mentale tra te e l'attaccante, quindi scegliere una passphrase casuale è l'approccio migliore e rifiutare quelle che potrebbero essere in elenchi di parole è ragionevole (ma è improbabile che una password lunga casuale sia in un elenco di parole, comunque).

* Il test di tutte le password da 1 a 8 caratteri richiede solo circa il doppio del tempo rispetto al test di tutte le password a 9 caratteri che iniziano con "a", quindi è ragionevole iniziare con quelle più brevi, se presenti è una possibilità che la password sia breve.

Perché presumi che un attacco bruteforce inizi con "a"?
@T.Sar Non penso sia un'ipotesi irragionevole.Devi iniziare da qualche parte e questa è la prima lettera dell'alfabeto e nella tabella ASCII / unicode.Sembra probabile un posto come un altro (un utente malintenzionato non vorrebbe dover mantenere lo stato di ogni password che ha già controllato, quindi deve esserci una sequenza, cioè non sarà casuale, e per esperienza, A è ciò che ha fattome stesso nei miei giorni da scriptkiddie).
@T.Sar Ho seguito il presupposto della domanda e ho basato la mia risposta su questo assunto.
Il numero di password di 9 caratteri (N ^ 9) mi sembra circa (N-1) volte maggiore del numero di password di 1-8 caratteri (N ^ 9-N) / (N-1), dove N èla dimensione dell'alfabeto.Questo è considerevolmente più grande (a meno che non siamo nel caso ben noto N = 2).Mi sto perdendo qualcosa?
In effetti, ho confuso questo.Spero sia corretto ora.
#6
+4
Dennis Jaheruddin
2019-07-12 13:24:57 UTC
view on stackexchange narkive permalink

Pensare fuori dagli schemi: correggere il modello di minaccia

Molte delle risposte esistenti indicano già che c'è poco da guadagnare semplicemente evitando la a, e che è molto facile applicare a ' fix 'che in realtà peggiora la tua situazione.

TUTTAVIA, concettualmente sembra anche sbagliato ignorare completamente il modo di lavorare degli aggressori. Pertanto presento questa direzione della soluzione, che dovrebbe funzionare in teoria (ma potrebbe essere un po 'difficile da applicare nella pratica):

Se il tuo modello di minaccia definisce un attaccante è più probabile che attacchi un pattern, sarebbe opportuno rendere meno probabile il verificarsi di questo pattern

Esempio:

  1. Supponi di sapere che esistono strumenti comuni che eseguono la forza bruta di password da 'a 'avanti
  2. Supponiamo che questi siano tipicamente configurati in base al tempo / tentativi allocati, cosa che capita a loro di provare la' a 'più spesso della' z '
  3. Supponiamo che questo si traduca in il numero totale di attacchi effettuati contro di te da chiunque nel mondo, questo fa sì che la "a" venga provata il 2% più spesso delle altre lettere

In questo caso probabilmente sarebbe bene per rendere la "a" meno probabile dell'1%

Conclusione

Se hai (e tieni traccia di) la vera minaccia contro di te, dovresti essere in grado di ridurre leggermente la possibilità di la tua password viene violata. Sfortunatamente avresti bisogno di un'azienda gigante per conoscere lo stato in qualsiasi momento e dovresti rigenerare le password ogni volta che il modello di minaccia cambia. Ad esempio perché gli aggressori apprendono anche che stai correggendo gli schemi della scorsa settimana.

In breve, ti rendi conto che avevi concettualmente ragione, ma è semplicemente poco pratico implementare correttamente .

#7
+3
Dmitry Grigoryev
2019-07-11 16:32:37 UTC
view on stackexchange narkive permalink

A rigor di termini, sì, se il cracking si riduce alla forza bruta, potrebbe esserci una maggiore possibilità che una password che inizia con "a" venga controllata prima di una password che inizia con "z". Non è necessariamente vero, ma potrebbe anche esserlo.

Una cosa importante da capire sull'entropia delle password è che devi calcolarla rispetto a. il modello che l'attaccante utilizzerà probabilmente per violare le password, non rispetto. il modello che hai utilizzato per generarlo. Ad esempio, se hai generato una password alfanumerica completamente casuale e hai ottenuto "passwordpassword123", ha la stessa entropia di "generazione" di qualsiasi altra password casuale della stessa lunghezza. L'entropia di "generazione" elevata non la rende una buona password, poiché ha un'entropia di "cracking" molto bassa assumendo tipici attacchi di dizionario.

Non è raro scartare password generate casualmente proprio per questo motivo. Pur riducendo il numero di password disponibili (e quindi la sicurezza delle password), si evita di generare una password che sarebbe molto facile da decifrare.

"* Non è raro scartare password generate casualmente *" Hai un esempio?A parte i codici PIN a 4 cifre, non credo di aver mai sentito nessuno che scartasse password casuali deboli.Se il tuo generatore di password casuali genera "passwordpassword123" prima della morte per calore dell'universo, non può essere stato un buon generatore in primo luogo.
@Luc O forse sei solo ** davvero ** fortunato e devi andare a giocare alla lotteria ...
@ConorMancone Non proprio.Se si presume che tutti gli 8 miliardi di persone su questo pianeta creino ciascuno un nuovo account ogni secondo (in modo che ciascuno generi una password casuale di 16 caratteri ogni secondo), ci vorranno comunque 94 miliardi di anni prima che ci sia una probabilità del 50% che qualcuno abbia generato"passwordpassword".Se stavi scherzando, allora sono pienamente d'accordo con te, ma non posso dire se pensi che ci sia una seria possibilità di questo;)
Se il tuo generatore di password casuali genera password facili da indovinare, potresti aver inavvertitamente creato qualcosa di molto speciale.Forse potresti convincerlo a scrivere un po 'di Shakespeare dopo?Sono sicuro che genererà alcuni nuovi lavori.
@Luc Secondo questa logica, vincere con un biglietto della lotteria numerato 1,2,3,4,5,6 sarebbe "più fortunato" che vincere con un biglietto "dall'aspetto casuale".Dopo 94 miliardi di anni, è più probabile che venga fuori una particolare stringa di destinazione, ma ciò non significa che puoi fare affidamento sul fatto che non si presenti prima.
@SteveSether Non è proprio questo il punto.Quello che sto cercando di dire è che la password non è forte perché ha molta entropia.È forte perché ci vuole molto tempo per decifrare.
#8
+3
Hey
2019-07-11 19:30:57 UTC
view on stackexchange narkive permalink

Se volessi fare qualcosa al riguardo, tutto ciò che potresti fare (a parte aumentare la lunghezza della password) sarebbe rifiutare le password che iniziano con una "a". Ora hai rimosso 1/26 delle possibili password e l'attaccante può decifrare la password media 26/25 volte più velocemente.

... e ora, le password più deboli iniziano con una "b". Li rimuoviamo e rendiamo "c" il nuovo primo carattere più debole? Vedi dove sta andando.

Le altre risposte hanno spiegato bene perché non è importante, volevo solo far notare che cercare di risolvere questo problema evitando determinate password è assurdo.

#9
+3
rbsec
2019-07-12 16:25:29 UTC
view on stackexchange narkive permalink

Per aggiungere alle molte buone risposte qui, vale la pena notare che anche quando un attaccante sta usando un attacco di forza bruta (che è raro, date tutte le migliori opzioni discusse), i buoni strumenti non fanno un bruto sequenziale -force.

Ad esempio, la modalità forza bruta in John the Ripper (che @Tom menziona sopra) è chiamata Modalità incrementale, e sebbene copra l'intero spazio delle chiavi, utilizza un modello basato sulla frequenza per coprire lo spazio delle chiavi in ​​un ordine molto più efficiente di quanto farebbe un attacco sequenziale AZ.

Ricordo anche un vecchio strumento chiamato PasswordsPro, che eseguiva una forza bruta sequenziale, ma avviava alla fine della stringa anziché all'inizio (aaaa, aaab, aaac, ecc.).



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...