Il controllo degli elenchi di password è un buon metodo per applicare una politica di password sicura e probabilmente rilevare attacchi di dizionario su un'app basata sul Web?

1

Ho scritto uno script per controllare una determinata password contro un lungo elenco di 65 milioni di password raccolte da vari elenchi rilasciati dopo i tentativi di hacking.

Sto pensando di incorporarlo nel processo di verifica della password quando un utente sceglie una password - notificandoli che una password si trova su un elenco usato dagli hacker.

Inoltre mi sono chiesto se potesse essere utilizzato per rilevare un attacco dizionario / forza bruta quando le password nell'elenco sono salvate in tentativi di accesso falliti.

È stato apprezzato qualsiasi pensiero sull'utilità / efficacia di questo approccio.

    
posta theHands 23.03.2014 - 13:22
fonte

2 risposte

1

Se sei preoccupato che utilizzino password deboli, mi concentrerei solo sui requisiti di complessità. Costringili a usare una password di 12 caratteri con caratteri speciali. Un elenco di 65 milioni di suoni è relativamente piccolo, sono per lo più meno di 8 caratteri?

In considerazione di un attacco di forza bruta, non importa se c'è una grande entropia o distribuzione tra il set di caratteri se la lunghezza è bassa (8 o meno caratteri).

Ottieni lo stesso prezzo per te se imponi solo la lunghezza e la complessità del lato client o il "correttore forza password". Probabilmente è meglio mettere il tuo impegno nel proteggere la password del back-end (sale, pepe, hsm, ecc.) In modo che non possa essere compromessa.

Dalla prospettiva della forza bruta. Se l'attaccante ruba il tuo DB e fa un attacco offline, chiaramente il tuo assegno se non lo sarà. Se stanno provando a fare una forza bruta online, puoi bloccare l'IP solo dopo il numero X di tentativi falliti o bloccare l'account se è mirato con più tentativi in un argomento distribuito e lasciare che l'utente resetta quando vuole legittimamente andare d'accordo. Sembra che sarebbe molto più complesso e richiederebbe più risorse da controllare rispetto alla lista su ogni tentativo di accesso - potrebbe portare a un rifiuto di servizio su un server web modesto oltre la tassazione del sistema.

Anche se può avere qualche valore, non sono sicuro che gli utenti lo otterrebbero. Anche se è bello voler provare a proteggerli, se vogliono usare password brevi e tu li lasci, loro - forse prendono la loro password di cinque caratteri e aggiungono un numero - se questo non è nella tua lista, non fa nulla per aiutarli dal momento che sono ancora solo sei personaggi. Quindi il tuo elenco rileverà alcune password comuni, ma non affronterà il problema principale che è la lunghezza e la complessità. Provare 65 milioni di password in un attacco offline non è uno sforzo per un utente malintenzionato con un'unità di cracking della GPU.

    
risposta data 23.03.2014 - 20:45
fonte
0

Una buona strategia di sicurezza è generalmente semplice ed elegante, proprio come la matematica. Esistono metodi consolidati per verificare la sicurezza di una password. Il controllo di una password contro milioni di parole possibili sembra un po 'intenso e troppo complesso. Inoltre, potresti anche essere a rischio di un nuovo attacco a forza bruta contro il tuo script tramite l'esaurimento delle risorse, dal momento che richiede un certo numero di cicli della CPU per controllare una password contro milioni di voci.

    
risposta data 23.03.2014 - 13:40
fonte

Leggi altre domande sui tag