Le password sbagliate producono hash mal salati?

44

Quando hai una password memorizzata in un database strongmente hash e salato, è davvero importante se la password dell'utente sottostante è debole?

Se imposti funzioni come limitare l'induzione dei login e usare i captcha per fermare l'indovinello automatico puoi effettivamente recuperare una password debole come " password "?

Credo che la mia domanda sia che usa una password come "password" per rendere l'hash salato più debole di una password più lunga come " fish&*n0d1cTionaRYatt@ck "? - Tutti gli hash salati sono altrettanto sicuri o dipendono dal fatto che la password sia buona?

    
posta Crizly 27.10.2014 - 22:14
fonte

7 risposte

86

Gli hash salati sono progettati per proteggere gli attaccanti dalla possibilità di attaccare più hash contemporaneamente o costruire tabelle arcobaleno di valori hash precalcolati. Questo è tutto. Non fanno nulla per migliorare la forza sottostante della password stessa, debole o strong.

Questo significa anche che non sono progettati per difendersi dagli attacchi online, quindi non hanno alcun impatto sulla capacità degli attaccanti di manipolare il tuo modulo di login, dove il sale è irrilevante, perché un attaccante non sta eseguendo gli hash di calcolo direttamente, ma inserire le password candidate in un modulo che può essere (come hai detto) limitato o protetto da un captcha.

Le password deboli sono deboli. Le password complesse sono forti. I sali non influenzano in alcun modo questa equazione.

    
risposta data 27.10.2014 - 22:23
fonte
38

Devi considerare due vettori di attacco:

  • Attacco online
  • Attacco offline

Limitare l'ipotesi di accesso aiuta contro gli attacchi online.
Diciamo che è tre volte, questo significa che un utente malintenzionato può verificare TUTTI gli account per le tre password più comuni che si adattano alla tua politica di password (che ne dici di "password", "12345678" e "12345"?).

Salting aiuta contro gli attacchi offline
Gli stessi hash non salati sono la stessa password in chiaro. Quindi ogni hash deve essere calcolato una volta, non una volta per ogni sale. Anche con un sale, l'attaccante può ancora provare un attacco di dizionario e nessuno (eccetto il suo limite di potenza di calcolo) lo fermerà, perché la tua regola dei "tre colpi" non si applica qui.

Le deboli password riducono la sicurezza in entrambi i casi
Attacco online : se autorizzi password comuni (come "password" o "12345"), gli attaccanti saranno in grado per entrare nel 5% dei tuoi account in tre ipotesi.
Attacco offline : qui, ovviamente, tenteranno anche le password più comuni, naturalmente. Quindi, se calcolano 3 hash per utente, hanno già rotto il 5% degli account ...

    
risposta data 28.10.2014 - 09:00
fonte
7

Salting / hashing è ottimo se il tuo database viene rubato, ma non ha nulla a che fare con gli attacchi di dizionario che potrebbero aver luogo attraverso la normale procedura di login.

Come hai detto limitando i tentativi di accesso al numero e utilizzando CAPTCHA puoi rendere inefficaci gli attacchi di dizionario che avvengono attraverso la normale procedura di accesso, ma salting (o non) non avrà alcun effetto su quel tipo di attacco.

Anche con i tentativi di login limitati e con CAPTCHA in atto, consentire password super deboli non è una buona idea, e se un utente malintenzionato viene determinato abbastanza o vede abbastanza valore, può trovare il modo di sfruttarlo.

    
risposta data 27.10.2014 - 22:23
fonte
4

No, un punto di hashing salato è ottenere una buona casualità nell'hash indipendentemente dal materiale di partenza.

Tuttavia, questo non ci libera di usare password sbagliate. Un buon hashing protegge solo contro un vettore di attacco: quello in cui l'intruso ruba il file con gli hash. Esistono così tanti altri vettori di attacco sulle password ... spionaggio alle spalle, forzatura bruta, forzatura bruta modificata (con ipotesi di avvio intelligenti e così via) ... che buone password sono ancora importanti.

L'hashing salato protegge le password ma non ti salva da quelle cattive.

    
risposta data 27.10.2014 - 22:22
fonte
1

In teoria:

Se l'attaccante non ha costruito una tabella arcobaleno, se una password di qualche forza può essere violato in 1 unità di tempo, allora N password di quella forza possono essere hackerate in tempo O (1) senza sale e O (N) tempo con sale. Questo è ciò che fa il sale. Nessun vantaggio su una password fissa; mostra il vantaggio su più password.

Se l'attaccante ha una tabella arcobaleno, senza sale, una password debole - in questo caso "debole" significa "già nella tabella arcobaleno" - è bella come nuda. Con il sale, sarà comunque necessario craccarlo in tutti i secondi necessari.

In pratica: la forza della password è molto più importante di tutto ciò. A volte i tavoli arcobaleno sono semplici comodità; se hai un milione di password deboli, sono permeabili anche salate.

    
risposta data 28.10.2014 - 00:56
fonte
1

Generalmente, la cosa più importante è la lunghezza della password. Ma è vero che una password facile potrebbe essere scomposta più facilmente di una casuale. Ad esempio, quando stai cercando di indovinare un hash utilizzando tabelle arcobaleno . Se è una parola normalmente usata come "gatto" è più probabile che tu possa averla in questa tabella di "07OFmy3HOY3l9e1gCNww7nNpd5lQ8I9an"; D

    
risposta data 27.10.2014 - 22:27
fonte
1

Se hai scelto una delle tre password deboli "amore", "cane" e "mucca", è stato perso un database delle password: senza sali, posso provare queste tre password e trovare immediatamente tutti nell'intero database usando queste tre password deboli. Con la salatura, devo provare ad amare + il tuo sale, il tuo cane + il tuo sale, la tua mucca + il tuo sale per incrinare la tua password se fosse ridicolmente debole, quindi ripeti la stessa cosa con tutti nel database.

Se un hacker ti attacca in modo specifico, la salatura non aiuta. Aiuta solo rendendo impossibile attaccare l'intero database, richiedendo invece un attacco contro ogni singolo utente nel database.

    
risposta data 28.10.2014 - 13:45
fonte

Leggi altre domande sui tag