Euler Finance зазнав флеш-атаки на суму 197 мільйонів доларів через вразливість функції donateToReserves

robot
Генерація анотацій у процесі

Аналіз інциденту з уразливістю Euler Finance: флеш-атака призвела до збитків у 197 мільйонів доларів

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

Аналіз вразливості Euler Finance: як стати жертвою флеш-атаки, втратили 1,97 мільярда доларів!

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

  1. Зловмисник спочатку отримав термінові позики на 30 мільйонів Dai з певної платформи кредитування, після чого розгорнув два контракти: один для кредитування, інший для ліквідації.

  2. Зловмисник заставив позичені 20 мільйонів Dai в контракті Euler Protocol, отримавши близько 19,5 мільйонів eDAI.

  3. Використовуючи функцію 10-кратного кредитного плеча протоколу Euler, зловмисник позичив 1.956 мільйона eDAI та 2 мільйони dDAI.

  4. Зловмисник використовує залишок у 10 мільйонів DAI для часткового погашення боргу і знищує відповідну кількість dDAI, після чого знову позичає 195,6 мільйона eDAI та 200 мільйонів dDAI.

  5. Ключові кроки: зловмисник викликає функцію donateToReserves, пожертвувавши 10-кратну суму коштів для погашення, а саме 100 мільйонів eDAI. Відразу ж зловмисник активує функцію ліквідації, отримавши 310 мільйонів dDAI та 250 мільйонів eDAI.

  6. Нарешті, атакуючий витягнув 38900000 Dai, повернув 30000000 Термінові позики, в результаті чого отримав прибуток приблизно 8870000 Dai.

Аналіз вразливостей Euler Finance: як стати жертвою флеш-атаки та втратити 1,97 мільярда доларів!

Аналіз вразливостей 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. На відміну від інших ключових функцій (таких як функція mint), функція donateToReserves не має одного критично важливого кроку: checkLiquidity.

Функція checkLiquidity викликає модуль RiskManager для перевірки користувача, щоб переконатися, що Etoken більший за Dtoken, тим самим гарантувати ліквідність користувача. У нормальних умовах кожна дія потребує цієї перевірки. Проте функція donateToReserves пропускає цей етап, що дозволяє зловмисникам спочатку привести себе в стан, що підлягає ліквідації, а потім завершити ліквідацію.

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

Рекомендації з безпеки

Щодо таких вразливостей, ми рекомендуємо проектам обов'язково проводити всебічний аудит безпеки перед запуском, щоб забезпечити безпеку контракту. Для проектів з кредитування особливо важливо звернути увагу на такі аспекти:

  1. Цілісність механізму погашення коштів
  2. Комплексність перевірки ліквідності
  3. Безпека процесу ліквідації боргів

Тільки через суворий контроль безпеки та всебічну оцінку ризиків можна максимально знизити ймовірність виникнення подібних безпекових інцидентів, забезпечуючи безпеку коштів проекту та користувачів.

EUL-0.79%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
AirdropChaservip
· 08-05 08:04
знову обдурювати людей, як лохів знову обдурювати людей, як лохів щодня обдурюють людей, як лохів
Переглянути оригіналвідповісти на0
DefiSecurityGuardvip
· 08-05 08:04
*сиг* ще один день, ще один протокол знищено через базову вразливість donateToReserves... сказав про це кілька місяців тому, якщо чесно. критичне нагадування: ЗАВЖДИ очищайте перевірки ліквідності, чорт візьми. ці аматорські помилки продовжують коштувати 9 цифр, смх.
Переглянути оригіналвідповісти на0
GasGrillMastervip
· 08-05 07:50
Брат, ця базова оборона зовсім не справляється, справжня некомпетентність.
Переглянути оригіналвідповісти на0
  • Закріпити