Остатки временного хранилища привели к убыткам в 300 000 долларов в блокчейне. Разработчики должны быть внимательны к рискам новых функций.

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

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

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

Фон

Версия Solidity 0.8.24 внедрила характеристики временного хранилища на основе EIP-1153. Это новое место хранения данных, которое предоставляет разработчикам способ временного хранения с низкими затратами, действующее в течение транзакции. Основные характеристики временного хранилища включают:

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

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

Анализ событий

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

Шаги атаки следующие:

  1. Нападающий создает два вредоносных токена A и B и создает ликвидный пул для этих токенов на одном DEX.

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

  1. Вызовите функцию initialize целевого контракта, чтобы создать рынок маржинальной торговли с токеном A в качестве залога и токеном B в качестве долгового токена.

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

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

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

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

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

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

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

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

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

Направление движения средств

Согласно данным инструментов анализа в блокчейне, злоумышленники похитили около 300000 долларов США активов, включая:

  • 17,814.8626 USDC
  • 1.4085 WBTC
  • 119.871 ВТ

Эти активы затем были обменены на WETH, в общей сложности 193.1428 WETH были переведены в какой-то анонимный инструмент. Исходный источник средств злоумышленника составил 0.3 ETH, переведенные в этот инструмент.

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

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

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

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

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

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

  1. Реализация многоуровневого механизма верификации для предотвращения массовых потерь активов из-за единой уязвимости.

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

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

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

  1. Рассмотрите возможность внедрения системы безопасности для实时监测异常交易行为.

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

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

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

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
MemeTokenGeniusvip
· 07-22 16:28
30w долларов так просто пропали? Сколько людей из-за этого погибло?
Посмотреть ОригиналОтветить0
WhaleStalkervip
· 07-21 21:55
Еще один смарт-контракт попал в ловушку.
Посмотреть ОригиналОтветить0
GateUser-1a2ed0b9vip
· 07-19 16:59
Снова кто-то потерпел неудачу. Кто заставил тебя жадничать?
Посмотреть ОригиналОтветить0
ProxyCollectorvip
· 07-19 16:55
又被 разыгрывайте людей как лохов 30w,啧啧
Посмотреть ОригиналОтветить0
BugBountyHuntervip
· 07-19 16:50
Настоящий • Ловкость рук на максимуме!
Посмотреть ОригиналОтветить0
  • Закрепить