Аналіз атаки хакера на Poly Network: вразливість контракту призвела до крадіжки коштів у крос-ланцюг.

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

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

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

Атака ядра

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

Деталі атаки

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

  2. Власник контракту EthCrossChainData є контракт EthCrossChainManager, тому останній може викликати функцію putCurEpochConPubKeyBytes першого для зміни keeper.

  3. Зловмисник використовує функцію verifyHeaderAndExecuteTx, передаючи спеціально підготовлені дані, що призвело до виконання функції _executeCrossChainTx, яка змінила адресу keeper.

  4. Після успішної заміни адреси keeper, зловмисник може створити транзакцію, щоб вилучити будь-яку кількість коштів з контракту.

Процес атаки

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

  2. Потім зловмисник скористався новими правами keeper і здійснив кілька операцій з виведення коштів.

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

  4. Схожі моделі атак також відтворюються в мережі Ethereum.

!

Висновок

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
GmGnSleepervip
· 07-15 15:01
Урази є всюди, краще вже поспати.
Переглянути оригіналвідповісти на0
CryptoAdventurervip
· 07-15 15:01
Ще одна хвиля невдах сплатила навчання.
Переглянути оригіналвідповісти на0
BearMarketSurvivorvip
· 07-15 15:00
Ще одна фінансова піраміда вибухнула
Переглянути оригіналвідповісти на0
BlockchainFoodievip
· 07-15 14:51
смакує як погано приготований суп зі смарт-контрактів... потребує більше приправи безпеки fr
Переглянути оригіналвідповісти на0
EthMaximalistvip
· 07-15 14:46
Цей замок, хто його написав?
Переглянути оригіналвідповісти на0
DataChiefvip
· 07-15 14:41
Знову контракт був порушений, ха-ха.
Переглянути оригіналвідповісти на0
Rugman_Walkingvip
· 07-15 14:32
Справжні жадібні ці люди
Переглянути оригіналвідповісти на0
  • Закріпити