Euler Finance подвергся флеш-атаке займа на сумму 197 миллионов долларов США, уязвимость смарт-контрактов привела к огромным потерям.

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

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

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

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

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

Шаги действий атакующего следующие:

  1. Занять 30 миллионов DAI через Срочные займы на платформе кредитования.
  2. Разверните два контракта: один для займа, другой для ликвидации.
  3. Заложите 20 миллионов DAI в контракт Euler Protocol, чтобы получить 195 тысяч eDAI.
  4. Используя функцию заимствования с кредитным плечом 10x от Euler Protocol, заимствованы 1,956,000 eDAI и 2,000,000 dDAI.
  5. Используйте оставшиеся 10 миллионов DAI для частичного погашения долга и уничтожьте соответствующее количество dDAI.
  6. Снова занять 195,6 тыс. eDAI и 200 тыс. dDAI.
  7. Вызовите функцию donateToReserves, пожертвуя сумму, в 10 раз превышающую сумму погашения (1 миллион eDAI).
  8. Вызовите функцию ликвидации, чтобы получить 3,1 миллиона dDAI и 2,5 миллиона eDAI.
  9. Вывод 389000 DAI, возврат 300000 Срочные займы, окончательная прибыль 88700 DAI.

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

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

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

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

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

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

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

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

Анализ уязвимостей

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

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

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

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

В связи с такими атаками мы предлагаем следующие рекомендации по безопасности:

  1. Перед запуском смарт-контракта необходимо провести полный аудит безопасности.
  2. Проекты в области кредитования должны особенно внимательно относиться к таким ключевым аспектам, как возврат средств, проверка ликвидности и ликвидация долгов.
  3. Убедитесь, что все функции, которые могут повлиять на статус активов пользователя, содержат необходимые проверки безопасности.
  4. Регулярно проводить ревью кода, чтобы убедиться, что новые функции не вводят потенциальные уязвимости.
  5. Установить механизм реагирования на чрезвычайные ситуации, чтобы быстро реагировать в случае возникновения инцидентов безопасности.

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

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

EUL-0.26%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Репост
  • Поделиться
комментарий
0/400
TheMemefathervip
· 08-02 02:56
Контракт снова дал сбой.
Посмотреть ОригиналОтветить0
MetaEggplantvip
· 07-30 18:24
Ещё одна сцена кражи токенов из-за уязвимости
Посмотреть ОригиналОтветить0
RugPullProphetvip
· 07-30 18:22
Снова мошенничество на пиршестве!
Посмотреть ОригиналОтветить0
LiquidationWatchervip
· 07-30 18:22
Ещё одна уязвимость смарт-контрактов убита
Посмотреть ОригиналОтветить0
CryptoNomicsvip
· 07-30 18:12
Неудачный обзор кода
Посмотреть ОригиналОтветить0
PaperHandsCriminalvip
· 07-30 18:11
Еще один контракт стал общепринятым.
Посмотреть ОригиналОтветить0
GateUser-afe07a92vip
· 07-30 17:56
Еще одни кровные деньги потеряны
Посмотреть ОригиналОтветить0
  • Закрепить