Pionieri della blockchain
Accedi

Vulnerabilità dei wallet hardwareTempo di lettura: 13 min.

menu categorie articoli

Forse non tutti sanno che esistono sistemi che permettono agli utenti di conservare e utilizzare in sicurezza le proprie criptovalute.

Una delle domande più diffuse tra coloro che si avvicinano a questo universo è: come faccio a conservare le mie criptovalute? Qual è il metodo più sicuro e conveniente per gestirle?

La migliore risposta in questo momento è rappresentata dai Wallet Hardware. I più popolari presenti sul mercato sono il Trezor e la Ledger Nano S. Ci sono anche altri wallet, come ad esempio KeepKey, ma sono essenzialmente varianti del Trezor.

Ma andiamo a vedere più nello specifico cosa sono gli hardware wallet e come funzionano.

Hardware

Trezor

Il Trezor è un dispositivo relativamente semplice che viene alimentato tramite un connettore micro USB. La scocca è costituita da semplice plastica a iniezione con due pulsanti anch’essi in plastica e uno schermo LCD. Il tutto viene tenuto insieme da quella che sembra una super colla.

Il Trezor utilizza un microcontrollore standard STM32F205 che giustifica le dimensioni del dispositivo. Stiamo parlando quindi di un processore standard ARM Cortex M3 32 bit.

Il microcontroller si occupa di conservare le chiavi private e all’occorrenza generale.

Ledger nano s

La Ledger Nano S è anch’essa alimentata da un connettore micro usb, ha due pulsanti di input ed è dotata di uno schermo LCD. La più grande differenza tra la Trezor e la Ledger è che la Ledger ha due microcontroller invece che uno. Il primo microcontroller è il STM32F042K e il secondo microcontroller è il ST31H320. L’STM32F042K è molto simile all’STM32F205 usato nella Trezor a meno di avere un orologio interno piuttosto che esterno.

L’ST31H320 viene spesso utilizzato per diverse applicazioni che includono sistemi bancari, identificazioni e Pay TV. Inoltre, soddisfa i criteri degli standard di sicurezza EAL6+. L’architettura combinata dei microcontroller ST31/STM32 raggiunge un più basso ma comunque soddisfacente standard di sicurezza EAL5+.

Oltre a memorizzare le chiavi private, il dispositivo è dotato di una chiave di sicurezza che assicura un’ottima protezione contro tentativi di contraffazione.

Tabella Comparativa

Potenziali Vulnerabilità

Esistono sicuramente alcuni casi di vulnerabilità connessi all’utilizzo di dispositivi di questo tipo. A questo proposito possiamo provare a prevedere alcuni scenari possibili di vulnerabilità.

In primo luogo va considerato che qualsiasi computer al quale andrete a collegare il vostro wallet hardware potrebbe compromettere in qualche modo il dispositivo. Non andrò ad approfondire quali meccanismi o malware possono essere usati per compromettere il dispositivo, semplicemente va tenuta in considerazione la possibilità che ciò avvenga. In secondo luogo, va considerato che i fondi possono essere compromessi dopo che un attaccante riesce a entrare in possesso del dispositivo prima o dopo che questo sia stato inizializzato dall’utente.

Tenere in considerazione questi due scenari è sicuramente un ottimo punto di partenza. Casi di questo tipo anche se apparentemente scontati, possono certamente avvenire.

 

L’attacco da 800$

Ora, sebbene la Ledger nano S ed è dotata di uno schermo, resta comunque vulnerabile agli attacchi di tipo MIM. In una precedente versione del firmware era possibile visualizzare un massimo di 8 caratteri sul display. Anche se con la più recente versione del firmware adesso è possibile visualizzare l’indirizzo completo del wallet, un attacco di tipo MIM è comunque ancora possibile.

Vediamo come. Su vante.me è tutt’ora possibile generare un indirizzo Wallet di 8 caratteri con la possibilità di scegliere maiuscoli e minuscoli per un costo di circa 800 dollari. Per motivi legati alla sicurezza vante.me è progettato per creare indirizzi che hanno un testo più facilmente leggibile nella parte iniziale per rendere l’indirizzo maggiormente riconoscibile. Il costo per generare una stringa con 4 determinati caratteri nella parte iniziale e quattro nella parte finale è comunque lo stesso. Quindi, se connetti la tua Ledger nano S a un computer compromesso e la utilizzi per muovere una grande quantità di denaro tra uno o più account, sei vulnerabile a questo tipo di attacco.

Per esempio, poniamo caso che possiedi un account su un Exchange e hai intenzione di inviare denaro verso l’indirizzo di wallet. Se il tuo computer è compromesso la parte malevola saprà quali indirizzi usi solitamente per trasferire i tuoi fondi, così come gli importi. L’attaccante potrebbe allora spendere la potenza di calcolo necessaria (8 caratteri presenti nel tuo indirizzo, 800 dollari per indirizzo) per creare indirizzi che sono apparentemente identici o similmente identici e aspettare che tu crei la prossima transazione. A quel punto invece di chiedere alla tua Ledger collegata di confermare la transazione usando il tuo account, possono sostituirla per loro account e attendere che tu confermi la transazione dal dispositivo.

Differentemente, la Trezor non soffre di questo tipo di attacco perché visualizza l’intero indirizzo del destinatario sullo schermo prima di confermare la transazione.

Aggiornamento del firmware tramite USB

Entrambe la Ledger e la Trezor possono essere aggiornate usando il USB Device Firmware Upgrade (DFU). Il DFU permette di eseguire un aggiornamento firmware tramite la porta usb. Sfortunatamente esistono un buon numero di possibilità di attacco che si possono prospettare in previsione di un aggiornamento firmware in remoto tramite USB.

Ci sono stati un buon numero di casi di successo nell’uso del DFU per scaricare in remoto la memoria della famiglia di microcontroller STM32F. Cosa significa? Per il Trezor è un bel problema perché Trezor potenzialmente può permettere di scaricare chiavi private in remoto da dispositivo. Per il Ledger Il problema è relativamente minore perché le chiavi private non sono immagazzinate sul STM32 ma piuttosto sul ST31. Quindi, anche se la memoria del STM32 viene copiata in remoto, le chiavi private sarebbero ancora al sicuro sul ST31.

In aggiunta a un potenziale furto di dati dal STM32, il DFU USB potrebbe potenzialmente permettere ad un attaccante di re-inizializzare il dispositivo con codice malevolo durante un aggiornamento. Sebbene, entrambi il Ledger e il Trezor forniscono una lista riassuntiva per verificare l’andamento dell’aggiornamento sullo schermo, questo potrebbe essere facilmente manipolato da un codice malevolo. Perché tutto ciò avvenga il tuo computer dovrebbe essere stato già compromesso nel momento in cui procedi ad effettuare un aggiornamento firmware del tuo wallet. Se il Trezor venisse aggiornato con codice malevolo, l’attaccante potrebbe effettivamente prendere il controllo dei fondi.

Nel caso del Trezor, infatti l’attaccante avrebbe diretto accesso alla chiave privata. Con il Ledger la chiave privata non sarebbe accessibile perché come detto prima si troverebbe conservata su un microcontroller differente.

Bypassare i Pin

Il prossimo tipo di vulnerabilità che andremo a vedere è quello che accadrebbe se il dispositivo dovesse cadere nelle mani di un malintenzionato. Entrambi il Trezor e la Ledger implementano una funzione di reset se viene inserito un pin errato per 3 volte consecutive.

I fondi sarebbero al sicuro perché protetti dal pin giusto?

C’è stata una recente presentazione al DEF CON 25 durante la quale è stato dimostrato che il Trezor STM32F205 può essere manomesso usando sia Vcc che un attacco di tipo glitch. Questo ha dimostrato che un potenziale attaccante potrebbe entrare in possesso delle chiavi private senza la necessità di sapere il pin del dispositivo. Esiste anche un blog che da le istruzioni passo passo per eseguire un attacco di questo tipo senza necessità di apparecchiature particolari.

E il Ledger? Il ledger è meno vulnerabile a questo tipo di attacco perché ha un chip di sicurezza in più. Se l’attaccante riesce a forzare con successo il STM32F042K i fondi non sarebbero ancora compromessi.

Processo produttivo

I meccanismi di sicurezza fisici del dispositivo sembrano essere il tema centrale del Trezor per via dei diversi potenziali attacchi a cui il dispositivo potrebbe essere esposto. Oltre alla super colla che tiene insieme le due scocche, l’astuccio è sigillato con adesivi olografici che sembrano poter ridurre i tentativi di manomissione del dispositivo.

Questo tipo di accorgimento è stato preso per evitare che durante il processo di acquisto online e spedizione, un utente possa ricevere una copia identica del Trezor contenente però un software manomesso.

Con l’utilizzo degli adesivi olografici quelli di Trezor cercano di avere un maggiore controllo su manomissioni di questo tipo. Gli adesivi non risolvono del tutto il problema, in quanto se il dispositivo viene intercettato durante la spedizione, un malintenzionato potrebbe sempre aprirlo e riprogrammare il microcontroller all’interno.

Il Ledger non utilizza questo tipo di accorgimento dato che il dispositivo contiene una chiave che viene usata dal Ledger per confermare l’autenticità del dispositivo. Questo riduce sensibilmente la possibilità che qualcuno possa manomettere il dispositivo durante il processo produttivo.

Frase di recupero

La parte più vulnerabile di questo puzzle di sicurezza è forse la frase di recupero. E’ costutuita da 12-24 parole che permettono la ricostruzione della chiave privata usando il BIP39. L’utilizzo di un tale sistema di recupero della chiave privata sembra quasi vanificare tutti gli sforzi di un wallet hardware, per via del fatto che la frase di recupero va conservata come semplice testo. Su Grid+ questo tipo di vulnerabilità è stato definito come l’attacco del cassetto della calze riferendosi al fatto che tanta gente è finita per conservare la propria frase di recupero in un cassetto delle calze.

Si tratta di uno dei più grandi talloni di achille nella storia dei wallet hardware. E’ una situazione anche particolarmente ironica, dato che per conservare una frase di recupero bisogni ricorrere a qualcosa di simile a una cassetta di sicurezza bancaria. Dopo circa un decennio di sforzi per la creazione di forme di moneta distribuite e trasmesse peer-to-peer, la frase di recupero ci porta al punto di partenza con i nostri soldi in una banca. Maggiormente che per l’oro, la sicurezza delle criptovalute tuttora dipende dalla capacità dell’utente di conservarle fisicamente.

Sorveglianza

L’ultimo aspetto da trattare brevemente è la questione sorveglianza. Se un malintenzionato riesce ad ottenere il pin del tuo wallet hardware, tutti gli sforzi sono vani. Esistono meccanismi remoti di sorveglianza che permettono di utilizzare le webcam dei pc per spiare un inconsapevole utente senza il suo permesso. Ci sono anche modi più diretti di sorvegliare un ambiente tramite, ad esempio, l’uso di telecamere nascoste. Edward Snowden era parecchio paranoico riguardo la sorveglianza nascosta, attitudine dimostrata dall’uso di un fazzoletto per l’immissione di una password. A volte anche i gesti più semplici e ripetitivi possono fornire a un malintenzionato una ghiotta occasione per un attacco.

Rieplogo

Quali conclusioni possiamo trarre da quanto detto? Quello che segue è un riassunto delle potenziali vulnerabilità che possiamo riscontrare nel wallet Trezor e nel Ledger. Se non fosse per la vulnerabilità MIM, la Ledger sarebbe la vincitrice indiscussa. Comunque, questo aspetto complica qualsiasi decisione. Dato che di recente la Ledger ha accolto la richiesta degli utenti, permettendo la visualizzazione dell’intero indirizzo sul display, la raccomandazione per un wallet hardware in questa sede propende per la Ledger.

 

Esistono altri modi per conservare le criptovalute in sicurezza? Si. I Multi-signature wallet. Questo tipo di wallet permette l’utilizzo di più chiavi private per l’autorizzazione di una transazione prima di poter muovere i fondi. Nella sua forma più semplice funziona con 2 su 3 chiavi. Per Bitcoin e le sue varianti (es. Litecoin), questo è attualmente il modo migliore di conservare i fondi istituzionali. La tecnologia è già sviluppata, ha una storia d’uso di successo, ed entrambi il Ledger e il Trezor offrono qualche forma di supporto al multi-signature. Per di più, avere la necessità di incaricare più individui prima di poter muovere i fondi, crea una condizione di controllo interno più sano all’interno di una compagnia.

Sfortunatamente Ethereum non supporta nativamente questa funzionalità. Qualsiasi wallet multi-signature su Ethereum è basato su uno smart contract e quello smart contract potrebbe essere soggetto a vulnerabilità. Quindi, per quanto riguarda Ethereum, si raccomanda di attendere l’implementazione di EIP86 prima di utilizzare multi-sig per conservare ethereum o qualsiasi moneta ERC20.

Finché non appariranno nuove soluzioni che permetteranno di conservare le criptovalute in un wallet totalmente online, il consiglio è quello di valutare sempre al meglio le soluzioni migliori in termini di sicurezza e praticare una sana e costante vigilanza nel conservare le criptovalute. Non esistono soluzioni perfette e incoraggiamo quindi tutti gli utenti a informarsi sulle potenzialità e rischi che le soluzioni attualmente disponibili implicano.

Fonte: gridplus.io

Clicca qui per accedere alla guida gratuita su come comprare, vendere, trasferire e conservare in sicurezza gli Ether.

 

Non perdere le ultime notizie

Se questo articolo ti è piaciuto e vuoi rimanere sempre aggiornato sul mondo cripto e blockchain iscriviti alla nostra Newsletter

Emanuele

Emanuele

Crypto-lover. Nerd tra i nerd. Ama analizzare numeri e grafici. Crea statistiche anche dove non necessario.
Emanuele

Emanuele

Crypto-lover. Nerd tra i nerd. Ama analizzare numeri e grafici. Crea statistiche anche dove non necessario.

Commenti

3 risposte

  1. Ciao Emanuele…in attesa di comprarmi un Ledger cosa mi dici di Exodus come wallet online? dicono che sia di semplice utilizzo, ma è anche affidabile?

  2. Buon giorno. Potete darmi qualche dritta su come trasferire da Binance al mio Ledger dei tron?
    È necessario passare per forza da My Ether wallet ? Non mi fido molto da MEW mi sono spariti tutti gli Ether che erano depositati
    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *