Poly Network зазнав атаки хакера, вразливість контракту EthCrossChainData була використана.

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

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

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

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

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

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

Процес атаки

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

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

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

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

!

Висновок

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
LiquidatedAgainvip
· 08-03 22:02
Наслідки вразливостей у коді дуже серйозні
Переглянути оригіналвідповісти на0
MoonBoi42vip
· 08-01 16:37
Трагедія, трагедія, в криптосвіті знову проблеми.
Переглянути оригіналвідповісти на0
HackerWhoCaresvip
· 08-01 16:33
Все ж потрібно дивитися на Вихідний код.
Переглянути оригіналвідповісти на0
LayerZeroHerovip
· 08-01 16:25
Знайомі тактики хакерських атак
Переглянути оригіналвідповісти на0
  • Закріпити