E 'possibile essere hackerato se il mio hash bcrypt è noto pubblicamente?

32

Ho appena controllato link e ho notato che ero pwned, quindi ho controllato il file che contiene i dettagli delle mie "credenziali", tuttavia, vedo la mia email in testo semplice ma la password come hash bcrypt .

Poiché le funzioni di hash sono unidirezionali e non possono essere invertite, dovrei essere ancora preoccupato e cambiare tutte le mie password o sono troppo paranoico?

EDIT: quando intendevo "tutte le mie password" intendevo quelle che non sono strettamente pertinenti / simili alla password esposta. Ovviamente l'uso della stessa password per quasi tutti i siti Web è abbastanza stupido IMO.

EDIT 2: vorrei chiedere a tutti voi di non condividere alcuna informazione su come è fatto. Grazie per la tua comprensione.

    
posta SergeantSerk 20.03.2016 - 22:54
fonte

2 risposte

49

Una breve panoramica degli algoritmi hash deboli vs. bcrypt

Con gli algoritmi di hashing delle password deboli, ciò che gli hacker faranno è provare milioni o miliardi di combinazioni diverse - alla velocità consentita dall'hardware - e molte password facili cadranno rapidamente nelle tabelle / password arcobaleno cracker / attacchi basati su dizionario.

Gli aggressori cercheranno di confrontare una grande quantità di stringhe con il tuo hash e quella che convalida è molto probabilmente la tua password. Anche se non lo è, puoi ancora accedere con esso perché hai trovato una collisione.

Tuttavia, bcrypt è diverso. È computazionalmente lento, quindi questo cracking verrà rallentato immensamente . Bcrypt può aiutare a rallentare il cracking fino al punto in cui puoi fare solo alcuni test al secondo, se quello. Ciò è dovuto al fattore costo computazionale. Devi leggere questa risposta di Thomas Pornin per una spiegazione migliore:

If the iteration count is such that one bcrypt invocation is as expensive as 10 millions of computations of MD5, then brute-forcing the password will be 10 million times more expensive with bcrypt than with MD5.

That's the point of having configurable slowness: you can make the function as slow as you wish. Or, more accurately, as slow as you can tolerate: indeed, a slow function is slow for everybody, attacker and defender alike.

Quindi dipende molto dal costo computazionale aggiunto. Alcune soluzioni hardware personalizzate sono in grado di crackare hash bcrypt a partire da 52k hash al secondo. Con un attacco standard e una password scadente, non hai molte speranze di resistere a lungo. Di nuovo, questo dipende dal costo computazionale: anche questa soluzione hardware personalizzata può essere forzata a 2-5 hash al secondo o anche più lentamente.

Non riutilizzare le password se ti interessano gli account.

Ho già trovato le tue credenziali e "incrinato" il tuo hash bcrypt

Ma non ti hackerò, non ti preoccupare. Questo è solo per dimostrare perché è necessario aggiornare le credenziali e interrompere la riutilizzazione della password. Volevi una risposta, quindi cosa c'è di meglio di una dimostrazione dal vivo?

Sei del Regno Unito, corretto? Il tuo hash di bcrypt è anche $2a$10$omP392PbcC8wXs/lSsKZ5Ojv9.wFQ7opUn7u3YUBNu0kkbff0rB.m , corretto? Ho già "crackato" la tua password e conosco i tuoi account. Ti vedo, un ladro sul tetto. Il mio nuovo collegamento satellitare ha sia l'infrarosso che lo spettro dei raggi X. Vedo il tuo cuore battere; Vedo che hai paura.

Questo dovrebbe essere ovvio: dovresti sicuramente cambiare la tua password. Inizia a cambiare le tue credenziali ora ... prima che sia troppo tardi. dovresti essere preoccupato e dovresti cambiare le tue password. Ora.

Sì, bcrypt può essere estremamente lento, ma ...

In realtà ho trovato un modo per affrontare completamente il processo di brute-forzatura con una semplice aggregazione e correlazione dei dati. Ho scritto un piccolo programma che lega insieme alcune informazioni e le confronta. Non una password cracker o qualcosa del genere, ma alla fine della giornata, ha ottenuto lo stesso lavoro.

Per la tua privacy - e secondo la tua richiesta - non condividerò come ho fatto questo qui, ma dovresti sapere che non sono l'unico chi può farlo. Se posso farlo, anche gli altri.

Tuttavia ... devi smettere di riutilizzare le password!

Davvero, davvero non vuoi farlo. Se un sito è compromesso, avere password diverse su altri account protegge anche gli altri dalle violazioni.

Aggiorna tutti i tuoi account, anche quelli che non hai utilizzato da un po ', e interrompi il riutilizzo delle password a meno che non ti interessi. Puoi prendere in considerazione qualcosa come KeePass .

    
risposta data 20.03.2016 - 22:58
fonte
3

Non puoi decrittare l'hash perché, come hai detto, le funzioni di hash non possono essere annullate.

Dovresti comunque cambiare le tue password. Gli hacker proveranno a rinforzare l'hash e, in caso di successo, proveranno le credenziali sul tuo account e-mail e possibilmente su altri siti web.

Come si menziona "tutte le mie password", si dovrebbe anche notare che non è necessario riutilizzare le password per tutto ciò che è remotamente importante (e anche le password non dovrebbero seguire una struttura comune). Per gli account "da buttare via" le password deboli e il riutilizzo della password possono andare bene, ma per qualsiasi altra cosa, non lo è, proprio a causa di situazioni come queste: una volta che un server è stato violato, gli hacker proveranno le credenziali anche su diversi servizi.

    
risposta data 20.03.2016 - 23:01
fonte

Leggi altre domande sui tag