Trezor ha risolto delle vulnerabilità Bitcoin
Trezor ha risolto delle vulnerabilità Bitcoin
Sicurezza

Trezor ha risolto delle vulnerabilità Bitcoin

By Alfredo de Candia - 4 Giu 2020

Chevron down

Il noto brand di hardware wallet Trezor ha comunicato di aver rilasciato un firmware che risolve una vulnerabilità che ha colpito alcuni tipi di transazioni di bitcoin.

Come possiamo leggere nel dettaglio nell’annuncio, sono stati aggiornati sia il modello Trezor One, alla versione 1.9.1, che il modello Trezor il Model T, alla versione 2.3.1.

Le modifiche hanno rimosso una falla di sicurezza scoperta da Saleem Rashid, che ha riportato il bug tramite il programma dedicato proprio per questo tipo di scoperte.

Prima di procedere nello spiegare come ha risolto della vulnerabilità, Trezor ha illustrato nel post come il wallet richieda di controllare l’UTXO delle precedenti transazioni, così da controllare il saldo effettivo dell’indirizzo.

Questo check serve per evitare che chi volesse iniziare un eventuale attacco possa dimostrare di avere un saldo inferiore di UTXO rispetto a quello che realmente ci sia.

Infatti, quando viene effettuata una transazione una parte della stessa viene mandata al miner come fee. Questo sistema permette di scoprire non il saldo attuale, che ovviamente sarà minore, ma quello precedente con la transazione già avvenuta e completata.

Nel dettaglio, la vulnerabilità sfrutta il sistema SegWit (Segregated Witness) in cui parte dei dati sono firmati. Sfruttando due transazioni SegWit è possibile far pagare alla vittima una fee sproporzionata, esattamente in questo modo:

  1. La vittima ha due SegWit/BIP-143 UTXO di 15 BTC e 20 BTC.
  2. Il malware chiede all’utente di confermare una transazione con input 1 come 15 BTC e input 2 come 5.0000000001 BTC, con gli output scelti dall’utente e un output di modifica valido, se necessario
  3. L’utente conferma la transazione, spendendo 20 BTC più una fee di 0,0000000001 BTC.
  4. Il malware lancia un errore e dice all’utente di confermare nuovamente la transazione (ad es. “Uh, oh! Qualcosa è andato storto, per favore riprova”).
  5. Il malware chiede all’utente di confermare una transazione con input 1 come 0,0000000001 BTC e input 2 come 20 BTC, con esattamente gli stessi output di prima.
  6. L’utente vede una transazione apparentemente identica e conferma di nuovo la spesa di 20 BTC più 0,0000000001 BTC di fee.
  7. Il malware utilizza la firma dell’input 1 dalla prima transazione, e la firma dell’input 2 dalla seconda transazione, creando una transazione che di fatto spende 15 BTC dall’input 1 e 20 BTC dall’input 2.
  8. L’utente finisce per pagare una fee di transazione che supera di poco i 15 BTC.

Considerando i tempi per effettuare l’aggiornamento, Trezor ha proceduto per gradi, così anche altri wallet potranno aggiornarsi e sistemare questo tipo di vulnerabilità.

Infatti, anche le applicazioni web dovranno essere aggiornate a Connect v8.

Per Electrum, per esempio, la stessa Trezor fornirà la patch, mentre invece altri strumenti che si basano su PSBT dovranno sistemare i relativi server, come ad esempio nel caso di Wasabi.

Alfredo de Candia
Alfredo de Candia

Android developer da oltre 8 anni sul playstore di Google con una decina di app, Alfredo a 21 anni ha scalato il Monte Fuji seguendo il detto "Chi scala il monte Fuji una volta nella vita è un uomo saggio, chi lo scala due volte è un pazzo". Tra le sue app troviamo un dizionario di giapponese, un database di spam e virus, il più completo database sui compleanni di serie Anime e Manga e un database sulle shitcoin. Miner della domenica, Alfredo ha una forte passione per le crypto ed è un fan di EOS.

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.