Una ricerca di Independent Security Evaluators (ISE) è riuscita a scoprire 732 chiavi private di indirizzi Ethereum attivi.

Read this article in the English version here.

Lo studio è stato chiamato “Ethercombing” ed è anche stato descritto in un video, mentre  nella pagina dedicata sul sito di ISE è stata riportata la metodologia applicata.

ISE afferma che attualmente sulla blockchain di Ethereum ci sono circa 345 milioni di transazioni, generate da 47 milioni di coppie di chiavi.

Ogni coppia è formata da una chiave privata segreta e da una pubblica con cui vengono generati gli indirizzi dei wallet.

La possibilità di generare casualmente nuovi chiavi private già utilizzate da altri indirizzi sulla blockchain di Ethereum è di circa 1 su 2^256. In teoria sarebbe possibile, ma è un’ipotesi così remota da poter essere tranquillamente ignorata.

Eppure ISE è riuscita lo stesso a scoprire l’esistenza di 732 coppie di chiavi private e pubbliche che corrispondono ad indirizzi già utilizzati da altri sulla blockchain di Ethereum in circa 49.060 transazioni. Inoltre, hanno identificato 13.319 ETH che sono stati trasferiti a indirizzi di destinazione non validi o wallet derivanti ​​da chiavi deboli, per un controvalore in dollari di quasi 19 milioni.

I fondi di questi indirizzi legati a chiavi deboli vengono spesso rubati e inviati a un indirizzo di destinazione appartenente a un individuo o gruppo che sta conducendo campagne attive per raccogliere le chiavi private deboli ed appropriarsi dei relativi fondi.

Ad esempio al 13 gennaio 2018 questa “blockchainbandit” possedeva 37.926 ETH, per un controvalore di oltre 54 milioni di dollari.

La scoperta di queste chiavi deboli è stata presumibilmente resa possibile da errori di programmazione nel software che le ha generate. Ad esempio il team ipotizza che in varie implementazioni di software che generano wallet Ethereum, le chiavi a 256 bit generate casualmente potrebbero venire troncate in uscita a causa di errori di codifica. Altri bachi simili potrebbero essere dovuti alla memoria del dispositivo utilizzato per generare le chiavi, o da altri errori o danneggiamenti.

In questo modo le chiavi private generate non sarebbero sufficientemente casuali, tanto che sarebbe molto più semplice riuscire a scoprirle utilizzando banalmente la forza bruta di un dispositivo di calcolo che potrebbe scoprirle semplicemente creandone un gran numero casualmente e verificando quali siano già in uso da altri sulla blockchain, visto che gli indirizzi generati ed utilizzati sono pubblici.

Ted Harrington, Executive Partner di ISE, ha dichiarato:

“La conclusione è che una chiave privata dovrebbe essere casuale, unica e praticamente impossibile da indovinare in un attacco di forza bruta”.

ISE dà anche alcuni suggerimenti per evitare problemi del genere: non utilizzare software non attendibili che potrebbero raccogliere chiavi di crittografia private, utilizzare wallet software e hardware affidabili per generare chiavi private completamente casuali e non generare chiavi private basate su passphrase.