Poly Network зазнав атаки хакера, внаслідок вразливості контракту EthCrossChainManager відбулося втрачання коштів

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

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

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

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

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

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

Процес атаки

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

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

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

  4. Цей тип атаки відбувається не лише на Binance Smart Chain (BSC), але й на мережі Ethereum також спостерігаються подібні дії.

!

Висновок

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
pvt_key_collectorvip
· 08-01 16:56
Ще одна велика уразливість
Переглянути оригіналвідповісти на0
HodlOrRegretvip
· 07-31 04:26
Дзвоник б'є так гучно, що вуха закладає.
Переглянути оригіналвідповісти на0
Anon32942vip
· 07-31 04:14
Знову бачимо ризик крос-ланцюгів
Переглянути оригіналвідповісти на0
CommunitySlackervip
· 07-31 04:08
Знову намагаються обдурити невдах?
Переглянути оригіналвідповісти на0
  • Закріпити