Ricerca sulla sicurezza

Studio sulla vulnerabilità del Ledger Donjon e sviluppo dell'ELLIPAL Titan

Ledger-Donjon Vulnerability Study and The Development of The ELLIPAL Titan - ELLIPAL

 

ELLIPAL ha lanciato il suo primo cold wallet nel 2018, diventando immediatamente il prodotto di punta della nuova generazione di wallet hardware. Grazie all'esclusivo modello di sicurezza e alla facilità d'uso di ELLIPAL, ha attirato molta attenzione da parte degli utenti e di altri produttori di wallet hardware. Attualmente, il secondo modello di ELLIPAL, il ELLIPAL Titan, si sta affermando come la migliore soluzione di cold wallet mobile e air-gapped.

 

Dopo il lancio del nostro modello originale, l'ELLIPAL EC01 ha attirato l'attenzione di Ledger, interessata al modello di sicurezza di ELLIPAL. Ledger ha eseguito un test di sicurezza sull'ELLIPAL EC01 e ha attivato la clausola di ricompensa di ELLIPAL, in base alla quale li abbiamo ricompensati per aver individuato la vulnerabilità. Ledger ha presentato il risultato alla Convention Breaking Bitcoin 2019. Una sintesi dello studio e della risposta di ELLIPAL ai risultati è riportata nella tabella seguente. Si noti che Ledger non ha estratto alcun seed dall'ELLIPAL EC01.




Risultati di Ledger

 


Sicurezza hardware

La vulnerabilità più comune in quasi tutti, se non tutti, i wallet hardware consiste negli attacchi fisici. Un attacco fisico si verifica quando un hacker ottiene l'accesso fisico al dispositivo e pianifica un attacco. Ciò può includere attacchi alla catena di approvvigionamento, ad esempio malware installato prima della spedizione all'utente finale, o attacchi “evil maid”, ad esempio la compromissione fisica del dispositivo quando il proprietario è assente. Questo studio rivela la vulnerabilità di ELLIPAL EC01 rispetto a tali attacchi.

 

1) Individuazione dell'interfaccia UART

UART è l'acronimo di Universal Asynchronous Receiver/Transmitter, ovvero ricetrasmettitore asincrono universale. È un'interfaccia che consente ai dispositivi elettronici di comunicare tra loro ed è molto comune in tutti i dispositivi elettronici. In questo caso, Ledger aveva identificato una porta UART su ELLIPAL ed era riuscita a ricevere segnali in uscita. Nel rapporto si afferma che queste uscite sono “utili per un aggressore”, ad esempio per un attacco di reverse engineering, spiegato nella parte successiva.

Da lì, Ledger ha effettuato il riavvio di fabbrica del dispositivo ELLIPAL EC01 ed è riuscita a individuare tramite il software le funzionalità Wi-Fi della scheda madre. Attraverso la modalità di fabbrica, il componente Wi-Fi è riuscito a connettersi al punto di accesso quando è stata collegata un'antenna esterna. Tuttavia, Ledger non ha verificato ulteriormente se il sistema Android fortemente personalizzato di ELLIPAL supporti il Wi-Fi.

 

2) Interfaccia USB

La porta USB di ELLIPAL serve solo per la ricarica. Non c'è alcun collegamento tra la porta USB e la CPU principale. Tuttavia, i segnali dati della porta USB possono essere saldati alla scheda madre principale, consentendole di comunicare con la CPU e creando una porta USB modificata. Questa nuova porta USB diventa un collegamento tra ELLIPAL e il mondo esterno. Il firmware di ELLIPAL potrebbe essere sottoposto a reverse engineering e trasferito nell'ELLIPAL EC01 per estrarre i seed. Tuttavia, questo punto è solo teorico e non è stato testato.

Con accesso fisico sul dispositivo ELLIPAL, è possibile uno scenario di attacco alla catena di fornitura o di tipo “evil maid”. Un hacker potrebbe riattivare il WiFi sul dispositivo e connetterlo a Internet. Potrebbe quindi tentare di effettuare il reverse engineering del firmware di ELLIPAL e installare il firmware contraffatto sul dispositivo. Grazie alla combinazione di queste due operazioni, l’hacker potrebbe fare in modo che il firmware estragga il seed e lo invii tramite WiFi all’hacker. Se il tuo ELLIPAL viene smarrito o rubato, questa vulnerabilità può verificarsi.

 


Sicurezza del software

Ledger ha eseguito un breve test sulla sicurezza del software e non ha rilevato alcuna vulnerabilità.

 

3) Meccanismo di aggiornamento

Il file di aggiornamento di ELLIPAL è crittografato per garantire che nel dispositivo ELLIPAL possano essere copiati solo file di aggiornamento autentici. In seguito a questo studio, Ledger ha identificato il meccanismo di crittografia ECB utilizzato da ELLIPAL come una “cattiva pratica”; tuttavia, non è riuscita a caricare alcun firmware modificato tramite il meccanismo di aggiornamento. ELLIPAL utilizza una crittografia a più livelli e non è vulnerabile, come sostenuto. Gli utenti possono consultare su Github lo strumento open source per la verifica dei file di aggiornamento.

Punti chiave

Dallo studio del portafoglio ELLIPAL EC01 sono emerse vulnerabilità a livello hardware, che rendono possibile lo sfruttamento dei componenti UART e WiFi. Un possibile attacco consiste nell’eseguire un attacco di dump per installare un firmware contraffatto tramite la porta USB modificata. Il firmware contraffatto può essere programmato per sottrarre la chiave privata e inviarla all’aggressore quando il dispositivo si connette a Internet tramite WiFi.

Non è possibile installare un firmware contraffatto tramite il meccanismo di aggiornamento, come dimostrato da Ledger. L’unico modo per sfruttare ELLIPAL EC01 è avere accesso fisico e tempo sufficiente per eseguire le seguenti operazioni:

1) Modificare le porte UART e USB.

2) Installare un firmware contraffatto tramite la porta modificata.

3) Accedere alla modalità di ripristino di fabbrica e attivare il WiFi.

4) Collegare un’antenna per ricevere il segnale WiFi.

5) Ricomporre tutto senza destare sospetti nell’utente.

 

La risposta di ELLIPAL


Prima che Ledger pubblicasse lo studio, ELLIPAL aveva già preparato un aggiornamento di sicurezza adeguato per contrastare la vulnerabilità. Al momento della pubblicazione, ELLIPAL ha rilasciato il firmware v.2.0, che ha reso impossibile un attacco di dump e ha impedito qualsiasi modifica. Tuttavia, siamo convinti che questo non sarà sufficiente né per noi né per la community, che considera la sicurezza la massima priorità. Questa attenzione per una sicurezza sempre maggiore ha portato alla riprogettazione del portafoglio cold ELLIPAL.

ELLIPAL Titan

Nel settembre 2019, ELLIPAL ha lanciato il suo modello di portafoglio cold più recente, ovvero il portafoglio cold ELLIPAL Titan. Sviluppato sulla base delle vulnerabilità riscontrate nel precedente modello EC01, ELLIPAL Titan è protetto sia dagli attacchi remoti sia da quelli fisici.

Miglioramenti hardware

ELLIPAL Titan è stato riprogettato per impedire agli hacker di accedere alla scheda madre di ELLIPAL e modificare la UART per accedere al riavvio di fabbrica. Originariamente, ELLIPAL EC01 alloggiava la scheda madre all'interno di un involucro di plastica che poteva essere aperto svitando le viti. In ELLIPAL Titan, la scheda madre è all'interno di un involucro metallico fortemente sigillato, progettato per non essere mai aperto. La sigillatura è così resistente da garantire una protezione IP65 contro polvere e acqua. L'involucro metallico è inoltre abbastanza robusto da resistere al passaggio di un'auto senza subire danni. A causa della robustezza dell'hardware, forzare l'apertura del dispositivo è molto difficile e lascerà danni permanenti, avvisando l'utente.

Inoltre, ELLIPAL Titan include un meccanismo antimanomissione che contribuisce a proteggere i dati sensibili. Quando il dispositivo ELLIPAL Titan rileva una violazione dell'hardware, il sistema si eliminerà automaticamente, rendendo l'unità inutilizzabile e i dati inaccessibili.

 

Miglioramenti “Air-gapped”

Abbiamo adottato ulteriori misure per garantire che ELLIPAL Titan sia isolato al 100% da qualsiasi rete e non possa essere modificato. Ci siamo assicurati che ELLIPAL Titan non disponga di componenti o porte che consentano di connettersi a Internet o a un altro dispositivo.

Abbiamo sostituito l'intero chipset per garantire che non sia possibile alcuna connessione. Il nuovo chipset, (Allwinner A64), non supporta connessioni di rete come 4G, Bluetooth e WiFi. Abbiamo inoltre rimosso la porta USB e l'abbiamo sostituita con una porta di ricarica a contatto. Ora ELLIPAL Titan è garantito come incapace di connettersi a un altro dispositivo per esportare o importare informazioni.

 

Informazioni aggiuntive

C'è stato molto dibattito sull'idea che un portafoglio (o qualsiasi cosa relativa alla blockchain) debba essere open source. Il codice open source è un codice che può essere esaminato dal pubblico. Se c'è qualcosa di sospetto o un errore, il pubblico può segnalarlo direttamente all'azienda proprietaria del codice. Molti lo considerano un vantaggio in termini di sicurezza, perché il codice open source può dimostrare che l'azienda non ha intenzioni dannose nei confronti dell'utente ed è trasparente.

D'altra parte, l'open source può facilmente portare alla copia, alla riproduzione e alla modifica del codice in una versione dannosa. Con l'accesso fisico, un attacco di tipo dump può verificarsi con un portafoglio hardware open source. Un determinato portafoglio hardware open source ha già subito questo tipo di attacco.

Tra i vari motivi di sicurezza, ELLIPAL sceglie di mantenere il codice sorgente chiuso, lasciando però aperte le parti importanti affinché gli utenti possano verificare la nostra sicurezza. Innanzitutto, ELLIPAL ha attirato alcune critiche riguardo al nostro sistema di generazione dei codici QR, in particolare sulla possibilità che possa divulgare o meno le chiavi private. La risposta semplice è no, e può essere dimostrato.

 

Il trasferimento dei dati di ELLIPAL dall'hardware all'App si basa su un codice QR in formato aperto (https://github.com/ELLIPAL/air-gapped_qrcode_data_format). Anche la scansione del codice QR è controllata manualmente dall’utente. Tutti i dati trasferiti dipendono interamente dalla scansione eseguita dall’utente e non saranno presenti dati nascosti. Chiunque può verificare i dati del codice QR. Forniamo una libreria Javascript open source (https://github.com/ELLIPAL/js-ellipal). La firma o il nonce trasferiti dal portafoglio hardware possono essere sempre verificati nel codice QR.

 

Un’altra preoccupazione riguarda la creazione delle chiavi private. Spesso si dice che i portafogli con codice proprietario possano fornire agli utenti chiavi private pre-generate e che non ci sia modo per gli utenti di verificarle. ELLIPAL non ha intenzioni malevole nei confronti dei nostri utenti, ma non disponiamo di codice open source a sostegno di questa affermazione. Tuttavia, consentiamo agli utenti di importare le proprie chiavi private affidabili per conservarle al sicuro su ELLIPAL. Questa funzione di importazione non è disponibile in molti portafogli e rende ELLIPAL unico. Non obblighiamo i nostri utenti a fidarsi delle chiavi private da noi generate. Se non ti fidi di ELLIPAL, usa le tue chiavi private. Un’altra soluzione più semplice consiste nell’utilizzare una passphrase e rendere la sequenza di mnemoniche unica solo per te.

Infine, alcuni sostengono che i portafogli hardware con codice proprietario possano inviare le chiavi private degli utenti al produttore. Questo è impossibile per ELLIPAL, perché è già privo al 100% di connessioni, il che significa che le tue chiavi non possono essere inviate da nessuna parte. L’unico canale di uscita di ELLIPAL è il codice QR. Questo non deve preoccupare gli utenti, poiché questa parte del codice è in formato aperto e può essere verificata.

Sono inoltre disponibili altri codici, come lo strumento di verifica dei file di aggiornamento e altro ancora, su Github di ELLIPAL.

 

Conclusione

Ledger ha identificato i vettori di vulnerabilità di ELLIPAL e ci ha permesso di risolvere la vulnerabilità per mantenere sicuro il nostro ecosistema crypto. Riassumeremo i problemi individuati e il modo in cui ELLIPAL li ha risolti.

 

1) È stata individuata un’interfaccia UART in grado di accedere alla modalità di ripristino delle impostazioni di fabbrica per attivare la funzionalità Wi-Fi della CPU.

La risposta di ELLIPAL: 

 

Utilizza un chipset completamente nuovo per ELLIPAL Titan, privo di qualsiasi funzionalità di connessione.

Include funzioni anti-manomissione e anti-smontaggio per impedire agli hacker di accedere alla CPU.

 

2) L’interfaccia USB può essere modificata per eseguire un attacco di estrazione dei dati

La risposta di ELLIPAL: 

 

ELLIPAL ha sostituito una porta di ricarica USB con una porta di ricarica a contatto. Ancora più importante, la funzione anti-smontaggio impedisce innanzitutto di modificare la porta.

 

Quasi tutti i portafogli hardware sono vulnerabili quando un malintenzionato ne ottiene l’accesso fisico. ELLIPAL ha fatto tutto il possibile per impedirlo, assicurandosi che tu sia protetto anche se il tuo ELLIPAL Titan viene rubato o smarrito. ELLIPAL Titan è inoltre isolato al 100% da qualsiasi rete, così le tue chiavi private sono sempre al sicuro e isolate all’interno del ELLIPAL Titan.

 

Per qualsiasi domanda, contattare: cs@ellipal.com

Perché le persone si fidano di ELLIPAL
ZeroViolazioni dei cold wallet
Oltre 1 milioneUtenti in tutto il mondo
140+Paesi raggiunti
12 miliardi di dollariRisorse protette
ForbesConsigliato
8 anniAir-gapped dal 2018

Fattelo tuo. Poi usalo.

Le tue chiavi, le tue criptovalute. Conserva la tua frase seed offline e al resto penserà tutto il sistema.

Scopri i cold wallet ELLIPAL

Nota sulla sicurezza: questo articolo ha finalità informative e non costituisce una consulenza finanziaria. Il comportamento del dispositivo, come i limiti dei tentativi, può variare in base al firmware; verifica sempre i dettagli aggiornati nel Centro assistenza ufficiale ELLIPAL. Eventuali funzioni di swap, staking o acquisto e vendita menzionate altrove sono fornite da terze parti e ELLIPAL non controlla tali servizi.