Kaj se lahko naučimo iz preučevanja hakov? Razkrivanje vpogledov v zasebnost in gibanje kriptovalut po vdoru DAO 2016

Simbioza

Izraz kriptovaluta je skoraj postal sinonim za hekanje. Zdi se, kot da se vsak teden zgodijo osupljive velike hake na borzah, denarnicah posameznih uporabnikov, pametnih pogodbah in javnih verigah blokov, na katerih sedijo. V mnogih primerih so vektorji napada očitni v retrospektivi: koda ni bila preizkušena, notranji procesi za preprečevanje lažnega predstavljanja niso obstajali, osnovni standardi kode niso bili upoštevani, itd. Preučevanje samih vdorov pogosto ne bo prineslo veliko zanimivih informacij za tiste, ki že poznajo osnovne varnostne prakse. 

Toda vsak kripto-vdiranje ima dve primarni komponenti - tu je vdor sam in nato metodologije, s katerimi heker in njegove kohorte poskušajo unovčiti svoj ukradeni plen. Za zagovornike zasebnosti so poskusi anonimizacije teh sredstev zanimive študije primerov o stopnjah anonimnosti, ki jih je mogoče doseči v javnih omrežjih blockchain.

Ker sredstva pozorno spremljajo visoko organizirane in dobro financirane vladne agencije in gospodarski subjekti, dajejo skupnosti priložnost, da opazuje učinkovitost različnih vključenih denarnic za zasebnost. Če ti hekerji ne morejo ostati zasebni, kakšne so možnosti, da bodo povprečni uporabniki, ki iščejo zasebnost v javnih omrežjih, to lahko dosegli? 

Vdor v DAO 2016, zgleden primer

Pri preučevanju teh vdorov in kasnejših aretacij postane jasno, da hekerji v večini primerov naredijo ključne napake, ko poskušajo anonimizirati svojo kriptovaluto. V nekaterih primerih so za napake krive preproste napake uporabnika. V drugih primerih jih povzročajo napake v programski opremi denarnice, ki so jo uporabljali, ali druge manj kot očitne napake na poti do pretvorbe kriptovalute v sredstva iz resničnega sveta. 

Pred kratkim je zelo zanimiv primer, vdor DAO iz leta 2016, doživel pomemben razvoj - preiskovalni Forbes članek objavljeno, ki identificira domnevnega hekerja. Postopek, s katerim je bila ta oseba identificirana, ponuja nekaj vpogleda v široko uporabljeno denarnico za zasebnost, Wasabi Wallet, in kako lahko nepravilna uporaba programske opreme povzroči »razmešanje« domnevnih hekerskih sredstev. 

Narejene so bile kritične napake

Kar zadeva vrstni red operacij, je bila prva poteza hekerja, da nekaj svojih ukradenih sredstev iz Ethereum Classica pretvori v Bitcoin. Heker je uporabil Shapeshift za izvedbo zamenjave, ki je takrat zagotovila popolno javno evidenco vseh poslov na platformi. Iz Shapeshifta se je nekaj sredstev premaknilo v Wasabi Wallet. Od tu naprej gredo stvari navzdol.  

Za tiste, ki niso seznanjeni, je CoinJoin poimenovanje za poseben protokol konstrukcije transakcije, ki omogoča več strankam, da združijo svoja sredstva v veliko transakcijo s ciljem prekiniti povezavo med sredstvi, ki tečejo v CoinJoin, in sredstvi, ki tečejo iz CoinJoin.

Namesto da ima transakcija enega plačnika in prejemnika plačila, ima transakcija CoinJoin več plačnikov in prejemnikov plačila. Recimo, da imate na primer CoinJoin z 10 udeleženci – če je CoinJoin pravilno sestavljen in se pravilno upoštevajo vsa pravila interakcije, bodo sredstva, ki odtekajo iz CoinJoin, imela nabor anonimnosti 10. To je kateri koli od 10 "mešanih izhodov". « iz transakcije lahko pripada kateremu koli od 10 (ali več) »nemešanih vhodov« v transakcijo. 

Čeprav je CoinJoins lahko zelo zmogljivo orodje, obstaja veliko priložnosti za udeležence, da naredijo kritične napake, ki znatno poslabšajo ali v celoti spodkopajo zasebnost, ki bi jo morda pridobili s CoinJoin. V primeru domnevnega hekerja DAO je bila storjena taka napaka. Kot boste prebrali v nadaljevanju, obstaja možnost, da je bila ta napaka napaka uporabnika, vendar je možno tudi, da je v Wasabi Wallet (odpravljena) napaka, ki je povzročila to napako pri zasebnosti. 

Wasabi Wallet uporablja Protokol ZeroLink, ki konstruira CoinJoins z mešanimi izhodi enake vrednosti. To pomeni, da morajo vsi uporabniki mešati le določeno, vnaprej določeno količino Bitcoina. Vsako vrednost nad tem zneskom, ki gre v CoinJoin, je treba ustreznim uporabnikom vrniti kot nepomešani Bitcoin.

Če ima Alice na primer en sam izhod .15 Bitcoin in CoinJoin sprejema samo izhode vrednosti .1 Bitcoin, bi imela Alice ob zaključku CoinJoin .1 mešani izhod Bitcoin in .05 nemešani Bitcoin izhod. Bitcoin .05 velja za »nezmešanega«, ker ga je mogoče povezati z Alicinim izvirnim izhodom .15. Mešanega izhoda ni več mogoče neposredno povezati z vhodom in bo imel nabor anonimnosti, ki ga sestavljajo vsi drugi udeleženci v CoinJoin. 

Da bi ohranili zasebnost CoinJoin, je nujno, da mešani in nemešani izhodi nikoli niso povezani med seboj. V primeru, da so pomotoma združeni v verigi bitcoin blockchain v eni ali nizu transakcij, lahko opazovalec uporabi te informacije za sledenje mešanim izhodom nazaj do njihovega vira. 

V primeru hekerja DAO se zdi, da so v procesu uporabe Wasabi Wallet uporabili en naslov v več CoinJoins; v enem primeru naslov je bil uporabljen kot nemešani izhod spremembe, v drugem primeru pa kot mešan izhod.

To je razmeroma nenavadna napaka v kontekstu CoinJoin-a, ker ta tehnika krivde z združevanjem zahteva transakcijo za CoinJoins, da "združi" nemešane in mešane izhode ter jih poveže skupaj. Toda v tem primeru ni bilo treba analizirati nobene transakcije razen dveh CoinJoins, ker je bil isti naslov uporabljen na nasprotujoče si načine v dveh ločenih CoinJoinsih. 

V bistvu ta možnost obstaja zaradi oblikovalske odločitve v programski opremi Wasabi Wallet: Wasabi Wallet uporablja eno samo pot izpeljanja tako za mešane kot nemešane izhode. To se upošteva slaba praksa. Uslužbenec Wasabija je izjavil, da naj bi bila obnovitev denarnice združljiva z drugimi denarnicami, vendar BIP84 (kar je shema izpeljave Wasabi Wallet uses) ima standardni način za prepoznavanje poti izpeljave, ki je dodeljena spreminjanju rezultatov.

Napake, ki so posledica te izbire zasnove, so najbolj vidne, ko ima uporabnik dva primerka Wasabi Wallet, ki delujeta hkrati, medtem ko uporablja isto seme. V tem scenariju bi bilo možno, da dva primerka izbereta isti naslov na ta nasprotujoči si način, ko hkrati poskušata zagnati mešanico iz vsakega primerka. Pred tem je opozorjeno v uradna dokumentacija. Možno je tudi, da so bili krivci znani hrošči v denarnici Wasabi.

Povzetki in zaključki

Kaj se torej naučimo iz tega? Čeprav ta hrošč z Wasabijem še ni povsem konec zgodbe, je deloval kot ključna komponenta pri izsledovanju domnevnega hekerja. Ponovno se potrdi naše prepričanje, da je zasebnost težka. Toda praktično imamo še en primer, kako pomembno je preprečevati kontaminacijo izhoda pri uporabi orodij za zasebnost in kako skrben »nadzor kovancev« zahtevajo tako uporabniki kot programska oprema. Postavlja se vprašanje, kakšni protokoli zasebnosti so zasnovani za zmanjšanje tega razreda napadov? 

Zanimiva rešitev je CoinSwap, kjer namesto združevanja izhodov v veliko transakcijo zamenjate izhode z drugim uporabnikom. Na ta način zamenjate zgodovine kovancev in ne združujete zgodovine kovancev. Še bolj zmogljivo, če se CoinSwap izvede v kontekstu zunaj verige (kot ga izvaja Mercury Wallet), sploh ni nemešanih izhodov sprememb, ki bi jih bilo treba obravnavati. 

Čeprav obstajajo možne uporabniške napake, ki lahko povzročijo, da se CoinSwap "razmeni", so te napake verjetno veliko bolj očitne za končnega uporabnika, ker je kakršno koli spajanje izhodov na način, ki krši zasebnost, mogoče izvesti le z eksplicitnim mešanjem zamenjal izhod s tistim, ki še ni bil zamenjan, v nasprotju z združitvijo dveh izhodov, ki sta že šla skozi CoinJoin, od katerih je le eden dejansko mešan.

Mercury denarnica je trenutno edina možnost zamenjave CoinSwap zunaj verige, ki je na voljo končnim uporabnikom. Omogoča uporabnikom, da zaklenejo svoje kovance v protokol sloja dva (znan kot statechain) in nato slepo zamenjajo svoje izhode z drugimi uporabniki verige stanja. To je zelo zanimiva tehnika in vredno eksperimentiranja za tiste, ki jih zanima raziskovanje novih orodij za zasebnost z vznemirljivo funkcionalnostjo in sprejemljivimi kompromisi.

Pridobite svoj dnevni povzetek Bitcoin, Defi, NFT in Web3 novice iz CryptoSlate

Brezplačno je in se lahko kadar koli odjavite.

Get Edge na kripto trgu?

Postanite član CryptoSlate Edge in dostopajte do naše ekskluzivne skupnosti Discord, bolj ekskluzivne vsebine in analize.

Analiza verige

Utrinki cen

Več konteksta

Pridružite se zdaj za 19 USD na mesec Raziščite vse prednosti

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