Аналіз атаки на Cetus на суму 230 мільйонів доларів
22 травня постачальник ліквідності екосистеми SUI Cetus, ймовірно, зазнав атаки, що призвело до значного зниження глибини ліквідностного пулу, кілька торгових пар впали, очікувані збитки перевищують 230 мільйонів доларів США. Cetus пізніше опублікував оголошення про те, що призупинив смарт-контракт і проводить розслідування цього інциденту.
Аналіз атак
Зловмисники, ретельно конструюючи параметри, використовують вразливість переповнення для обходу виявлення, обмінюючи дуже невелику суму токенів на величезні ліквідні активи. Основні кроки такі:
Внаслідок великого запозичення haSUI через блискавичний кредит ціна в пулі впала на 99,90%.
Відкриття ліквідних позицій у дуже вузькому ціновому діапазоні, ширина діапазону становить лише 1.00496621%.
Заявлено про додавання величезної ліквідності, але насправді додано лише 1 токен A. Це ядро атаки, яке використовує уразливість обходу перевірки переповнення в функції get_delta_a.
Видалення ліквідності приносить величезні токенові вигоди, чистий прибуток близько 10 мільйонів haSUI та 5,76 мільйона SUI.
Причини вразливості
функція checked_shlw має серйозні недоліки у реалізації:
Неправильна маска виявлення переповнення дозволяє практично всім введенням проходити повз перевірку
Частина, що виходить за межі u256, була обрізана при зсуві вліво на 64 біти
Остаточний обрахунок приблизно менше 1, але після округлення вгору дорівнює 1
Виправлення проекту
Cetus випустив патч з виправленнями, що головним чином виправляє функцію checked_shlw:
Виправлення помилкового масиву на правильний поріг
Виправлення умов оцінки
Забезпечити правильне виявлення переповнення та повернення позначки
Аналіз руху коштів
Зловмисник отримав прибуток приблизно 230 мільйонів доларів США, включаючи SUI, vSUI, USDC та інші активи. Частина коштів була переведена через крос-чейн міст до адреси EVM. Приблизно 10 мільйонів доларів США було внесено до Suilend, 24 мільйони SUI переведені на нову адресу.
На щастя, фонд SUI успішно заморозив вкрадені кошти в розмірі 162 мільйонів доларів.
На адресі отримання в EVM було неодноразово проведено обмін токенів, і 20000 ETH було переведено на нову адресу. Наразі на цьому рахунку залишилося 3244 ETH.
Підсумок
Цей напад продемонстрував небезпеку вразливості математичного переповнення. Розробники повинні суворо перевіряти всі граничні умови математичних функцій у смарт-контрактах, щоб запобігти таким складним математичним атакам.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
10 лайків
Нагородити
10
8
Поділіться
Прокоментувати
0/400
ClassicDumpster
· 9год тому
Знову невдахи були обдурені!
Переглянути оригіналвідповісти на0
DaoDeveloper
· 08-05 03:42
інша експлуатація через неконтрольовані граничні значення... бачив цей шаблон занадто багато разів у своїх аудитах, смх
Переглянути оригіналвідповісти на0
LidoStakeAddict
· 08-03 16:52
Як ви так добре зрозуміли про вразливість переповнення?
Cetus зазнав атаки на суму 230 мільйонів доларів США, екосистема SUI зіткнулася з серйозною проблемою безпеки.
Аналіз атаки на Cetus на суму 230 мільйонів доларів
22 травня постачальник ліквідності екосистеми SUI Cetus, ймовірно, зазнав атаки, що призвело до значного зниження глибини ліквідностного пулу, кілька торгових пар впали, очікувані збитки перевищують 230 мільйонів доларів США. Cetus пізніше опублікував оголошення про те, що призупинив смарт-контракт і проводить розслідування цього інциденту.
Аналіз атак
Зловмисники, ретельно конструюючи параметри, використовують вразливість переповнення для обходу виявлення, обмінюючи дуже невелику суму токенів на величезні ліквідні активи. Основні кроки такі:
Внаслідок великого запозичення haSUI через блискавичний кредит ціна в пулі впала на 99,90%.
Відкриття ліквідних позицій у дуже вузькому ціновому діапазоні, ширина діапазону становить лише 1.00496621%.
Заявлено про додавання величезної ліквідності, але насправді додано лише 1 токен A. Це ядро атаки, яке використовує уразливість обходу перевірки переповнення в функції get_delta_a.
Видалення ліквідності приносить величезні токенові вигоди, чистий прибуток близько 10 мільйонів haSUI та 5,76 мільйона SUI.
Причини вразливості
функція checked_shlw має серйозні недоліки у реалізації:
Виправлення проекту
Cetus випустив патч з виправленнями, що головним чином виправляє функцію checked_shlw:
Аналіз руху коштів
Зловмисник отримав прибуток приблизно 230 мільйонів доларів США, включаючи SUI, vSUI, USDC та інші активи. Частина коштів була переведена через крос-чейн міст до адреси EVM. Приблизно 10 мільйонів доларів США було внесено до Suilend, 24 мільйони SUI переведені на нову адресу.
На щастя, фонд SUI успішно заморозив вкрадені кошти в розмірі 162 мільйонів доларів.
На адресі отримання в EVM було неодноразово проведено обмін токенів, і 20000 ETH було переведено на нову адресу. Наразі на цьому рахунку залишилося 3244 ETH.
Підсумок
Цей напад продемонстрував небезпеку вразливості математичного переповнення. Розробники повинні суворо перевіряти всі граничні умови математичних функцій у смарт-контрактах, щоб запобігти таким складним математичним атакам.