Анализ инцидента с атакой на протокол Poly Network
На днях кросс-чейн протокол Poly Network стал целью хакерской атаки, что вызвало широкий интерес в отрасли. Эксперты по безопасности провели глубокий анализ данного инцидента, раскрыв конкретные методы злоумышленников.
Основная проблема этой атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять конкретные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владелец контракта EthCrossChainData является контрактом EthCrossChainManager, последний может вызывать функцию putCurEpochConPubKeyBytes первого контракта для изменения хранителя контракта.
Атакующий использовал этот дизайн-уязвимость, передав тщательно сконструированные данные в функцию verifyHeaderAndExecuteTx, что привело к вызову функции putCurEpochConPubKeyBytes контракта EthCrossChainData через функцию _executeCrossChainTx, тем самым изменив роль хранителя на адрес, указанный атакующим. Завершив этот этап, атакующий мог произвольно конструировать транзакции и извлекать любое количество средств из контракта.
Конкретный процесс атаки следующий:
Нападающий сначала зафиксировал целевой контракт.
С помощью функции verifyHeaderAndExecuteTx контракта EthCrossChainManager была вызвана функция putCurEpochConPubKeyBytes, которая изменила keeper.
Затем были осуществлены несколько атакующих сделок, из которых были извлечены средства из контракта.
Из-за изменения keeper нормальные транзакции других пользователей сразу были отклонены.
Стоит отметить, что этот инцидент не был вызван утечкой приватного ключа keeper, а злоумышленники ловко воспользовались недостатками в дизайне контракта. Этот случай еще раз подчеркивает важность аудита безопасности смарт-контрактов, особенно для сложных кросс-цепочных протоколов.
Команда разработчиков и эксперты по безопасности должны извлечь уроки из этого инцидента, усилить проверку управления правами контракта и логики вызова функций, чтобы предотвратить подобные атаки. Также напоминаем пользователям быть осторожными при использовании новых DeFi-протоколов и обращать внимание на риск.
!
Посмотреть Оригинал
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.
5 Лайков
Награда
5
3
Поделиться
комментарий
0/400
SerumSquirrel
· 07-07 15:55
Снова попал в ловушку.
Посмотреть ОригиналОтветить0
ParanoiaKing
· 07-07 15:54
Эти уязвимости в безопасности встречаются часто, кто понимает, тот понимает.
Взлом Poly Network: недоработка в дизайне контракта привела к выводу средств
Анализ инцидента с атакой на протокол Poly Network
На днях кросс-чейн протокол Poly Network стал целью хакерской атаки, что вызвало широкий интерес в отрасли. Эксперты по безопасности провели глубокий анализ данного инцидента, раскрыв конкретные методы злоумышленников.
Основная проблема этой атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять конкретные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владелец контракта EthCrossChainData является контрактом EthCrossChainManager, последний может вызывать функцию putCurEpochConPubKeyBytes первого контракта для изменения хранителя контракта.
Атакующий использовал этот дизайн-уязвимость, передав тщательно сконструированные данные в функцию verifyHeaderAndExecuteTx, что привело к вызову функции putCurEpochConPubKeyBytes контракта EthCrossChainData через функцию _executeCrossChainTx, тем самым изменив роль хранителя на адрес, указанный атакующим. Завершив этот этап, атакующий мог произвольно конструировать транзакции и извлекать любое количество средств из контракта.
Конкретный процесс атаки следующий:
Нападающий сначала зафиксировал целевой контракт.
С помощью функции verifyHeaderAndExecuteTx контракта EthCrossChainManager была вызвана функция putCurEpochConPubKeyBytes, которая изменила keeper.
Затем были осуществлены несколько атакующих сделок, из которых были извлечены средства из контракта.
Из-за изменения keeper нормальные транзакции других пользователей сразу были отклонены.
Стоит отметить, что этот инцидент не был вызван утечкой приватного ключа keeper, а злоумышленники ловко воспользовались недостатками в дизайне контракта. Этот случай еще раз подчеркивает важность аудита безопасности смарт-контрактов, особенно для сложных кросс-цепочных протоколов.
Команда разработчиков и эксперты по безопасности должны извлечь уроки из этого инцидента, усилить проверку управления правами контракта и логики вызова функций, чтобы предотвратить подобные атаки. Также напоминаем пользователям быть осторожными при использовании новых DeFi-протоколов и обращать внимание на риск.
!