Смертельний залишок: Аналіз події у 30 тисяч доларів, що сталася внаслідок тимчасового зберігання у блокчейні
30 березня 2025 року, певна система моніторингу безпеки у блокчейні виявила атаку на проект з використанням кредитного плеча в мережі Ethereum, що призвело до збитків понад 300 тисяч доларів. Команда безпеки провела детальний аналіз цього інциденту і тепер ділиться результатами:
Фон
Версія Solidity 0.8.24 впровадила функціонал тимчасового зберігання на основі EIP-1153. Це нове місце для зберігання даних, яке забезпечує розробникам низьковартісний, ефективний під час транзакцій спосіб тимчасового зберігання. Основні характеристики тимчасового зберігання включають:
Низька вартість газу: операція споживає 100 газу, що значно менше, ніж звичайні операції зберігання.
Тривалість даних у транзакції: дані залишаються дійсними протягом усієї транзакції.
Автоматичне очищення: після завершення транзакції тимчасове сховище автоматично скидається до нуля.
Аналіз подій
Основною причиною цього інциденту є те, що значення, які використовуються в tstore для тимчасового зберігання в функції, не очищуються після завершення виклику функції. Зловмисники скористалися цією особливістю, щоб створити певні шкідливі адреси та обійти перевірку прав для виведення токенів.
Кроки атаки такі:
Зловмисник створює два шкідливі токени A та B, а також створює ліквідність для цих двох токенів на певному DEX.
Викликати функцію initialize цільового контракту, щоб створити ринкову торгову платформу з важелем, використовуючи токен A як заставу, а токен B як борговий токен.
Викликати функцію mint, вкласти борговий токен B для випуску леверидж-токена. У цьому процесі адреса DEX-пулу та кількість випуску тимчасово зберігаються.
Створити адресу з кількістю, що дорівнює кількості, випущеній у тимчасовому сховищі, для шахрайського контракту.
Використовуючи шкідливий контракт для виклику зворотної функції цільового контракту, обійти автентифікацію, використовуючи залишкові значення в транзитному сховищі.
Нарешті, зловмисник, атакуючи контракт, безпосередньо викликає зворотний виклик цільового контракту, виводячи інші токени (такі як WBTC, WETH) для отримання прибутку.
Потоки коштів
Згідно з даними інструментів аналізу у блокчейні, зловмисники вкрали близько 300 тисяч доларів активів, включаючи:
17 814,8626 доларів США
1,4085 WBTC
119.871 ЗХ.
Ці активи потім були обміняні на WETH, загалом 193.1428 WETH були переведені в певний анонімний інструмент. Початкове фінансування зловмисника походило з 0.3 ETH, переведених у цей інструмент.
Рекомендації з безпеки
Проект повинен відповідно до бізнес-логіки відразу після завершення виклику функції використовувати tstore(key, 0) для очищення значень у тимчасовому сховищі.
Посилити аудит коду контрактів та безпекове тестування, зокрема звернути увагу на нові мовні особливості та їх потенційні ризики.
Запровадження багатократних механізмів перевірки, щоб уникнути масових втрат активів через єдину вразливість.
Регулярно проводити оцінку безпеки та сканування на вразливості, своєчасно усували потенційні проблеми.
Розглянути можливість впровадження системи безпекового моніторингу для реального відстеження аномальної торгової поведінки.
Ця подія знову нагадує нам, що при впровадженні нових технологій потрібно бути особливо обережними, повністю розуміти їхні характеристики та потенційні ризики. У той же час, безперервні заходи безпеки та регулярні аудити є критично важливими для забезпечення безпеки проектів у блокчейні.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
10 лайків
Нагородити
10
5
Поділіться
Прокоментувати
0/400
MemeTokenGenius
· 07-22 16:28
30w доларів так просто зникло? Скільки людей загинуло?
Переглянути оригіналвідповісти на0
WhaleStalker
· 07-21 21:55
Ще один смартконтракт впав у яму
Переглянути оригіналвідповісти на0
GateUser-1a2ed0b9
· 07-19 16:59
Знову хтось провалився. Хто сказав тобі жадати дешевизни.
Залишки миттєвого зберігання спричинили втрату активів у 300 000 доларів у блокчейні. Розробники повинні бути обережними з ризиками нових функцій.
Смертельний залишок: Аналіз події у 30 тисяч доларів, що сталася внаслідок тимчасового зберігання у блокчейні
30 березня 2025 року, певна система моніторингу безпеки у блокчейні виявила атаку на проект з використанням кредитного плеча в мережі Ethereum, що призвело до збитків понад 300 тисяч доларів. Команда безпеки провела детальний аналіз цього інциденту і тепер ділиться результатами:
Фон
Версія Solidity 0.8.24 впровадила функціонал тимчасового зберігання на основі EIP-1153. Це нове місце для зберігання даних, яке забезпечує розробникам низьковартісний, ефективний під час транзакцій спосіб тимчасового зберігання. Основні характеристики тимчасового зберігання включають:
Аналіз подій
Основною причиною цього інциденту є те, що значення, які використовуються в tstore для тимчасового зберігання в функції, не очищуються після завершення виклику функції. Зловмисники скористалися цією особливістю, щоб створити певні шкідливі адреси та обійти перевірку прав для виведення токенів.
Кроки атаки такі:
Потоки коштів
Згідно з даними інструментів аналізу у блокчейні, зловмисники вкрали близько 300 тисяч доларів активів, включаючи:
Ці активи потім були обміняні на WETH, загалом 193.1428 WETH були переведені в певний анонімний інструмент. Початкове фінансування зловмисника походило з 0.3 ETH, переведених у цей інструмент.
Рекомендації з безпеки
Ця подія знову нагадує нам, що при впровадженні нових технологій потрібно бути особливо обережними, повністю розуміти їхні характеристики та потенційні ризики. У той же час, безперервні заходи безпеки та регулярні аудити є критично важливими для забезпечення безпеки проектів у блокчейні.