Ronin, tedy v našem případě ne samuraj bez pána, ale ethereový sidechain – blockchain navázaný na hlavní síť mající většinou za úkol odlehčit hlavní síti v transakční zátěži, obsahoval zranitelnost, která vedla ke krádeži 173 600 etherů a 25,5 milionu dolarů v stablecoinu USDC. Dohromady šlo v době psaní článku o prostředky zhruba za 622 milionů dolarů. To je hrubým odhadem druhý nebo třetí největší kryptoměnový hack, přepočítáno na fiat hodnotu, vůbec.
Hned vedle množství odcizených prostředků během hacku je na celé záležitosti nejpodivnější, že si jí šest dní nikdo prakticky nevšiml, nebo se tak alespoň všichni tvářili. Síť provozuje tvůrce asi nejznámější play to earn hry Axie Infinity – společnost Sky Mavis společně s decentralizovanou organizací Axie DAO. Zranitelnost se nacházela v takzvaném mostu-bridge, což není nic jiného než kontrakt, který umožňuje uživatelům jedné sítě konvertovat svoji kryptoměnu do tokenů použitelných na síti Ronin a vystoupit zpátky. Útočník odhalil slabinu umožňující mu zmocnit se privátních klíčů a následně ve dvou transakcích převedl prostředky pryč.
Samotný útok proběhl již minulou středu, tedy 23. března, odhalen byl ale kupodivu až včera (v úterý 28. března), což je vzhledem k faktu, že se vše odehrálo na transparentních veřejných blockchainech, trochu zvláštní. K oficiálnímu objevu došlo poté, co byla uživatelem reportována nemožnost vybrat z bridge 5 tisíc zamčených etherů.
Z blog postu vývojářů se dozvídáme, že během útoku došlo k převzetí kontroly nad pěti z celkového počtu devíti validátorů, respektive se útočník zmocnil jejich privátních klíčů. Validátoři v síti plní hned několik funkcí, první je analogická s minery v proof of work sítích, starají se o dosahování distribuovaného konsensu a potvrzování transakcí (což jsou spojené nádoby) a také o aktualizování „orákula“, což je jakýsi most mezi blockchainem a okolním světem, případně jinými uzavřenými blockchainy (ty jsou totiž vůči svému okolí slepé).
Vývojáři uvedli, že útočník získal kontrolu nad čtyřmi nody patřícími přímo Sky Mavis a pátého se zmocnil prostřednictvím třetí strany v podobě již zmiňovaného Axie DAO. V síti, která se sestává z pouhých devíti validátorů, totiž představuje pět nodů kritickou většinu, jejíž klíče stačí, respektive do nedávna stačily, k potvrzení libovolného vkladu či výběru kryptoměn. Důvod, proč síti stačil podpis relativně malého počtu validátorů, je ten, že v počátcích sítě některé nody nestíhaly a zasekávaly se ve stavu synchronizace.
„Validační schéma je nastaveno tak, aby bylo decentralizované, což omezuje vektor útoku jako tento, útočníkovi se ale podařilo najít zadní vrátka prostřednictvím našeho RPC uzlu, který nevyžaduje transakčních poplatky. Ten byl zneužit k získání podpisu Axie DAO. Tento krok historicky sahá až do listopadu 2021, kdy Axie DAO validátor získal povolení pro distribuci bezpoplatkových transakcí. Tato možnost byla v prosinci opět odebrána, ale IP adresa Axie DAO validátora zůstala na seznamu povolených,“ pokouší se objasnit situaci vývojáři.
Celý incident byl způsobený hlavně tím, že se útočníkovi nebo útočníkům podařilo dostat do systémů Sky Mavis a díky ovládnutí také nodu Axie DAO převážit misky vah ve svůj prospěch. Důvod, proč node Axie DAO získal dočasně zvláštní privilegium, byla snaha v listopadu loňského roku odlehčit enormní uživatelské zátěži v síti. Node díky ní získal právo podepisovat transakce jménem Sky Mavis (bez nutnosti platit gas fee). I když byla dohoda později zrušena, samotný přístup zrušen nebyl.
To je vše, co po technické stránce k útoku zatím víme. Vývojáři Ronina v návaznosti na útok zvýšili počet validátorů, kteří jsou potřeba k odsouhlasení vkladu a výběrům, na osm z devíti. Upřednostňují tedy nyní bezpečnost před funkčností. Časem se má počet validátorů zvýšit. Nody sidechainu byly také přemigrovány na novou infrastrukturu a Ronin Bridge byl dočasně pozastaven (pro případ, že by někdo objevil jiný vektor útoku a vybral zbytek prostředků). Burza Binance pak preventivně pozastavila vlastní bridge sloužící jako nájezd a sjezd na síť Ronina, aby se co nejvíc pojistilo, že nebudou ukradeny další prostředky.
Zbytek pak byl ponechán na expertech na blockchainovou forenzní analýzu. „Na monitorování ukradených prostředků spolupracujeme s firmou Chainalysis,“ dodávají vývojáři. Přesto zatím zůstává víc otázek než odpovědí. Jak to, že na transparentním blockchainu nebyly dvě extrémně podezřelé transakce odhaleny dříve? Proč nebylo darované privilegium korektně ukončeno? Jak získal útočník kontrolu na nody patřícími Sky Mavis? Co hodlá útočník s tolika snadno podchytitelnými prostředky dělat (vyprat je bude teď prakticky nemožné)?
Zatím je příliš brzy na odpovědi, celá kauza je velmi čerstvá. Co je již ale téměř jisté, je fakt, že tu máme pravděpodobně největší hack v historii decentralizovaných financí – na čestné druhé místo bude muset zřejmě sestoupit loňský hack cross-chainu Poly Network, který slouží pro výměnu kryptoměn napříč jednotlivými blockchainy. Při něm hackerský útok uživatele připravil o kryptoměny za více než 611 milionů dolarů, útočník ale později většinu prostředků vrátil.
Specifické místo, počítáme-li jej v dnešní fiat hodnotě, pak zaujímá vysátí 3,6 milionu etherů během slavného „DAO“ hacku v roce 2016, který se však na současném chainu etherea díky následnému rerollu historie vlastně nikdy nestal. Největší krádež kryptoměn vůbec, která ale již spadá spíše do historie útoků na centralizované služby a je největší, pouze pokud ji počítáme v její dnešní fiat hodnotě, pak představuje odcizení zhruba 850 000 bitcoinů z burzy Mt. Gox v roce 2014. Hodnota odcizených coinů by dnes přesahovala 40 miliard dolarů.