Анализ инцидента атаки хакеров на протокол Poly Network
Недавно протокол межсетевого взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий резонанс в отрасли. Команда безопасности провела глубокий анализ данного инцидента и пришла к выводу, что злоумышленник смог изменить адрес keeper контракта EthCrossChainData, используя хитроумно сконструированные данные, а не из-за утечки приватного ключа keeper, как ранее утверждалось.
Атака на ядро
Ключ к атаке заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять определенные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владельцем контракта EthCrossChainData является контракт EthCrossChainManager, последний может вызывать функцию putCurEpochConPubKeyBytes первого, чтобы изменить хранителя контракта.
Атакующий использует функцию verifyHeaderAndExecuteTx, передавая тщательно разработанные данные, чтобы вызвать функцию putCurEpochConPubKeyBytes контракта EthCrossChainData через функцию _executeCrossChainTx, тем самым изменяя роль хранителя на адрес, указанный атакующим. Завершив этот шаг, атакующий сможет произвольно конструировать транзакции и извлекать любое количество средств из контракта.
Процесс атаки
Атакующий сначала через функцию verifyHeaderAndExecuteTx контракта EthCrossChainManager вызывает функцию putCurEpochConPubKeyBytes, изменяя keeper.
Затем злоумышленник начал выполнять серию атакующих транзакций, извлекая средства из контракта.
Из-за того, что keeper был изменен, другие пользователи не смогли выполнить свои обычные сделки.
Подобные методы атак также были применены в сети Эфириум.
!
Вывод
Основная причина данной атаки заключается в том, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, а функция verifyHeaderAndExecuteTx последнего может выполнять данные, переданные пользователем. Нападающий использовал эту уязвимость, создав определенные данные, и успешно изменил адрес keeper контракта EthCrossChainData. Это открытие развеяло ранее существовавшие неверные слухи о утечке приватного ключа keeper.
Данный инцидент снова подчеркивает важность безопасности跨链协议. Для сложных систем смарт-контрактов, особенно для проектов, связанных с跨链操作, необходимы более строгие аудиты безопасности и оценка рисков. В то же время это также напоминает разработчикам блокчейн-проектов уделять особое внимание управлению правами и проверке данных, чтобы предотвратить использование подобных уязвимостей.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
5
Репост
Поделиться
комментарий
0/400
failed_dev_successful_ape
· 08-15 16:03
gg Старый приятель был пронзен цепями
Посмотреть ОригиналОтветить0
OnChainArchaeologist
· 08-15 16:03
Слишком много украденных денег, сваливаю.
Посмотреть ОригиналОтветить0
retroactive_airdrop
· 08-15 16:01
Целый день только и атакуют.
Посмотреть ОригиналОтветить0
TeaTimeTrader
· 08-15 15:48
Не притворяйся, все свои.
Посмотреть ОригиналОтветить0
DeadTrades_Walking
· 08-15 15:43
Смарт-контракты тоже не особо полезны, каждый день взламывают.
Раскрытие причин хакерской атаки на Poly Network: контракт EthCrossChainData keeper был изменен.
Анализ инцидента атаки хакеров на протокол Poly Network
Недавно протокол межсетевого взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий резонанс в отрасли. Команда безопасности провела глубокий анализ данного инцидента и пришла к выводу, что злоумышленник смог изменить адрес keeper контракта EthCrossChainData, используя хитроумно сконструированные данные, а не из-за утечки приватного ключа keeper, как ранее утверждалось.
Атака на ядро
Ключ к атаке заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять определенные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владельцем контракта EthCrossChainData является контракт EthCrossChainManager, последний может вызывать функцию putCurEpochConPubKeyBytes первого, чтобы изменить хранителя контракта.
Атакующий использует функцию verifyHeaderAndExecuteTx, передавая тщательно разработанные данные, чтобы вызвать функцию putCurEpochConPubKeyBytes контракта EthCrossChainData через функцию _executeCrossChainTx, тем самым изменяя роль хранителя на адрес, указанный атакующим. Завершив этот шаг, атакующий сможет произвольно конструировать транзакции и извлекать любое количество средств из контракта.
Процесс атаки
Атакующий сначала через функцию verifyHeaderAndExecuteTx контракта EthCrossChainManager вызывает функцию putCurEpochConPubKeyBytes, изменяя keeper.
Затем злоумышленник начал выполнять серию атакующих транзакций, извлекая средства из контракта.
Из-за того, что keeper был изменен, другие пользователи не смогли выполнить свои обычные сделки.
Подобные методы атак также были применены в сети Эфириум.
!
Вывод
Основная причина данной атаки заключается в том, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, а функция verifyHeaderAndExecuteTx последнего может выполнять данные, переданные пользователем. Нападающий использовал эту уязвимость, создав определенные данные, и успешно изменил адрес keeper контракта EthCrossChainData. Это открытие развеяло ранее существовавшие неверные слухи о утечке приватного ключа keeper.
Данный инцидент снова подчеркивает важность безопасности跨链协议. Для сложных систем смарт-контрактов, особенно для проектов, связанных с跨链操作, необходимы более строгие аудиты безопасности и оценка рисков. В то же время это также напоминает разработчикам блокчейн-проектов уделять особое внимание управлению правами и проверке данных, чтобы предотвратить использование подобных уязвимостей.