Wat kunnen we leren van het bestuderen van hacks? Onthullende inzichten over privacy- en cryptocurrency-bewegingen na de DAO 2016-hack

symbiose

De term cryptocurrency is bijna synoniem geworden met hacken. Het lijkt alsof er elke week oogverblindend grote hacks zijn op beurzen, portemonnees van individuele gebruikers, slimme contracten en de openbare blockchains waarop ze zitten. In veel gevallen zijn de aanvalsvectoren achteraf duidelijk: code was niet getest, interne processen om phishing te voorkomen bestonden niet, basiscodestandaarden werden niet gevolgd, enz. Het bestuderen van de hacks zelf zal vaak niet veel interessante informatie opleveren voor degenen die er al bekend mee zijn basis beveiligingspraktijken. 

Maar elke crypto-hack heeft twee primaire componenten: er is de hack zelf en vervolgens de methodologieën waarmee de hacker en zijn cohorten proberen hun gestolen buit te verzilveren. Voor voorstanders van privacy zijn de pogingen om deze fondsen te anonimiseren interessante casestudy's in de niveaus van anonimiteit die haalbaar zijn in openbare blockchain-netwerken.

Omdat de fondsen nauwlettend worden gevolgd door goed georganiseerde en goed gefinancierde overheidsinstanties en bedrijfsentiteiten, bieden ze de gemeenschap de mogelijkheid om de doeltreffendheid van de verschillende betrokken privacyportefeuilles te observeren. Als deze hackers niet privé kunnen blijven, hoe groot is dan de kans dat de gemiddelde gebruiker die op zoek is naar privacy in openbare netwerken dit kan bereiken? 

De DAO 2016-hack, een voorbeeldig geval

Bij het bestuderen van deze hacks en de daaropvolgende arrestaties wordt duidelijk dat de hackers in de meeste gevallen cruciale fouten maken bij het anonimiseren van hun cryptocurrency. In sommige gevallen zijn de storingen de schuld van eenvoudige gebruikersfouten. In andere gevallen worden ze veroorzaakt door bugs in de portemonnee-software die ze gebruikten of andere minder voor de hand liggende misstappen bij het omzetten van de cryptocurrency in echte activa. 

Onlangs had een bijzonder interessante zaak, de DAO-hack van 2016, een belangrijke ontwikkeling: een onderzoek Forbes artikel werd gepubliceerd die de vermeende hacker identificeert. Het proces waarmee deze persoon werd geïdentificeerd, biedt inzicht in een veelgebruikte privacy-portemonnee, Wasabi Wallet, en hoe oneigenlijk gebruik van de software kan leiden tot een "ontmenging" van de fondsen van de vermeende hacker. 

Er zijn cruciale fouten gemaakt

Wat betreft de volgorde van operaties, de eerste stap van de hacker was om een ​​deel van hun gestolen geld van Ethereum Classic om te zetten in Bitcoin. De hacker gebruikte de Shapeshift om de ruil uit te voeren, die destijds een volledig openbaar overzicht van alle transacties op het platform opleverde. Van Shapeshift ging een deel van het geld naar Wasabi Wallet. Vanaf hier gaat het bergafwaarts.  

Voor degenen die niet bekend zijn, CoinJoin is de bijnaam voor een speciaal transactieconstructieprotocol waarmee meerdere partijen hun geld kunnen samenvoegen tot een grote transactie met als doel de link te verbreken tussen het geld dat naar de CoinJoin stroomt en het geld dat uit de CoinJoin stroomt.

In plaats van dat een transactie één betaler en begunstigde heeft, heeft een CoinJoin-transactie meerdere betalers en begunstigden. Stel dat u bijvoorbeeld een CoinJoin heeft met 10 deelnemers - als de CoinJoin correct is opgebouwd en alle regels voor interactie correct worden gevolgd, zullen fondsen die uit de CoinJoin vloeien een anonimiteitsset van 10 hebben. ' van de transactie kan behoren tot een van de 10 (of meer) 'ongemengde inputs' van de transactie. 

Hoewel CoinJoins een zeer krachtige tool kunnen zijn, zijn er veel mogelijkheden voor deelnemers om kritieke fouten te maken die de privacy die ze mogelijk hebben verkregen met CoinJoin aanzienlijk aantasten of volledig ondermijnen. In het geval van de vermeende DAO-hacker is een dergelijke fout gemaakt. Zoals u hierna zult lezen, is er een mogelijkheid dat deze bug een gebruikersfout was, maar het is ook mogelijk dat er een (sindsdien opgeloste) bug in Wasabi Wallet heeft geleid tot deze privacyfout. 

Wasabi Wallet gebruikt de ZeroLink-protocol, die CoinJoins construeert met gemengde uitvoer van gelijke waarde. Wat dit betekent, is dat alle gebruikers slechts een gespecificeerde, vooraf bepaalde hoeveelheid Bitcoin hoeven te mixen. Elke waarde boven dat bedrag die in de CoinJoin gaat, moet als onvermengde Bitcoin worden geretourneerd aan de respectieve gebruikers.

Als Alice bijvoorbeeld een enkele .15 Bitcoin-output heeft en de CoinJoin alleen outputs van waarde .1 Bitcoin accepteert, zou Alice na voltooiing van de CoinJoin een .1 gemengde Bitcoin-output en een .05 ongemengde Bitcoin-output hebben. De .05 Bitcoin wordt als "ongemengd" beschouwd omdat het kan worden gekoppeld aan Alice's oorspronkelijke uitvoer van .15. De gemengde uitvoer kan niet meer rechtstreeks aan de invoer worden gekoppeld en heeft een anonimiteitsset die is samengesteld uit alle andere deelnemers aan de CoinJoin. 

Om de privacy van CoinJoin te behouden, is het absoluut noodzakelijk dat gemengde en ongemengde uitvoer nooit met elkaar worden geassocieerd. In het geval dat ze per ongeluk worden geaggregeerd op de bitcoin-blockchain in een enkele of een reeks transacties, kan een waarnemer die informatie gebruiken om gemengde outputs terug te traceren naar hun bron. 

In het geval van de DAO-hacker lijkt het erop dat ze tijdens het gebruik van Wasabi Wallet één adres gebruikten in meerdere CoinJoins; in een geval het adres werd gebruikt als een ongemengde veranderingsoutput, in het tweede geval werd het gebruikt als een gemengde output.

Dit is een relatief ongebruikelijke fout in de context van een CoinJoin, omdat deze schuld-door-associatietechniek een transactie stroomafwaarts van de CoinJoins vereist om de ongemengde en gemengde uitvoer te "samenvoegen" en ze met elkaar te verbinden. Maar in dit geval hoefden er geen transacties buiten de twee CoinJoins te worden geanalyseerd, omdat hetzelfde adres op tegenstrijdige manieren werd gebruikt in twee afzonderlijke CoinJoins. 

In wezen bestaat deze mogelijkheid vanwege een ontwerpbeslissing in de Wasabi Wallet-software: Wasabi Wallet gebruikt een enkel afleidingspad voor zowel gemengde als niet-gemengde uitvoer. Dit wordt overwogen slechte gewoonte. Er werd door een Wasabi-medewerker verklaard dat dit was om het herstel van portemonnees compatibel te maken met andere portemonnees, maar BIP84 (wat de afleiding schema Wasabi Wallet gebruikt) heeft wel een standaardmanier voor het herkennen van een afleidingspad dat is toegewezen om uitvoer te wijzigen.

Mislukkingen die het gevolg zijn van deze ontwerpkeuze, worden het duidelijkst gezien wanneer een gebruiker twee instanties van Wasabi Wallet tegelijkertijd laat draaien terwijl hij dezelfde seed gebruikt. In dit scenario zou het voor de twee instanties mogelijk zijn om op deze conflicterende manier hetzelfde adres te selecteren wanneer tegelijkertijd wordt geprobeerd een combinatie van elke instantie uit te voeren. Hier wordt voor gewaarschuwd officiële documentatie. Het is ook mogelijk dat bekende bugs in de Wasabi Wallet de boosdoener waren.

Afhaalrestaurants en conclusies

Dus wat leren we hiervan? Hoewel deze bug met Wasabi niet helemaal het einde van het verhaal is, fungeerde het als een cruciaal onderdeel bij het opsporen van de vermeende hacker. Nogmaals, onze overtuiging dat privacy moeilijk is, wordt opnieuw bevestigd. Maar in de praktijk hebben we nog een voorbeeld van het belang van het voorkomen van uitvoerverontreiniging bij het gebruik van privacytools, en hoe zorgvuldige "muntcontrole" vereist is door zowel gebruikers als software. De vraag wordt, wat voor soort privacyprotocollen zijn ontworpen om deze aanvalsklasse te minimaliseren? 

Een interessante oplossing is een CoinSwap, waarbij je in plaats van outputs samen te voegen tot een grote transactie, outputs ruilt met een andere gebruiker. Op deze manier wisselt u muntgeschiedenissen uit, en sluit u zich niet aan bij muntgeschiedenissen. Sterker nog, als een CoinSwap wordt gedaan in de off-chain-context (zoals wordt geïmplementeerd door Mercury Wallet), zijn er helemaal geen ongemengde veranderingsoutputs om mee om te gaan. 

Hoewel er mogelijke gebruikersfouten zijn die ertoe kunnen leiden dat een CoinSwap wordt "uitgewisseld", zijn deze fouten aantoonbaar veel duidelijker voor de eindgebruiker, omdat elke samenvoeging van uitvoer op een manier die de privacy schendt, alleen kan worden gedaan door expliciet een verwisselde uitvoer met een die nog niet is verwisseld, in tegenstelling tot het samenvoegen van twee uitvoer die al door CoinJoin zijn gegaan, waarvan er slechts één daadwerkelijk is gemengd.

Mercury portemonnee is momenteel de enige off-chain CoinSwap-faciliteit die beschikbaar is voor eindgebruikers. Hiermee kunnen gebruikers hun munten opsluiten in een laag twee protocol (bekend als een statechain) en vervolgens blindelings hun uitvoer uitwisselen met andere gebruikers van de statechain. Het is een zeer interessante techniek en het is de moeite waard om ermee te experimenteren voor diegenen die geïnteresseerd zijn in het verkennen van nieuwe privacytools met opwindende functionaliteit en acceptabele compromissen.

Krijg je dagelijkse samenvatting van Bitcoin, Defi, NFT en Web3 nieuws van CryptoSlate

Het is gratis en je kunt je op elk moment uitschrijven.

krijg een rand op de cryptomarkt?

Word lid van CryptoSlate Edge en krijg toegang tot onze exclusieve Discord-community, meer exclusieve inhoud en analyse.

Analyse op de keten

Prijsmomentopnamen

Meer context

Word nu lid voor $ 19 / maand Ontdek alle voordelen

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