Анализ хакерской атаки на Poly Network: Уязвимость контракта привела к изменению keeper

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

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

Подробности атаки

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

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

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

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

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

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

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

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

  4. Похожие методы атак также были реализованы в сети Эфириум.

!

Вывод

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Репост
  • Поделиться
комментарий
0/400
NFTBlackHolevip
· 08-05 02:09
Это снова典型ный случай, когда уязвимость被利用.
Посмотреть ОригиналОтветить0
Lonely_Validatorvip
· 08-03 14:54
Действительно, это снова уязвимость контракта.
Посмотреть ОригиналОтветить0
LazyDevMinervip
· 08-02 14:40
Все еще исправляешь баги в контракте? Развалился.
Посмотреть ОригиналОтветить0
SnapshotStrikervip
· 08-02 14:35
обречено обречено кто не был обманут
Посмотреть ОригиналОтветить0
RadioShackKnightvip
· 08-02 14:32
Еще один упал
Посмотреть ОригиналОтветить0
  • Закрепить