На днях межсетевой протокол Poly Network подвергся атаке Хакера, что вызвало широкий интерес в индустрии. Команда экспертов по безопасности провела глубокий анализ этого инцидента и пришла к выводу, что злоумышленник не осуществлял атаку через утечку приватного ключа, а воспользовался уязвимостью контракта для изменения ключевых параметров.
Атака ядра
Ключ атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять конкретные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владельцем контракта EthCrossChainData является контракт EthCrossChainManager, последний имеет право вызывать функцию putCurEpochConPubKeyBytes контракта EthCrossChainData для изменения хранителя контракта.
Процесс атаки
Злоумышленник передает тщательно сконструированные данные через функцию verifyHeaderAndExecuteTx.
Эти данные вызывают выполнение функции _executeCrossChainTx, которая вызывает функцию putCurEpochConPubKeyBytes контракта EthCrossChainData.
Эта операция изменит роль keeper на адрес, указанный атакующим.
После замены keeper, злоумышленник сможет создать транзакцию и извлечь любое количество средств из контракта.
Влияние атаки
После атаки, из-за изменения keeper, были отказаны в выполнении нормальные сделки других пользователей. Эта проблема затронула не только сеть BSC, но и в сети Ethereum наблюдались аналогичные модели атак.
Рефлексия событий
Данное событие выявило потенциальные риски в дизайне смарт-контрактов. Ключевым моментом является то, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, который, в свою очередь, позволяет выполнять данные, переданные пользователем. Такой дизайн предоставляет злоумышленникам возможность для атаки.
В будущем аналогичным проектам при разработке механизмов кросс-чейн взаимодействия необходимо более тщательно учитывать вопросы управления доступом и проверки данных. Укрепление безопасности между контрактами, ограничение условий выполнения чувствительных операций — все это является направлениями для улучшения.
Данная атака еще раз напоминает нам о том, что безопасность всегда является первоочередным фактором в экосистеме блокчейн. Постоянное совершенствование механизмов аудита безопасности и оценки рисков имеет решающее значение для поддержания здорового развития всей экосистемы.
!
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
7 Лайков
Награда
7
5
Репост
Поделиться
комментарий
0/400
MemecoinTrader
· 15ч назад
аматорские эксплойти так 2021... настоящий альфа в арбитраже социальных настроений сейчас
Посмотреть ОригиналОтветить0
rugdoc.eth
· 19ч назад
Контракт gg, не могу смотреть.
Посмотреть ОригиналОтветить0
Ramen_Until_Rich
· 19ч назад
Просто умеет только изменять контракты...
Посмотреть ОригиналОтветить0
BearMarketBuyer
· 19ч назад
У вас его украли?
Посмотреть ОригиналОтветить0
DegenMcsleepless
· 19ч назад
Братья, все слишком слабы, дыр в безопасности полно.
Раскрытие инцидента с атакой на Poly Network: уязвимость контракта привела к изменению keeper
Анализ инцидента с атакой Хакера на Poly Network
На днях межсетевой протокол Poly Network подвергся атаке Хакера, что вызвало широкий интерес в индустрии. Команда экспертов по безопасности провела глубокий анализ этого инцидента и пришла к выводу, что злоумышленник не осуществлял атаку через утечку приватного ключа, а воспользовался уязвимостью контракта для изменения ключевых параметров.
Атака ядра
Ключ атаки заключается в функции verifyHeaderAndExecuteTx контракта EthCrossChainManager. Эта функция может выполнять конкретные кросс-цепочные транзакции через функцию _executeCrossChainTx. Поскольку владельцем контракта EthCrossChainData является контракт EthCrossChainManager, последний имеет право вызывать функцию putCurEpochConPubKeyBytes контракта EthCrossChainData для изменения хранителя контракта.
Процесс атаки
Злоумышленник передает тщательно сконструированные данные через функцию verifyHeaderAndExecuteTx.
Эти данные вызывают выполнение функции _executeCrossChainTx, которая вызывает функцию putCurEpochConPubKeyBytes контракта EthCrossChainData.
Эта операция изменит роль keeper на адрес, указанный атакующим.
После замены keeper, злоумышленник сможет создать транзакцию и извлечь любое количество средств из контракта.
Влияние атаки
После атаки, из-за изменения keeper, были отказаны в выполнении нормальные сделки других пользователей. Эта проблема затронула не только сеть BSC, но и в сети Ethereum наблюдались аналогичные модели атак.
Рефлексия событий
Данное событие выявило потенциальные риски в дизайне смарт-контрактов. Ключевым моментом является то, что keeper контракта EthCrossChainData может быть изменен контрактом EthCrossChainManager, который, в свою очередь, позволяет выполнять данные, переданные пользователем. Такой дизайн предоставляет злоумышленникам возможность для атаки.
В будущем аналогичным проектам при разработке механизмов кросс-чейн взаимодействия необходимо более тщательно учитывать вопросы управления доступом и проверки данных. Укрепление безопасности между контрактами, ограничение условий выполнения чувствительных операций — все это является направлениями для улучшения.
Данная атака еще раз напоминает нам о том, что безопасность всегда является первоочередным фактором в экосистеме блокчейн. Постоянное совершенствование механизмов аудита безопасности и оценки рисков имеет решающее значение для поддержания здорового развития всей экосистемы.
!