Ooit geprezen als onhackbaar, worden blockchains nu gehackt

Een open blok met daarin digitale munten

Een open blok met daarin digitale munten mevrouw Tech





Begin vorige maand merkte het beveiligingsteam van Coinbase dat er iets vreemds aan de hand was in Ethereum Classic, een van de cryptocurrencies die mensen kunnen kopen en verkopen met behulp van het populaire uitwisselingsplatform van Coinbase. Zijn blockchain, de geschiedenis van al zijn transacties, werd aangevallen.

Een aanvaller had op de een of andere manier de controle gekregen over meer dan de helft van de rekenkracht van het netwerk en gebruikte deze om de transactiegeschiedenis te herschrijven. Dat maakte het mogelijk om dezelfde cryptocurrency meer dan één keer uit te geven, ook wel bekend als dubbele uitgaven. De aanvaller werd gespot toen hij dit voor een bedrag van $ 1,1 miljoen voor elkaar kreeg. Coinbase beweert dat er geen valuta is gestolen van een van zijn accounts. Maar een tweede populaire uitwisseling, Gate.io, heeft toegegeven het was niet zo gelukkig, hij verloor ongeveer $ 200.000 aan de aanvaller (die, vreemd genoeg, keerde de helft terug dagen later).

Nog maar een jaar geleden was dit nachtmerriescenario grotendeels theoretisch. Maar de zogenaamde 51%-aanval op Ethereum Classic was slechts de laatste in een reeks recente aanvallen op blockchains die de inzet voor de opkomende industrie hebben vergroot.



In totaal hebben hackers sinds begin 2017 bijna $ 2 miljard aan cryptocurrency gestolen, voornamelijk van beurzen, en dat is precies wat publiekelijk is onthuld. Dit zijn ook niet alleen opportunistische eenzame aanvallers. Geavanceerde cybercriminaliteitsorganisaties doen het nu ook: analysebedrijf Chainalysis zei onlangs dat slechts twee groepen, die blijkbaar nog steeds actief zijn, mogelijk samen $ 1 miljard hebben gestolen van beurzen.

We moeten niet verbaasd zijn. Blockchains zijn bijzonder aantrekkelijk voor dieven omdat frauduleuze transacties niet kunnen worden teruggedraaid, zoals vaak in het traditionele financiële systeem. Daarnaast weten we al lang dat blockchains unieke beveiligingsfuncties hebben, maar ook unieke kwetsbaarheden. Marketingslogans en koppen die de technologie onhackbaar noemden, waren helemaal verkeerd.

Dat is begrepen, althans in theorie, sinds Bitcoin tien jaar geleden opkwam. Maar in het afgelopen jaar, te midden van een Cambrische explosie van nieuwe cryptocurrency-projecten, zijn we gaan zien wat dit in de praktijk betekent - en wat deze inherente zwakheden zouden kunnen betekenen voor de toekomst van blockchains en digitale activa.



Hoe hack je een blockchain?

Voordat we verder gaan, laten we een paar termen op een rij zetten.

NAAR blockchain is een cryptografische database die wordt onderhouden door een netwerk van computers, die elk een kopie van de meest up-to-date versie opslaan. een blockchain protocol is een set regels die dicteren hoe de computers in het netwerk, genaamd knooppunten , moet nieuwe transacties verifiëren en aan de database toevoegen. Het protocol maakt gebruik van cryptografie, speltheorie en economie om prikkels te creëren voor de knooppunten om te werken aan het beveiligen van het netwerk in plaats van het aan te vallen voor persoonlijk gewin. Indien correct ingesteld, kan dit systeem het extreem moeilijk en duur maken om valse transacties toe te voegen, maar relatief eenvoudig om geldige transacties te verifiëren.



Dat is wat de technologie zo aantrekkelijk maakte voor veel industrieën, te beginnen met financiën. Binnenkort te lanceren diensten van grote instellingen zoals Fidelity Investments en Intercontinental Exchange, de eigenaar van de New York Stock Exchange, zullen blockchains gaan verstrikken in het bestaande financiële systeem. Zelfs centrale banken onderzoeken nu het gebruik ervan voor nieuwe digitale vormen van nationale valuta.

Maar hoe complexer een blockchain-systeem is, hoe meer manieren er zijn om fouten te maken bij het opzetten ervan. Eerder deze maand onthulde het bedrijf dat de leiding heeft over Zcash - een cryptocurrency die uiterst gecompliceerde wiskunde gebruikt om gebruikers privé transacties te laten uitvoeren - dat het in het geheim een subtiele cryptografische fout per ongeluk ingebakken in het protocol. Een aanvaller zou het kunnen misbruiken om onbeperkt valse Zcash te maken. Gelukkig lijkt niemand dat daadwerkelijk te hebben gedaan.

Het protocol is niet het enige dat veilig moet zijn. Om zelf cryptocurrency te verhandelen of een knooppunt te gebruiken, moet u software gebruiken cliënt , die ook kwetsbaarheden kan bevatten. In september moesten ontwikkelaars van Bitcoin's belangrijkste klant, genaamd Bitcoin Core, klauteren om een ​​bug te repareren ( ook in het geheim ) waardoor aanvallers meer bitcoins hadden kunnen slaan dan het systeem zou toelaten.



Toch waren de meeste recente hacks die de krantenkoppen haalden geen aanvallen op de blockchains zelf, maar op uitwisselingen , de websites waar mensen cryptocurrencies kunnen kopen, verhandelen en houden. En veel van die overvallen kunnen worden toegeschreven aan slechte basisbeveiligingspraktijken. Dat veranderde in januari met de 51% aanval tegen Ethereum Classic.

De 51% regel

Gevoeligheid voor 51% aanvallen is inherent aan de meeste cryptocurrencies. Dat komt omdat de meeste gebaseerd zijn op blockchains die gebruik maken van bewijs van werk als hun protocol voor het verifiëren van transacties. In dit proces, ook wel bekend als: mijnbouw , besteden nodes enorme hoeveelheden rekenkracht om te bewijzen dat ze betrouwbaar genoeg zijn om informatie over nieuwe transacties aan de database toe te voegen. Een miner die op de een of andere manier controle krijgt over een meerderheid van de mijnkracht van het netwerk, kan andere gebruikers oplichten door hen betalingen te sturen en vervolgens een alternatieve versie van de blockchain te maken waarin de betalingen nooit hebben plaatsgevonden. Deze nieuwe versie heet a vork . De aanvaller, die het grootste deel van de mijnbouwkracht beheert, kan van de vork de gezaghebbende versie van de ketting maken en dezelfde cryptocurrency opnieuw uitgeven.

Voor populaire blockchains is het proberen van dit soort overval waarschijnlijk extreem duur. Volgens de website crypto51 , zou het huren van voldoende mijnkracht om Bitcoin aan te vallen momenteel meer dan $ 260.000 per uur kosten. Maar het wordt snel veel goedkoper als je naar beneden gaat in de lijst met de meer dan 1.500 cryptocurrencies die er zijn. Dalende muntprijzen maken het nog goedkoper, omdat ze ervoor zorgen dat miners hun machines uitschakelen, waardoor netwerken minder worden beschermd.

Halverwege 2018 begonnen aanvallers 51% aanvallen uit te voeren op een reeks relatief kleine, licht verhandelde munten, waaronder Verge, Monacoin en Bitcoin Gold, waarbij in totaal naar schatting $ 20 miljoen werd gestolen. In de herfst hebben hackers ongeveer $ 100.000 gestolen met behulp van een reeks aanvallen op een valuta genaamd Vertcoin. De hit tegen Ethereum Classic, die meer dan $ 1 miljoen opleverde, was de eerste tegen een top-20-valuta.

David Vorick, medeoprichter van het op blockchain gebaseerde bestandsopslagplatform Sia, voorspelt dat 51% aanvallen zullen blijven toenemen in frequentie en ernst, en die uitwisselingen zullen de dupe worden van de schade veroorzaakt door dubbele uitgaven. Een van de drijvende krachten achter deze trend, zegt hij, is de opkomst van zogenaamde hashrate-marktplaatsen, die aanvallers kunnen gebruiken om rekenkracht te huren voor aanvallen. Uitwisselingen zullen uiteindelijk veel restrictiever moeten zijn bij het selecteren van welke cryptocurrencies moeten worden ondersteund, schreef Vorick na de Ethereum Classic-hack.

Een heel nieuw blikje wormenbugs

Afgezien van 51% aanvallen, is er een geheel nieuw niveau van blockchain-beveiligingszwakheden waarvan de implicaties onderzoekers net beginnen te verkennen: smart-contract-bugs. Toevallig is Ethereum Classic, met name het verhaal achter zijn oorsprong, ook een goed startpunt om ze te begrijpen.

NAAR slim contract is een computerprogramma dat op een blockchain-netwerk draait. Het kan worden gebruikt om de beweging van cryptocurrency te automatiseren volgens voorgeschreven regels en voorwaarden. Dit heeft veel potentiële toepassingen, zoals het faciliteren van echte juridische contracten of gecompliceerde financiële transacties. Een ander gebruik - het geval dat hier van belang is - is om een ​​stemmechanisme te creëren waarmee alle investeerders in een durfkapitaalfonds gezamenlijk kunnen beslissen hoe het geld wordt toegewezen.

Zo'n fonds, de Decentralized Autonomous Organization (DAO) genaamd, werd in 2016 opgericht met behulp van het blockchain-systeem Ethereum. Kort daarna stal een aanvaller voor meer dan $ 60 miljoen aan cryptocurrency door gebruik te maken van een onvoorziene fout in een slim contract dat de DAO bestuurde. In wezen stelde de fout de hacker in staat om geld van rekeningen te blijven vragen zonder dat het systeem registreerde dat het geld al was opgenomen.

Zoals de hack illustreerde, kan een bug in een live smart contract een uniek soort noodgeval veroorzaken. In traditionele software kan een bug worden verholpen met een patch. In de blockchain-wereld is het niet zo eenvoudig. Omdat transacties op een blockchain niet ongedaan kunnen worden gemaakt, lijkt het inzetten van een slim contract een beetje op het lanceren van een raket, zegt Petar Tsankov, een onderzoekswetenschapper bij ETH Zürich en medeoprichter van een smart-contract beveiligingsstartup genaamd ChainSecurity . De software kan geen fouten maken.

Er zijn oplossingen, van een soort. Hoewel ze niet kunnen worden gepatcht, kunnen sommige contracten worden geüpgraded door extra slimme contracten in te zetten om ermee te communiceren. Ontwikkelaars kunnen ook gecentraliseerde kill-switches in een netwerk inbouwen om alle activiteiten te stoppen zodra een hack is gedetecteerd. Maar voor gebruikers van wie het geld al is gestolen, zal het te laat zijn.

De enige manier om het geld terug te krijgen is, in feite, de geschiedenis te herschrijven - terug te gaan naar het punt op de blockchain voordat de aanval plaatsvond, een vork naar een nieuwe blockchain te creëren en iedereen op het netwerk te laten instemmen om die in plaats daarvan te gebruiken. Dat is wat de ontwikkelaars van Ethereum hebben gekozen om te doen. De meeste, maar niet alle, community schakelde over op de nieuwe keten, die we nu kennen als Ethereum. Een kleinere groep holdouts bleef bij de originele ketting, die Ethereum Classic werd.

Vorige maand heeft het team van Tsankov bij ChainSecurity Ethereum gered van een mogelijke herhaling van de DAO-catastrofe. Slechts een dag voor een grote geplande software-upgrade, vertelde het bedrijf de hoofdontwikkelaars van Ethereum dat dit het onbedoelde gevolg zou hebben dat sommige contracten op de blockchain kwetsbaar zouden worden voor dezelfde soort bug die leidde tot de DAO-hack. De ontwikkelaars hebben de upgrade prompt uitgesteld en zullen het later deze maand nog een keer proberen.

Desalniettemin waren honderden waardevolle slimme Ethereum-contracten al kwetsbaar voor deze zogenaamde reentrancy-bug, volgens Victor Fang, medeoprichter en CEO van blockchain-beveiligingsbedrijf AnChain.ai. Tienduizenden contracten kunnen een ander soort kwetsbaarheid bevatten, blijkt uit onderzoek van vorig jaar. En de aard van openbare blockchains betekent dat als er een smart-contract-bug bestaat, hackers deze zullen vinden, omdat de broncode vaak zichtbaar is op de blockchain. Dat is heel wat anders dan traditionele cybersecurity, zegt Fang, die eerder werkte voor cybersecuritybedrijf FireEye.

Buggycontracten, vooral die met duizenden of miljoenen dollars, hebben hackers aangetrokken die net zo geavanceerd zijn als het soort dat banken of overheden aanvalt. In augustus identificeerde AnChain vijf Ethereum-adressen achter een uiterst geavanceerde aanval die een contractfout in een populair gokspel uitbuitte om $ 4 miljoen te stelen.

Zijn de hackers te verslaan?

AnChain.ai is een van de vele recente startups die zijn opgericht om de dreiging van blockchain-hacking aan te pakken. Het gebruikt kunstmatige intelligentie om transacties te bewaken en verdachte activiteiten te detecteren, en het kan smart-contractcode scannen op bekende kwetsbaarheden.

Andere bedrijven, waaronder ChainSecurity van Tsankov, ontwikkelen auditdiensten op basis van een gevestigde computerwetenschappelijke techniek die formele verificatie wordt genoemd. Het doel is om wiskundig te bewijzen dat de code van een contract daadwerkelijk zal doen wat de makers ervan hebben bedoeld. Deze audittools, die het afgelopen jaar zijn ontstaan, hebben makers van slimme contracten in staat gesteld om veel van de bugs te elimineren die laaghangend fruit waren, zegt Tsankov. Maar het proces kan duur en tijdrovend zijn.

Het kan ook mogelijk zijn om aanvullende slimme contracten te gebruiken om op blockchain gebaseerde bug bounties in te stellen. Deze zouden mensen aanmoedigen om fouten te melden in ruil voor een cryptocurrency-beloning, zegt Philip Daian , een onderzoeker aan het Initiative for Cryptocurrencies and Contracts van Cornell University.

Maar ervoor zorgen dat de code schoon is, gaat alleen zo ver. Een blockchain is tenslotte een complex economisch systeem dat afhankelijk is van het onvoorspelbare gedrag van mensen, en mensen zullen altijd op zoek zijn naar nieuwe manieren om het te spelen. Daian en zijn collega's hebben laten zien hoe aanvallers al hebben uitgevonden hoe winst maken door populaire slimme Ethereum-contracten te gamen , bijvoorbeeld.

Kortom, hoewel blockchain-technologie al lang wordt aangeprezen om zijn veiligheid, kan het onder bepaalde omstandigheden behoorlijk kwetsbaar zijn. Soms kan een slordige uitvoering de schuld krijgen, of onbedoelde softwarefouten. Andere keren is het meer een grijs gebied: het gecompliceerde resultaat van interacties tussen de code, de economie van de blockchain en menselijke hebzucht. Dat is in theorie bekend sinds het begin van de technologie. Nu er zoveel blockchains in de wereld zijn, leren we wat het eigenlijk betekent - vaak op de harde manier.

zich verstoppen