НовостиКриптовалютыПоддельный корень батча опустошил Ethereum-эскроу zkLink Nova до 0,001 ETH

Поддельный корень батча опустошил Ethereum-эскроу zkLink Nova до 0,001 ETH

Автор: Cryptopolitan·

Ключевые выводы

  • •Атакующий использовал публичный ретранслятор для внедрения поддельного корня батча в Ethereum, что позволило провести несанкционированные выводы ETH и токенов ERC-20 из эскроу первого уровня zkLink Nova.
  • •По оценке компании Blockaid, было выведено около $786 000, и она предупредила, что атака продолжалась на момент сообщения в 22:24 ET 28 октября.
  • •Крупнейшая транзакция, совершённая в 18:21 ET, перевела 22,43 ETH и 11 токенов ERC-20 на сумму $778 625,84, включая 245,74 pufETH, на один адрес получателя.
  • •К концу 28 октября в эскроу оставалось лишь около 0,001 ETH, а флаг приостановки не был установлен, из-за чего итоговый размер потерь оставался неясным.
  • •Эта атака стала второй за 11 дней с использованием поддельных входных данных моста — после создания 17 октября 10 млн несанкционированных токенов CYS через кроссчейн-мост Cysic.
Поддельный корень батча опустошил Ethereum-эскроу zkLink Nova до 0,001 ETH

Атакующий опустошил Ethereum-эскроу zkLink Nova примерно до 0,001 ETH в среду, 28 октября, отправив в сеть поддельный корень батча через публичный ретранслятор. Блокчейн-компания Blockaid, обнаружившая атаку, оценивает похищенную сумму примерно в $786 000 в ETH и токенах ERC-20 и предупредила, что на момент публикации атака ещё продолжалась.

Blockaid сообщил об атаке через публичный ретранслятор в 22:24 ET

Blockaid сообщил об инциденте в посте в X в 22:24 по восточному времени 28 октября. По данным компании, атакующий использовал публичный ретранслятор для внедрения поддельного корня в Ethereum, после чего инициировал финализацию вывода ETH и токенов ERC-20 из эскроу первого уровня Nova на адреса по своему выбору.

«~$786k выведено из эскроу ETH на L1 и моста ERC20 на данный момент. Атака продолжается», — написал Blockaid.

zkLink Nova принимает активы из Ethereum и подключённых сетей второго уровня и объединяет их в общий пул. Депозиты остаются в контрактах на исходных цепочках и зачисляются в Nova через её канонический мост. Корень батча — это хеш-значение, которое мост использует для проверки сообщений; в данном случае — одобренных Nova выводов. Согласно архитектуре расчётов zkLink, батчи должны пройти проверку доказательств и проверку кроссчейн-согласованности до финализации, а выводы возможны только после фиксации корня батча в подключённых цепочках. Такая архитектура ставит активы из пула нескольких цепочек за одной проверкой, то есть один неверно провалидированный корень может authorize выводы против всего баланса эскроу, а не отдельного счёта.

Blockaid сообщил, что поддельный корень был внедрён в Ethereum через публичный ретранслятор. Журналы транзакций атаки показывают, что новый корень батча был записан в той же транзакции, что и выводы ETH и токенов, непосредственно перед ними.

Одна транзакция в 18:21 перевела $778 625,84 одному получателю

Крупнейшая транзакция произошла 28 октября в 18:21 ET, за несколько часов до предупреждения Blockaid. Она вывела 22,43 ETH из Ethereum-эскроу Nova и 11 токенов ERC-20 из токен-моста, отправив всё на один адрес. В ветке Blockaid названы два адреса, использованные хакером, а мост ERC-20 указан как второй целевой контракт.

Самой крупной частью было 245,74 pufETH на сумму около $613 536 по ценам Etherscan. Вместе с ними было выведено около 18 113 USDC и 3 361 USDT. По ценам, отображаемым Etherscan, переводы в сумме составляют $778 625,84, однако, поскольку эта цифра охватывает лишь одну транзакцию, оценить общие потери сложно.

Позже Etherscan показал, что во взломанном ETH-эскроу оставалось лишь около 0,001 ETH. Однако по состоянию на 22:29 ET флаг приостановки эскроу так и не был установлен, поэтому неясно, остановили ли дальнейшие выводы какие-либо другие механизмы защиты. На момент написания оставались открытыми вопросы, будет ли установлен флаг приостановки и каким будет итоговый размер потерь после учёта всех затронутых транзакций.

Поддельные входные данные атаковали ещё один мост 11 дней спустя ранее

Инцидент с zkLink стал вторым за 11 дней случаем использования поддельных входных данных моста. 17 октября, как сообщал Cryptopolitan, через кроссчейн-мост Cysic с помощью поддельного сообщения о выпуске было создано 10 млн несанкционированных токенов CYS. Атакующий продал 7,2 млн токенов, а его кошелёк отправил около $727 000 в Ethereum до того, как проект внёс его в чёрный список.

Отдельно около $7,54 млн покинули мост Verus Ethereum в июле — уже во второй раз, когда мост терял средства. В мае при первом инциденте было похищено $11,58 млн. Blockaid связал обе атаки на Verus с одним контрактом и маршрутом импорта. Причиной майской атаки стали примерно 10 отсутствующих строк проверки Solidity в функции checkCCEValues моста — тот же класс ошибок валидации лежит в основе атак на Wormhole и Nomad в 2022 году, которые в совокупности привели к выводу сотен миллионов долларов. Недавняя серия инцидентов, основанных на поддельных сообщениях о выпуске, фальшивых корнях батчей и отсутствующих проверках валидации, показывает, насколько большие объёмы объединённых кроссчейн-активов могут зависеть от кода проверки моста.