Što možemo naučiti iz proučavanja hakova? Otkrivanje uvida u privatnost i kretanje kriptovaluta nakon hakovanja DAO 2016.

Simbioza

Pojam kriptovaluta gotovo je postao sinonim za hakiranje. Čini se kao da svaki tjedan dolazi do nevjerovatno velikih hakova na burzama, novčanicima pojedinačnih korisnika, pametnim ugovorima i javnim blockchainima na kojima sjede. U mnogim slučajevima vektori napada su očigledni u retrospektivi: kod nije testiran, interni procesi za sprječavanje krađe identiteta nisu postojali, osnovni standardi koda nisu poštivani, itd. Proučavanjem samih hakova često se neće dobiti mnogo zanimljivih informacija za one koji su već upoznati s osnovne sigurnosne prakse. 

No, svaki kripto hak ima dvije primarne komponente - tu je sam hak, a zatim i metodologije pomoću kojih haker i njegove kohorte pokušavaju unovčiti svoj ukradeni plijen. Za pobornike privatnosti, pokušaji anonimizacije ovih fondova su zanimljive studije slučaja o razinama anonimnosti koje je moguće postići u javnim blockchain mrežama.

Budući da sredstva pomno prate visoko organizirane i dobro financirane vladine agencije i korporativni subjekti, oni pružaju priliku zajednici da promatra učinkovitost različitih uključenih novčanika za zaštitu privatnosti. Ako ti hakeri ne mogu ostati privatni, kakve su šanse da će prosječni korisnici koji traže privatnost u javnim mrežama to uspjeti postići? 

DAO 2016 hak, primjeran slučaj

Proučavajući ove hakove i kasnija uhićenja, postaje jasno da u većini slučajeva hakeri čine ključne pogreške kada pokušavaju anonimizirati svoju kriptovalutu. U nekim slučajevima za kvarove su krive jednostavne korisničke pogreške. U drugim slučajevima uzrok su greške u softveru novčanika koji su koristili ili drugi manje nego očiti pogrešni koraci na putu pretvaranja kriptovalute u stvarnu imovinu. 

Nedavno je posebno zanimljiv slučaj, hakiranje DAO-a iz 2016., doživio značajan razvoj — istražni Forbesov članak objavljeno je koje identificira navodnog hakera. Proces kojim je ova osoba identificirana nudi neke uvide u široko korišteni novčanik za privatnost, Wasabi Wallet, i kako nepravilna uporaba softvera može dovesti do "razmješavanja" sredstava navodnih hakera. 

Napravljene su kritične greške

Što se tiče redoslijeda operacija, prvi potez hakera bio je da dio svojih ukradenih sredstava iz Ethereum Classica pretvori u Bitcoin. Haker je koristio Shapeshift da izvrši zamjenu, što je u to vrijeme dalo potpunu javnu evidenciju o svim trgovinama na platformi. Iz Shapeshifta dio sredstava prešao je u Wasabi Wallet. Odavde stvari idu nizbrdo.  

Za one koji nisu upoznati, CoinJoin je nadimak za poseban protokol izgradnje transakcije koji omogućuje više strana da objedine svoja sredstva u veliku transakciju s ciljem prekida veze između sredstava koja pritječu u CoinJoin i sredstava koja odtječu iz CoinJoin-a.

Umjesto da transakcija ima jednog platitelja i primatelja plaćanja, CoinJoin transakcija ima više platitelja i primatelja. Recimo, na primjer, imate CoinJoin s 10 sudionika — ako je CoinJoin pravilno konstruiran i ako se pravilno poštuju sva pravila interakcije, sredstva koja istječu iz CoinJoina imat će skup anonimnosti od 10. tj. bilo koji od 10 „mješovitih izlaza“ ” iz transakcije može pripadati bilo kojem od 10 (ili više) “nepomiješanih ulaza” u transakciju. 

Iako CoinJoins može biti vrlo moćan alat, postoje mnoge mogućnosti za sudionike da naprave kritične pogreške koje značajno degradiraju ili u potpunosti potkopavaju bilo kakvu privatnost koju su mogli dobiti od CoinJoina. U slučaju navodnog DAO hakera, napravljena je takva pogreška. Kao što ćete pročitati u nastavku, postoji mogućnost da je ova greška bila korisnička pogreška, međutim, također je moguće da je u Wasabi Walletu postojala greška (otkako je ispravljena) koja je dovela do ovog neuspjeha u privatnosti. 

Wasabi novčanik koristi ZeroLink protokol, koji konstruira CoinJoins s mješovitim izlazima jednake vrijednosti. To znači da svi korisnici moraju miješati samo određenu, unaprijed određenu količinu Bitcoina. Svaka vrijednost iznad tog iznosa koja ulazi u CoinJoin mora se vratiti kao nepomiješani Bitcoin odgovarajućim korisnicima.

Ako, na primjer, Alice ima jedan izlaz .15 Bitcoin, a CoinJoin prihvaća samo izlaze vrijednosti .1 Bitcoin, po završetku CoinJoin-a, Alice bi imala .1 mješoviti izlaz Bitcoin i .05 nepomiješani izlaz Bitcoin. Bitcoin od .05 smatra se "nepomiješanim" jer se može povezati s Aliceinim izvornim izlazom od .15. Mješoviti izlaz više se ne može izravno povezati s ulazom i imat će skup anonimnosti koji se sastoji od svih ostalih sudionika u CoinJoin-u. 

Kako bi se očuvala privatnost CoinJoina, imperativ je da mješoviti i nepomiješani rezultati nikada nisu povezani jedni s drugima. U slučaju da se slučajno agregiraju na bitcoin blockchainu u jednoj ili skupu transakcija, promatrač može koristiti te informacije za praćenje mješovitih izlaza natrag do njihovog izvora. 

U slučaju DAO hakera, čini se da su u procesu korištenja Wasabi novčanika koristili jednu adresu u više CoinJoins; u jednom slučaju adresa je korišten kao nemiješani izlaz promjene, u drugom slučaju korišten je kao mješoviti izlaz.

Ovo je relativno neobična pogreška u kontekstu CoinJoina jer ova tehnika krivnje po povezivanju zahtijeva transakciju nizvodno od CoinJoinsa kako bi se "spojili" nepomiješani i mješoviti rezultati, povezujući ih zajedno. Ali u ovom slučaju nije bilo potrebno analizirati transakcije osim dva CoinJoina jer je ista adresa korištena na proturječne načine u dva odvojena CoinJoina. 

U osnovi, ova mogućnost postoji zbog dizajnerske odluke u softveru Wasabi Wallet: Wasabi Wallet koristi jedan put derivacije za mješovite i nepomiješane izlaze. Ovo se smatra loša praksa. Zaposlenik Wasabija je izjavio da bi to trebalo učiniti obnavljanje novčanika kompatibilnim s drugim novčanicima, međutim, BIP84 (što je shema izvođenja Wasabi Wallet koristi) ima standardni način za prepoznavanje puta derivacije dodijeljenog za promjenu izlaza.

Greške koje proizlaze iz ovog odabira dizajna najizraženije su vidljive kada korisnik ima dvije instance Wasabi novčanika koje se pokreću u isto vrijeme dok koristi isto sjeme. U ovom scenariju, bilo bi moguće da dvije instance odaberu istu adresu na ovaj sukobljeni način kada istovremeno pokušavaju pokrenuti miks iz svake instance. Na to se upozorava u službena dokumentacija. Također je moguće da su poznate greške u Wasabi novčaniku bile krivac.

Izvodi i zaključci

Dakle, što učimo iz ovoga? Iako ovaj bug s Wasabijem nije baš kraj priče, djelovao je kao ključna komponenta u pronalaženju navodnog hakera. Još jednom se potvrđuje naše uvjerenje da je privatnost teška. No, praktično, imamo još jedan primjer važnosti sprječavanja kontaminacije izlaza pri korištenju alata za privatnost i koliko je pažljiva "kontrola novčića" potrebna od strane korisnika i softvera. Postavlja se pitanje koje vrste protokola privatnosti su dizajnirane da minimiziraju ovu klasu napada? 

Jedno zanimljivo rješenje je CoinSwap, gdje umjesto spajanja izlaza u veliku transakciju, zamjenjujete izlaze s drugim korisnikom. Na taj način mijenjate povijesti novčića, a ne spajate povijesti novčića. Još snažnije, ako se CoinSwap obavlja u kontekstu izvan lanca (kao što ga implementira Mercury Wallet), uopće nema nepomiješanih izlaznih promjena s kojima se treba baviti. 

Iako postoje moguće korisničke pogreške koje mogu uzrokovati "razmjenjivanje" CoinSwapa, te su pogreške vjerojatno mnogo očitije krajnjem korisniku jer se svako spajanje izlaza na način koji krši privatnost može izvesti samo eksplicitnim miješanjem zamijenjeni izlaz s onim koji još nije zamijenjen, za razliku od spajanja dva izlaza koja su već prošla kroz CoinJoin, od kojih je samo jedan zapravo pomiješan.

Mercury novčanik trenutno je jedina izvanlančana CoinSwap mogućnost dostupna krajnjim korisnicima. Omogućuje korisnicima da zaključaju svoje kovanice u protokol sloja dva (poznat kao statechain), a zatim slijepo mijenjaju svoje izlaze s drugim korisnicima lanca stanja. To je vrlo zanimljiva tehnika i vrijedna eksperimentiranja za one koji su zainteresirani za istraživanje novih alata za privatnost s uzbudljivom funkcionalnošću i prihvatljivim kompromisima.

Dobijte svoj dnevni sažetak Bitcoin, defi, NFT i Web3 vijesti iz CryptoSlate

Besplatno je i možete se odjaviti bilo kada.

Nabavite rub na kripto tržištu?

Postanite član CryptoSlate Edgea i pristupite našoj ekskluzivnoj Discord zajednici, ekskluzivnijem sadržaju i analizi.

Analiza na lancu

Snimke cijena

Više konteksta

Pridružite se sada za 19 dolara mjesečno Istražite sve pogodnosti

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