Останній злом Harmony's Horizon bridge та його технічне вбивство

Harmony, відкритий і швидкий блокчейн рівня 1, що пропонує двосторонній доступ Ethereum міст, страждав невдалий хак 24 червня. Horizon, його крос-ланцюговий міст до Ethereum, зафіксував цей експлойт вартістю майже 100 мільйонів доларів в ETH. Хоча платформа зупинила постраждалий міст, деякі питання залишаються без відповіді.

Щоб краще зрозуміти ситуацію, ось глибоке занурення в те, що стало причиною цього злому.

Викриття власника, чи не так?

Експерти з безпеки с CertiK команда, у блозі, опублікованому 25 червня, загальні глибокий аналіз, який висвітлює ключові події, які призвели до пограбування. Wu Blockchain, відоме інформаційне агентство, пізніше повторно поділився цією подією у своїй стрічці Twitter.

Попередній аналіз продемонстрований що передбачувана адреса становила 11 угод з мосту за різними жетонами. Крім того, особа надіслала маркери до a різний гаманець для обміну на ETH на Відключення децентралізованої біржі (DEX), а потім відправив ETH назад до початкового гаманця.

Після деяких подальше розслідування, експертний аналіз виявив 12 транзакцій атаки та три адреси атак. Під час цих трансакцій зловмисник залучив різні токени на мосту, включаючи ETH, USDC, WBTC, USDT, DAI, BUSD, AAG, FXS, SUSHI, AAVE, WETH і FRAX.

«Зловмисник досяг цього, якимось чином контролюючи власника MultiSigWallet, щоб він безпосередньо викликав confirmTransaction() для передачі великої кількості токенів з мосту на Harmony. Це призвело до повної втрати активів на суму близько 97 мільйонів доларів у мережі Harmony, які зловмисник об’єднав в одну головну адресу».

Ця подія відбулася в послідовності, як показано нижче.

Ланцюжок подій

Власник контракту MultiSigWallet (0xf845a7ee8477ad1fb446651e548901a2635a915) викликав функцію submitTransaction() для відправлення транзакції. Він включив наступне корисне навантаження для створення ідентифікатора транзакції 21106 у транзакції.

Джерело: Certik

Далі, у транзакції експлойту, власник викликав функцію confirmTransaction() з MultiSigWallet з ідентифікатором вхідної транзакції 21106. Функція executeTransaction() викликала зовнішній виклик із вхідними даними. Цей крок ініціював функцію unlockEth() у контракті Ethmanager.

Джерело: Certik

Враховуючи той факт, що зловмисник контролював повноваження власника, розблокування вело шлях до згаданого експлойту cross-bridge. У блозі також додано,

«зловмисник виконав транзакцію з ідентифікатором 21106, яка перерахувала 13,100 XNUMX ETH на адресу зловмисника».

Але це не те. Передбачуваний хакер продовжив попередній процес, використовуючи різні ідентифікатори транзакцій в інших контрактах ERC20Manager, щоб передати величезну кількість токенів і стейблкоін ERC20.

Загалом, такі інциденти посилили весь скептичний сценарій щодо використання поперечно-ланцюгові мости. На початку цього року ми стали свідками обох Міст Роніна експлуатувати і Червоточина експлуатувати.

Джерело: https://ambcrypto.com/latest-in-harmonys-horizon-bridge-hack-and-its-technical-post-mortem/