Цепь проверки работоспособности (PoW) Post-Ethereum Merge ETHW перешла к подавлению утверждений о том, что на выходных она подверглась атаке воспроизведения в сети.
Компания BlockSec, занимающаяся аудитом смарт-контрактов, отметила то, что она описала как повторную атаку, которая произошла 16 сентября, в ходе которой злоумышленники собрали токены ETHW, воспроизведя данные вызова цепочки подтверждения доли (PoS) Ethereum в разветвленной цепочке Ethereum PoW.
По данным BlockSec, основная причина эксплойта заключалась в том, что межсетевой мост Omni в цепочке ETHW использовал старый идентификатор цепочки и неправильно проверял правильный идентификатор цепочки межсетевого сообщения.
Основная и тестовая сети Ethereum используют два идентификатора для разных целей, а именно идентификатор сети и идентификатор цепочки (chainID). Одноранговые сообщения между узлами используют идентификатор сети, а подписи транзакций используют идентификатор цепочки. EIP-155 представил chainID как средство предотвращения повторных атак между блокчейнами ETH и ETC.
1/ Предупреждение |BlockSec обнаружил, что злоумышленники воспроизводят сообщение (данные вызова) цепочки PoS на @EthereumPow. Основная причина эксплуатации заключается в том, что мост неправильно проверяет фактический идентификатор цепи (который поддерживается им самим) межцепочечного сообщения.— BlockSec (@BlockSecTeam) 18 сентября 2022 г.
BlockSec была первой аналитической службой, которая отметила атаку с повторным воспроизведением и уведомила ETHW, который, в свою очередь, быстро опроверг первоначальные заявления о том, что атака с повторным воспроизведением была проведена в сети. ETHW предпринял попытки уведомить Omni Bridge об эксплойте на уровне контракта:
Вчера пытался всеми способами связаться с Омни Бридж. Мосты должны правильно проверять фактический ChainID межцепочечных сообщений. Опять же, это не воспроизведение транзакции на уровне цепочки, это воспроизведение данных вызова из-за недостатка конкретного контракта.https://t.co/bHbYR4b2AW pic.twitter.com/NZDn61cslJ — EthereumPoW (ETHW) Официальный #ETHW #ETHPoW (@EthereumPoW) 18 сентября 2022 г.
Анализ атаки показал, что эксплуататор начал с передачи 200 WETH через мост Omni в цепочке Gnosis, а затем воспроизвел то же сообщение в цепочке PoW, получив дополнительные 200 ETHW. Это привело к истощению баланса цепного контракта, развернутого в цепочке PoW.
Связанный: Перекрёстные цепи в прицеле: взломы требуют более эффективных защитных механизмов
Проведенный BlockSec анализ исходного кода моста Omni показал, что логика для проверки chainId присутствовала, но проверенный chainID, используемый в контракте, был извлечен из значения, хранящегося в хранилище с именем unitStorage.
Команда объяснила, что это неправильный chainId, собранный с помощью кода операции CHAINID, который был предложен EIP-1344 и усугублен возникшим форком после слияния Ethereum:
«Вероятно, это связано с тем, что код довольно старый (используется Solidity 0.4.24). Код работает нормально все время до форка цепочки PoW».
Это позволило злоумышленникам собирать ETHW и, возможно, другие токены, принадлежащие мосту в цепочке PoW, и торговать ими на торговых площадках, где перечислены соответствующие токены. Cointelegraph связался с BlockSec, чтобы выяснить значение, извлеченное во время эксплойта.
После успешного события Merge Ethereum, в ходе которого блокчейн смарт-контракта перешел с PoW на PoS, группа майнеров решила продолжить цепочку PoW посредством хардфорка.