Hoe een groep programmeurs $208 miljoen aan ethereum stal om het te 'redden'
Image: Shutterstock. Edited by Jason Koebler. 

Hoe een groep programmeurs $208 miljoen aan ethereum stal om het te 'redden'

“We hadden de smaak te pakken en we hadden het al eens eerder gedaan.”
25.7.17

Afgelopen woensdag stal een anonieme hacker (of hackers) $32 miljoen aan ether uit drie wallets dankzij een zwakke plek in het contract van een van die wallets.

Een groep programmeurs, die zichzelf de White Hat Group noemt, offerde zich op om het geld uit de 500 andere kwetsbare wallets te "redden" voordat de hackers ze konden bemachtigen. Dat deden ze door dezelfde zwakke plek uit te buiten en het geld over te maken naar het eigen account van de groep.

Maandagochtend was de groep in het bezit van $86 miljoen aan ether van andere mensen, en $122 miljoen in tokens. Deze digitale middelen worden verkocht op Initial Coin Offerings (ICO's), benefietevenementen die in luttele minuten miljoenen opleveren. In totaal heeft de groep $208 miljoen aan ethereum bij elkaar gesprokkeld.

Maandagmiddag waren tientallen miljoenen dollars aan tokens en ether weer teruggestort naar hun rechtmatige eigenaren. De groep zegt van plan te zijn alles voor 31 juli terug te geven.

Dit is hoe het allemaal gebeurde.

*

Alex van de Sande wist niet wat hem te wachten stond.

Als interfaceontwerper voor de Ethereum Foundation, de organisatie die het protocol ontwi leidt voor de cryptocurrency en het app-platform, was hij een belangrijke gast op de jaarlijkse ethereumworkshop van Cornell University. De vorige keer dat Van de Sande erbij was, had de grootste hack in de korte geschiedenis van ethereum net plaatsgevonden. Hackers hadden een bug in de code van een investeringsfonds genaamd DAO uitgebuit en $53 miljoen aan ether gestolen.

In reactie daarop werd Van de Sande het gezicht voor een ad hoc-groep programmeurs die zichzelf de Robin Hood-groep noemden. Ze buitten dezelfde bug uit als de hackers om het grootste gedeelte van de overgebleven ether weg te sluizen voordat de hackers dat konden doen. Het was een extreem controversiële daad om mensen "voor een goed doel" te beroven. Vlak daarna werd ethereum in twee versies gesplitst om de effecten van de DAO-hack in de nieuwe versie ongedaan te maken.

Dit jaar ging de workshop echter perfect. Op woensdagmiddag waren Van de Sande en andere ethereumontwikkelaars na een programmeerworkshop studentenprojecten aan het beoordelen. Tegen twee uur 's middags hadden ze ineens een bruut déja vu-moment. Eén van hen kreeg een belletje van een andere ethereumontwikkelaar waarmee de hel losbarstte. De wallet van de stichting werd op dat moment gehackt.

Iedereen in de ruimte dacht dat het over de Ethereum Foundation ging, en haastte zich om erachter te komen wat er aan de hand was, zei Van de Sande in een interview. Al snel kwamen ze erachter dat de wallet van de stichting ongeschonden was. Een bug in Parity, een populaire ethereumcliënt, had het voor de hackers echter mogelijk gemaakt om multi-signature wallets die met de laatste versie van de cliënt waren gemaakt als een pinautomaat leeg te trekken.

Multi-signature wallets zijn populair bij bedrijven, omdat ze meerdere sleutelhouders hebben, en omdat een meerderheid daarvan akkoord moet geven voor transacties. De hackers hadden daar drie van leeggeroofd, met een totaal van ongeveer $32 miljoen aan ether.

"Wij hadden er niet direct last van, maar we zagen dat 500 andere wallets getroffen zouden kunnen worden, en in een paar daarvan zat meer dan een miljoen dollar," zei Van de Sande aan de telefoon. "Toen werden we pas echt bezorgd. Een paar mensen zeiden, 'Ons geld is veilig, maar iemand kan ieder moment die andere wallets aanvallen. Daar moet iemand iets aan doen.'"

Toen Van de Sande en de anderen op Cornell University erachter kwamen wat er aan de hand was, was de hack al acht uur bezig. De tijd drong. Ieder moment zouden de hackers de rest van de 500 wallets leeg kunnen roven. Dus logden hij en de rest van de ontwikkelaars in bij een speciale Skypegroep voor veiligheidsproblemen met ethereum.

De online groep vooraanstaande ethereumontwikkelaars, waaronder oprichter van populaire walletdienst MyEtherWallet Taylor Monahan, was druk bezig om het probleem op te sporen en een oplossing te bedenken.

"Iedereen doet simpelweg wat ze kunnen om bij te dragen, wat ontzettend goed werkt," zei Monahan per mail. "Iemand zegt 'we hebben informatie over X nodig' en dan reageert iemand met 'ga ik achteraan'."

Op een gegeven moment ontstond er een plan. Iemand zou al het geld uit de kwetsbare wallets kunnen overbrengen naar een veilig adres en later kunnen teruggeven aan de rechtmatige eigenaars. Eigenlijk de wallets zelf hacken voor dat de hackers het deden.

Maar wie durfde het aan? Wie durfde het risico nemen om wetten tegen crimineel hacken te overtreden, ondanks dat ze het met goede bedoelingen deden? En wie kon je sowieso vertrouwen om zoveel ether te bewaren en het ook echt weer terug te geven?

De White Hat Group ging de uitdaging aan. Dit zijn de mensen die uiteindelijk $85 miljoen aan ether zouden "redden", en zelfs nog meer in digitale middelen genaamd tokens, door de tactiek van de hackers tegen ze te gebruiken.

*

De White Hat Group, een vrijwillig collectief van programmeurs, is ontstaan in de nasleep van de DAO-hack in de zomer van 2016.

Nadat hackers misbruik maakten van een bug in de code van DAO om $53 miljoen aan ether weg te sluizen, riep Van de Sande een kleine groep ethereumontwikkelaars bijeen om terug te hacken. Ze wisten de overgebleven ether te redden door die over te sluizen naar een "white hat"-account. Ze noemden zichzelf de Robin Hood-groep, en het werkte.

Maar toen gebeurde het onverwachte: Vitalik Buterin, de uitvinder van ethereum en wetenschappelijk hoofd van de Ethereum Foundation, besloot ethereum in twee versies te splitsen om de schade van de DAO-hack teniet te doen. In de nieuwe versie van ethereum was het alsof de hack nooit had plaatsgevonden. In de oude versie, vanaf toen bekend als ethereum classic, was niets veranderd. De hackers liepen nog steeds binnen.

De White Hat Group nam het over waar de Robin Hood Group was gebleven. Ze sluisden de ether classic die was achtergebleven in de schaduw van DAO door dezelfde bug uit te buiten als de hackers. De woordvoerder van de White Hat Group was destijds "jbaylina" op Reddit, volgens Van de Sande het online pseudoniem van programmeur Jordi Baylina. Ze gingen vervolgens aan de slag om het geld weer terug te geven aan de eigenaars.

We spoelen door naar 2017 en de recente hack door een kwetsbaarheid in multi-signature wallets gemaakt met de populaire cliënt Parity. De ethereumgemeenschap wilde kwetsbare wallets leeghalen voordat de slechteriken erbij konden.

Aan de andere kant van de wereld van Van de Sande, in Barcelona, zaten Jordi Baylina en zijn collega Griff Green in het kantoor van hun ethereumstartup, Giveth. Green was onderdeel van de oorspronkelijke Robin Hood Group en werkt nu met Baylina bij Giveth. Het was pure mazzel dat ze in dezelfde ruimte waren toen het nieuws naar buiten kwam dat er drie wallets leeg waren geroofd.

"We hadden de slag te pakken. We hadden het al een keer eerder gedaan."

"We waren net klaar met een tweedaagse productvergadering voor Giveth, en de timing was echt kut," zei Green. "We hadden eigenlijk geen andere mogelijkheden. Het was doodeenvoudig om het geld te jatten."

Baylina verwees Motherboard naar Green toen we hem op Reddit om een reactie vroegen.

Volgens Green gingen alle ontwikkelaars die op het kantoor van Giveth waren voor de vergadering aan de slag met het schrijven van een script om al het overgebleven geld uit de kwetsbare wallets te halen. Green zei echter dat Baylina, hijzelf, en een hacker genaamd Barry Whitehat de "belangrijkste drie" leden van de White Hat Group waren.

"We hadden de smaak te pakken. We hadden het al een keer eerder gedaan, toen met de DAO. De vorige keer zaten we allemaal ergens anders. Nu hadden we de mazzel dat we allemaal op dezelfde plek waren."

Later die avond postte Baylina op Reddit dat de White Hat Group $85 miljoen aan ether en $100 miljoen aan tokens weg had gesluisd uit kwetsbare wallets en onder had gebracht op een veilig adres dat zij controleerden. "De groep maakt nieuwe wallets aan voor degenen die zijn getroffen, schreef Baylina, en hij bewees cryptografisch dat hij de eigenaar was van de rekening met al het geld. Hij schreef ook dat de White Hat Group geen donaties aan zou nemen voor hun werk.

Een bericht op de ethereumwallet van de White Hat Group vraagt de getroffen gebruiker om geduld te hebben, en laat zien dat de rekening bijna $85 miljoen aan ether bevat en nog meer in tokens. Screengrab: Etherscan.io

"Uiteindelijk was het de White Hat Group die het heeft gedaan omdat zij het vertrouwen en de moed hadden," zei Van de Sande. "Maar ze kregen veel hulp van de gemeenschap als geheel."

Monahan, van MyEtherWallet, benadrukte ook hoe de hele gemeenschap – niet alleen de kern van de White Hat Group – heeft bijgedragen.

"Anderen hielpen met het verzamelen en organiseren van lijsten," schreef hij per mail. Gezamenlijk wist de groep $208 miljoen aan ether en tokens bij elkaar te schrapen.

Bij die middelen zaten onder andere de gehele inhoud van een "reservewallet" van BAT, de tokens die werden uitgegeven bij een enorm succesvolle ICO van een privacybevorderende browser genaamd Brave, die bijna $50 miljoen waard is. Die tokens waren bedoeld om nieuwe gebruikers over te halen om lid te worden van het platform, volgens een verklaring van BAT na de hack.

"Tot dusver zien we alleen goede bedoelingen van de White Hat Group," zei Brave-oprichter Brendan Eich in een direct message op Twitter. "We werken met ze samen en verwachten volledig herstel."

Uren later stuurde hij me weer een bericht: "FYI we hebben de tokens terug."

*

Het zou zomaar kunnen dat de leden van de White Hat Group, afgezien van Green en Baylina, anoniem willen blijven. Hacken is ook met "goede bedoelingen" illegaal.

"Als ik iemand advies zou moeten geven, zou dat zijn om het niet te doen. Het is erg riskant," zei Marcus Christian, een expert op het gebied van cybersecurity en recht, per telefoon. "Volgens de wet is het een misdaad en de enige vraag is of iemand je gaat vervolgen of niet. In die positie wil je je niet bevinden."

De politie erbij betrekken, ging Christian verder, zou een manier zijn geweest voor de White Hat Group om zichzelf tegen vervolging te beschermen als iemand de groep had willen onderzoeken.

Van de Sande leek niet bezorgd over de White Hat Group. "Als je een brandend gebouw ziet en je breekt in om de kat eruit te redden, denk ik niet dat iemand je aanklaagt voor huisvredebreuk," zei hij. "Ik denk niet dat een rechter die goed bij zijn hoofd is zou denken dat het een geldige zaak is voor huisvredebreuk."

Volgens Green maakt de groep zich vooral bezorgd om wanhopige mensen die achter de tijdelijke rijkdom van de groep komen en daar hun slaatje uit willen slaan.

"We hebben knuppels," zei hij in een videochat. "We passen op waar de camera's heen gaan. Het is een nieuw kantoor en we hebben geen adres. Jordi slaapt niet thuis."

Buiten dat lijkt het erop dat de White Hat Group weinig te vrezen heeft van het grootste deel van de ethereumgemeenschap.

"Ik ben de White Hat Group extreem dankbaar voor de manier waarop ze gereageerd hebben," zei Matthew Carano, een woordvoerder voor Swarm.City, een van de bedrijven waarvan alle ether door hackers gejat is. "Ik geloof dat als je het alle groepen wiens geld gered is zou vragen, ze allemaal hetzelfde zouden zeggen."

De BAT-organisatie lijkt ook niet echt boos.

"Ik wil even zeggen dat de White Hat Group heeft gedaan wat ze beloofden, het zijn goede mensen," zei Eich, een van de mensen van BAT, in een direct message op Twitter. "Weet je nog aan het einde van 'The Dark Knight', de clowns en gijzelaars? Batman moet heel snel bedenken wie wie is om de gijzelaars te redden. De White Hat Group is Batman."

"Jullie zijn letterlijk fucking helden," kondigt de bovenste post in Baylina's thread op Reddit aan. "Good fucking job."

Het is wel belangrijk om te onthouden dat deze comments werden gemaakt nadat de reddingsoperatie goed leek te zijn verlopen.

De hoeveelheid geld in ether en tokens in het account van de White Hat Group is de afgelopen week alleen maar groter geworden. $200 miljoen is aardig wat, en mensen willen hun virtuele geld terug.