Poly Network подвергся атаке Хакера: анализ раскрывает детали атаки
Недавно протокол межсетевого взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий интерес в отрасли. Команда безопасности провела глубокий анализ этого инцидента и раскрыла конкретные методы злоумышленников.
Атака ядра
Анализ показывает, что основа этой атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может быть использована для выполнения конкретной кросс-цепочной транзакции через функцию _executeCrossChainTx. Злоумышленники использовали этот механизм, искусно изменяя ключевую роль keeper в системе.
Детали атаки
Владелец контракта EthCrossChainData является контрактом EthCrossChainManager. Это позволяет последнему вызывать функцию putCurEpochConPubKeyBytes первого, изменяя хранителя контракта.
Функция verifyHeaderAndExecuteTx может выполнять указанную пользователем кросс-чейн транзакцию через внутренний вызов функции _executeCrossChainTx.
Нападающий передает тщательно сконструированные данные через функцию verifyHeaderAndExecuteTx, что приводит к вызову функции putCurEpochConPubKeyBytes контракта EthCrossChainData в функции _executeCrossChainTx, тем самым изменяя роль хранителя на адрес, указанный нападающим.
После успешной замены адреса роли keeper, злоумышленник сможет произвольно создавать транзакции и извлекать любое количество средств из контракта.
!
Влияние атаки
После завершения атаки, из-за изменения keeper, обычные транзакции других пользователей были отклонены. Эта атака затронула не только сеть BSC, но и в сети Эфириума произошли аналогичные операции.
Заключение
Основная причина этой атаки заключается в том, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, а функция verifyHeaderAndExecuteTx последнего может выполнять данные, переданные пользователем. Атакующий использовал этот проектный недостаток, изменив keeper с помощью специально сформированных данных, а не через утечку приватного ключа keeper, как ранее сообщалось.
Это событие еще раз подчеркивает важность безопасности смарт-контрактов, особенно в сложных системах, связанных с кросс-цепочными операциями. Разработчики должны более внимательно подходить к проектированию структуры прав контрактов и проводить всесторонний аудит безопасности, чтобы предотвратить подобные атаки.
Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
7 Лайков
Награда
7
4
Поделиться
комментарий
0/400
WealthCoffee
· 07-04 02:21
Слишком много уязвимостей в контрактах??
Посмотреть ОригиналОтветить0
LayerZeroHero
· 07-03 15:57
Снова на месте огромных убытков
Посмотреть ОригиналОтветить0
LiquidityWizard
· 07-03 15:53
rekt af... статистически говоря, кросс-чейн уязвимости были предсказуемы на 73.4%
Посмотреть ОригиналОтветить0
PaperHandsCriminal
· 07-03 15:44
Снова контракт пробит, слишком трудно справляться.
Подробности атаки Хакера на Poly Network: уязвимость EthCrossChainManager стала ключевой
Poly Network подвергся атаке Хакера: анализ раскрывает детали атаки
Недавно протокол межсетевого взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий интерес в отрасли. Команда безопасности провела глубокий анализ этого инцидента и раскрыла конкретные методы злоумышленников.
Атака ядра
Анализ показывает, что основа этой атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может быть использована для выполнения конкретной кросс-цепочной транзакции через функцию _executeCrossChainTx. Злоумышленники использовали этот механизм, искусно изменяя ключевую роль keeper в системе.
Детали атаки
Владелец контракта EthCrossChainData является контрактом EthCrossChainManager. Это позволяет последнему вызывать функцию putCurEpochConPubKeyBytes первого, изменяя хранителя контракта.
Функция verifyHeaderAndExecuteTx может выполнять указанную пользователем кросс-чейн транзакцию через внутренний вызов функции _executeCrossChainTx.
Нападающий передает тщательно сконструированные данные через функцию verifyHeaderAndExecuteTx, что приводит к вызову функции putCurEpochConPubKeyBytes контракта EthCrossChainData в функции _executeCrossChainTx, тем самым изменяя роль хранителя на адрес, указанный нападающим.
После успешной замены адреса роли keeper, злоумышленник сможет произвольно создавать транзакции и извлекать любое количество средств из контракта.
!
Влияние атаки
После завершения атаки, из-за изменения keeper, обычные транзакции других пользователей были отклонены. Эта атака затронула не только сеть BSC, но и в сети Эфириума произошли аналогичные операции.
Заключение
Основная причина этой атаки заключается в том, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, а функция verifyHeaderAndExecuteTx последнего может выполнять данные, переданные пользователем. Атакующий использовал этот проектный недостаток, изменив keeper с помощью специально сформированных данных, а не через утечку приватного ключа keeper, как ранее сообщалось.
Это событие еще раз подчеркивает важность безопасности смарт-контрактов, особенно в сложных системах, связанных с кросс-цепочными операциями. Разработчики должны более внимательно подходить к проектированию структуры прав контрактов и проводить всесторонний аудит безопасности, чтобы предотвратить подобные атаки.