Euler Finance подвергся флеш-атака займа, убытки составили почти 200 миллионов долларов
13 марта 2023 года флеш-атака займа против Euler Finance привела к огромным потерям в размере около 197 миллионов долларов, затронув 6 видов токенов. Атака использовала уязвимость в функции donateToReserves токена Etoken в проекте, которая не имела необходимых механизмов проверки ликвидности.
Анализ процесса атаки
Атакующий сначала получил срочные займы на сумму 30 миллионов DAI с одной из платформ кредитования, после чего развернул два ключевых контракта: один для операций по займам, другой для ликвидации. Процесс атаки примерно следующий:
Заложите 20 миллионов DAI в Euler Protocol и получите 19,5 миллионов eDAI.
Используя функцию 10-кратного плеча протокола Euler, займите около 195,6 миллиона eDAI и 200 миллионов dDAI.
Используйте оставшиеся 10 миллионов DAI для частичного погашения долга и уничтожьте соответствующие dDAI.
Снова займите равное количество eDAI и dDAI.
Пожертвовав 100 миллионов eDAI через функцию donateToReserves, сразу же проведите ликвидацию и получите 310 миллионов dDAI и 250 миллионов eDAI.
В конце было извлечено около 3890 миллионов DAI, после погашения Срочных займов получена прибыль около 887 миллионов DAI.
Корень уязвимости
Суть этой атаки заключается в том, что функция donateToReserves не содержит необходимых проверок ликвидности. В отличие от функции mint, функция donateToReserves не выполняет шаг checkLiquidity, который должен вызывать модуль RiskManager для обеспечения того, чтобы количество Etoken у пользователя было больше, чем количество Dtoken.
Этот промах позволил злоумышленникам манипулировать состоянием своих счетов, чтобы соответствовать условиям ликвидации, а затем получать огромную прибыль через процесс ликвидации.
Рекомендации по безопасности
В связи с подобными уязвимостями DeFi-проекты, особенно кредитные платформы, должны:
Укрепить аудит безопасности контрактов, чтобы гарантировать, что все ключевые функции содержат необходимые проверки безопасности.
Особое внимание уделите безопасности основных функций, таких как возврат средств, мониторинг ликвидности и ликвидация долгов.
Реализуйте многослойные механизмы безопасности, чтобы избежать масштабных потерь из-за единой точки отказа.
Регулярно проводить оценку безопасности и стресс-тесты, своевременно выявлять и устранять потенциальные риски.
Этот инцидент вновь подчеркивает важность безопасности смарт-контрактов и необходимость оставаться бдительными в быстро развивающейся сфере DeFi. Проектам следует извлекать уроки, постоянно совершенствуя меры безопасности для защиты активов пользователей и поддержания здорового развития экосистемы.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
8
Репост
Поделиться
комментарий
0/400
BloodInStreets
· 08-17 00:00
Слабый рынок разобрался с дном, что привело к Падению на 50%
Посмотреть ОригиналОтветить0
BearMarketSunriser
· 08-16 18:41
Снова вижу срочные займы уязвимость, я все еще послушно лежу.
Euler Finance подвергся флеш-атаке займа, убытки составили почти 200 миллионов долларов.
Euler Finance подвергся флеш-атака займа, убытки составили почти 200 миллионов долларов
13 марта 2023 года флеш-атака займа против Euler Finance привела к огромным потерям в размере около 197 миллионов долларов, затронув 6 видов токенов. Атака использовала уязвимость в функции donateToReserves токена Etoken в проекте, которая не имела необходимых механизмов проверки ликвидности.
Анализ процесса атаки
Атакующий сначала получил срочные займы на сумму 30 миллионов DAI с одной из платформ кредитования, после чего развернул два ключевых контракта: один для операций по займам, другой для ликвидации. Процесс атаки примерно следующий:
Корень уязвимости
Суть этой атаки заключается в том, что функция donateToReserves не содержит необходимых проверок ликвидности. В отличие от функции mint, функция donateToReserves не выполняет шаг checkLiquidity, который должен вызывать модуль RiskManager для обеспечения того, чтобы количество Etoken у пользователя было больше, чем количество Dtoken.
Этот промах позволил злоумышленникам манипулировать состоянием своих счетов, чтобы соответствовать условиям ликвидации, а затем получать огромную прибыль через процесс ликвидации.
Рекомендации по безопасности
В связи с подобными уязвимостями DeFi-проекты, особенно кредитные платформы, должны:
Этот инцидент вновь подчеркивает важность безопасности смарт-контрактов и необходимость оставаться бдительными в быстро развивающейся сфере DeFi. Проектам следует извлекать уроки, постоянно совершенствуя меры безопасности для защиты активов пользователей и поддержания здорового развития экосистемы.