Протокол Radiant був зламаний і втратив 4,5 мільйона доларів за кілька секунд після запуску.

ForesightNews

Причина полягає в тому, що на новому ринку USDC математична проблема округлення у функції “пропалювання” посилюється та використовується, дозволяючи хакерам витягувати додаткові USDC.

Упорядник Деніел Тан

3 січня 2024 року за пекінським часом протокол Radiant на Arbitrum був атакований швидкими позиками. Хакери здійснили 3 атаки на протокол #Radiant, що призвело до загальної втрати 1902 ETH (на суму 4,5 мільйона доларів). Основна причина полягає в тому, що на новому ринку $USDC проблема математичних округлень у функції «спалювання» була посилена та використана, дозволяючи хакерам вилучати додаткові $USDC.

MetaTrust Labs провела поглиблене дослідження та аналіз цієї атаки, виявивши, як хакери використовували вразливість.

Протокол кредитування Radiant Protocol

Radiant — це децентралізований протокол кредитування без зберігання, який працює в кількох мережах, включаючи Arbitrum, BNBChain і Ethereum.

Після атаки загальна вартість, заблокована в протоколі Radiant, все ще становила $313 млн. Це сталося через те, що команда проекту швидко призупинила протокол після атаки, щоб запобігти подальшим втратам.

хронологія

торгівля

0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d

0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243

0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b

Втрата активів

Три транзакції атаки призвели до загальної втрати понад 1902 ETH на суму понад 4,5 мільйона доларів США. На момент написання статті 1902 $ETH все ще зберігалися в гаманці хакера (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d).

нападник

0x826d5f4d8084980366f975e10db6c4cf1f9dde6d

Контракт на атаку

0x39519c027b503f40867548fb0c890b11728faa8f

Контракт під ударом

Radiant: Кредитний пул:

0xf4b1486dd74d07706052a33d31d7c0aafd0659e1

rUSDCn:

0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55

Що було перед нападом

За п’ятнадцять секунд до атаки сторона проекту щойно створила новий ринок USDC на Arbitrum, і хакер був першою людиною, яка взаємодіяла з новим ринком USDC.

Кроки атаки

Візьмемо як приклад першу транзакцію атаки 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.

  1. Позичити 3 мільйони доларів США в USDC від AAVE через функцію швидкої позики;

  2. Внесіть 2 мільйони доларів USDC у Radiant Pool. Наразі індекс ліквідності становить 1e27.

  1. Отримайте швидку позику на 2 мільйони доларів у Radiant Lending Pool і збільште індекс ліквідності до 1,8e36.

  2. Повторіть крок 3 151 раз, щоб збільшити liauidityIndex до 2,7e38, що в 270000000000 разів перевищує початкове значення.

  1. Позичте 90,6 $ETH у Radiant Pool на суму $215 тис. Це прибуток від цієї атаки;

  2. Створіть новий договір (0xd8b591);

  3. Схвалити необмежений USDC для нового контракту, перерахувати 543 тис. доларів США в новий контракт і використовувати новий контракт для виконання наступних кроків; перевести 543 тис. доларів США в новий контракт і використовувати новий контракт для виконання наступних кроків ;

  4. Внесіть 543 тис. доларів США в пул Radiant і викарбуйте 2 токени wei. Оскільки сума Scaled становить 2 токени, 543600000002*1e27/271800000000999999999999998631966035920=2;

  1. Виведення 407 тисяч доларів США з пулу Radiant, спалювання лише 1 wei токенів, оскільки сумаScaled дорівнює 1, 407700000000*1e27/271800000000999999999999998631966035920=1,5 і проблеми з математичним округленням. Зауважте, що сумаScaled є змінною типу uint256, яка перетворює 1,5 на 1.

  1. Внесіть 271 тис. доларів США в пул Radiant і монетний двір зі значенням 1, оскільки 271800000001*1e27/271800000000999999999999998631966035920=1

  2. Витягніть 407 тис. доларів США з пулу Radiant і знищуйте лише токени із сумаScaled 1.

  3. Повторіть кроки 10 і 11 до 18 разів і злийте $USDC з нового ринку, який хакер раніше вніс на новий ринок.

  4. Конвертуйте 2 $WETH в 4,73 тис. $USDC і 3,23 тис. $USDC в 1,36 $WETH.

  5. Використайте 3,5 мільйона доларів США як основну суму та 15 000 доларів США як комісію для погашення термінової позики AAVE.

  6. Прибуток $90 ETH.

першопричина

Фундаментальна причина полягає в тому, що хакер був першим, хто взаємодіяв із нещодавно створеним рідним ринком USDC, використав функцію флеш-позики протоколу Radiant для збільшення індексу ліквідності та використав проблеми математичних округлень, щоб викрасти активи з пулу кредитування.

Код ключа

Застереження: Інформація на цій сторінці може походити від третіх осіб і не відображає погляди або думки Gate. Вміст, що відображається на цій сторінці, є лише довідковим і не є фінансовою, інвестиційною або юридичною порадою. Gate не гарантує точність або повноту інформації і не несе відповідальності за будь-які збитки, що виникли в результаті використання цієї інформації. Інвестиції у віртуальні активи пов'язані з високим ризиком і піддаються значній ціновій волатильності. Ви можете втратити весь вкладений капітал. Будь ласка, повністю усвідомлюйте відповідні ризики та приймайте обережні рішення, виходячи з вашого фінансового становища та толерантності до ризику. Для отримання детальної інформації, будь ласка, зверніться до Застереження.
Прокоментувати
0/400
Немає коментарів