Дефект временного хранения привел к потерям в 300000 долларов в блокчейне
30 марта 2025 года проект по маржинальной торговле на Ethereum подвергся атаке, в результате которой были потеряны активы на сумму более 300 000 долларов. Команда безопасности провела глубокий анализ этого инцидента, раскрывая технические детали атаки и ее коренные причины.
Фон события
Атака была направлена на проект маржинальной торговли под названием SIR.trading. Злоумышленники успешно использовали уязвимость в контракте этого проекта, в результате чего было незаконно переведено значительное количество активов.
Анализ технических причин
Основная проблема этой атаки связана с функцией временного хранения, введенной в версии Solidity 0.8.24, (transient storage). Временное хранение — это новое место для хранения данных, предназначенное для обеспечения временного хранения с низкими затратами, эффективного в течение транзакции. Однако в этом случае неправильное использование временного хранения привело к серьезной уязвимости безопасности.
Основная причина атаки заключается в том, что значения, используемые в tstore для временного хранения в контракте, не очищаются должным образом после завершения вызова функции. Это позволяет злоумышленникам конструировать определенные вредоносные адреса, обходить проверку прав и незаконно выводить токены.
Процесс атаки
Злоумышленник создает два вредоносных токена A и B и создает ликвидный пул для этих токенов на одном DEX.
Злоумышленник использует эти два токена для создания нового рынка маржинальной торговли в целевом проекте.
С помощью тщательно спроектированной сделки злоумышленник оставил определенное значение в временном хранилище.
Атакующий создает вредоносный контракт, адрес которого соответствует ранее сохраненному значению.
Используя этот злонамеренный контракт, злоумышленник успешно обошел проверку прав в контракте проекта.
В конечном итоге, злоумышленник успешно вывел другие токены из контракта проекта (такие как WBTC, WETH) для получения прибыли.
Анализ денежного потока
Согласно анализу данных в блокчейне, злоумышленники похитили активы на сумму около 300000 долларов, включая:
17,814.8626 USDC
1.4085 WBTC
119.871 ВТ
Эти украденные активы были обменены на WETH на общую сумму около 193.1428 WETH и были переведены в протокол анонимной торговли.
Стоит отметить, что начальный капитал злоумышленника (0.3 ETH) также поступил из того же протокола конфиденциальности, что может подразумевать, что злоумышленник пытается скрыть свою личность и источник средств.
Рекомендации по безопасности
Чтобы предотвратить повторение подобных инцидентов, специалисты по безопасности рекомендуют:
При использовании временного хранилища следует сразу после завершения вызова функции использовать tstore(key, 0) для очистки сохранённого значения.
Укрепить аудит и тестирование безопасности контрактного кода, особенно следует быть особенно осторожными с новыми введёнными функциями.
При реализации ключевых проверок прав избегайте чрезмерной зависимости от потенциально манипулируемых механизмов хранения.
Это событие еще раз подчеркивает, что при принятии новых технологических характеристик необходимо тщательно учитывать их потенциальное влияние на безопасность. Для проектов в блокчейне постоянный аудит безопасности и оценка рисков имеют решающее значение.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Уязвимость временного хранилища привела к убыткам в 300 000 долларов США в проекте Маржинальная торговля, злоумышленники перенесли WBTC и WETH.
Дефект временного хранения привел к потерям в 300000 долларов в блокчейне
30 марта 2025 года проект по маржинальной торговле на Ethereum подвергся атаке, в результате которой были потеряны активы на сумму более 300 000 долларов. Команда безопасности провела глубокий анализ этого инцидента, раскрывая технические детали атаки и ее коренные причины.
Фон события
Атака была направлена на проект маржинальной торговли под названием SIR.trading. Злоумышленники успешно использовали уязвимость в контракте этого проекта, в результате чего было незаконно переведено значительное количество активов.
Анализ технических причин
Основная проблема этой атаки связана с функцией временного хранения, введенной в версии Solidity 0.8.24, (transient storage). Временное хранение — это новое место для хранения данных, предназначенное для обеспечения временного хранения с низкими затратами, эффективного в течение транзакции. Однако в этом случае неправильное использование временного хранения привело к серьезной уязвимости безопасности.
Основная причина атаки заключается в том, что значения, используемые в tstore для временного хранения в контракте, не очищаются должным образом после завершения вызова функции. Это позволяет злоумышленникам конструировать определенные вредоносные адреса, обходить проверку прав и незаконно выводить токены.
Процесс атаки
Анализ денежного потока
Согласно анализу данных в блокчейне, злоумышленники похитили активы на сумму около 300000 долларов, включая:
Эти украденные активы были обменены на WETH на общую сумму около 193.1428 WETH и были переведены в протокол анонимной торговли.
Стоит отметить, что начальный капитал злоумышленника (0.3 ETH) также поступил из того же протокола конфиденциальности, что может подразумевать, что злоумышленник пытается скрыть свою личность и источник средств.
Рекомендации по безопасности
Чтобы предотвратить повторение подобных инцидентов, специалисты по безопасности рекомендуют:
Это событие еще раз подчеркивает, что при принятии новых технологических характеристик необходимо тщательно учитывать их потенциальное влияние на безопасность. Для проектов в блокчейне постоянный аудит безопасности и оценка рисков имеют решающее значение.