Poly Network зазнав значної атаки хакера: Вразливість безпеки призвела до значних фінансових втрат
Нещодавно кросчейн-протокол взаємодії Poly Network зазнав серйозної атаки хакера, що викликало широке обговорення в галузі. Команда фахівців з безпеки провела детальний аналіз цього інциденту, розкривши конкретні методи, якими зловмисники використали вразливості смарт-контрактів для отримання контролю.
Ядро атаки полягає в тому, що в контракті EthCrossChainManager є вразливість у функції verifyHeaderAndExecuteTx. Цю функцію можна виконати через внутрішню функцію _executeCrossChainTx для виконання крос-чейн транзакцій, вказаних користувачем. Зловмисник, використовуючи ретельно сконструйовані дані, скористався цією вразливістю для зміни адреси ролі keeper у контракті EthCrossChainData.
Власник контракту EthCrossChainData є контракт EthCrossChainManager, тому останній має право викликати функцію putCurEpochConPubKeyBytes першого, щоб змінити keeper. Зловмисник скористався цим, передавши спеціально підготовлені дані через функцію verifyHeaderAndExecuteTx, в результаті чого функція _executeCrossChainTx виконала виклик функції putCurEpochConPubKeyBytes контракту EthCrossChainData, змінивши роль keeper на адресу, що контролюється зловмисником.
Після заміни адреси ролі keeper, зловмисник може вільно створювати транзакції, витягуючи будь-яку кількість коштів з контракту. Цей метод атаки було застосовано в мережах BSC та Ethereum.
У мережі BSC зловмисник спочатку змінив keeper через одну транзакцію, а потім розпочав кілька атакуючих транзакцій для виведення коштів. Це призвело до відмови у виконанні нормальних транзакцій інших користувачів. Процес атаки в мережі Ethereum є схожим, зловмисник також спочатку змінює keeper, а потім здійснює атаку для виведення коштів.
Експерти підкреслюють, що ця атака не була викликана витоком приватного ключа keeper, а виникла через недоліки дизайну смарт-контракту. Keeper контракту EthCrossChainData може бути змінений контрактом EthCrossChainManager, який, у свою чергу, дозволяє виконувати дані, передані користувачем, що створює можливості для атакуючих.
Ця подія ще раз підкреслює важливість аудиту безпеки смарт-контрактів. Команда розробників повинна більш уважно розглядати взаємодію між компонентами під час проектування протоколу міжланкової взаємодії та здійснювати суворий контроль доступу до ключових функцій. У той же час, постійний моніторинг безпеки та своєчасне виправлення вразливостей є надзвичайно важливими для захисту активів користувачів.
!
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
20 лайків
Нагородити
20
6
Репост
Поділіться
Прокоментувати
0/400
NeverPresent
· 07-26 09:38
смартконтракти також не дуже Сатоші.
Переглянути оригіналвідповісти на0
NFTArtisanHQ
· 07-23 15:38
ще одна застережна історія в постцифровій парадигмі... смартконтракти такі ж розумні, як і їхні архітектори, якщо чесно
Переглянути оригіналвідповісти на0
AirdropNinja
· 07-23 15:30
Виявляється, ми просто прийшли торгувати криптовалютою.
Poly Network зазнав атаки хакера, внаслідок вразливості смартконтрактів сталося значне знищення коштів.
Poly Network зазнав значної атаки хакера: Вразливість безпеки призвела до значних фінансових втрат
Нещодавно кросчейн-протокол взаємодії Poly Network зазнав серйозної атаки хакера, що викликало широке обговорення в галузі. Команда фахівців з безпеки провела детальний аналіз цього інциденту, розкривши конкретні методи, якими зловмисники використали вразливості смарт-контрактів для отримання контролю.
Ядро атаки полягає в тому, що в контракті EthCrossChainManager є вразливість у функції verifyHeaderAndExecuteTx. Цю функцію можна виконати через внутрішню функцію _executeCrossChainTx для виконання крос-чейн транзакцій, вказаних користувачем. Зловмисник, використовуючи ретельно сконструйовані дані, скористався цією вразливістю для зміни адреси ролі keeper у контракті EthCrossChainData.
Власник контракту EthCrossChainData є контракт EthCrossChainManager, тому останній має право викликати функцію putCurEpochConPubKeyBytes першого, щоб змінити keeper. Зловмисник скористався цим, передавши спеціально підготовлені дані через функцію verifyHeaderAndExecuteTx, в результаті чого функція _executeCrossChainTx виконала виклик функції putCurEpochConPubKeyBytes контракту EthCrossChainData, змінивши роль keeper на адресу, що контролюється зловмисником.
Після заміни адреси ролі keeper, зловмисник може вільно створювати транзакції, витягуючи будь-яку кількість коштів з контракту. Цей метод атаки було застосовано в мережах BSC та Ethereum.
У мережі BSC зловмисник спочатку змінив keeper через одну транзакцію, а потім розпочав кілька атакуючих транзакцій для виведення коштів. Це призвело до відмови у виконанні нормальних транзакцій інших користувачів. Процес атаки в мережі Ethereum є схожим, зловмисник також спочатку змінює keeper, а потім здійснює атаку для виведення коштів.
Експерти підкреслюють, що ця атака не була викликана витоком приватного ключа keeper, а виникла через недоліки дизайну смарт-контракту. Keeper контракту EthCrossChainData може бути змінений контрактом EthCrossChainManager, який, у свою чергу, дозволяє виконувати дані, передані користувачем, що створює можливості для атакуючих.
Ця подія ще раз підкреслює важливість аудиту безпеки смарт-контрактів. Команда розробників повинна більш уважно розглядати взаємодію між компонентами під час проектування протоколу міжланкової взаємодії та здійснювати суворий контроль доступу до ключових функцій. У той же час, постійний моніторинг безпеки та своєчасне виправлення вразливостей є надзвичайно важливими для захисту активів користувачів.
!