Poly Network подвергся серьезной хакерской атаке: уязвимость безопасности привела к значительным финансовым потерям
Недавно кросс-цепочный протокол Poly Network стал жертвой серьезной хакерской атаки, что вызвало широкий интерес в отрасли. Команда экспертов по безопасности провела глубокий анализ этого инцидента и раскрыла конкретные методы, которые использовали злоумышленники для получения контроля через уязвимость смарт-контрактов.
Суть атаки заключается в наличии уязвимости в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять кросс-цепочные транзакции, указанные пользователем, через внутреннюю функцию _executeCrossChainTx. Злоумышленник, используя тщательно подготовленные данные, воспользовался этой уязвимостью для изменения адреса роли keeper в контракте EthCrossChainData.
Владелец контракта EthCrossChainData является контрактом EthCrossChainManager, поэтому последний имеет право вызывать функцию putCurEpochConPubKeyBytes первого, чтобы изменить keeper. Злоумышленник именно это и использовал, передав специальную информацию в функцию verifyHeaderAndExecuteTx, что привело к выполнению вызова функции putCurEpochConPubKeyBytes контракта EthCrossChainData из функции _executeCrossChainTx, тем самым изменив роль keeper на адрес, контролируемый злоумышленником.
После замены адреса роли keeper, атакующий может произвольно конструировать транзакции и извлекать любое количество средств из контракта. Этот метод атаки был применен как в сети BSC, так и в сети Ethereum.
В сети BSC злоумышленник сначала изменил keeper с помощью одной транзакции, а затем инициировал несколько атакующих транзакций для вывода средств. Это привело к тому, что обычные транзакции других пользователей были отклонены. Процесс атаки в сети Ethereum аналогичен: злоумышленник также сначала изменяет keeper, а затем осуществляет атаку и выводит средства.
Эксперты подчеркивают, что данная атака не была вызвана утечкой приватного ключа keeper, а является следствием проектного дефекта в смарт-контракте. Keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, который, в свою очередь, позволяет выполнять переданные пользователями данные, что создает возможности для злоумышленников.
Это событие еще раз подчеркивает важность аудита безопасности смарт-контрактов. Команда разработчиков должна более тщательно рассматривать взаимодействие между различными компонентами при проектировании протоколов кросс-цепочной совместимости и строго контролировать права доступа к ключевым функциям. В то же время постоянный мониторинг безопасности и своевременное исправление уязвимостей имеют решающее значение для защиты активов пользователей.
!
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
20 Лайков
Награда
20
6
Репост
Поделиться
комментарий
0/400
NeverPresent
· 07-26 09:38
смарт-контракты тоже не слишком умные.
Посмотреть ОригиналОтветить0
NFTArtisanHQ
· 07-23 15:38
еще одна предостерегающая история в постцифровой парадигме... смарт-контракты умны лишь настолько, насколько умны их архитекторы, если честно
Посмотреть ОригиналОтветить0
AirdropNinja
· 07-23 15:30
Торговля криптовалютой, мы именно для этого и пришли.
Poly Network遭 Хакер атаки смарт-контрактов уязвимость привела к значительным потерям средств
Poly Network подвергся серьезной хакерской атаке: уязвимость безопасности привела к значительным финансовым потерям
Недавно кросс-цепочный протокол Poly Network стал жертвой серьезной хакерской атаки, что вызвало широкий интерес в отрасли. Команда экспертов по безопасности провела глубокий анализ этого инцидента и раскрыла конкретные методы, которые использовали злоумышленники для получения контроля через уязвимость смарт-контрактов.
Суть атаки заключается в наличии уязвимости в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять кросс-цепочные транзакции, указанные пользователем, через внутреннюю функцию _executeCrossChainTx. Злоумышленник, используя тщательно подготовленные данные, воспользовался этой уязвимостью для изменения адреса роли keeper в контракте EthCrossChainData.
Владелец контракта EthCrossChainData является контрактом EthCrossChainManager, поэтому последний имеет право вызывать функцию putCurEpochConPubKeyBytes первого, чтобы изменить keeper. Злоумышленник именно это и использовал, передав специальную информацию в функцию verifyHeaderAndExecuteTx, что привело к выполнению вызова функции putCurEpochConPubKeyBytes контракта EthCrossChainData из функции _executeCrossChainTx, тем самым изменив роль keeper на адрес, контролируемый злоумышленником.
После замены адреса роли keeper, атакующий может произвольно конструировать транзакции и извлекать любое количество средств из контракта. Этот метод атаки был применен как в сети BSC, так и в сети Ethereum.
В сети BSC злоумышленник сначала изменил keeper с помощью одной транзакции, а затем инициировал несколько атакующих транзакций для вывода средств. Это привело к тому, что обычные транзакции других пользователей были отклонены. Процесс атаки в сети Ethereum аналогичен: злоумышленник также сначала изменяет keeper, а затем осуществляет атаку и выводит средства.
Эксперты подчеркивают, что данная атака не была вызвана утечкой приватного ключа keeper, а является следствием проектного дефекта в смарт-контракте. Keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, который, в свою очередь, позволяет выполнять переданные пользователями данные, что создает возможности для злоумышленников.
Это событие еще раз подчеркивает важность аудита безопасности смарт-контрактов. Команда разработчиков должна более тщательно рассматривать взаимодействие между различными компонентами при проектировании протоколов кросс-цепочной совместимости и строго контролировать права доступа к ключевым функциям. В то же время постоянный мониторинг безопасности и своевременное исправление уязвимостей имеют решающее значение для защиты активов пользователей.
!