In quale scenario si nascondono le password "extra" e gli algoritmi di hashing effettivamente protetti?

3

Nota: capisco perfettamente la necessità di password e ampli forti; Capisco che c'è un problema di velocità con l'hashing. Mi interessa solo capire meglio l'impatto negativo effettivo delle password di media potenza (es: a&3jC36ksL , AweSom3paSswOrd , sImple! pass_pHrase ) e gli algoritmi di hashing poveri (SHA1, MD5) in particolare.

Ad esempio, facciamo finta di avere la seguente applicazione (usabilità a parte per ora): consente solo tre tentativi di password errati all'interno di una finestra di 120 minuti, con l'account bloccato dopo il quarto tentativo. Possiamo inoltre garantire che gli utenti non potranno mai riutilizzare le password (da questa applicazione o da qualsiasi altro sito Web) e sono sempre troppo complesse per essere indovinate con solo tre tentativi.

Con queste ipotesi fatte, qual è la principale preoccupazione che le extra password forti e gli algoritmi di hashing stanno affrontando?

  1. Se un utente malintenzionato vuole eseguire un attacco a forza bruta, non ha bisogno di accedere direttamente ai dati, nel qual caso hanno già quello che cercavano?

Questo post sulle password di hashing rende questo punto:

There are ways attackers can get access to parts of your database without accessing all of it... Coding errors can leak data, as can sql vulnerabilities. An attacker could get a dump of your passwords and nothing else.

Forse questo risponde alla mia domanda, ma sono ancora incerto sulla probabilità che ciò accada. Inoltre, non so se la forza bruta sia l'unica preoccupazione.

  1. Se gli hash delle password sono utili solo per determinare le password per altri siti e il database contiene solo password univoche, gli hash dovrebbero essere inutili, giusto?
posta Jack 05.04.2016 - 19:52
fonte

2 risposte

5

Nel caso in cui hai costruito, anche un PIN di 4 cifre andrebbe bene. In effetti, è molto simile alla schermata di blocco del PIN iOS (e forse Andriod?) Che cancella il telefono dopo 10 ipotesi sbagliate.

Nessun vero hacker proverà a forzare le password brute contro un server delle applicazioni, è troppo lento. Su internet puoi ottenere al meglio cosa, un paio di centinaia di tentativi al secondo, supponendo che il server non ti blocchi. Il vero rischio è che l'hacker abbia accesso al tuo hash della password e possa andare in città con un attacco brute-force offline usando il loro fantasioso sistema di hashing della GPU che può fare milioni a miliardi di supposizioni al secondo, per GPU [bel articolo] , [raw speedhashing dati] . Le password lunghe significano che devono fare più congetture prima che diventino fortunati, e le funzioni di hash lente significano che devono dedicare più tempo / energia per ipotesi.

Rispondere alle tue domande:

  1. Solo perché un hacker ha ottenuto una copia del tuo hash della password non significa che abbia alcun tipo di accesso a qualsiasi altra parte del server. Ad esempio, controlla haveibeenpwned.com , facendo clic su questi collegamenti, posso scaricare lunghi elenchi di hash delle password per gmail, adobe, Ashley Madison, ecc. Avere quegli elenchi di hash non mi dà in alcun modo accesso ai "dati" su quei server.

  2. Suppongo di sì, ma supponendo che A) non ci siano due utenti nel database con la stessa password, B) nessun utente usa mai una password tra i siti, e C) "gli hash delle password sono validi solo per determinare le password per altri siti "sono ipotesi molto forti.

risposta data 05.04.2016 - 20:12
fonte
2

La tua ipotesi a 1. non è corretta. Prendi in considerazione un sistema di posta elettronica, in cui gli utenti accedono con una password. In tal caso, la destinazione potrebbe essere costituita dalle e-mail (che potrebbero essere archiviate in un database, ma allo stesso modo potrebbero trovarsi in singoli file o file delle cassette postali) o dalla possibilità di utilizzare il sistema. In questo caso, l'accesso al database non fornirebbe nessuna di queste cose, ma l'accesso alle password sarebbe.

Anche il punto 2. non è corretto: vengono utilizzati per il sito corrente e non per altri siti. Sono come il sistema controlla che sia stata inserita la password corretta.

    
risposta data 05.04.2016 - 20:08
fonte

Leggi altre domande sui tag