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

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

Euler Finance подвергся флеш-атаке займа, потеряв почти 200 миллионов долларов

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

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

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

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

Затем злоумышленник заложил 20 миллионов DAI в контракт Euler Protocol и получил около 19.5 миллионов eDAI. Используя функцию 10-кратного кредитного плеча Euler Protocol, злоумышленник дополнительно занял 195.6 миллионов eDAI и 200 миллионов dDAI.

Затем злоумышленник использует оставшиеся 10 миллионов DAI для частичного погашения долга, уничтожив соответствующее количество dDAI. Затем он снова занимает такое же количество eDAI и dDAI.

Ключевым шагом стало то, что злоумышленник использовал уязвимость функции donateToReserves, пожертвовав сумму, в 10 раз превышающую сумму возврата, а именно 100 миллионов eDAI. Эта операция позволила злоумышленнику запустить механизм ликвидации и получить 310 миллионов dDAI и 250 миллионов eDAI.

В конце концов, злоумышленник получил 3890 миллионов DAI через функцию вывода средств, вернул 3000 миллионов DAI по срочному займу и в конечном итоге получил прибыль около 887 миллионов DAI.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В связи с такими атаками мы рекомендуем разработчикам блокчейн-проектов:

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

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

  3. Регулярно проводить проверку кода и сканирование на уязвимости, своевременно устранять потенциальные угрозы безопасности.

  4. Создание完善ного механизма управления рисками, установление разумных лимитов заимствования и порогов ликвидации.

  5. Рассмотрите возможность внедрения дополнительных мер безопасности, таких как мультиподпись или замок времени, чтобы предотвратить массовую утечку средств.

Применяя эти меры предосторожности, можно значительно повысить безопасность DeFi проектов и снизить риск遭受类似 атак.

EUL3.13%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Репост
  • Поделиться
комментарий
0/400
ServantOfSatoshivip
· 07-19 18:22
Снова произошла авария, это ужасно.
Посмотреть ОригиналОтветить0
MercilessHalalvip
· 07-19 08:53
Снова видим слепую зону контракта
Посмотреть ОригиналОтветить0
DYORMastervip
· 07-17 03:24
Снова контракт попал в ловушку.
Посмотреть ОригиналОтветить0
StableNomadvip
· 07-17 03:24
Еще один проект, ставший кирпичом
Посмотреть ОригиналОтветить0
LightningSentryvip
· 07-17 03:19
Снова унесли партию выгодных предложений.
Посмотреть ОригиналОтветить0
just_another_fishvip
· 07-17 03:11
Аудит контрактов крайне необходим
Посмотреть ОригиналОтветить0
BitcoinDaddyvip
· 07-17 02:56
Снова происшествие со смарт-контрактами.
Посмотреть ОригиналОтветить0
  • Закрепить