LastPass, popolare password manager basato sul cloud, è stato recentemente protagonista di una imponente sottrazione di dati che ha gettato un’ombra sulle scelte operate in materia di sicurezza. Il CEO Karim Toubba si è dovuto affrettare più volte a gettare acqua sul fuoco affrontando quanto accaduto nel corso degli incidenti di sicurezza che hanno interessato LastPass.
Wladimir Palant ha da tempo messo sotto esame il funzionamento dei principali password manager segnalando a più riprese alcune debolezze individuate in LastPass e in altri prodotti.
L’apprezzato ricercatore ha messo in evidenza un punto debole comune a buona parte dei password manager online: l’implementazione dell’algoritmo che si occupa di derivare la chiave crittografica a partire dalla password principale o master password impostata da ciascun utente.
Sappiamo infatti che per proteggere un archivio delle password viene chiesto di impostare una password principale: PBKDF2 è una funzione di derivazione della chiave che viene ripetuta lungo tutta una serie di passaggi per fare in modo che eventuali attacchi di forza bruta (brute force) siano di fatto impraticabili.
Quando nell’anno 2000 fu presentata la prima versione della funzione PBKDF, venivano consigliati non meno di 1.000 iterazioni per arrivare a generare la chiave derivata dalla master password. Con il tempo il requisito è stato fatto crescere molto rapidamente perché altrettanto velocemente è cresciuta la potenza computazionale utilizzabile dagli aggressori informatici per sferrare attacchi brute-force.
Considerando l’attuale hardware, OWASP ha elevato la raccomandazione ad addirittura 600.000 iterazioni.
Palant afferma che nel caso di LastPass sarebbe quindi possibile decodificare le password degli utenti, ad esempio quelle contenute nel set di dati che sono stati sottratti. Ciò non significa comunque che oggi tutti gli utenti siano a rischio.
Nella sua analisi di dicembre 2022, Palant riferisce che nel caso di alcuni utenti LastPass il numero di iterazioni sarebbe impostato su un valore bassissimo, assolutamente inaccettabile dal punto di vista della sicurezza.
Soltanto se la master password fosse lunga e complessa, è possibile proteggere efficacemente il contenuto degli archivi di LastPass così come di qualunque altro password manager. Con 100.100 interazioni (impostazione che LastPass indica come predefinita solo per i nuovi account) si stima che ci vogliano 200 anni usando una singola scheda grafica o un investimento di oltre 1,5 milioni di euro per risalire alla master password se questa avesse un’entropia di 50 bit.
L’approccio usato da Bitwarden è simile tanto da far affermare a Palant che il livello di protezione predefinito di LastPass e Bitwarden è identico.
Solo di recente Bitwarden ha deciso di portare il numero di iterazioni a 350.000. Inoltre, l’aspetto positivo è che Bitwarden protegge tutti i dati dell’utente, inclusi gli indirizzi dei siti Web. A differenza di LastPass, che non applica la cifratura a tutti i dati, qualsiasi dato prelevato dai server Bitwarden risulta inutilizzabile se non può essere decodificato.
Tra i vari password manager si mette in evidenza 1Password: esso utilizza il meccanismo della chiave segreta che deve essere necessariamente trasferita su ogni nuovo dispositivo associato con l’account dell’utente.
Il fatto che un valore casuale come la chiave segreta sia necessario per decifrare i dati significa che le informazioni memorizzate sui server 1Password sono inutili per i potenziali aggressori. La decodifica non può in questo caso avvenire neppure per master password deboli.