La forza brute force cracking non può essere strozzata in qualche modo?

6

Gli articoli online menzionano l'importanza di una password complessa e suggeriscono che gli strumenti di hacking consentono ai cattivi di tentare milioni di password al secondo. Mi chiedo perché sistemi operativi e siti Web e simili non siano tentativi di limitazione. Cioè, se accadono 3 cattivi tentativi, perché non dovrebbero essere rifiutati ulteriori tentativi per dire almeno i prossimi 10 minuti? Non esiste un modo di livello basso per chiudere in modo sicuro il floodgate di "milioni di tentativi al secondo"?

    
posta Mario 16.12.2013 - 21:33
fonte

4 risposte

3

I sistemi operativi e i siti web ben progettati fanno gestiscono i tentativi di accesso, come descritto nel tuo esempio.

Tuttavia, è anche vero che sono possibili milioni / miliardi di ipotesi al secondo, ma solo contro gli "hash" semplici e offline delle password. Ars-Technica ha un ottimo articolo di Dan Goodin che probabilmente hai letto. Anche se non è focalizzato, è chiaro che si tratta di attacchi "offline" contro un elenco di hash MD5. MD5, ovviamente, non è progettato per proteggere le password.

Esistono molti modi per ridurre la velocità con cui si possono tentare le ipotesi:

  • Invece di un hash per scopi generici (MD5, SHA1) utilizza una funzione di derivazione chiave appropriata come PBKDF2 con quante più iterazioni possibili per il tuo ambiente. Ciò aumenterebbe significativamente il tempo di calcolo per ipotesi, forse fino a diversi decimi di secondo per ipotesi.

  • Saltare ogni password, che protegge dagli utenti che scelgono password deboli (ad es. parole del dizionario)

In breve, se il database delle password da un sistema di login ben progettato è compromesso e gli hash salati ottenuti, il rischio derivante dalla forza bruta è molto più basso rispetto a un database di password MD5 non salato.

    
risposta data 16.12.2013 - 21:50
fonte
6

Stai parlando di attacchi online , qualcuno sta inserendo password tramite il sito web. Questo è possibile rallentare con i metodi che hai descritto, anche se non è così facile come potresti pensare.

Quando leggi le password di cracking, normalmente parli di attacchi offline , ecco perché dopo tutto si calcolano gli hash. Pensa alla situazione in cui qualcuno potrebbe leggere tutti gli hash delle password (ad esempio SQL-injection o da un backup eliminato ...). Quindi l'attaccante può eseguire la forza bruta velocemente quanto il suo hardware può fare, ad es. usa la GPU per calcolare gli hash. Anche in questo caso è possibile rallentare l'attacco, per questo motivo oggi si utilizzano funzioni di derivazione chiave lente come BCrypt o PBKDF2. Questi algoritmi consentono di definire un fattore di costo, che definisce il numero di iterazioni eseguite, in modo da poter controllare il tempo impiegato per calcolare un singolo hash.

Un esempio: se puoi calcolare 8 Giga MD5 hash al secondo tutte le combinazioni di password fino a 6 cifre possono essere calcolato in 2 secondi. Se hai bisogno anche di 1 millisecondo per hash, hai già bisogno di 8 mesi.

    
risposta data 16.12.2013 - 21:54
fonte
3

Sì, questo controllo è disponibile in molti sistemi: non è stato menzionato negli articoli che stai leggendo. Molti sistemi fanno esattamente ciò che stai suggerendo. Gli approcci standard includono:

  • blocco per un periodo di tempo - come 10 minuti. Non perfetto, rallenterà i tentativi di cracking.

  • Monitoraggio
  • - se un sistema mostra attacchi ripetuti oltre a quello che potrebbe fare un normale umano che ha dimenticato la password, può attivare un avviso per iniziare a tracciare la fonte dell'attività - non perfetto in quanto vi sono modi per offuscare il fonte dell'attacco, ma almeno qualcuno sa che il problema si sta verificando.

  • blocco semi-permanente - uso di domande di backup, trasmissione di una password di reimpostazione con mezzi fuori banda (messaggio al telefono, e-mail all'indirizzo e-mail) o "si prega di contattare l'amministratore".

Di cosa si occupa molto la forma del controllo:

  • il tipo di prodotto - I sistemi operativi funzionano in modo diverso rispetto ai sistemi web.

  • il rischio per l'ambiente di un'interruzione riuscita - pieno sul blocco è (a volte) più sicuro, ma richiede anche più tempo per l'amministrazione di qualsiasi funzione di sblocco automatico.

  • la natura della base utente - ad esempio, Google dovrà utilizzare qualcosa di estremamente impegnativo, la base utenti dell'account Google è enorme. Un sistema operativo in un negozio IT con 100 dipendenti in cui tutti sono sul posto può eseguire una forma molto più intima di blocco e ripristino.

risposta data 16.12.2013 - 21:44
fonte
1

La maggior parte dei siti web online ha già una protezione contro gli attacchi di forza bruta. Molti siti Web (come il banking online) hanno contromisure come limitare i tentativi di password o introdurre relè temporali tra tentativi successivi. CAPTCHA è anche messo in atto su molti siti web tra cui gmail, yahoo ecc. Per prevenire attacchi automatici.

Gli attacchi offline di solito si verificano quando un hacker ruba gli hash dal sito Web e quindi utilizza la ricerca bruta per trovare le password. Il tipo di algoritmo hash utilizzato determina anche la vulnerabilità delle password. "Salare" gli hash forniscono una certa sicurezza contro gli attacchi di forza bruta.

Per ulteriori informazioni: link

    
risposta data 25.04.2014 - 18:04
fonte

Leggi altre domande sui tag