Ce putem învăța din studierea hack-urilor? Dezvăluirea informațiilor despre confidențialitate și mișcările criptomonedei după hackul DAO 2016

Simbioză

Termenul criptomonedă a devenit aproape sinonim cu hacking. Se pare că în fiecare săptămână există hack-uri extraordinar de mari pe schimburi, portofelele individuale ale utilizatorilor, contractele inteligente și blockchain-urile publice pe care se află. În multe cazuri, vectorii de atac sunt evidenti retrospectiv: codul a fost netestat, procesele interne de prevenire a phishingului au fost inexistente, standardele de bază ale codului nu au fost respectate etc. Studierea hack-urilor în sine nu va aduna adesea multe informații interesante pentru cei deja familiarizați cu practicile de bază de securitate. 

Dar fiecare hack cripto are două componente principale - există hack-ul în sine și apoi metodologiile prin care hackerul și cohortele lor încearcă să încaseze prada furată. Pentru susținătorii confidențialității, încercările făcute de a anonimiza aceste fonduri sunt studii de caz interesante în nivelurile de anonimat atinse în rețelele publice blockchain.

Deoarece fondurile sunt urmărite îndeaproape de agenții guvernamentale și entități corporative foarte organizate și bine finanțate, ele oferă comunității o oportunitate de a observa eficacitatea diferitelor portofele de confidențialitate implicate. Dacă acești hackeri nu pot rămâne privați, care sunt șansele ca utilizatorii obișnuiți care caută confidențialitate în rețelele publice să o reușească? 

Hackul DAO 2016, un caz exemplar

Când se studiază aceste hack-uri și arestările ulterioare, devine clar că, în majoritatea cazurilor, hackerii fac greșeli cruciale atunci când încearcă să-și anonimizeze criptomoneda. În unele cazuri, defecțiunile sunt din vina unor erori simple ale utilizatorului. În alte cazuri, acestea sunt cauzate de erori în software-ul de portofel pe care l-au folosit sau de alte pași greșiți mai puțin decât evidente în calea transformării criptomonedei în active reale. 

Recent, un caz deosebit de interesant, hack-ul DAO din 2016, a avut o dezvoltare semnificativă - o investigație Articol din Forbes a fost publicată care identifică presupusul hacker. Procesul prin care a fost identificată această persoană oferă câteva informații despre un portofel de confidențialitate utilizat pe scară largă, Wasabi Wallet și despre modul în care utilizarea necorespunzătoare a software-ului poate duce la o „demixare” a fondurilor presupusului hacker. 

S-au făcut greșeli critice

În ceea ce privește ordinea operațiunilor, prima mișcare a hackerului a fost să convertească o parte din fondurile lor furate de la Ethereum Classic în Bitcoin. Hackerul a folosit Shapeshift pentru a executa schimbul, care la momentul respectiv a furnizat o înregistrare publică completă a tuturor tranzacțiilor de pe platformă. Din Shapeshift, unele dintre fonduri s-au mutat în Wasabi Wallet. De aici lucrurile merg la vale.  

Pentru cei care nu sunt familiarizați, CoinJoin este pseudonimul pentru un protocol special de construire a tranzacțiilor care permite mai multor părți să-și cumuleze fondurile într-o tranzacție mare, cu scopul de a rupe legătura dintre fondurile care curg în CoinJoin și fondurile care ies din CoinJoin.

În loc ca o tranzacție să aibă un singur plătitor și un singur beneficiar, o tranzacție CoinJoin are mai mulți plătitori și beneficiari. Să presupunem, de exemplu, că aveți un CoinJoin cu 10 participanți — dacă CoinJoin este construit corect și toate regulile de interacțiune sunt respectate corect, fondurile care ies din CoinJoin vor avea un set de anonimat de 10. adică oricare dintre cele 10 „ieșiri mixte”. ” din tranzacție ar putea aparține oricăreia dintre cele 10 (sau mai multe) „intrari nemixte” ale tranzacției. 

Deși CoinJoins poate fi un instrument foarte puternic, există multe oportunități pentru participanți de a face greșeli critice care degradează semnificativ sau subminează în totalitate orice confidențialitate pe care ar fi putut-o câștiga din CoinJoin. În cazul presupusului hacker DAO, s-a făcut o astfel de greșeală. După cum veți citi în continuare, există posibilitatea ca această eroare să fi fost o eroare a utilizatorului, cu toate acestea, este, de asemenea, posibil să existe o eroare (remediată) în Wasabi Wallet care să ducă la această eșec de confidențialitate. 

Wasabi Wallet folosește Protocolul ZeroLink, care construiește CoinJoins cu ieșiri mixte de valoare egală. Acest lucru înseamnă că toți utilizatorii trebuie să amestece doar o cantitate specificată și predeterminată de Bitcoin. Orice valoare peste această sumă care intră în CoinJoin trebuie returnată ca Bitcoin neamestecat utilizatorilor respectivi.

Dacă, de exemplu, Alice are o singură ieșire de .15 Bitcoin, iar CoinJoin acceptă numai ieșiri de valoare .1 Bitcoin, la finalizarea CoinJoin, Alice ar avea o ieșire Bitcoin mixtă de .1 și o ieșire Bitcoin nemixtă de .05. Bitcoin .05 este considerat „nemixt”, deoarece poate fi legat de producția inițială a lui Alice de .15. Ieșirea mixtă nu mai poate fi legată direct de intrare și va avea un set de anonimat care este compus din toți ceilalți participanți la CoinJoin. 

Pentru a păstra confidențialitatea CoinJoin, este imperativ ca ieșirile mixte și neamestecate să nu fie niciodată asociate între ele. În cazul în care acestea sunt agregate accidental pe blockchain-ul bitcoin într-o singură tranzacție sau într-un set de tranzacții, un observator poate folosi acele informații pentru a urmări rezultatele mixte înapoi la sursa lor. 

În cazul hacker-ului DAO, se pare că în procesul de utilizare Wasabi Wallet, aceștia au folosit o singură adresă în mai multe CoinJoins; într-un caz adresa a fost folosit ca ieșire de schimbare neamestecata, în al doilea caz a fost folosit ca ieșire mixtă.

Aceasta este o greșeală relativ neobișnuită în contextul unui CoinJoin, deoarece această tehnică de vinovăție prin asociere necesită o tranzacție în aval de CoinJoins pentru a „imbina” rezultatele neamestecate și mixte, legându-le între ele. Dar în acest caz, nicio tranzacție dincolo de cele două CoinJoins nu a fost necesar să fie analizată, deoarece aceeași adresă a fost folosită în moduri conflictuale în două CoinJoins separate. 

În principiu, această posibilitate există din cauza unei decizii de proiectare în software-ul Wasabi Wallet: Wasabi Wallet utilizează o singură cale de derivare atât pentru ieșiri mixte, cât și nemixte. Acest lucru este considerat proasta practică. Un angajat Wasabi a afirmat că aceasta a fost pentru a face restaurarea portofelului compatibilă cu alte portofele, totuși, BIP84 (care este schema de derivare Wasabi Wallet folosește) are o modalitate standard de recunoaștere a unei căi de derivare atribuită modificării rezultatelor.

Eșecurile rezultate din această alegere de design sunt observate cel mai bine atunci când un utilizator are două instanțe de Wasabi Wallet care rulează în același timp în timp ce folosește aceeași semințe. În acest scenariu, ar fi posibil ca cele două instanțe să selecteze aceeași adresă în acest mod conflictual atunci când încearcă să ruleze simultan un mix din fiecare instanță. Acest lucru este avertizat în documentația oficială. De asemenea, este posibil ca vinovații să fie bug-uri cunoscute din portofelul Wasabi.

Concluzii și concluzii

Deci, ce învățăm din asta? Deși această eroare cu Wasabi nu este chiar sfârșitul poveștii, a acționat ca o componentă crucială în urmărirea presupusului hacker. Încă o dată, convingerea noastră că intimitatea este grea este reafirmată. Dar, practic, avem un alt exemplu despre importanța prevenirii contaminării rezultatelor atunci când se utilizează instrumente de confidențialitate și cât de atent este necesar „controlul monedelor” atât de către utilizatori, cât și de software-ul. Întrebarea devine ce fel de protocoale de confidențialitate sunt concepute pentru a minimiza această clasă de atacuri? 

O soluție interesantă este un CoinSwap, în care în loc să comandeți ieșirile într-o tranzacție mare, schimbați ieșirile cu un alt utilizator. În acest fel, schimbați istoricul monedelor, nu vă alăturați istoricului monedelor. Mai puternic, dacă un CoinSwap se face în contextul în afara lanțului (așa cum este implementat de Mercury Wallet), nu există nicio ieșire de modificare nemixtă de care să se ocupe deloc. 

Deși există posibile erori ale utilizatorului care pot determina „de-schimbarea” unui CoinSwap, aceste erori sunt, fără îndoială, mult mai evidente pentru utilizatorul final, deoarece orice îmbinare a rezultatelor într-un mod care încalcă confidențialitatea ar putea fi realizată doar prin amestecarea explicită a unui ieșirea schimbată cu una care nu a fost încă schimbată, spre deosebire de îmbinarea a două ieșiri care au trecut deja prin CoinJoin, dintre care doar una este de fapt amestecată.

Portofelul Mercur este în prezent singura facilitate CoinSwap în afara lanțului disponibilă pentru utilizatorii finali. Le permite utilizatorilor să-și blocheze monedele într-un protocol de nivel doi (cunoscut sub numele de statechain) și apoi să-și schimbe orbește rezultatele cu alți utilizatori ai statechain-ului. Este o tehnică foarte interesantă și merită experimentată pentru cei interesați să exploreze instrumente noi de confidențialitate, cu funcționalități interesante și compromisuri acceptabile.

Obțineți rezumatul zilnic Bitcoin, DEFI, NFT și Web3 știri de la CryptoSlate

Este gratuit și vă puteți dezabona oricând.

obține o Margine pe Crypto Market?

Deveniți membru CryptoSlate Edge și accesați comunitatea noastră exclusivă Discord, conținut și analize mai exclusive.

Analiza în lanț

Instantanee de preț

Mai mult context

Alăturați-vă acum pentru 19 USD / lună Explorează toate beneficiile

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