Criptovalute

Come due hacker hanno recuperato un “tesoro perduto” da 3 milioni di bitcoin

Joe Grand e un suo collega sono riusciti a risalire alla password di un wallet che conteneva criptovalute bloccate da 11 anni, per la felicità del suo proprietario
Bitcoin
Bitcoinpicture alliance/Getty Images

Quando due anni fa “Michael” chiese a Joe Grand un aiuto per recuperare l'accesso ai quasi 3 milioni di dollari in bitcoin che aveva sul suo computer, il famoso hacker rifiutò. Michael, che risiede in Europa e ha chiesto a Wired di indicarlo con uno pseudonimo, conservava le sue criptovalute in un portafoglio digitale protetto da una password complessa, formata da 20 caratteri alfanumerici. La chiave d'accesso era stata creata utilizzando il software RoboForm ed era memorizzata in un file crittografato tramite lo strumento TrueCrypt. A un certo punto, però il file si è corrotto e Michael ha perso l'accesso alla password che proteggeva i suoi 43,6 Btc, che all'epoca – parliamo del 2013 – valevano circa 4mila dollari. Ma che al cambio corrispondono a 2,96 milioni di dollari.

Impresa impossibile

Grand è un famoso hacker di hardware che nel 2022 ha aiutato un'altra persona a recuperare l'accesso a 2 milioni di dollari in criptovalute che pensava di aver perso per sempre dopo aver dimenticato il pin del suo wallet. Da allora, decine di persone lo hanno contattato per farsi aiutare a recuperare i loro “tesori sepolti”. Ma Kingpin, come è conosciuto sul web, rifiuta la maggior parte di queste richieste, per vari motivi.

Grand ha una formaizone da ingegnere elettrico e ha iniziato a hackerare all'età di 10 anni e nel 2008 ha condotto il programma Prototype This su Discovery Channel. Oggi fa il consulente di aziende che costruiscono complessi sistemi digitali e le aiuta a capire come gli hacker come lui potrebbero attaccare i loro sistemi. Nel 2022 è riuscito a violare un Trezor wallet, un dispositivo fisico simile a una chiavetta usb progettato per custodire in modo estremamente sicuro le chiavi private delle criptovalute di un utente. Sfruttando sofisticate vulnerabilità hardware, ha trovato il modo di indurre il dispositivo a rivelare la password di accesso che proteggevano gli asset crypto.

A differenza dei precedenti casi affrontati da Grand, che erano incentrati sull'hardware, la situazione di Michael presentava una sfida diversa. L'uomo, infatti, custodiva le sue criptovalute in un portafoglio digitale basato su un software. Inizialmente Grand ha pensato di provare a ricavare la password con la "forza bruta”, usando uno script in grado di provare milioni di combinazioni. Dopo una valutazione approfondita, ha però scartato l'opzione. Ha quindi preso in considerazione l'ipotesi che RoboForm, il password manager utilizzato da Michael potesse presentare una vulnerabilità. Un eventuale difetto di questo tipo avrebbe potuto agevolare l'individuazione della combinazione corretta, ma Grand nutriva seri dubbi che il software avesse una simile falla.

Michael aveva contattato diverse persone specializzate esperte nel recupero di criptovalute, che però gli avevano assicurato che non c'era alcuna possibilità di riottenere i suoi bitcoin. Lo scorso giugno poi si è rivolto nuovamente a Grand, sperando di convincerlo. Questa volta l'hacker ha accettato di fare un tentativo collaborando con Bruno, un esperto collega che vive in Germania. I due hanno trascorso mesi a fare reverse engineering della versione di RoboForm usata da Michael nel 2013, scoprendo che il generatore di numeri pseudocasuali usato per creare le password in quella versione aveva effettivamente un difetto che rendeva il generatore di numeri casuali non così casuale: il programma associava infatti le password create alla data e all'ora del computer dell'utente.

Il gioco sembrava fatto. Era sufficiente che Michael ricordasse il giorno o il periodo in cui aveva generato la password e altri i parametri, come per esempio il numero di caratteri totali, le cifre e i caratteri speciali. Grand avrebbe potuto restringere le possibili password a un numero gestibile per poi sabotare la funzione di RoboForm responsabile del controllo della data e dell'ora per farla viaggiare indietro nel tempo, facendole credere che la data attuale fosse proprio quel giorno del 2013 in cui Michael aveva generato la sua chiave d'accesso. Peccato solo che ci fosse un picoolo problema: Michael non ricordava quando aveva creato la password.

Missione compiuta

Stando ai dati del suo wallet, Michael ha inserito dei bitcoin nel suo portafoglio per la prima volta il 14 aprile 2013. Ma non riusciva a ricordare se avesse generato la password lo stesso giorno o qualche tempo prima, o magari dopo. A questo punto Grand e il suo collega hanno pensato di configurare RoboForm in modo che generasse password di 20 caratteri con lettere maiuscole e minuscole, numeri e otto caratteri speciali, dal primo marzo al 20 aprile 2013. La chiave corretta non è saltata fuori. I due hanno quindi ampliato la finestra temporale, dal 20 aprile al prima giugno 2013, utilizzando gli stessi parametri. Ancora niente da fare.

Michael racconta che gli hacker continuavano a tornare da lui per chiedergli se fosse sicuro dei parametri che aveva usato. A un certo punto, l'uomo ha però trovato altre password che aveva generato con RoboForm nel 2013, che in due casi non avevano caratteri speciali. Così, Grand e il suo collaboratore hanno aggiustato il tiro. Lo scorso novembre hanno contattato Michael per fissare un incontro di persona: "Ho pensato: 'Oh mio Dio, mi chiederanno di nuovo se sono sicuro dei parametri'". Invece, i due gli hanno rivelato di aver finalmente trovato la password corretta, che in effetti non aveva caratteri speciali. Era stata generata il 15 maggio 2013, alle 16:10:40 Gmt. "Alla fine la nostra fortuna è stata che i nostri parametri e l'intervallo di tempo fossero corretti. Se uno di questi fosse stato sbagliato, avremmo continuato a tirare a indovinare o a sparare nel mucchio senza grandi risultati – spiega Grand a Wired US –. Ci sarebbe voluto molto più tempo per provare tutte le password possibili". Gli hacker hanno caricato un video su Youtube in cui hanno spiegato tutti i dettagli tecnici dell'impresa.

Il generatore di password

RoboForm, un software prodotto dalla statunitense Siber Systems, è stato uno dei primi password manager sul mercato e attualmente conta più di 6 milioni di utenti nel mondo, secondo un report dell'azienda. Nel 2015, Siber sembra aver corretto le imperfezioni del suo sistema. In effetti, Grand e Bruno spiegano che le versioni successive del programma non sembrano associare le password alla la data del computer. Siber Systems ha confermato a Wired US di aver risolto il problema con la versione 7.9.14 di RoboForm distribuita il 10 giugno 2015, anche se un portavoce dell'azienda non ha voluto spiegare come. In un changelog sul sito web della società, si legge solo che i programmatori di Siber hanno apportato modifiche per aumentare la casualità delle password generate.

Grand ha spiegato che i cybercriminali potrebbero comunque risalire alle password delle versioni di RoboForm rilasciate prima della correzione del 2015. Inoltre, non è del tutto sicuro che le versioni attuali non contengano più lo stesso problema. "Non credo che mi fiderei, senza sapere come hanno effettivamente migliorato la generazione delle password nelle versioni più recenti – afferma l'hacker –. Non sono sicuro neanche che RoboForm sapesse quanto fosse grave questa particolare debolezza". A quanto pare, infatti, quando nel 2015 ha rilasciato la versione 7.9.14, Siber non ha mai comunicato ai suoi utenti che avrebbero dovuto generare nuove password. Questo significa che tutti quelli che come Michael hanno usato RoboForm per generare password prima del 2015 potrebbero essere vulnerabili ad attacchi informatici.

La maggior parte delle persone non cambia le password a meno che non gli venga esplicitamente chiesto – dice Grand –. Lo stesso vale per me: delle 935 password presenti nel mio gestore di password (che non è RoboForm), 220 risalgono al 2015 o prima, e la maggior parte sono di siti che uso ancora”. Lo scorso novembre, Grand e Bruno hanno detratto una percentuale dei bitcoin recuperati dal conto di Michael come compenso per il lavoro svolto, e quindi gli hanno comunincato la password per accedere al suo wallet. Ora l'uomo possiede 30 Btc, del valore 3 milioni di dollari, e dice di essere stato fortunato ad aver perso la password anni fa, perché altrimenti avrebbe venduto i suoi bitcoin quando valevano 40mila dollari al pezzo, perdendosi un gran bel guadagno.

Questo articolo è precedentemente apparso su Wired Us.