Вразливість тимчасового зберігання призвела до збитків у 300 000 доларів для проектів Маржинальної торгівлі. Зловмисники перенесли WBTC та WETH.

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

Вразливість миттєвого зберігання призвела до втрати 300 000 доларів у блокчейні проекту

30 березня 2025 року проект з маржинальної торгівлі на Ethereum зазнав атаки, що призвела до втрат активів на понад 300 тисяч доларів. Команда безпеки провела глибокий аналіз цього інциденту, розкриваючи технічні деталі атаки та її корінні причини.

Смертельні залишки: злочин у 300 тисяч доларів, спричинений транзитним зберіганням у блокчейні

Фонові події

Атака була націлена на проект з маржинальної торгівлі під назвою SIR.trading. Зловмисники успішно використали вразливість у контракті цього проекту, що призвело до незаконного переміщення великої кількості активів.

Смертельний залишок: злочин у 30 тисяч доларів, спричинений тимчасовим зберіганням у блокчейні

Аналіз технічних причин

Ця атака виникла через проблему, пов'язану з функцією миттєвого зберігання, введеною в версії Solidity 0.8.24, яка має ідентифікатор (transient storage). Миттєве зберігання є новим місцем для зберігання даних, яке спрямоване на забезпечення низької вартості та ефективного тимчасового зберігання під час транзакції. Однак у цьому випадку неналежне використання миттєвого зберігання призвело до серйозної вразливості безпеки.

Основною причиною атаки є те, що значення, що використовуються в контракті для тимчасового зберігання tstore, не очищаються належним чином після завершення виклику функції. Це дозволяє зловмиснику створити певну шкідливу адресу, обійти перевірку прав і незаконно вивести токени.

Смертельні залишки: пограбування на 300 тисяч доларів, спричинене тимчасовим зберіганням у блокчейні

Процес атаки

  1. Зловмисник створює два шкідливі токени A та B і створює ліквідність для цих токенів на певному DEX.
  2. Зловмисник використовує ці два токени для створення нового ринкового простору з важелями в цільовому проєкті.
  3. Завдяки ретельно спроектованій угоді, зловмисник залишив конкретне значення у тимчасовій пам'яті.
  4. Зловмисник створює шкідливий контракт, адреса якого співпадає з раніше збереженим значенням.
  5. Використовуючи цей шкідливий контракт, зловмисник успішно обійшов перевірку прав у контракті проєкту.
  6. Врешті-решт, зловмисник успішно вивів інші токени (такі як WBTC, WETH) з контракту проекту для отримання прибутку.

Смертельний залишок: злочин у 30 тисяч доларів, спричинений транзитним зберіганням у блокчейні

Смертельні залишки: пограбування у 300 000 доларів, викликане миттєвим зберіганням у блокчейні

Смертельні залишки: пограбування у 300 тисяч доларів, викликане тимчасовим зберіганням у блокчейні

Смертельні залишки: справа про 300 тисяч доларів у блокчейні, що викликана транзитним зберіганням

Смертельні залишки: пограбування на 300 тисяч доларів у блокчейні, спричинене тимчасовим сховищем

Смертельний залишок: злочин у 30 тисяч доларів, спричинений миттєвим зберіганням у блокчейні

Смертельні залишки: злочин у 300 тисяч доларів, спричинений транзитним зберіганням у блокчейні

Смертельні залишки: пограбування у 300 тисяч доларів, спричинене транзитним зберіганням у блокчейні

Смертельний залишок: напад у 300 тисяч доларів, викликаний транзитним зберіганням у блокчейні

Смертельний залишок: напад на 300 тисяч доларів у блокчейні, викликаний транзитним зберіганням

Смертельне залишок: справа про 300 тисяч доларів у блоці, викликана транзитним зберіганням

Аналіз руху коштів

Згідно з аналізом даних у блокчейні, зловмисники вкрали приблизно 300 тисяч доларів активів, включаючи:

  • 17 814,8626 доларів США
  • 1,4085 WBTC
  • 119.871 ЗХ.

Ці вкрадені активи потім були обміняні на WETH, в загальному приблизно 193,1428 WETH, і були переведені в певний анонімний торговий протокол.

Слід зазначити, що початковий капітал атакуючого (0.3 ETH) також походить з того ж протоколу конфіденційності, що може вказувати на те, що атакуючий намагається приховати свою особистість та джерело фінансування.

Смертельний залишок: напад у 300 тисяч доларів, спричинений транзитним зберіганням у блокчейні

Смертельний залишок: пограбування на 300 тисяч доларів, спричинене тимчасовим зберіганням у блокчейні

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

Щоб запобігти повторенню подібних інцидентів, експерти з безпеки радять:

  1. При використанні транзитного сховища слід відразу після завершення виклику функції використати tstore(key, 0) для очищення збереженого значення.
  2. Посилити аудит і безпекове тестування коду контракту, особливо звертаючи особливу увагу на нові впроваджені функції.
  3. При реалізації ключових перевірок прав доступу уникайте надмірної залежності від потенційно маніпульованих механізмів зберігання.

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

Смертельні залишки: пограбування у блокчейні на 300 тисяч доларів, спричинене транзитним зберіганням

WBTC0.51%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
StableGeniusDegenvip
· 11год тому
Знову сталося
Переглянути оригіналвідповісти на0
LeekCuttervip
· 11год тому
Знову прийшли збирати невдах.
Переглянути оригіналвідповісти на0
CommunityWorkervip
· 11год тому
знову 0 аудитних проєктів обдурювали людей, як лохів
Переглянути оригіналвідповісти на0
  • Закріпити