Poly Network зазнав атаки хакера: keeper контракту EthCrossChainData був змінений

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

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

Нещодавно міжмережевий протокол Poly Network зазнав атаки хакера, що викликало широкий інтерес у галузі. Після аналізу команди з безпеки, ця атака не була спричинена витоком приватного ключа keeper, а зловмисник змінив адресу keeper контракту EthCrossChainData за допомогою ретельно сконструйованих даних.

Атакуюче ядро

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

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

Процес атаки

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

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

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

  4. Подібні методи атак також використовуються в мережі Ethereum, зловмисник також змінив keeper і здійснив атаку.

Висновок

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

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

!

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
TestnetNomadvip
· 14год тому
Ой, знову вкрали. Все ті ж ями, що і раніше.
Переглянути оригіналвідповісти на0
NotSatoshivip
· 08-16 15:15
Блокчейн嫖老师
Переглянути оригіналвідповісти на0
GateUser-7b078580vip
· 08-16 15:11
Знову вразливість смартконтрактів. Скільки контрактів ще можна довіряти?
Переглянути оригіналвідповісти на0
GmGnSleepervip
· 08-16 15:05
Знову темно, еге ж, нічого хорошого не скажеш.
Переглянути оригіналвідповісти на0
DarkPoolWatchervip
· 08-16 15:04
Ще один ретельно спланований Хакер
Переглянути оригіналвідповісти на0
  • Закріпити