Cosa possiamo imparare dallo studio degli hack? Rivelando approfondimenti sulla privacy e sui movimenti di criptovaluta dopo l'hacking DAO 2016

Simbiosi

Il termine criptovaluta è quasi diventato sinonimo di hacking. Sembra che ogni settimana ci siano hack incredibilmente grandi su scambi, portafogli di singoli utenti, contratti intelligenti e blockchain pubbliche su cui si trovano. In molti casi i vettori di attacco sono evidenti in retrospettiva: il codice non è stato testato, i processi interni per prevenire il phishing erano inesistenti, gli standard di base del codice non sono stati seguiti, ecc. Lo studio degli hack stessi spesso non raccoglie molte informazioni interessanti per chi ha già familiarità con pratiche di sicurezza di base. 

Ma ogni hack crittografico ha due componenti principali: c'è l'hack stesso e poi le metodologie con cui l'hacker e le loro coorti tentano di incassare il bottino rubato. Per i sostenitori della privacy, i tentativi di rendere anonimi questi fondi sono casi di studio interessanti sui livelli di anonimato ottenibili nelle reti blockchain pubbliche.

Poiché i fondi sono monitorati da vicino da agenzie governative ed entità aziendali altamente organizzate e ben finanziate, offrono alla comunità l'opportunità di osservare l'efficacia dei vari portafogli per la privacy coinvolti. Se questi hacker non possono rimanere privati, quali sono le possibilità che gli utenti medi che cercano la privacy nelle reti pubbliche riescano a raggiungerla? 

L'hacking DAO 2016, un caso esemplare

Studiando questi hack e i successivi arresti, diventa chiaro che nella maggior parte dei casi, gli hacker commettono errori cruciali quando tentano di rendere anonima la propria criptovaluta. In alcuni casi, gli errori sono imputabili a semplici errori dell'utente. In altri casi, sono causati da bug nel software del portafoglio utilizzato o da altri passi falsi non evidenti nel percorso per convertire la criptovaluta in risorse del mondo reale. 

Di recente, un caso particolarmente interessante, l'hacking DAO del 2016, ha avuto uno sviluppo significativo: un'indagine Articolo di Forbes è stato pubblicato che identifica il presunto hacker. Il processo mediante il quale questa persona è stata identificata offre alcune informazioni su un portafoglio per la privacy ampiamente utilizzato, Wasabi Wallet, e su come l'uso improprio del software può portare a un "smistamento" dei fondi del presunto hacker. 

Sono stati commessi errori critici

Per quanto riguarda l'ordine delle operazioni, la prima mossa dell'hacker è stata convertire alcuni dei loro fondi rubati da Ethereum Classic in Bitcoin. L'hacker ha utilizzato lo Shapeshift per eseguire lo scambio, che all'epoca forniva un registro pubblico completo di tutte le operazioni sulla piattaforma. Da Shapeshift, alcuni dei fondi sono stati trasferiti in Wasabi Wallet. Da qui le cose vanno in discesa.  

Per chi non lo conosce, CoinJoin è il soprannome di uno speciale protocollo di costruzione di transazioni che consente a più parti di aggregare i propri fondi in una transazione di grandi dimensioni con l'obiettivo di interrompere il collegamento tra i fondi che fluiscono in CoinJoin e i fondi che escono da CoinJoin.

Invece di una transazione con un unico pagatore e beneficiario, una transazione CoinJoin ha più pagatori e beneficiari. Supponiamo ad esempio di avere un CoinJoin con 10 partecipanti: se il CoinJoin è costruito correttamente e tutte le regole di interazione sono seguite correttamente, i fondi che defluiscono dal CoinJoin avranno un set di anonimato di 10, ovvero uno qualsiasi dei 10 "usciti misti ” dalla transazione potrebbe appartenere a uno qualsiasi dei 10 (o più) “input non misti” alla transazione. 

Sebbene CoinJoins possa essere uno strumento molto potente, ci sono molte opportunità per i partecipanti di commettere errori critici che degradano in modo significativo o minano completamente la privacy che potrebbero aver guadagnato da CoinJoin. Nel caso del presunto hacker DAO, è stato commesso un errore del genere. Come leggerai in seguito, esiste la possibilità che questo bug sia stato un errore dell'utente, tuttavia, è anche possibile che si sia verificato un bug (poiché risolto) in Wasabi Wallet che ha portato a questo errore di privacy. 

Wasabi Wallet utilizza il Protocollo ZeroLink, che costruisce CoinJoins con output misti di uguale valore. Ciò significa che tutti gli utenti sono tenuti a mescolare solo una quantità specificata e predeterminata di Bitcoin. Qualsiasi valore superiore a tale importo che entra in CoinJoin deve essere restituito come Bitcoin non miscelato ai rispettivi utenti.

Se ad esempio Alice ha una singola uscita di .15 Bitcoin e CoinJoin accetta solo uscite di valore .1 Bitcoin, al completamento di CoinJoin, Alice avrebbe un'uscita di .1 Bitcoin mista e un'uscita di .05 Bitcoin non mescolata. Il .05 Bitcoin è considerato "non miscelato" perché può essere collegato all'output originale di Alice di .15. L'output misto non può più essere collegato direttamente all'input e avrà un set di anonimato composto da tutti gli altri partecipanti al CoinJoin. 

Per preservare la privacy di CoinJoin, è fondamentale che gli output misti e non misti non siano mai associati tra loro. Nel caso in cui vengano accidentalmente aggregati sulla blockchain di bitcoin in una singola o in una serie di transazioni, un osservatore può utilizzare tali informazioni per risalire alla loro fonte di output misti. 

Nel caso dell'hacker DAO, sembra che nel processo di utilizzo di Wasabi Wallet, abbiano utilizzato un unico indirizzo in più CoinJoin; in un caso l'indirizzo è stato utilizzato come output di modifica non mixato, nel secondo caso è stato utilizzato come output misto.

Questo è un errore relativamente insolito nel contesto di un CoinJoin perché questa tecnica di colpa per associazione richiede una transazione a valle dei CoinJoin per "unire" gli output non misti e misti, collegandoli insieme. Ma in questo caso, non è stato necessario analizzare alcuna transazione oltre i due CoinJoin perché lo stesso indirizzo è stato utilizzato in modi contrastanti su due CoinJoin separati. 

Fondamentalmente, questa possibilità esiste a causa di una decisione di progettazione nel software Wasabi Wallet: Wasabi Wallet utilizza un unico percorso di derivazione per output misti e non misti. Questo è considerato cattiva pratica. È stato affermato da un dipendente Wasabi che ciò doveva rendere il ripristino del portafoglio compatibile con altri portafogli, tuttavia, BIP84 (che è il schema di derivazione Wasabi Wallet utilizza) ha un modo standard per riconoscere un percorso di derivazione assegnato per modificare gli output.

Gli errori risultanti da questa scelta di progettazione sono più evidenti quando un utente ha due istanze di Wasabi Wallet in esecuzione contemporaneamente mentre utilizza lo stesso seme. In questo scenario, sarebbe possibile per le due istanze selezionare lo stesso indirizzo in questo modo in conflitto quando si tenta contemporaneamente di eseguire un mix da ciascuna istanza. Questo è messo in guardia contro documentazione ufficiale. È anche possibile che i colpevoli fossero bug noti nel portafoglio Wasabi.

Takeaway e conclusioni

Quindi cosa impariamo da questo? Sebbene questo bug con Wasabi non sia proprio la fine della storia, ha agito come una componente cruciale nel rintracciare il presunto hacker. Ancora una volta, viene riaffermata la nostra convinzione che la privacy sia difficile. Ma in pratica, abbiamo un altro esempio dell'importanza di prevenire la contaminazione dell'output quando si utilizzano strumenti per la privacy e di quanto sia richiesto un attento "controllo delle monete" sia dagli utenti che dal software. La domanda diventa: che tipo di protocolli di privacy sono progettati per ridurre al minimo questa classe di attacchi? 

Una soluzione interessante è un CoinSwap, dove invece di unire gli output in una grande transazione, si scambiano gli output con un altro utente. In questo modo stai scambiando le cronologie delle monete, non unirti alle cronologie delle monete. Più potentemente, se un CoinSwap viene eseguito nel contesto off-chain (come implementato da Mercury Wallet), non ci sono output di modifiche non misti da affrontare. 

Sebbene ci siano possibili errori dell'utente che possono causare il "de-swap" di un CoinSwap, questi errori sono probabilmente molto più evidenti per l'utente finale perché qualsiasi unione di output in un modo che viola la privacy può essere eseguita solo mescolando esplicitamente un ha scambiato l'output con uno che non è stato ancora scambiato, invece di unire due output che sono già passati tramite CoinJoin, di cui solo uno è effettivamente misto.

Portafoglio Mercurio è attualmente l'unica struttura CoinSwap off-chain disponibile per gli utenti finali. Consente agli utenti di bloccare le proprie monete in un protocollo di livello due (noto come catena di stato) e quindi scambiare ciecamente i propri output con altri utenti della catena di stato. È una tecnica molto interessante e vale la pena sperimentare per coloro che sono interessati a esplorare nuovi strumenti per la privacy con funzionalità entusiasmanti e compromessi accettabili.

Ottieni il tuo riepilogo giornaliero di Bitcoin, DeFi, NFT ed Web3 notizie da CryptoSlate

È gratuito e puoi annullare l'iscrizione in qualsiasi momento.

ottenere un bordo sul mercato delle criptovalute?

Diventa un membro di CryptoSlate Edge e accedi alla nostra esclusiva community Discord, a contenuti e analisi più esclusivi.

Analisi di catena

Istantanee dei prezzi

Più contesto

Iscriviti ora per $ 19 / mese Esplora tutti i vantaggi

Fonte: https://cryptoslate.com/what-can-we-learn-from-studying-hacks-revealing-insights-on-privacy-and-cryptocurrency-movements-after-the-dao-2016-hack/