Причина в том, что на новом рынке USDC проблема математического округления в функции «сжигания» усиливается и используется, что позволяет хакерам извлекать дополнительные USDC.
Составлено Дэниелом Таном
3 января 2024 года по пекинскому времени протокол Radiant на Arbitrum подвергся атаке с помощью срочных кредитов. Хакеры провели 3 атаки на протокол #Radiant, в результате которых было потеряно 1902 ETH (на сумму $4,5 млн). Основная причина заключается в том, что на новом рынке $USDC проблема математического округления в функции «сжигания» была усилена и использована, что позволило хакерам вывести дополнительные $USDC.
MetaTrust Labs провела углубленное исследование и анализ этой атаки, выяснив, как хакеры воспользовались уязвимостью.
Протокол кредитования Radiant Protocol
Radiant — это децентрализованный протокол кредитования, не связанный с хранением, который работает в нескольких цепочках, включая Arbitrum, BNBChain и Ethereum.
После атаки общая стоимость, заблокированная в протоколе Radiant, по-прежнему составляла $313 млн. Это произошло потому, что команда проекта быстро приостановила работу протокола после атаки, чтобы предотвратить дальнейшие потери.
Три транзакции атаки привели к общей потере более 1902 ETH на сумму более 4,5 миллионов долларов США. На момент написания в кошельке хакера (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d) все еще хранилось 1902 $ETH.
нападавший
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
Контракт на атаку
0x39519c027b503f40867548fb0c890b11728faa8f
Контракт под угрозой
Radiant: Кредитный пул:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
rUSDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
Что произошло перед нападением
За пятнадцать секунд до атаки участник проекта только что создал новый рынок USDC на Arbitrum, и хакер был первым, кто взаимодействовал с новым рынком USDC.
Этапы атаки
В качестве примера возьмем первую атакующую транзакцию 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.
Займите 3 миллиона долларов США у AAVE через функцию срочного кредита;
Внесите 2 миллиона долларов США в Radiant Pool. В настоящее время индекс ликвидности равен 1e27.
Выделите срочный кредит в размере 2 миллионов долларов США в Radiant Lending Pool и увеличьте индекс ликвидности до 1,8e36.
Повторите шаг 3 151 раз, чтобы увеличить значение liaudityIndex до 2,7e38, что в 270000000000 раз превышает исходное значение.
Занять 90,6 $ETH у Radiant Pool на сумму $215 тыс. Это прибыль от этой атаки;
Создайте новый контракт (0xd8b591);
Утвердите неограниченное количество долларов США для нового контракта, перенесите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов: переведите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов. ;
Внесите 543 тыс. долларов США USDC в пул Radiant и выпустите 2 токена wei.
Вывод 407 тыс. долларов США USDC из пула Radiant, сжигание только 1 Wei токенов, поскольку sumScaled равно 1, 407700000000*1e27/2718000000009999999999999998631966035920=1,5 и проблемы с математическим округлением. Обратите внимание, что sumScaled — это переменная типа uint256, которая преобразует 1,5 в 1.
Внесите 271 тыс. долларов США в пул Radiant и монеты монетного двора с суммой, равной 1, потому что 271800000001*1e27/2718000000009999999999999998631966035920=1
Выведите 407 тысяч долларов США USDC из пула Radiant и уничтожьте только токены с суммой, равной 1.
Повторите шаги 10 и 11 до 18 раз и слейте с нового рынка доллары США USDC, которые хакер ранее внес на новый рынок.
Конвертируйте 2 $WETH в 4,73 тыс. $USDC и 3,23 тыс. $USDC в 1,36 $WETH.
Используйте 3,5 миллиона долларов США в качестве основной суммы и 15 000 долларов США в качестве комиссии для погашения срочного кредита AAVE.
Прибыль в размере $90 ETH.
первопричина
Основная причина заключается в том, что хакер первым вошел в контакт с недавно созданным собственным рынком USDC, воспользовался функцией мгновенного кредитования протокола Radiant для увеличения индекса ликвидности и использовал проблемы математического округления для кражи активов из кредитного пула.
Ключевой код
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Протокол Radiant был взломан и потерял 4,5 миллиона долларов за считанные секунды после запуска.
Составлено Дэниелом Таном
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.
Займите 3 миллиона долларов США у AAVE через функцию срочного кредита;
Внесите 2 миллиона долларов США в Radiant Pool. В настоящее время индекс ликвидности равен 1e27.
Выделите срочный кредит в размере 2 миллионов долларов США в Radiant Lending Pool и увеличьте индекс ликвидности до 1,8e36.
Повторите шаг 3 151 раз, чтобы увеличить значение liaudityIndex до 2,7e38, что в 270000000000 раз превышает исходное значение.
Занять 90,6 $ETH у Radiant Pool на сумму $215 тыс. Это прибыль от этой атаки;
Создайте новый контракт (0xd8b591);
Утвердите неограниченное количество долларов США для нового контракта, перенесите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов: переведите 543 тыс. долларов США в новый контракт и используйте новый контракт для выполнения следующих шагов. ;
Внесите 543 тыс. долларов США USDC в пул Radiant и выпустите 2 токена wei.
Внесите 271 тыс. долларов США в пул Radiant и монеты монетного двора с суммой, равной 1, потому что 271800000001*1e27/2718000000009999999999999998631966035920=1
Выведите 407 тысяч долларов США USDC из пула Radiant и уничтожьте только токены с суммой, равной 1.
Повторите шаги 10 и 11 до 18 раз и слейте с нового рынка доллары США USDC, которые хакер ранее внес на новый рынок.
Конвертируйте 2 $WETH в 4,73 тыс. $USDC и 3,23 тыс. $USDC в 1,36 $WETH.
Используйте 3,5 миллиона долларов США в качестве основной суммы и 15 000 долларов США в качестве комиссии для погашения срочного кредита AAVE.
Прибыль в размере $90 ETH.
первопричина
Основная причина заключается в том, что хакер первым вошел в контакт с недавно созданным собственным рынком USDC, воспользовался функцией мгновенного кредитования протокола Radiant для увеличения индекса ликвидности и использовал проблемы математического округления для кражи активов из кредитного пула.
Ключевой код