Euler Finance зазнала флеш-атаки з втратами в 1.97 мільярда доларів
13 березня проект Euler Finance зазнав флеш-атаки через вразливість смарт-контракту, що призвело до збитків у розмірі до 197 мільйонів доларів. Ця атака включала 6 видів токенів і є однією з найбільших атак у сфері DeFi в останній час.
Аналіз процесу атаки
Атакувальник спочатку отримав термінові позики на 30 мільйонів DAI з певної платформи кредитування, після чого розгорнув договори позики та ліквідації. Потім він заставив 20 мільйонів DAI у протоколі Euler, щоб отримати 19,5 мільйона eDAI.
Використовуючи 10-кратний кредит на Euler Protocol, зловмисник позичив 195,6 млн eDAI та 200 млн dDAI. Потім він погасив частину боргу залишковими 10 млн DAI і знищив відповідну кількість dDAI, знову позичивши таку ж кількість eDAI та dDAI.
Ключовим кроком є виклик функції donateToReserves для пожертвування 100 мільйонів eDAI, після чого через функцію liquidate проводиться ліквідація для отримання 310 мільйонів dDAI та 250 мільйонів eDAI. На завершення витягується 38,9 мільйона DAI, повертається 30 мільйонів Термінові позики, чистий прибуток становить приблизно 8,87 мільйона DAI.
Аналіз причин вразливості
Вразливість існує у функції donateToReserves Euler Finance. На відміну від інших функцій, таких як mint, donateToReserves не містить критично важливий крок checkLiquidity. Це дозволяє користувачам обходити перевірку ліквідності, штучно створюючи умови для ліквідації та отримуючи прибуток.
У нормальних умовах, checkLiquidity викликає модуль RiskManager для перевірки, чи є eToken користувача більшим за dToken, щоб забезпечити здоров'я рахунку. Відсутність цього кроку дозволяє зловмиснику маніпулювати станом свого рахунку, що призводить до неналежного ліквідації.
Рекомендації щодо безпеки
Щодо таких атак, проектам DeFi слід зосередитися на кількох аспектах:
Перед запуском контракту проведення всебічного аудиту безпеки, з особливою увагою до ключових етапів, таких як повернення коштів, перевірка ліквідності та ліквідація боргів.
Додати необхідні перевірки безпеки в усі функції, які можуть вплинути на стан активів користувача.
Регулярно проводити рев'ю коду, своєчасно виявляти та виправляти потенційні вразливості.
Встановити ефективний механізм управління ризиками, встановити розумні ліміти позики та пороги ліквідації.
Розгляньте можливість впровадження механізмів багатопідпису та інших, щоб ускладнити атаки.
З розвитком екосистеми DeFi проєкти повинні більше уваги приділяти безпеці смарт-контрактів, вжити всебічних заходів захисту для максимального зниження подібних ризиків.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
19 лайків
Нагородити
19
8
Поділіться
Прокоментувати
0/400
rekt_but_not_broke
· 07-07 15:13
Вразливості обдурюють людей, як лохів знову досягли нового максимуму
Переглянути оригіналвідповісти на0
Layer2Observer
· 07-07 04:02
Ще один раунд використання вразливості контракту. Код ніколи не обманює.
Переглянути оригіналвідповісти на0
GasFeeWhisperer
· 07-06 16:17
смартконтракти також не є розумними
Переглянути оригіналвідповісти на0
ForeverBuyingDips
· 07-06 16:16
обдурювати людей, як лохів обдурювати людей, як лохів знову настав час збору
Переглянути оригіналвідповісти на0
ser_we_are_ngmi
· 07-06 16:16
Знову зламало через Термінові позики
Переглянути оригіналвідповісти на0
TradFiRefugee
· 07-06 16:12
Децентралізовані фінанси один день три несподіванки
Переглянути оригіналвідповісти на0
TokenBeginner'sGuide
· 07-06 16:11
Нагадуємо: важливість безпеки смартконтрактів знову підтверджена. Дані показують, що 85% проектів не проходять повну аудиторію перед запуском.
Euler Finance зазнала флеш-атаки на 197 мільйонів доларів. Децентралізовані фінанси знову б'ють на сполох.
Euler Finance зазнала флеш-атаки з втратами в 1.97 мільярда доларів
13 березня проект Euler Finance зазнав флеш-атаки через вразливість смарт-контракту, що призвело до збитків у розмірі до 197 мільйонів доларів. Ця атака включала 6 видів токенів і є однією з найбільших атак у сфері DeFi в останній час.
Аналіз процесу атаки
Атакувальник спочатку отримав термінові позики на 30 мільйонів DAI з певної платформи кредитування, після чого розгорнув договори позики та ліквідації. Потім він заставив 20 мільйонів DAI у протоколі Euler, щоб отримати 19,5 мільйона eDAI.
Використовуючи 10-кратний кредит на Euler Protocol, зловмисник позичив 195,6 млн eDAI та 200 млн dDAI. Потім він погасив частину боргу залишковими 10 млн DAI і знищив відповідну кількість dDAI, знову позичивши таку ж кількість eDAI та dDAI.
Ключовим кроком є виклик функції donateToReserves для пожертвування 100 мільйонів eDAI, після чого через функцію liquidate проводиться ліквідація для отримання 310 мільйонів dDAI та 250 мільйонів eDAI. На завершення витягується 38,9 мільйона DAI, повертається 30 мільйонів Термінові позики, чистий прибуток становить приблизно 8,87 мільйона DAI.
Аналіз причин вразливості
Вразливість існує у функції donateToReserves Euler Finance. На відміну від інших функцій, таких як mint, donateToReserves не містить критично важливий крок checkLiquidity. Це дозволяє користувачам обходити перевірку ліквідності, штучно створюючи умови для ліквідації та отримуючи прибуток.
У нормальних умовах, checkLiquidity викликає модуль RiskManager для перевірки, чи є eToken користувача більшим за dToken, щоб забезпечити здоров'я рахунку. Відсутність цього кроку дозволяє зловмиснику маніпулювати станом свого рахунку, що призводить до неналежного ліквідації.
Рекомендації щодо безпеки
Щодо таких атак, проектам DeFi слід зосередитися на кількох аспектах:
Перед запуском контракту проведення всебічного аудиту безпеки, з особливою увагою до ключових етапів, таких як повернення коштів, перевірка ліквідності та ліквідація боргів.
Додати необхідні перевірки безпеки в усі функції, які можуть вплинути на стан активів користувача.
Регулярно проводити рев'ю коду, своєчасно виявляти та виправляти потенційні вразливості.
Встановити ефективний механізм управління ризиками, встановити розумні ліміти позики та пороги ліквідації.
Розгляньте можливість впровадження механізмів багатопідпису та інших, щоб ускладнити атаки.
З розвитком екосистеми DeFi проєкти повинні більше уваги приділяти безпеці смарт-контрактів, вжити всебічних заходів захисту для максимального зниження подібних ризиків.