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 #黑客攻击