3. ledna utrpěl projekt Radiant Capital vážný bleskový úvěrový útok, jehož výsledkem byla ztráta 1 900 ETH (přibližně 4,5 milionu USD). Radiant Capital je decentralizovaný protokol o půjčování napříč řetězci, který uživatelům umožňuje vkládat a půjčovat různá aktiva na různé blockchainy, čímž se eliminují sila likvidity.
Podle údajů o řetězci hacker využil časové okno pro aktivaci nového trhu a problém se zaokrouhlením v základně kódu Compound/Aave k provedení útoku na flashovou půjčku. Tato metoda útoku se týká vypůjčení velkého množství finančních prostředků, dokončení série operací v rámci bloku a následného vrácení prostředků před koncem bloku za účelem dosažení zisku.
Krátce útok na zranitelnost
Podle zpráv PeckShield a PeckShield útočníci zneužili výpočetní zranitelnost v Radiant Capital, což jim umožnilo vybrat velké množství USDC za nízké ceny díky kontrole přesnosti a zaokrouhlování. USDC je stabilní měna, jejíž hodnota je navázána na americký dolar a je jedním z aktiv běžně používaných v decentralizovaných finančních protokolech.
Proces útoku útočníka je následující:
1. Útočník si nejprve vypůjčil 3 miliony USDC prostřednictvím flash půjčky AAVE, aby je použil jako počáteční prostředky pro útok. Flash půjčky se týkají vypůjčení velkého množství finančních prostředků, dokončení řady operací v rámci bloku a následného vrácení finančních prostředků před koncem bloku za účelem dosažení zisku.
2. Útočník přislíbil 2 miliony USDC na smlouvu Radiant a získal 2 miliony rUSDCn certifikátů.
3. Útočník provede bleskovou půjčku prostřednictvím smlouvy Radiant, vypůjčí si 2 miliony USDC, vrátí 2 miliony USDC ve funkci zpětného volání a extrahuje USDC přislíbené ve druhém kroku. Nakonec funkce flash půjčky zavolá funkci transferfrom převést USDC útočníka do smlouvy. V tomto okamžiku bude účtován manipulační poplatek ve výši 9/10000 a vybraný manipulační poplatek se stává likviditou fondu.
4. Mnohonásobným opakováním kroku 3 útočník kontroluje, že liquidityIndex je velmi velký, liquidityIndex=27180000000099999999999998631966035920. LiquidityIndex je proměnná používaná ve smlouvě Radiant k zaznamenání růstu likvidity. Bude se zvyšovat s akumulací času a úroků.
5. Dále útočník vytvoří nový kontrakt a vloží do něj 543 600 USDC, protože 5436 (hodnota USDC) je přesně dvojnásobkem 2718 (hodnota liquidityIndex) v kroku 4, což může usnadnit kontrolu zaokrouhlování.
6. Útočník zastavil všech 543 600 USDC do smlouvy Radiant a získal stejnou částku rUSDCn.
7. Útočník vytěžil 407 700 USDC, což mělo zničit 407 700 rUSDCn, ale jak již bylo zmíněno výše, funkce vypalování provedla přesné výpočty expanze a zaokrouhlení. 407700000000000000000000000000000000/27180000000999999999999998631966035920=1,49999999 a výsledek zaokrouhlení je menší na 1/1 Jak ukazuje obrázek níže, 407 700 USDC mělo být zničeno, ale zbylo 271 800, což naznačuje, že bylo zničeno pouze 271 800 a útočník si vybral 407 700 USDC.
8. Útočník využívá zranitelnost v kroku 7 k opakování operace výběru zástavy a výběr je vždy o 1/3 vyšší než zástavní částka a nakonec smění všechny USDC ve fondu.
Fondy v současné době nejsou ohroženy
Radiant Capital přiznal problém ve svém oficiálním příspěvku a uvedl, že pozastavil svůj trh s půjčkami na Arbitrum a vyšetřuje příčinu a dopad incidentu. Arbitrum je škálovací řešení druhé vrstvy, které zvyšuje rychlost transakcí a snižuje náklady na Ethereum. Radiant Capital také uvedl, že v současné době nejsou ohroženy žádné uživatelské prostředky, a po vyřešení problému plánuje vydat detekční zprávu a obnovit provoz.
Závěr:
Tento incident nám znovu připomíná, že bezpečnost decentralizovaných finančních protokolů je kritická a je třeba ji neustále kontrolovat a testovat, aby se předešlo potenciálním zranitelnostem a útokům. Uživatelé by si také měli být vědomi rizik a podílet se na půjčování a investování pouze na důvěryhodných platformách. Přestože společnost Radiant Capital utrpěla těžké ztráty, projevila také pozitivní přístup a smysl pro odpovědnost a doufala, že se co nejdříve dokáže zotavit a zlepšit bezpečnost a stabilitu svého protokolu. Zároveň také doufám, že se ostatní decentralizované finanční protokoly mohou z tohoto incidentu poučit, posílí svá vlastní bezpečnostní opatření a poskytnou uživatelům lepší služby a zkušenosti. #RadiantCapital #黑客攻击