Взлом Poly Network: подделан держатель контракта EthCrossChainData

robot
Генерация тезисов в процессе

Анализ инцидента с атакой на Poly Network

Недавно протокол межсетевого взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий интерес в отрасли. По анализу команды безопасности, эта атака не была вызвана утечкой закрытого ключа keeper, а злоумышленник успешно изменил адрес keeper контракта EthCrossChainData, используя тщательно подготовленные данные.

Детали атаки

  1. Ядро атаки заключается в том, что функция verifyHeaderAndExecuteTx контракта EthCrossChainManager может выполнять определенные кросс-чейн транзакции через функцию _executeCrossChainTx.

  2. Владение контрактом EthCrossChainData принадлежит контракту EthCrossChainManager, что позволяет последнему вызывать функцию putCurEpochConPubKeyBytes для изменения keeper.

  3. Злоумышленник использует особенности функции verifyHeaderAndExecuteTx, передавая тщательно разработанные данные, чтобы вызвать функцию putCurEpochConPubKeyBytes контракта EthCrossChainData из функции _executeCrossChainTx, тем самым изменяя роль хранителя на адрес, указанный злоумышленником.

  4. Завершив замену роли keeper, злоумышленник сможет свободно создавать транзакции и извлекать любое количество средств из контракта.

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

  1. Атакующий сначала вызывает функцию putCurEpochConPubKeyBytes через функцию verifyHeaderAndExecuteTx контракта EthCrossChainManager, успешно изменяя keeper.

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

  3. Из-за изменения keeper другие пользователи не могут выполнить свои обычные сделки.

  4. Эта модель атаки происходит не только в сети BSC, но и в сети Ethereum появились аналогичные действия.

!

Заключение

Основная причина этой атаки заключается в том, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, а функция verifyHeaderAndExecuteTx контракта EthCrossChainManager может выполнять данные, переданные пользователем. Атакующий воспользовался этим проектным уязвимостью, успешно изменив адрес keeper контракта EthCrossChainData с помощью тщательно сконструированных данных, что привело к кражам средств. Этот инцидент еще раз напоминает нам о важности управления правами и безопасности вызовов функций в проектировании смарт-контрактов.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Репост
  • Поделиться
комментарий
0/400
RetailTherapistvip
· 4ч назад
Еще один был атакован и ушел.
Посмотреть ОригиналОтветить0
StableGeniusDegenvip
· 5ч назад
Ещё прохладно~
Посмотреть ОригиналОтветить0
NotSatoshivip
· 5ч назад
Снова хакер устроил проблемы
Посмотреть ОригиналОтветить0
ShibaSunglassesvip
· 5ч назад
Снова черный рынок?
Посмотреть ОригиналОтветить0
SorryRugPulledvip
· 5ч назад
Снова мошенничество? Я уже привык.
Посмотреть ОригиналОтветить0
RektButSmilingvip
· 5ч назад
Снова проблемы? Keeper тоже небезопасен?
Посмотреть ОригиналОтветить0
  • Закрепить