3 января проект Radiant Capital подвергся серьезной атаке с использованием мгновенного кредита, в результате которой было потеряно 1900 ETH (приблизительно 4,5 миллиона долларов США). Radiant Capital — это децентрализованный протокол межсетевого кредитования, который позволяет пользователям вносить и кредитовать различные активы на разных блокчейнах, устраняя хранилища ликвидности.
Согласно данным сети, хакер воспользовался временным окном для активации нового рынка и проблемой округления в базе кода Compound/Aave, чтобы выполнить атаку мгновенного кредита. Этот метод атаки подразумевает заимствование большого количества средств, выполнение серии операций внутри блока и последующий возврат средств до окончания блока для получения прибыли.
Атака на уязвимость кратко
Согласно отчетам PeckShield и PeckShield, злоумышленники воспользовались компьютерной уязвимостью в Radiant Capital, позволив им выводить большие суммы в долларах США по низким ценам, контролируя точность и округление. USDC — это стабильная валюта, стоимость которой привязана к доллару США и является одним из активов, обычно используемых в децентрализованных финансовых протоколах.
Процесс атаки злоумышленника выглядит следующим образом:
1. Злоумышленник сначала взял 3 миллиона долларов США через флэш-кредит AAVE, чтобы использовать их в качестве стартового капитала для атаки. Под срочными кредитами подразумевается заимствование большого количества средств, выполнение ряда операций внутри блока и последующий возврат средств до окончания блока для получения прибыли.
2. Злоумышленник вложил 2 миллиона долларов США в контракт Radiant и получил 2 миллиона токенов сертификата rUSDCn.
3. Злоумышленник предоставляет флэш-кредит через контракт Radiant, занимает 2 миллиона долларов США, возвращает 2 миллиона долларов США в функции обратного вызова и извлекает обещанные доллары США на втором этапе. Наконец, функция флэш-кредита вызывает функцию Transferfrom с помощью. проценты Перевести USDC злоумышленника в контракт. В это время будет взиматься комиссия за обработку в размере 9/10 000, и собранная плата за обработку становится ликвидностью пула.
4. Многократно повторяя шаг 3, злоумышленник устанавливает очень большой индекс ликвидности: LiquidityIndex=271800000009999999999999998631966035920. LiquidityIndex — это переменная, используемая в контракте Radiant для регистрации роста ликвидности. Она будет увеличиваться с накоплением времени и процентов.
5. Далее злоумышленник создает новый контракт и вкладывает в него 543 600 USDC, поскольку 5436 (значение USDC) ровно в два раза превышает 2718 (значение LiquidityIndex) на шаге 4, что можно легко контролировать округлением.
6. Злоумышленник заложил все 543 600 долларов США в контракт Radiant и получил такую же сумму в rUSDCn.
7. Злоумышленник извлек 407 700 USDC, что должно было уничтожить 407 700 rUSDCn, но, как упоминалось выше, функция сжигания выполнила точные вычисления расширения и округления. 4077000000000000000000000000000000000/271800000000999999999999998631966035920=1,49999999, а результат округления равен 1, в результате чего результат будет на 1/3 меньше. Как показано на рисунке ниже, 407 700 USDC должны были быть уничтожены, но осталось 271 800, что указывает на то, что было уничтожено только 271 800, а злоумышленник вывел 407 700 USDC.
8. Злоумышленник использует уязвимость на шаге 7, чтобы повторить операцию вывода залога, причем вывод всегда на 1/3 больше суммы залога, и, наконец, обменивает все USDC в пуле.
Фонды в настоящее время не подвергаются риску
Radiant Capital признала наличие проблемы в своем официальном сообщении и заявила, что приостановила работу своего рынка кредитования на Arbitrum и расследует причину и последствия инцидента. Arbitrum — это решение для масштабирования второго уровня, которое увеличивает скорость транзакций и снижает затраты на Ethereum. Radiant Capital также заявила, что средства пользователей в настоящее время не подвергаются риску, и планирует опубликовать отчет об обнаружении и возобновить операции после решения проблемы.
Заключение:
Этот инцидент еще раз напоминает нам, что безопасность протоколов децентрализованного финансирования имеет решающее значение и нуждается в постоянном аудите и тестировании для предотвращения потенциальных уязвимостей и атак. Пользователи также должны знать о рисках и участвовать в кредитовании и инвестировании только на проверенных платформах. Хотя компания Radiant Capital понесла тяжелые потери, она также продемонстрировала позитивный настрой и чувство ответственности, надеясь, что сможет как можно скорее восстановиться и улучшить безопасность и стабильность своего протокола. В то же время я также надеюсь, что другие децентрализованные финансовые протоколы смогут извлечь уроки из этого инцидента, усилить свои собственные меры безопасности и предоставить пользователям более качественные услуги и опыт. #RadiantCapital #黑客攻击