Уязвимость временного хранилища привела к атаке на проект на сумму 300000 долларов США, в блокчейне снова прозвучал тревожный сигнал о безопасности.

Уязвимость временного хранения привела к атаке на проект в блокчейне на 300000 долларов США

30 марта 2025 года на Ethereum в блокчейне был атакован проект по маржинальной торговле, в результате чего был потерян актив на сумму более 300 000 долларов США. Команда безопасности провела глубокий анализ этого инцидента, и ниже приведены соответствующие выводы:

Фон события

Атакующий использовал уязвимость в функции временного хранения, введенной в версии Solidity 0.8.24. Временное хранение — это новое место для хранения данных, предназначенное для обеспечения временного хранения с низкими затратами, эффективного в течение транзакции. Оно реализовано с помощью инструкций TSTORE и TLOAD и имеет такие характеристики, как низкая стоимость газа, долговечность в транзакциях и автоматическое удаление.

Смертельный остаток: ограбление на сумму 300000 долларов, вызванное временным хранилищем в блокчейне

Источник атаки

Основная причина атаки заключается в том, что значения, используемые в функции tstore для временного хранения, не очищаются после завершения вызова функции. Злоумышленник использует эту особенность для создания определенного злонамеренного адреса, чтобы обойти проверку прав и вывести токены из проекта.

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

Процесс атаки

  1. Создание вредоносных токенов и создание торгового пула: злоумышленник создает два вредоносных токена A и B и создает пул для этих токенов на одном DEX, injecting ликвидность.

Смертельные остатки: ограбление в $300,000, вызванное временным хранилищем в блокчейне

  1. Инициализация рынка маржинальной торговли: злоумышленник вызывает функцию initialize контракта проекта, используя токены A в качестве залога и токены B в качестве долговых токенов для создания рынка маржинальной торговли.

Смертельное наследие: ограбление на сумму 300000 долларов в блокчейне, вызванное временным хранилищем

  1. Чтение токенов с кредитным плечом: злоумышленник вызывает функцию mint, вносит долговой токен B для создания токена с кредитным плечом. В этом процессе адрес пула DEX и количество создаваемых токенов временно хранятся.

Смертельные остатки: ограбление на 300000 долларов в блокчейне, вызванное временным хранением

  1. Создание вредоносного контракта: злоумышленник создает адрес с вредоносным контрактом, количество которого совпадает с количеством, зафиксированным во временном хранилище.

Смертельный остаток: ограбление на 300000 долларов, вызванное временным хранением в блокчейне

  1. Обход проверки прав: злоумышленник вызывает обратный вызов контракта проекта через вредоносный контракт, и поскольку значения во временном хранилище не были очищены, проверка прав проходит некорректно.

Смертельный остаток: ограбление в 300 000 долларов, вызванное временным хранилищем в блокчейне

  1. Вывод активов: в конце концов, злоумышленник непосредственно вызывает функцию обратного вызова проектного контракта через атакующий контракт, выводя другие токены (такие как WBTC, WETH) из контракта для получения прибыли.

Смертельный остаток: ограбление в 300000 долларов в блокчейне, вызванное временным хранилищем

Оценка убытков

Согласно данным инструментов анализа в блокчейне, злоумышленник похитил активы на сумму около 300 000 долларов, включая 17 814.8626 USDC, 1.4085 WBTC и 119.871 WETH. Эти активы затем были обменены и переведены в какую-то анонимную систему.

Смертельные остатки: ограбление в 300000 долларов в результате временного хранения в блокчейне

Рекомендации по безопасности

  1. Разумное использование временного хранилища: проектная команда должна в соответствии с бизнес-логикой сразу после завершения вызова функции использовать tstore(key, 0) для очистки значений во временном хранилище.

Смертельные остатки: ограбление на сумму 300000 долларов в блокчейне, вызванное временным хранением

  1. Укрепление аудита контрактов: необходимо провести всесторонний аудит безопасности и тестирование кода контрактов проекта, чтобы выявить и исправить потенциальные уязвимости.

Смертельные остатки: ограбление в 300 000 долларов, вызванное временным хранилищем в блокчейне

  1. Усовершенствование проверки прав доступа: внедрение многофакторной системы проверки в ключевых операциях, чтобы избежать обхода единственной проверки.

Смертельный остаток: ограбление на сумму 300000 долларов, вызванное временным хранилищем в блокчейне

  1. Мониторинг аномальной активности: развертывание системы мониторинга в реальном времени для своевременного обнаружения и реагирования на подозрительные транзакции.

Смертельные остатки: ограбление на сумму 300000 долларов, вызванное временным хранилищем в блокчейне

Данное событие еще раз подчеркивает важность проведения全面安全评估 при внедрении новых технологических характеристик. С развитием технологий в блокчейне, проектные команды должны оставаться бдительными и постоянно обновлять практики безопасности, чтобы справляться с постоянно эволюционирующими методами атак.

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

Смертельное наследие: ограбление на сумму 300000 долларов в блокчейне, вызванное временным хранилищем

Смертельные остатки: ограбление в 300000 долларов, вызванное временным хранением в блокчейне

Смертельные остатки: ограбление на сумму 300000 долларов, вызванное временным хранилищем в блокчейне

WBTC-0.27%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 3
  • Поделиться
комментарий
0/400
GasBankruptervip
· 07-27 11:42
Ещё одна уязвимость.
Посмотреть ОригиналОтветить0
WalletDivorcervip
· 07-25 07:46
Потерянные деньги — это уроки.
Посмотреть ОригиналОтветить0
MetaMuskRatvip
· 07-25 07:31
Довольно дорогой урок.
Посмотреть ОригиналОтветить0
  • Закрепить