Poly Network зазнав атаки хакера: вразливість контракту призвела до зміни keeper

robot
Генерація анотацій у процесі

Аналіз інциденту з атакою на Poly Network Хакер

Нещодавно кросчейн-протокол взаємодії Poly Network зазнав атаки Хакера, що викликало широкий інтерес. Після глибокого аналізу безпековою командою виявилося, що зловмисник не здійснив атаку через витік приватного ключа keeper, а скористався вразливістю в контракті.

Принцип атаки

Ядро атаки полягає в тому, що функція verifyHeaderAndExecuteTx контракту EthCrossChainManager може виконувати певні міжмережеві транзакції через функцію _executeCrossChainTx. Оскільки власник контракту EthCrossChainData є контрактом EthCrossChainManager, то останній може викликати функцію putCurEpochConPubKeyBytes першого, щоб змінити keeper контракту.

Зловмисник передав у функцію verifyHeaderAndExecuteTx ретельно сконструйовані дані, що призвело до виконання функції _executeCrossChainTx, яка викликала функцію putCurEpochConPubKeyBytes контракту EthCrossChainData, в результаті чого роль keeper була змінена на адресу, вказану зловмисником. Після завершення заміни ролі keeper зловмисник може вільно конструювати транзакції та витягувати з контракту будь-яку кількість коштів.

Процес атаки

  1. Зловмисник спочатку викликав функцію putCurEpochConPubKeyBytes через функцію verifyHeaderAndExecuteTx контракту EthCrossChainManager, змінивши keeper.

  2. Після цього зловмисник використав змінені права для проведення серії атакуючих транзакцій, витягуючи кошти з контракту.

  3. Через те, що keeper був модифікований, інші користувачі не змогли виконати свої нормальні транзакції.

  4. Цей атакувальний режим відбувається не лише на BSC-ланцюзі, але й у мережі Ethereum також зазнав подібних атак.

Висновок

Кореневою причиною цього інциденту атаки є те, що keeper контракту EthCrossChainData може бути змінений контрактом EthCrossChainManager, тоді як функція verifyHeaderAndExecuteTx контракту EthCrossChainManager може виконувати введені користувачем дані через функцію _executeCrossChainTx. Зловмисник скористався цим конструктивним дефектом, модифікувавши keeper контракту EthCrossChainData за допомогою спеціально сконструйованих даних, що призвело до крадіжки коштів.

Ця подія ще раз підкреслила важливість безпеки проектування крос-чейн протоколів, особливо в аспектах управління правами та виклику функцій, які потребують більш суворого аудиту та обмежень. Для проектів децентралізованих фінансів безперервний аудит безпеки та усунення вразливостей є надзвичайно важливими для запобігання подібним атакам.

!

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Репост
  • Поділіться
Прокоментувати
0/400
PanicSeller69vip
· 08-12 04:32
Уразливості ще робити DeFi?
Переглянути оригіналвідповісти на0
BearMarketNoodlervip
· 08-11 11:12
Ще одна жертва Попередження про безкоштовні навчання
Переглянути оригіналвідповісти на0
HodlKumamonvip
· 08-10 15:50
А-а-а, чому QA-аудит зроблений так неякісно~
Переглянути оригіналвідповісти на0
AirdropATMvip
· 08-10 15:49
Дійсно набридли вразливості в контрактах
Переглянути оригіналвідповісти на0
TokenCreatorOPvip
· 08-10 15:46
Знову ліквідовано?
Переглянути оригіналвідповісти на0
PoolJumpervip
· 08-10 15:31
Коли так багато шерсті обірвали, контракт ще наважується говорити про вразливості?
Переглянути оригіналвідповісти на0
  • Закріпити