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

Причина в том, что на новом рынке 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 миллионов долларов США. На момент написания в кошельке хакера (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d) все еще хранилось 1902 $ETH.

нападавший

0x826d5f4d8084980366f975e10db6c4cf1f9dde6d

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

0x39519c027b503f40867548fb0c890b11728faa8f

Контракт под угрозой

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

0xf4b1486dd74d07706052a33d31d7c0aafd0659e1

rUSDCn:

0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55

Что произошло перед нападением

За пятнадцать секунд до атаки участник проекта только что создал новый рынок USDC на Arbitrum, и хакер был первым, кто взаимодействовал с новым рынком USDC.

Этапы атаки

В качестве примера возьмем первую атакующую транзакцию 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.

  1. Займите 3 миллиона долларов США у AAVE через функцию срочного кредита;

  2. Внесите 2 миллиона долларов США в Radiant Pool. В настоящее время индекс ликвидности равен 1e27.

  1. Выделите срочный кредит в размере 2 миллионов долларов США в Radiant Lending Pool и увеличьте индекс ликвидности до 1,8e36.

  2. Повторите шаг 3 151 раз, чтобы увеличить значение liaudityIndex до 2,7e38, что в 270000000000 раз превышает исходное значение.

  1. Занять 90,6 $ETH у Radiant Pool на сумму $215 тыс. Это прибыль от этой атаки;

  2. Создайте новый контракт (0xd8b591);

  3. Утвердите неограниченное количество долларов США для нового контракта, перенесите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов: переведите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов. ;

  4. Внесите 543 тыс. долларов США USDC в пул Radiant и выпустите 2 токена wei.

  1. Вывод 407 тыс. долларов США USDC из пула Radiant, сжигание только 1 Wei токенов, поскольку sumScaled равно 1, 407700000000*1e27/2718000000009999999999999998631966035920=1,5 и проблемы с математическим округлением. Обратите внимание, что sumScaled — это переменная типа uint256, которая преобразует 1,5 в 1.

  1. Внесите 271 тыс. долларов США в пул Radiant и монеты монетного двора с суммой, равной 1, потому что 271800000001*1e27/2718000000009999999999999998631966035920=1

  2. Выведите 407 тысяч долларов США USDC из пула Radiant и уничтожьте только токены с суммой, равной 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 или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить