Gli hacker sanno che gli utenti tendono ad avere password preferite.
Ad esempio, “password” è considerata una delle password più utilizzate. Anche “1234” è un classico esempio. Gli hacker e i ricercatori di sicurezza compilano liste di queste password comuni.
Su Internet è possibile trovare liste delle 10.000 password più comuni, spesso già con il corrispondente hash basato sugli algoritmi più popolari. Gli hacker usano queste liste per individuare rapidamente le password più semplici. Il tempo necessario per analizzare una lista del genere è irrilevante (pochi secondi su uno smartphone), e spesso utilizzano server ad alte prestazioni per incrementare la velocità.
Alcuni esperti stimano che fino al 60% delle password utilizzate su molti siti appaia in queste liste.
Attacco a dizionario
Il livello successivo di questa tipologia di attacco è l’attacco a dizionario.Un attacco a dizionario prova ogni parola contenuta in un dizionario, e talvolta combina parole comuni.
Con l’aumento della potenza dei processori, gli hacker potrebbero anche tentare alcune sostituzioni: ad esempio, usare “kat” invece di “cat”, lettere maiuscole casuali o combinazioni ovvie. Per esempio, la password “Eleph@nT” potrebbe essere vulnerabile a un attacco a dizionario.
In un attacco a dizionario, l’hacker utilizzerà probabilmente tecniche avanzate di archiviazione in memoria, come le tabelle arcobaleno (rainbow tables), per ridurre l’uso di memoria e velocizzare l’elaborazione. Va notato che combinare lettere maiuscole e minuscole, numeri e simboli non è più una difesa efficace come lo era un tempo, quando le macchine per il cracking erano meno potenti.
Il numero di possibilità in un attacco a dizionario può diventare grande, ma resta comunque molto inferiore rispetto al numero immenso di scelte casuali possibili.