Am 23. März 2022 zog ein Angreifer rund 173.600 ETH und 25,5 Mio. USDC in zwei Transaktionen aus der Ronin-Bridge ab. Ronin ist die Sidechain, die Axie Infinity antreibt; zu dieser Zeit verließ sie sich auf ein 5-of-9-Validator-Set, um Abhebungen aus der Bridge zu autorisieren.
Was geschah
Der Angreifer erlangte fünf der neun Validator-Schlüssel, die die Ronin-Bridge kontrollierten. Vier kamen aus einem Kompromiss bei Sky Mavis selbst; der fünfte war ein Axie-DAO-Schlüssel, über den Sky Mavis temporäre Signatur-Rechte erhalten hatte, um einen Transaktions-Rückstand Ende 2021 zu bewältigen — und diese Erteilung wurde nie widerrufen.
Mit fünf Signaturen konnte der Angreifer gefälschte Abhebungsnachweise minten und Mittel direkt aus dem Bridge-Vertrag ziehen. Die Transaktionen wurden am 23. März ausgeführt, aber erst am 29. März entdeckt, als ein Nutzer beklagte, dass er 5.000 ETH nicht abheben konnte.
Folgen
- Das US-Finanzministerium schrieb den Hack der Lazarus Group zu, einer Einheit des staatlich geförderten Reconnaissance General Bureau Nordkoreas.
- Sky Mavis sammelte eine 150-Mio.-$-Runde unter Führung von Binance, um betroffene Nutzer zu entschädigen. Die Bridge wurde mit einem größeren Validator-Set und einem Auszahlungslimit-Schutzschalter neu aufgebaut.
- Ein Teil der gestohlenen Mittel wurde von Börsen eingefroren und zurückgewonnen. Der Großteil wurde über Tornado Cash und Cross-Chain-Bridges gewaschen.
Warum es wichtig ist
Ronin demonstrierte, dass Bridges, die durch eine kleine Multi-Sig gesichert sind, effektiv durch ihre Schlüsselmanagement-Hygiene gesichert sind, nicht durch Kryptografie. Mehrere spätere Bridge-Designs (LayerZero, CCIP, Across) bewegten sich zu Komitee-Designs mit explizitem Slashing oder ganz weg von signaturbasierter Attestierung.
Quellen & On-Chain-Belege
- [01]roninblockchain.substack.comhttps://roninblockchain.substack.com/p/community-alert-ronin-validators
- [02]home.treasury.govhttps://home.treasury.gov/news/press-releases/jy0731
- 0xc28fad5e8d5e0ce6a2eaf67b6687be5d58113e16be590824d6cfa1a94467d0b7
- 0xed2c72ef1a552ddaec6dd1f5cddf0b59a8f37f82bdda5257d9c7c37db7bb9b08