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 проектов всегда быть на чеку и совместно поддерживать безопасность и стабильность экосистемы блокчейна.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
14 Лайков
Награда
14
8
Поделиться
комментарий
0/400
ChainSpy
· 14м назад
Еще один неудачник, попавшийся на Срочные займы.
Посмотреть ОригиналОтветить0
DeFiGrayling
· 18ч назад
Еще один уязвимость Рект
Посмотреть ОригиналОтветить0
SignatureVerifier
· 20ч назад
очевидно, недостаточная проверка входных данных... *вздыхает* еще один день, еще одна уязвимость
Посмотреть ОригиналОтветить0
ForumLurker
· 20ч назад
Рано сказал не трогать Децентрализованные финансы
Посмотреть ОригиналОтветить0
GasFeeCrier
· 20ч назад
Еще один раз, когда я потерял все до последней штучки.
Посмотреть ОригиналОтветить0
SundayDegen
· 20ч назад
Ещё один мёртвый
Посмотреть ОригиналОтветить0
mev_me_maybe
· 20ч назад
Снова уязвимость контракта? Старые уловки.
Посмотреть ОригиналОтветить0
GasWaster
· 20ч назад
брат, еще один день, еще одна уязвимость... Газ потрачен на проваленные аудиты, смех.
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 проектов всегда быть на чеку и совместно поддерживать безопасность и стабильность экосистемы блокчейна.