Уязвимость временного хранения привела к атаке на проект в блокчейне на 300000 долларов США
30 марта 2025 года на Ethereum в блокчейне был атакован проект по маржинальной торговле, в результате чего был потерян актив на сумму более 300 000 долларов США. Команда безопасности провела глубокий анализ этого инцидента, и ниже приведены соответствующие выводы:
Фон события
Атакующий использовал уязвимость в функции временного хранения, введенной в версии Solidity 0.8.24. Временное хранение — это новое место для хранения данных, предназначенное для обеспечения временного хранения с низкими затратами, эффективного в течение транзакции. Оно реализовано с помощью инструкций TSTORE и TLOAD и имеет такие характеристики, как низкая стоимость газа, долговечность в транзакциях и автоматическое удаление.
Источник атаки
Основная причина атаки заключается в том, что значения, используемые в функции tstore для временного хранения, не очищаются после завершения вызова функции. Злоумышленник использует эту особенность для создания определенного злонамеренного адреса, чтобы обойти проверку прав и вывести токены из проекта.
Процесс атаки
Создание вредоносных токенов и создание торгового пула: злоумышленник создает два вредоносных токена A и B и создает пул для этих токенов на одном DEX, injecting ликвидность.
Инициализация рынка маржинальной торговли: злоумышленник вызывает функцию initialize контракта проекта, используя токены A в качестве залога и токены B в качестве долговых токенов для создания рынка маржинальной торговли.
Чтение токенов с кредитным плечом: злоумышленник вызывает функцию mint, вносит долговой токен B для создания токена с кредитным плечом. В этом процессе адрес пула DEX и количество создаваемых токенов временно хранятся.
Создание вредоносного контракта: злоумышленник создает адрес с вредоносным контрактом, количество которого совпадает с количеством, зафиксированным во временном хранилище.
Обход проверки прав: злоумышленник вызывает обратный вызов контракта проекта через вредоносный контракт, и поскольку значения во временном хранилище не были очищены, проверка прав проходит некорректно.
Вывод активов: в конце концов, злоумышленник непосредственно вызывает функцию обратного вызова проектного контракта через атакующий контракт, выводя другие токены (такие как WBTC, WETH) из контракта для получения прибыли.
Оценка убытков
Согласно данным инструментов анализа в блокчейне, злоумышленник похитил активы на сумму около 300 000 долларов, включая 17 814.8626 USDC, 1.4085 WBTC и 119.871 WETH. Эти активы затем были обменены и переведены в какую-то анонимную систему.
Рекомендации по безопасности
Разумное использование временного хранилища: проектная команда должна в соответствии с бизнес-логикой сразу после завершения вызова функции использовать tstore(key, 0) для очистки значений во временном хранилище.
Укрепление аудита контрактов: необходимо провести всесторонний аудит безопасности и тестирование кода контрактов проекта, чтобы выявить и исправить потенциальные уязвимости.
Усовершенствование проверки прав доступа: внедрение многофакторной системы проверки в ключевых операциях, чтобы избежать обхода единственной проверки.
Мониторинг аномальной активности: развертывание системы мониторинга в реальном времени для своевременного обнаружения и реагирования на подозрительные транзакции.
Данное событие еще раз подчеркивает важность проведения全面安全评估 при внедрении новых технологических характеристик. С развитием технологий в блокчейне, проектные команды должны оставаться бдительными и постоянно обновлять практики безопасности, чтобы справляться с постоянно эволюционирующими методами атак.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Уязвимость временного хранилища привела к атаке на проект на сумму 300000 долларов США, в блокчейне снова прозвучал тревожный сигнал о безопасности.
Уязвимость временного хранения привела к атаке на проект в блокчейне на 300000 долларов США
30 марта 2025 года на Ethereum в блокчейне был атакован проект по маржинальной торговле, в результате чего был потерян актив на сумму более 300 000 долларов США. Команда безопасности провела глубокий анализ этого инцидента, и ниже приведены соответствующие выводы:
Фон события
Атакующий использовал уязвимость в функции временного хранения, введенной в версии Solidity 0.8.24. Временное хранение — это новое место для хранения данных, предназначенное для обеспечения временного хранения с низкими затратами, эффективного в течение транзакции. Оно реализовано с помощью инструкций TSTORE и TLOAD и имеет такие характеристики, как низкая стоимость газа, долговечность в транзакциях и автоматическое удаление.
Источник атаки
Основная причина атаки заключается в том, что значения, используемые в функции tstore для временного хранения, не очищаются после завершения вызова функции. Злоумышленник использует эту особенность для создания определенного злонамеренного адреса, чтобы обойти проверку прав и вывести токены из проекта.
Процесс атаки
Оценка убытков
Согласно данным инструментов анализа в блокчейне, злоумышленник похитил активы на сумму около 300 000 долларов, включая 17 814.8626 USDC, 1.4085 WBTC и 119.871 WETH. Эти активы затем были обменены и переведены в какую-то анонимную систему.
Рекомендации по безопасности
Данное событие еще раз подчеркивает важность проведения全面安全评估 при внедрении новых технологических характеристик. С развитием технологий в блокчейне, проектные команды должны оставаться бдительными и постоянно обновлять практики безопасности, чтобы справляться с постоянно эволюционирующими методами атак.