Nel mondo delle criptovalute, la sicurezza è fondamentale. Le valute virtuali come Bitcoin sono generalmente conservate in portafogli digitali protetti da password e chiavi private. Dimenticare le credenziali di accesso al wallet può risultare in una perdita irreversibile dei propri fondi. Le storie di utenti che non riescono più a riprenderne il controllo si ripetono con una certa regolarità. È possibile craccare la password usata a protezione di un portafoglio di criptovalute?
Com’è possibile craccare la password di un portafoglio digitale Bitcoin
L’ingegnere Joe Grand racconta la storia di un cittadino europeo (ne viene citato soltanto il nome di battesimo, Michael) che nel 2013 aveva deciso di conservare i suoi 43,6 Bitcoin in un portafoglio digitale personale. Per proteggere i suoi fondi, Michael aveva utilizzato un gestore di password per creare una password complessa formata da 20 caratteri. La stessa password fu salvata in un file di testo, quindi memorizzata in un volume virtuale crittografato con il programma TrueCrypt.
Peccato che con il passare del tempo il contenitore creato con TrueCrypt (progetto software da tempo non più aggiornato; la sua “eredità” è passata a VeraCrypt) si è danneggiato e l’utente non ha più così potuto metter mano al suo patrimonio.
Joe Grand è un personaggio molto famoso nel campo della sicurezza informatica. Esperto di sicurezza hardware, hacking etico e reverse engineering, Grand in passato ha “militato” nel leggendario gruppo di hacker chiamato L0pht. Il gruppo divenne famoso per aver testimoniato davanti al Congresso USA nel 1998, avvertendo il governo delle vulnerabilità presenti nei sistemi informatici nazionali.
Recuperati circa 2,8 milioni di euro da un portafoglio Bitcoin crittografato
Dopo un diniego iniziale, Grand – contattato da Michael per aiutarlo a craccare la password usata a protezione del prezioso wallet digitale – ha accettato la sfida. L’esperto si è infatti accorto di una possibile vulnerabilità nell’approccio utilizzato dai generatori di password. Nello specifico, l’ingegnere ha ricostruito la versione del generatore di password utilizzata nel 2013 dall’utente interessato a recuperare la sua “dote” di Bitcoin.
Grand e il suo team hanno scoperto che le password generate erano prevedibili e legate alla data e all’ora del computer. Conoscendo la data, l’ora e altri parametri accessori, potevano calcolare qualsiasi password generata in quel periodo.
Il problema principale era che Michael non ricordava esattamente quando aveva generato la password. Dopo aver controllato i log del portafoglio digitale, Grand e “i suoi” hanno scoperto che Michael aveva trasferito Bitcoin per la prima volta nel portafoglio il 14 aprile 2013. Così è iniziata la generazione automatizzata di password lunghe 20 caratteri, comprendenti lettere maiuscole, minuscole, numeri e otto caratteri speciali, per il periodo tra il 1° marzo e il 20 aprile 2013.
Dopo un iniziale insuccesso e l’ampliamento della finestra temporale fino al 1° giugno 2013, Grand è riuscito a individuare la password corretta. Peraltro ricevendo una ricompensa da parte dell’interessato per il lavoro svolto.
Il colpo di fortuna: aver usato una versione vulnerabile del generatore di password Roboform
In un altro articolo abbiamo parlato di generatori di password sicuri: quali utilizzare per evitare che utenti non autorizzati possano accedere alle proprie risorse. Nel caso di specie, tuttavia, essersi serviti di una versione vulnerabile di Roboform è stato un vero e proprio colpo di fortuna e ha di fatto permesso di craccare la password.
Abbiamo visto quanto ci vuole per recuperare una password usando un attacco brute force, ovvero provando tutte le possibili combinazioni fino a trovare quella corretta. Nel caso di una password da 20 caratteri, contenente maiuscole, minuscole, numeri e caratteri speciali, risalire alla password sarebbe stato assolutamente impossibile.
Proprio per questo motivo, l’unica ancora di salvezza possono essere eventuali vulnerabilità software. Così Grand si è avvalso di un collaboratore tedesco, Bruno, per effettuare il reverse engineering della versione di Roboform usata da Michael nel 2013, scoprendo un difetto nel generatore di numeri pseudo-casuali del programma. Come evidenziato in precedenza, la problematica era legata alla correlazione diretta tra le password generate e l’orario di sistema del computer.
Siber Systems, sviluppatore di Roboform, ha risolto la vulnerabilità in questione con il rilascio della release 7.9.14 del programma, distribuita nel mese di giugno 2015. Molti utenti potrebbero tuttavia ancora utilizzare password generate con versioni precedenti, vulnerabili all’exploit individuato da Grand.
Il ricercatore esprime peraltro le sue preoccupazioni per la mancanza di comunicazione da parte di Siber Systems. L’azienda non avrebbe informato gli utenti circa la necessità di aggiornare le password generate prima del 2015. Senza un avviso esplicito, molte persone potrebbero ancora utilizzare password facilmente recuperabili da hacker in possesso del necessario bagaglio tecnico ed esperienziale.
Aver perso la password digitale ha reso Michael ancora più ricco
Il protagonista principale della vicenda, proprietario del wallet digitale Bitcoin, racconta di aver in passato venduto una parte delle sue criptomonete quando il valore era salito. L’attuale controvalore del portafoglio, come anticipato in precedenza, sfiori i 2,8 milioni di euro.
Ironia della sorte, perdere la password si è alla fine rivelato un colpo di fortuna per Michael perché, diversamente, egli avrebbe venduto i suoi Bitcoin molto prima, perdendo un’opportunità di guadagno molto più grande. Una fatalità ampiamente favorevole visto che la sorte mise tra le mani dell’utente una versione vulnerabile di Roboform.