Attenti a dove comprate i crypto wallet – L’allarme di Kaspersky!

Christian Boscolo
| 5 min read

La crisi degli exchange iniziata con il fallimento di FTX ha causato un effetto domino che ha coinvolto anche banche e società finanziarie, sebbene per motivi completamente diversi.

Tutto questo ha generato grande sfiducia negli investitori che vogliono investire in criptovalute, sempre più propensi a ritirare le loro crypto dagli exchange per custodirle all’interno di wallet privati, meglio ancora se hardware.

Questi wallet custodiscono le chiavi private lontano da computer e smartphone vulnerabili e rendono molto più sicura la firma delle transazioni. Purtroppo, il possesso di un wallet hardware non garantisce la sicurezza dei fondi.

In questo articolo pubblicato sul blog di Kaspersky, viene infatti spiegata una truffa avvenuta utilizzando un finto crypto wallet venduto a un ignaro investitore. Un trucco ingegnoso e che vale la pena conoscere per non incorrere nello stesso errore. Vediamo cosa è successo.

I sintomi dell’attacco


Gli aggressori hanno lavorato in modo furtivo: un giorno nella cronologia delle transazioni del crypto wallet è apparsa un’operazione dove una ingente somma di denaro è stata trasferita a un altro indirizzo. Tuttavia, quel giorno, la vittima non ha effettuato alcuna transazione. Inoltre, il cryptowallet non era nemmeno collegato a un computer!

Sezionare il wallet


La vittima aveva acquistato il wallet hardware Trezor Model T, un modello piuttosto popolare, che utilizza un codice completamente open-source sia a livello di software sia di hardware, ed è basato sul popolare microcontrollore STM32F427.

Il fornitore di Trezor Model T ha adottato un’ampia gamma di misure di sicurezza che, in teoria, dovrebbero proteggere in modo affidabile il dispositivo dagli aggressori.

Sia la scatola sia l’alloggiamento dell’unità sono sigillati con adesivi olografici e il microcontrollore è in modalità di protezione dalla lettura della memoria flash (RDP 2).

Il bootloader controlla la firma digitale del firmware e, se viene rilevata un’anomalia, visualizza un messaggio di firmware non originale e cancella tutti i dati del wallet.

L’accesso al dispositivo e la conferma delle transazioni richiedono un codice PIN che, pur non proteggendo la chiave di accesso master (base per la generazione della frase mnemonica di seme), viene utilizzato per criptare la memoria in cui è conservato. Oltre al PIN, è possibile proteggere la chiave di accesso master con una password, come previsto dallo standard BIP-39.

A una prima occhiata superficiale il wallet esaminato da Kaspersky sembrava esattamente identico a uno autentico e non mostrava segni di manomissione. L’unità è stata acquistata da un venditore affidabile attraverso un famoso sito di annunci, e gli adesivi olografici sulla scatola e sul crypto wallet erano tutti presenti e non danneggiati.

All’avvio in modalità di aggiornamento, il wallet mostrava la versione del firmware 2.4.3 e la versione del bootloader 2.0.4.

Anche osservando attentamente il wallet non era emerso nulla di sospetto: tutte le funzionalità erano presenti e l’interfaccia utente era identica a quella originale.

Tuttavia, il furto era avvenuto e quindi c’era qualcosa di poco chiaro, così gli esperti di Kaspersky hanno continuato a indagare. Ed è qui che sono iniziate le scoperte interessanti.

I ricercatori del noto antivirus si sono accorti che il fornitore non aveva mai rilasciato la versione 2.0.4 del bootloader. La cronologia delle modifiche del progetto su GitHub affermava che questa versione è “saltata a causa di alcuni dispositivi falsi”. Tombola!

Anche l’involucro è risultato difficile da aprire: le due metà erano tenute insieme con grandi quantità di colla e nastro biadesivo invece che con il classico incollaggio a ultrasuoni utilizzato sui prodotti Trezor.

Ancora più curioso: all’interno c’era un microcontrollore completamente diverso, e che oltretutto mostrava tracce di saldatura!

Al posto dell’STM32F427 originale, l’unità aveva un STM32F429 con meccanismi di protezione della lettura della memoria flash del microcontrollore completamente disattivati (RDP 0 invece di RDP 2 nei Trezor originali).

La teoria del falso wallet di criptovalute era stata quindi confermata: classico attacco alla catena di distribuzione in cui una vittima ignara acquista un dispositivo già violato. Ma il meccanismo del furto delle criptovalute non era ancora chiaro…

Firmware con trojan


Piccolo promemoria per i lettori: un cryptowallet o hardware wallet contiene la vostra chiave privata e chiunque conosca quella chiave può firmare qualsiasi transazione e spendere il vostro denaro.

Il fatto che gli aggressori siano stati in grado di condurre una transazione mentre il wallet era nascosto nella cassaforte del proprietario significa che hanno copiato la chiave privata dopo averla generata, oppure… l’hanna sempre saputa!

Grazie alla protezione disattivata della lettura della memoria flash, che gli aggressori hanno deciso di non attivare dopo aver saldato il nuovo microcontrollore, gli esperti di kaspersky hanno estratto il firmware del wallet e, ricostruendone il codice, scoperto che gli aggressori conoscevano  la chiave privata in anticipo. Ma come?

Il bootloader originale e il firmware del portafoglio hanno ricevuto solo tre modifiche:

In primo luogo, sono stati rimossi i controlli del bootloader per i meccanismi di protezione e le firme digitali, eliminando così il problema della “schermata rossa” durante il controllo dell’originalità del firmware all’avvio.

In secondo luogo, nella fase di inizializzazione o quando si resetta il wallet, la frase seme generata casualmente è stata sostituita con una delle 20 frasi seed pre-generate salvate nel firmware violato. Il proprietario avrebbe iniziato a usare questa frase invece di una nuova e unica.

In terzo luogo, se l’utente sceglieva di impostare un’ulteriore password di protezione del master-seed, veniva utilizzato solo il primo simbolo (a…z, A…Z, 0…9 o ! per qualsiasi carattere speciale) che, insieme all’opzione senza password, forniva solo 64 combinazioni possibili. Quindi, per decifrare un determinato portafoglio falso, si dovevano considerare solo 64*20=1280 varianti.

Il falso wallet di criptovalute funzionava normalmente, ma gli aggressori ne avevano il pieno controllo fin dall’inizio. Secondo la cronologia delle transazioni non hanno avuto fretta e hanno aspettato un mese intero dopo il primo accredito prima di arraffare il denaro.

Il proprietario non aveva speranze: la partita era persa dal momento stesso in cui le crypto sono arrivate per la prima volta nel wallet.

La risposta del produttore


Dopo la pubblicazione dell’inchiesta di Kaspersky, Trezor si è giustificata sottolineando però che questo incidente si è verificato in realtà nel 2022, quando diversi wallet falsi provenienti da un rivenditore russo non autorizzato sono arrivati sul mercato, aggiungendo che, dopo quel caso, non sono stati segnalati altri incidenti simili.

Come prevenire la minaccia?


Non è facile distinguere un falso cryptowallet da uno vero senza conoscenze ed esperienze particolari. La principale forma di difgesa consiste nell’acquistare il wallet direttamente dal rivenditore ufficiale e scegliere modelli con versioni speciali di microcontrollori protetti.

Secondo gli esperti di Kaspersky anche i Trezor originali non sono l’ideale in questo senso: secondo loro esistono wallet di altre marche con chip meglio protetti e con meccanismi di protezione aggiuntivi.

Va ricordato che anche un wallet autentico e non modificato può comunque essere vulnerabile a una serie di minacce. Le misure prioritarie includono l’uso di una password (se supportata dal wallet) e, naturalmente, la protezione di tutti i computer e smartphone.

Leggi Anche:

 

Segui Cryptonews Italia sui canali social