В последнее время кросс-цепочный протокол взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий интерес в отрасли. Команда безопасности провела глубокий анализ этого инцидента, раскрывая конкретные детали и процесс атаки.
Принципы атаки
Суть этой атаки заключается в уязвимости функции verifyHeaderAndExecuteTx в контракте EthCrossChainManager. Злоумышленник передал тщательно сконструированные данные через эту функцию, что позволило ему успешно изменить keeper контракта EthCrossChainData на указанный адрес. Это противоречит ранее распространённой версии о утечке приватного ключа keeper.
Функция verifyHeaderAndExecuteTx контракта EthCrossChainManager может выполнять кросс-чейн транзакции через функцию _executeCrossChainTx.
Владельцем контракта EthCrossChainData является контракт EthCrossChainManager, который может вызывать функцию putCurEpochConPubKeyBytes предыдущего контракта для изменения keeper.
Атакующий конструирует определенные данные, вызывая функцию verifyHeaderAndExecuteTx для вызова _executeCrossChainTx, в результате чего выполняется функция putCurEpochConPubKeyBytes, изменяя keeper на адрес, контролируемый атакующим.
После завершения замены keeper, атакующий может произвольно создавать транзакции и извлекать произвольное количество средств из контракта.
Процесс атаки
Атаки в основном происходят на двух сетях: Binance Smart Chain (BSC) и Ethereum, процесс примерно одинаковый:
Атакующий сначала вызывает функцию putCurEpochConPubKeyBytes через функцию verifyHeaderAndExecuteTx контракта EthCrossChainManager, чтобы изменить keeper.
после замены keeper, атакующий начинает осуществлять серию атакующих сделок, извлекая средства из контракта.
После завершения атаки, из-за изменения keeper, нормальные транзакции других пользователей были откатаны.
!
Влияние событий
Эта атака выявила серьезные уязвимости в дизайне контрактов протокола Poly Network. Злоумышленник, используя иерархию прав и механизм вызова функций между контрактами, успешно обошел существующие меры безопасности. Этот инцидент вновь подчеркивает вызовы, с которыми сталкиваются кросс-цепочные протоколы в области безопасности, а также важность аудита кода и безопасного проектирования.
Безопасные рекомендации
Дизайн контракта должен быть более тщательным, особенно в отношении управления правами ключевых ролей (таких как keeper).
Безопасность межконтрактных вызовов требует комплексной оценки, чтобы избежать уязвимостей, которые могут быть использованы злоумышленниками.
Регулярно проводить полные аудиты безопасности, своевременно выявляя и устраняя потенциальные риски.
Создание многофакторной системы проверки, чтобы избежать системных рисков, связанных с единичной точкой отказа.
Укрепить возможности мониторинга в реальном времени и реагирования на чрезвычайные ситуации, чтобы быстро реагировать и принимать необходимые меры в случае атаки.
Этот инцидент прозвучал как тревога для всей блокчейн-индустрии, напоминая разработчикам и проектным командам о необходимости всегда ставить безопасность на первое место и постоянно улучшать и оптимизировать проектирование протоколов.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
5
Поделиться
комментарий
0/400
AlphaBrain
· 07-31 16:42
Не понимая контракт, пришел играть с цепочкой?
Посмотреть ОригиналОтветить0
SlowLearnerWang
· 07-31 16:42
Эй, вот и пришло время мне подняться на борт... Я всегда говорил, что у контрактов не бывает недостатков.
Посмотреть ОригиналОтветить0
SandwichHunter
· 07-31 16:37
Эй, снова вижу уязвимость контракта, базовые операции не делайте.
Раскрытие инцидента с атакой Хакера на Poly Network: Анализ уязвимости контракта EthCrossChainManager
Анализ инцидента с атакой на Poly Network Хакер
В последнее время кросс-цепочный протокол взаимодействия Poly Network подвергся атаке Хакера, что вызвало широкий интерес в отрасли. Команда безопасности провела глубокий анализ этого инцидента, раскрывая конкретные детали и процесс атаки.
Принципы атаки
Суть этой атаки заключается в уязвимости функции verifyHeaderAndExecuteTx в контракте EthCrossChainManager. Злоумышленник передал тщательно сконструированные данные через эту функцию, что позволило ему успешно изменить keeper контракта EthCrossChainData на указанный адрес. Это противоречит ранее распространённой версии о утечке приватного ключа keeper.
Атакующий воспользовался следующими ключевыми моментами:
Функция verifyHeaderAndExecuteTx контракта EthCrossChainManager может выполнять кросс-чейн транзакции через функцию _executeCrossChainTx.
Владельцем контракта EthCrossChainData является контракт EthCrossChainManager, который может вызывать функцию putCurEpochConPubKeyBytes предыдущего контракта для изменения keeper.
Атакующий конструирует определенные данные, вызывая функцию verifyHeaderAndExecuteTx для вызова _executeCrossChainTx, в результате чего выполняется функция putCurEpochConPubKeyBytes, изменяя keeper на адрес, контролируемый атакующим.
После завершения замены keeper, атакующий может произвольно создавать транзакции и извлекать произвольное количество средств из контракта.
Процесс атаки
Атаки в основном происходят на двух сетях: Binance Smart Chain (BSC) и Ethereum, процесс примерно одинаковый:
Атакующий сначала вызывает функцию putCurEpochConPubKeyBytes через функцию verifyHeaderAndExecuteTx контракта EthCrossChainManager, чтобы изменить keeper.
после замены keeper, атакующий начинает осуществлять серию атакующих сделок, извлекая средства из контракта.
После завершения атаки, из-за изменения keeper, нормальные транзакции других пользователей были откатаны.
!
Влияние событий
Эта атака выявила серьезные уязвимости в дизайне контрактов протокола Poly Network. Злоумышленник, используя иерархию прав и механизм вызова функций между контрактами, успешно обошел существующие меры безопасности. Этот инцидент вновь подчеркивает вызовы, с которыми сталкиваются кросс-цепочные протоколы в области безопасности, а также важность аудита кода и безопасного проектирования.
Безопасные рекомендации
Дизайн контракта должен быть более тщательным, особенно в отношении управления правами ключевых ролей (таких как keeper).
Безопасность межконтрактных вызовов требует комплексной оценки, чтобы избежать уязвимостей, которые могут быть использованы злоумышленниками.
Регулярно проводить полные аудиты безопасности, своевременно выявляя и устраняя потенциальные риски.
Создание многофакторной системы проверки, чтобы избежать системных рисков, связанных с единичной точкой отказа.
Укрепить возможности мониторинга в реальном времени и реагирования на чрезвычайные ситуации, чтобы быстро реагировать и принимать необходимые меры в случае атаки.
Этот инцидент прозвучал как тревога для всей блокчейн-индустрии, напоминая разработчикам и проектным командам о необходимости всегда ставить безопасность на первое место и постоянно улучшать и оптимизировать проектирование протоколов.