Sicurezza

Come funziona?

Pagina 2: Come funziona?

Come funziona?

In sintesi e per semplificare se ho un dizionario di parole con tutti gli hash precalcolati, basta che cerco l'hash ABC123 a che parola corrisponde e trovo "pippo". Di funzioni di hash ce ne sono tante, ma le più utilizzate in molti sistemi sono l'MD5 e lo SHA1.

MD5 è una codifica a 128 bit, che genera un codice alfanumerico di 32 caratteri, mentre SHA1 è a 160 bit che genera un codice di 40 caratteri, se contiamo i caratteri dei codici presenti nel database possiamo intuire che tipo di algoritmo è stato utilizzato.

Depositphotos 48650687 l 2015
Immagine: ulchik74 per Depositphotos

Chiaramente se la password è complessa e non è formata da parole di senso compiuto, difficilmente sarà presente in dizionari o tabelle varie, ma per essere più sicuri in genere le password vengono salvate con la codifica salted, cioè hash + sale!

Che c'entra la cucina adesso? Si chiama salt (sale), una sequenza casuale di caratteri che si aggiunge alla password da noi scelta, questa sequenza non la conosce nemmeno l'utente, ma la genera il sistema al quale accediamo:

hash("pippo" + "A@!763F") = DBB881

che è diverso da ABC123.

Quindi questo sale modifica l'hash della password, rendendo vano l'attacco a dizionario, ma se l'attaccante avesse anche il database del salt o sapesse l'algoritmo che genera i salt, potrebbe ricavare un sistema per provare tutte le combinazioni.

Se i miei salt sono combinazioni di numeri di massimo 4 cifre, diventa facile ad ogni parola del dizionario aggiungere tutte le 10.000 combinazioni  (da 0000 a 9999) di numeri e calcolarne l'hash, per poi confrontarlo con quelli presenti nel database rubato.
Un altro sistema stupido per "salare", potrebbe essere quello di calcolare l'hash della password con lo username come salt:

hash("pippo" + ciccio@xxxxxx.com)

Tornando al caso Dropbox, i responsabili della società hanno detto che metà delle password erano codificate con bcrypt  ed altre con SHA1 + salt. Quelle codificate con bcrypt sono più sicure, ma anche quelle con SHA1 + salt dovrebbero essere sicure perché pare che il database dei salt non sia stato preso, ma nel dubbio è meglio correre a cambiare la password. Dopo tutto questo se volete controllare se il vostro account fa parte dei leaks potete provare ad inserirlo qui: https://haveibeenpwned.com/.  

Quella ottenuta dal sito appena citato è solo un'indicazione di massima. Magari il vostro account è presente ma da allora avete già cambiato password, anche perché DropBox nel 2012 fece un annuncio simile a quello recente, che spinse molti a cambiare password.