Euler Finance遭флеш-атака займа损失近2亿美元

robot
Генерация тезисов в процессе

Проект Euler Finance стал жертвой флеш-атаки займа, понес убытки почти в 200 миллионов долларов

13 марта проект Euler Finance стал жертвой флеш-атаки займа из-за уязвимости в смарт-контракте, в результате чего убытки составили до 197 миллионов долларов. Злоумышленники использовали уязвимость функции donateToReserves контракта Etoken, которая не имела проверки ликвидности, и осуществили несколько атак с использованием различных криптовалют.

Анализ уязвимостей Euler Finance: как произошла флеш-атака займа, убытки составили 197 миллионов долларов!

Анализ процесса атаки

Атакующий сначала получил срочные займы на сумму 30 миллионов DAI с одной из платформ кредитования, затем развернул два контракта: для заемов и для ликвидации. Процесс атаки примерно следующий:

  1. Залог 20 миллионов DAI в контракте Euler Protocol, получение 19,5 миллиона eDAI.

  2. Используя функцию 10-кратного плеча протокола Euler, займите 195,6 миллиона eDAI и 200 миллионов dDAI.

  3. Использовать оставшиеся 10 миллионов DAI для частичного погашения долга и сжечь соответствующее dDAI.

  4. Снова занять такое же количество eDAI и dDAI.

  5. Пожертвуйте 100 миллионов eDAI через функцию donateToReserves, затем вызовите функцию liquidate для ликвидации, получив 310 миллионов dDAI и 250 миллионов eDAI.

  6. В конце извлечено 3890 тысяч DAI, после погашения Срочных займов получена прибыль в 887 тысяч DAI.

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убытки составили 197 миллионов долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убыток составил 197 миллионов долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убытки составили 197 миллионов долларов!

Анализ уязвимостей Euler Finance: как произошла флеш-атака займа, убыток составил 1.97 миллиарда долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убытки составили 197 миллионов долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убыток составил 197 миллионов долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убытки составили 1.97 миллиарда долларов!

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убыток составил 1.97 миллиарда долларов!

Анализ причин уязвимости

Ядро этой атаки заключается в том, что функция donateToReserves проекта Euler Finance не содержит необходимых проверок ликвидности. В отличие от других ключевых функций, таких как mint, функция donateToReserves не вызывает checkLiquidity для проверки ликвидности пользователя. Это позволило злоумышленникам манипулировать состоянием своих учетных записей, чтобы оно соответствовало условиям ликвидации, что привело к неправомерной выгоде.

В нормальных условиях функция checkLiquidity вызывает модуль RiskManager, чтобы гарантировать, что количество Etoken у пользователя всегда больше количества Dtoken. Однако из-за того, что функция donateToReserves пропускает этот шаг, злоумышленник смог обойти механизм безопасности.

Анализ уязвимостей Euler Finance: как произошла флеш-атака займа, убытки составили 197 миллионов долларов!

Рекомендации по безопасности

Это событие снова подчеркивает важность аудита безопасности смарт-контрактов. Для проектов, связанных с кредитованием, особенно необходимо уделить внимание следующим аспектам:

  1. Целостность механизма возмещения средств
  2. Всеобъемлющая проверка ликвидности
  3. Безопасность процесса ликвидации долгов

Перед развертыванием контракта, проектная команда должна провести всеобъемлющий и тщательный аудит безопасности, чтобы предотвратить появление аналогичных уязвимостей. В то же время, постоянный мониторинг безопасности и своевременное исправление уязвимостей также являются ключевыми для обеспечения долгосрочной безопасной работы проекта.

Анализ уязвимости Euler Finance: как произошла флеш-атака займа, убытки составили 1.97 миллиарда долларов!

EUL1.59%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 2
  • Поделиться
комментарий
0/400
WhaleMinionvip
· 07-25 11:58
Снова пришел нарушитель.
Посмотреть ОригиналОтветить0
DefiEngineerJackvip
· 07-25 11:45
*вздыхает* любительский час в проектировании смарт-контрактов... покажите мне формальную верификацию или проваливайте
Посмотреть ОригиналОтветить0
  • Закрепить