Euler Finance зазнала флеш-атаки, втратили близько 200 мільйонів доларів
13 березня 2023 року проект Euler Finance зазнав значної флеш-атаки, внаслідок якої було втрачено близько 197 мільйонів доларів. Ця атака стосувалася 6 різних токенів і є однією з найбільших за масштабом безпекових подій у сфері DeFi останнім часом.
Аналіз процесу атаки
Атакуючи спочатку отримав 30 мільйонів DAI через Термінові позики з певної платформи кредитування, потім розгорнув два ключові контракти: один для операцій з позиками, а інший для ліквідації.
Основні етапи атаки такі:
Залиште 20 мільйонів DAI в заставі на Euler Protocol, отримавши 19,5 мільйона eDAI.
Використовуючи функцію 10-кратного кредитного плеча Euler Protocol, позичити 1,956 мільйона eDAI та 200 мільйонів dDAI.
Використати залишок у 10 мільйонів DAI для часткового погашення боргу та знищити відповідну кількість dDAI.
Знову позичити таку ж кількість eDAI та dDAI.
Через функцію donateToReserves пожертвуйте 100 мільйонів eDAI, а потім спровокуйте ліквідацію, отримавши 310 мільйонів dDAI та 250 мільйонів eDAI.
В кінці було витягнуто 3890万DAI, повернуто основну суму термінових позик 3000万DAI, чистий прибуток становив приблизно 887万DAI.
Причини уразливості
Основна проблема цієї атаки полягає в тому, що функція donateToReserves у Euler Finance не має необхідної перевірки ліквідності. На відміну від інших ключових функцій (таких як mint), donateToReserves не викликає функцію checkLiquidity для перевірки стану активів користувача.
У нормальних умовах checkLiquidity викликає модуль RiskManager, щоб забезпечити, що кількість eToken у користувача завжди більша за кількість dToken. Проте, через те, що функція donateToReserves пропускає цей крок, зловмисник отримує можливість маніпулювати своїм рахунком, переходячи в стан, що підлягає ліквідації, і таким чином здійснює атаку.
Рекомендації з безпеки
Для проектів DeFi, особливо для платформ, що включають функції кредитування, потрібно особливо звернути увагу на такі пункти:
Переконайтеся, що всі ключові функції містять необхідні перевірки безпеки, особливо верифікацію ліквідності.
Провести всебічний аудит безпеки перед запуском контракту, зосередивши увагу на ключових етапах, таких як повернення коштів, перевірка ліквідності та ліквідація боргів.
Регулярно проводити перевірку коду та сканування на вразливості, своєчасно виявляти та усувати потенційні ризики.
Встановлення ефективної системи управління ризиками, визначення розумних лімітів на позики та порогів ліквідації.
Розгляньте можливість впровадження додаткових заходів безпеки, таких як мультипідписи або таймлоки, щоб запобігти швидкому витоку великих обсягів коштів.
Ця подія ще раз підкреслила важливість безпеки DeFi. Проектам слід постійно підвищувати обізнаність про безпеку та вживати багаторівневі заходи захисту для забезпечення безпеки активів користувачів. У той же час, користувачі, беручи участь у DeFi проектах, також повинні бути пильними та усвідомлювати потенційні ризики.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
9 лайків
Нагородити
9
6
Репост
Поділіться
Прокоментувати
0/400
DAOdreamer
· 07-26 01:35
Забезпечення безпеки є пріоритетом, аудит справді важливий!
Euler Finance зазнав флеш-атаки на 197 мільйонів доларів. Децентралізовані фінанси знову б'ють на сполох.
Euler Finance зазнала флеш-атаки, втратили близько 200 мільйонів доларів
13 березня 2023 року проект Euler Finance зазнав значної флеш-атаки, внаслідок якої було втрачено близько 197 мільйонів доларів. Ця атака стосувалася 6 різних токенів і є однією з найбільших за масштабом безпекових подій у сфері DeFi останнім часом.
Аналіз процесу атаки
Атакуючи спочатку отримав 30 мільйонів DAI через Термінові позики з певної платформи кредитування, потім розгорнув два ключові контракти: один для операцій з позиками, а інший для ліквідації.
Основні етапи атаки такі:
Залиште 20 мільйонів DAI в заставі на Euler Protocol, отримавши 19,5 мільйона eDAI.
Використовуючи функцію 10-кратного кредитного плеча Euler Protocol, позичити 1,956 мільйона eDAI та 200 мільйонів dDAI.
Використати залишок у 10 мільйонів DAI для часткового погашення боргу та знищити відповідну кількість dDAI.
Знову позичити таку ж кількість eDAI та dDAI.
Через функцію donateToReserves пожертвуйте 100 мільйонів eDAI, а потім спровокуйте ліквідацію, отримавши 310 мільйонів dDAI та 250 мільйонів eDAI.
В кінці було витягнуто 3890万DAI, повернуто основну суму термінових позик 3000万DAI, чистий прибуток становив приблизно 887万DAI.
Причини уразливості
Основна проблема цієї атаки полягає в тому, що функція donateToReserves у Euler Finance не має необхідної перевірки ліквідності. На відміну від інших ключових функцій (таких як mint), donateToReserves не викликає функцію checkLiquidity для перевірки стану активів користувача.
У нормальних умовах checkLiquidity викликає модуль RiskManager, щоб забезпечити, що кількість eToken у користувача завжди більша за кількість dToken. Проте, через те, що функція donateToReserves пропускає цей крок, зловмисник отримує можливість маніпулювати своїм рахунком, переходячи в стан, що підлягає ліквідації, і таким чином здійснює атаку.
Рекомендації з безпеки
Для проектів DeFi, особливо для платформ, що включають функції кредитування, потрібно особливо звернути увагу на такі пункти:
Переконайтеся, що всі ключові функції містять необхідні перевірки безпеки, особливо верифікацію ліквідності.
Провести всебічний аудит безпеки перед запуском контракту, зосередивши увагу на ключових етапах, таких як повернення коштів, перевірка ліквідності та ліквідація боргів.
Регулярно проводити перевірку коду та сканування на вразливості, своєчасно виявляти та усувати потенційні ризики.
Встановлення ефективної системи управління ризиками, визначення розумних лімітів на позики та порогів ліквідації.
Розгляньте можливість впровадження додаткових заходів безпеки, таких як мультипідписи або таймлоки, щоб запобігти швидкому витоку великих обсягів коштів.
Ця подія ще раз підкреслила важливість безпеки DeFi. Проектам слід постійно підвищувати обізнаність про безпеку та вживати багаторівневі заходи захисту для забезпечення безпеки активів користувачів. У той же час, користувачі, беручи участь у DeFi проектах, також повинні бути пильними та усвідомлювати потенційні ризики.