Hvad kan vi lære af at studere hacks? Afsløre indsigt i privatliv og kryptovalutabevægelser efter DAO 2016-hacket

Symbiose

Begrebet kryptovaluta er nærmest blevet synonymt med hacking. Det ser ud til, at der hver uge er iøjnefaldende store hacks på børser, individuelle brugeres tegnebøger, smarte kontrakter og de offentlige blockchains, som de sidder på. I mange tilfælde er angrebsvektorerne indlysende set i bakspejlet: kode var utestet, interne processer til at forhindre phishing var ikke-eksisterende, grundlæggende kodestandarder blev ikke fulgt, osv. At studere hackene i sig selv vil ofte ikke indsamle meget interessant information for dem, der allerede er bekendt med grundlæggende sikkerhedspraksis. 

Men hvert kryptohack har to primære komponenter - der er selve hacket og så de metoder, hvormed hackeren og deres kohorter forsøger at udbetale deres stjålne bytte. For fortalere for privatlivets fred er forsøgene på at anonymisere disse midler interessante casestudier i de niveauer af anonymitet, der kan opnås i offentlige blockchain-netværk.

Fordi midlerne følges tæt af højt organiserede og velfinansierede offentlige myndigheder og virksomhedsenheder, giver de en mulighed for samfundet til at observere effektiviteten af ​​de forskellige involverede privatlivs-punge. Hvis disse hackere ikke kan forblive private, hvad er chancerne for, at gennemsnitlige brugere, der leder efter privatliv i offentlige netværk, vil være i stand til at opnå det? 

DAO 2016-hacket, et eksemplarisk tilfælde

Når man studerer disse hacks og de efterfølgende anholdelser, bliver det klart, at hackerne i de fleste tilfælde begår afgørende fejl, når de forsøger at anonymisere deres kryptovaluta. I nogle tilfælde skyldes fejlene simple brugerfejl. I andre tilfælde er de forårsaget af fejl i den tegnebogssoftware, de brugte, eller andre mindre end indlysende fejltrin i vejen til at konvertere kryptovalutaen til aktiver i den virkelige verden. 

For nylig havde en særlig interessant sag, 2016 DAO-hacket, en betydelig udvikling - en efterforskning Forbes artikel blev offentliggjort, der identificerer den påståede hacker. Processen, hvorved denne person blev identificeret, giver nogle indsigter i en meget brugt privatlivs-pung, Wasabi Wallet, og hvordan ukorrekt brug af softwaren kan føre til en "afblanding" af den påståede hackers midler. 

Kritiske fejl blev begået

Hvad angår rækkefølgen af ​​operationer, var hackerens første skridt at konvertere nogle af deres stjålne midler fra Ethereum Classic til Bitcoin. Hackeren brugte Shapeshift til at udveksle eksekvere byttet, som på det tidspunkt gav en fuld offentlig fortegnelse over alle handler på platformen. Fra Shapeshift flyttede nogle af midlerne ind i Wasabi Wallet. Herfra går det ned ad bakke.  

For dem, der ikke kender til, er CoinJoin betegnelsen for en speciel transaktionskonstruktionsprotokol, der tillader flere parter at samle deres midler til en stor transaktion med det formål at bryde forbindelsen mellem de midler, der flyder ind i CoinJoin, og de midler, der flyder ud af CoinJoin.

I stedet for at en transaktion har en enkelt betaler og betalingsmodtager, har en CoinJoin-transaktion flere betalere og betalingsmodtagere. Lad os for eksempel sige, at du har en CoinJoin med 10 deltagere — hvis CoinJoin er konstrueret korrekt, og alle regler for interaktion følges korrekt, vil midler, der flyder ud af CoinJoin, have et anonymitetssæt på 10. dvs. ethvert af de 10 "blandede output" fra transaktionen kan tilhøre en af ​​de 10 (eller flere) "ikke blandede" transaktionen. 

Selvom CoinJoins kan være et meget kraftfuldt værktøj, er der mange muligheder for deltagere til at begå kritiske fejl, der væsentligt forringer eller fuldstændig underminerer ethvert privatliv, de måtte have opnået fra CoinJoin. I tilfældet med den påståede DAO-hacker blev der begået en sådan fejl. Som du vil læse næste, er der en mulighed for, at denne fejl var en brugerfejl, men det er også muligt, at der var en (siden rettet) fejl i Wasabi Wallet, der førte til denne privatlivsfejl. 

Wasabi Wallet bruger ZeroLink protokol, som konstruerer CoinJoins med blandede output af samme værdi. Hvad dette betyder, er, at alle brugere kun skal blande en specificeret, forudbestemt mængde Bitcoin. Enhver værdi over det beløb, der går ind i CoinJoin, skal returneres som ublandet Bitcoin til de respektive brugere.

Hvis f.eks. Alice har et enkelt .15 Bitcoin-output, og CoinJoin kun accepterer output med værdi .1 Bitcoin, vil Alice efter fuldførelsen af ​​CoinJoin have et .1 blandet Bitcoin-output og et .05 ublandet Bitcoin-output. .05 Bitcoin betragtes som "ublandet", fordi det kan kædes sammen med Alices originale output på .15. Det blandede output kan ikke længere kobles direkte til inputtet og vil have et anonymitetssæt, der er sammensat af alle de andre deltagere i CoinJoin. 

For at bevare privatlivets fred for CoinJoin er det bydende nødvendigt, at blandede og ublandede output aldrig forbindes med hinanden. I tilfælde af at de ved et uheld samles på bitcoin blockchain i en enkelt eller et sæt af transaktioner, kan en observatør bruge denne information til at spore blandede output tilbage til deres kilde. 

I tilfældet med DAO-hackeren ser det ud til, at de i processen med at bruge Wasabi Wallet brugte en enkelt adresse i flere CoinJoins; i ét tilfælde adressen blev brugt som et ublandet ændringsoutput, i det andet tilfælde blev det brugt som et blandet output.

Dette er en relativt usædvanlig fejl i forbindelse med en CoinJoin, fordi denne skyld-ved-association-teknik kræver en transaktion nedstrøms for CoinJoins for at "fusionere" de ublandede og blandede output og forbinder dem. Men i dette tilfælde krævedes ingen transaktioner ud over de to CoinJoins analyseret, fordi den samme adresse blev brugt på modstridende måder på tværs af to separate CoinJoins. 

Grundlæggende eksisterer denne mulighed på grund af en designbeslutning i Wasabi Wallet-softwaren: Wasabi Wallet bruger en enkelt afledningssti til både blandede og ublandede output. Dette overvejes dårlig praksis. Det blev oplyst af en Wasabi-medarbejder, at dette var for at gøre tegnebogens restaurering kompatibel med andre tegnebøger, dog BIP84 (som er afledningsordning Wasabi Wallet uses) har en standardmetode til at genkende en afledningssti, der er tildelt til at ændre output.

Fejl som følge af dette designvalg ses mest fremtrædende, når en bruger har to forekomster af Wasabi Wallet kørende på samme tid, mens han bruger det samme frø. I dette scenarie ville det være muligt for de to forekomster at vælge den samme adresse på denne modstridende måde, når de samtidig forsøger at køre en blanding fra hver forekomst. Dette advares mod i officiel dokumentation. Det er også muligt, at kendte fejl i Wasabi Wallet var synderen.

Takeaways og konklusioner

Så hvad lærer vi af dette? Selvom denne fejl med Wasabi ikke helt er slutningen på historien, fungerede den som en afgørende komponent i at spore den påståede hacker. Endnu en gang bekræftes vores tro på, at privatlivets fred er svært. Men praktisk talt har vi endnu et eksempel på vigtigheden af ​​at forhindre kontaminering af output, når du bruger værktøjer til beskyttelse af personlige oplysninger, og hvor omhyggelig "møntkontrol" kræves af både brugere og software. Spørgsmålet bliver, hvilken slags privatlivsprotokoller er designet til at minimere denne klasse af angreb? 

En interessant løsning er en CoinSwap, hvor du i stedet for at fusionere output til en stor transaktion, bytter output med en anden bruger. På denne måde bytter du mønthistorier, ikke slutter dig til mønthistorier. Mere kraftfuldt, hvis en CoinSwap udføres i off-chain kontekst (som er implementeret af Mercury Wallet), er der ingen ublandede ændringsoutput at håndtere overhovedet. 

Selvom der er mulige brugerfejl, der kan forårsage, at en CoinSwap bliver "af-swappet", er disse fejl velsagtens meget mere indlysende for slutbrugeren, fordi enhver sammensmeltning af output på en privatlivskrænkende måde kun kunne udføres ved eksplicit at blande et byttet output med et, der endnu ikke er blevet ombyttet, i modsætning til at flette to outputs, der faktisk kun er gået igennem, hvoraf CoinJo allerede er blandet.

Mercury tegnebog er i øjeblikket den eneste CoinSwap-facilitet uden for kæden, der er tilgængelig for slutbrugere. Det lader brugere låse deres mønter op i en lag to-protokol (kendt som en statechain) og derefter blindt bytte deres output med andre brugere af statechain. Det er en meget interessant teknik og værd at eksperimentere med for dem, der er interesseret i at udforske nye fortrolighedsværktøjer med spændende funktionalitet og acceptable afvejninger.

Få din daglige opsummering af Bitcoin, Defi, NFT , Web3 nyheder fra CryptoSlate

Det er gratis, og du kan til enhver tid afmelde dig.

Få en Edge på kryptomarkedet?

Bliv medlem af CryptoSlate Edge og få adgang til vores eksklusive Discord-fællesskab, mere eksklusivt indhold og analyse.

On-chain analyse

Pris snapshots

Mere sammenhæng

Deltag nu i $ 19 / måned Udforsk alle fordele

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