Euler Finance подвергся флеш-атаке займа, понес убытки почти в 200 миллионов долларов
13 марта 2023 года проект Euler Finance подвергся флеш-атака займа из-за уязвимости контракта, что привело к значительным потерям около 197 миллионов долларов. Злоумышленник использовал уязвимость в функции donateToReserves токена Etoken проекта, которая не имела проверки ликвидности, чтобы получить огромную прибыль через множество операций с различными криптовалютами.
Анализ процесса атаки
Атакующий сначала получает срочный займ в 30 миллионов DAI с какой-то платформы кредитования, а затем развертывает два контракта: на заем и на ликвидацию. Основные шаги атаки следующие:
Заставьте 20 миллионов DAI в контракте Euler Protocol, чтобы получить 19.5 миллионов eDAI.
Используя функцию кредитования с 10-кратным кредитным плечом протокола Euler, занять 1.956 миллиона eDAI и 200 миллионов dDAI.
Используйте оставшиеся 10 миллионов DAI для частичного погашения долга и уничтожьте соответствующее количество dDAI, затем снова займитесь равным количеством eDAI и dDAI.
Пожертвовать 100 миллионов eDAI через функцию donateToReserves, затем вызвать функцию liquidate для ликвидации, получить 310 миллионов dDAI и 250 миллионов eDAI.
В конце извлечено 38,9 миллиона DAI, после возврата Срочных займов получена прибыль около 8,87 миллиона DAI.
Причина уязвимости
Основной причиной успешной атаки является отсутствие необходимой проверки ликвидности в функции donateToReserves контракта Euler Finance. В отличие от других ключевых функций, таких как mint, функция donateToReserves не вызывает checkLiquidity для проверки ликвидности пользователя, что позволяет злоумышленнику манипулировать состоянием своего аккаунта, чтобы оно соответствовало условиям ликвидации, и таким образом завершить атаку.
Рекомендации по безопасности
В связи с такими атаками рекомендуется командам DeFi-проектов:
Провести полную безопасность аудит перед запуском контракта, чтобы обеспечить безопасность кода.
Особое внимание следует уделять ключевым этапам, таким как погашение средств, проверка ликвидности и ликвидация долгов в проектах по займам.
Убедитесь, что все функции, которые могут повлиять на состояние активов пользователей, реализуют строгую проверку безопасности.
Регулярно проводить сканирование уязвимостей и оценку безопасности, своевременно устранять потенциальные риски.
Создание механизма реагирования на чрезвычайные ситуации для быстрого реагирования и обработки в случае возникновения инцидентов безопасности.
Этот инцидент вновь подчеркивает важность безопасности смарт-контрактов, напоминая разработчикам и пользователям Web3 проектов всегда быть на чеку и совместно поддерживать безопасность и стабильность экосистемы блокчейна.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
16 Лайков
Награда
16
9
Поделиться
комментарий
0/400
ChainMaskedRider
· 07-14 06:12
Это полное уничтожение.
Посмотреть ОригиналОтветить0
ChainSpy
· 07-13 13:03
Еще один неудачник, попавшийся на Срочные займы.
Посмотреть ОригиналОтветить0
DeFiGrayling
· 07-12 18:27
Еще один уязвимость Рект
Посмотреть ОригиналОтветить0
SignatureVerifier
· 07-12 17:03
очевидно, недостаточная проверка входных данных... *вздыхает* еще один день, еще одна уязвимость
Посмотреть ОригиналОтветить0
ForumLurker
· 07-12 17:02
Рано сказал не трогать Децентрализованные финансы
Посмотреть ОригиналОтветить0
GasFeeCrier
· 07-12 16:59
Еще один раз, когда я потерял все до последней штучки.
Посмотреть ОригиналОтветить0
SundayDegen
· 07-12 16:59
Ещё один мёртвый
Посмотреть ОригиналОтветить0
mev_me_maybe
· 07-12 16:52
Снова уязвимость контракта? Старые уловки.
Посмотреть ОригиналОтветить0
GasWaster
· 07-12 16:49
брат, еще один день, еще одна уязвимость... Газ потрачен на проваленные аудиты, смех.
Euler Finance стал жертвой флеш-атаки займа на сумму 200 миллионов долларов, основной причиной которой стала уязвимость контракта.
Euler Finance подвергся флеш-атаке займа, понес убытки почти в 200 миллионов долларов
13 марта 2023 года проект Euler Finance подвергся флеш-атака займа из-за уязвимости контракта, что привело к значительным потерям около 197 миллионов долларов. Злоумышленник использовал уязвимость в функции donateToReserves токена Etoken проекта, которая не имела проверки ликвидности, чтобы получить огромную прибыль через множество операций с различными криптовалютами.
Анализ процесса атаки
Атакующий сначала получает срочный займ в 30 миллионов DAI с какой-то платформы кредитования, а затем развертывает два контракта: на заем и на ликвидацию. Основные шаги атаки следующие:
Заставьте 20 миллионов DAI в контракте Euler Protocol, чтобы получить 19.5 миллионов eDAI.
Используя функцию кредитования с 10-кратным кредитным плечом протокола Euler, занять 1.956 миллиона eDAI и 200 миллионов dDAI.
Используйте оставшиеся 10 миллионов DAI для частичного погашения долга и уничтожьте соответствующее количество dDAI, затем снова займитесь равным количеством eDAI и dDAI.
Пожертвовать 100 миллионов eDAI через функцию donateToReserves, затем вызвать функцию liquidate для ликвидации, получить 310 миллионов dDAI и 250 миллионов eDAI.
В конце извлечено 38,9 миллиона DAI, после возврата Срочных займов получена прибыль около 8,87 миллиона DAI.
Причина уязвимости
Основной причиной успешной атаки является отсутствие необходимой проверки ликвидности в функции donateToReserves контракта Euler Finance. В отличие от других ключевых функций, таких как mint, функция donateToReserves не вызывает checkLiquidity для проверки ликвидности пользователя, что позволяет злоумышленнику манипулировать состоянием своего аккаунта, чтобы оно соответствовало условиям ликвидации, и таким образом завершить атаку.
Рекомендации по безопасности
В связи с такими атаками рекомендуется командам DeFi-проектов:
Провести полную безопасность аудит перед запуском контракта, чтобы обеспечить безопасность кода.
Особое внимание следует уделять ключевым этапам, таким как погашение средств, проверка ликвидности и ликвидация долгов в проектах по займам.
Убедитесь, что все функции, которые могут повлиять на состояние активов пользователей, реализуют строгую проверку безопасности.
Регулярно проводить сканирование уязвимостей и оценку безопасности, своевременно устранять потенциальные риски.
Создание механизма реагирования на чрезвычайные ситуации для быстрого реагирования и обработки в случае возникновения инцидентов безопасности.
Этот инцидент вновь подчеркивает важность безопасности смарт-контрактов, напоминая разработчикам и пользователям Web3 проектов всегда быть на чеку и совместно поддерживать безопасность и стабильность экосистемы блокчейна.