
Ошибка стоимостью в один сатоши пробила дыру на 3 миллиона долларов в биткоин-фонде Osmosis
Злоумышленник обнаружил уязвимость в коде моста Nomic, «отчеканил» несуществующие биткоины и перевел их на Osmosis. Никто не заметил этого в течение 74 дней.
9 сентября Osmosis сообщила, что с конца июня её пул биткоинов Alloyed BTC функционировал с недостачей примерно в одну треть от своих резервов. Уязвимость заключалась в ошибке в коде Nomic, отвечающем за пересылку транзакций, которая позволила злоумышленнику осуществить двойную трату nBTC — привязанного к биткоину токена Nomic — и ввести в систему Osmosis поддельные депозитные ваучеры, как будто они были обеспечены реальными BTC.
«Недавно нам стало известно об уязвимости в цепочке Nomic», — написала биржа в X. «Эта уязвимость позволила злоумышленнику совершить двойную трату nBTC, что дало ему возможность отправлять поддельные ваучеры в Osmosis. Osmosis и IBC не были скомпрометированы, поскольку ошибка находилась в пользовательском механизме пересылки данных в Nomic».
Эта последняя часть имеет важное значение. Nomic — это сайдчейн биткойна на базе Cosmos, и nBTC должен находиться в пуле Alloyed BTC Osmosis в чистом соотношении «один к одному» с реальным биткойном, наряду с другими «обернутыми» версиями, такими как WBTC и cbBTC. Ошибка не была связана ни с собственными контрактами Osmosis, ни с протоколом межблокчейн-коммуникации, связывающим цепочки Cosmos — она заключалась именно в том, как Nomic обрабатывал входящие депозиты в биткойнах.
Насколько это было дешево
По-настоящему дешево. По данным независимого исследователя под ником Rarma, который опубликовал трассировку транзакции и разбор кода на платформе X ещё до официального заявления Osmosis, эта уязвимость позволяла Nomic регистрировать один и тот же депозит в биткойнах дважды. Одна копия обрабатывалась нормально. Вторая превращалась в бесплатные nBTC, которые можно было чеканить без какого-либо обеспечения в виде биткойнов. Rarma обнаружил эту уязвимость всего в одной из восемнадцати практически идентичных процедур обработки депозитов в кодовой базе, и, по всей видимости, запуск всей этой схемы обошёлся злоумышленнику в один сатоши.
Сама эксплуатация уходит корнями в 25 июня — а не в сентябрь, когда Osmosis обнародовала информацию. В ходе примерно 25 межцепочечных переводов злоумышленник переместил на Osmosis почти 40 nBTC. Это медленное вытекание средств, скрывавшееся у всех на виду в течение двух с половиной месяцев, а не кража по принципу «разбей и грабь».
Сколько это на самом деле стоило
Цифры здесь немного разнятся в зависимости от того, кто их подсчитывает и какую цену на биткоин использует на данный момент. Osmosis оценил сумму, не обеспеченную активами, в 39,84 nBTC, что составляет почти 36% от общего объема обеспечения Alloyed BTC — дефицит составил около 3,15 млн долларов. Osmosis заморозила 22,65 BTC, которые по-прежнему находились на адресе злоумышленника, посредством экстренного обновления валидатора; их стоимость составляет от 1,8 до 1,9 млн долларов в зависимости от момента создания снимка. Таким образом, остается разрыв примерно в 17 BTC, или сумму в размере нескольких миллионов, которую замороженные средства не покрывают. Ни в одной из публикаций, с которыми я ознакомился, эти цифры не согласовываются полностью, а Osmosis пока не опубликовала подробную отчетность по каждой строке, поэтому точную сумму в долларах следует рассматривать как ориентировочную, а не окончательную.

Пока Osmosis решает эту проблему, компания приостановила эмиссию, выкуп и новые депозиты, связанные с Nomic. Торговля активами, обеспеченными биткоинами, в существующих пулах по-прежнему ведется, при этом отображается предупреждение о повышенном риске. В настоящее время к органу управления обращаются с просьбой одобрить изъятие замороженных 22,65 BTC, а также пополнение из общественного пула, чтобы восстановить полное обеспечение Alloyed BTC.
То, что должно беспокоить людей больше, чем сумма в долларах
Бриджы постоянно подвергаются взломам — Ronin потерял 600 млн долларов, Nomad — 190 млн долларов, мост Horizon от Harmony — 100 млн долларов, и это лишь список самых громких случаев за последние несколько лет. Три миллиона долларов — это сущие мелочи по сравнению с ними. Что вызывает здесь большее беспокойство, так это 74-дневный промежуток. Уязвимость присутствовала в производственном коде, эксплуатировалась небольшими партиями, и ни команда Nomic, ни система мониторинга Osmosis не обнаружили её, пока не начал поиски внешний исследователь.
По имеющимся данным, Rarma обнаружил, что неисправная логика по-прежнему не была исправлена в ветке разработки Nomic по состоянию на 8 сентября — за день до публичного заявления Osmosis. Публично не подтверждено, исправлено ли это к настоящему моменту. На момент написания этой статьи на официальном аккаунте Nomic не было соответствующего сообщения, что само по себе многое говорит — в случае уязвимости, затрагивающей ваш мост в вашей цепочке, молчание интерпретируется либо как неорганизованность, либо как нежелание признать свою ошибку до завершения анализа происшествия.
Я не думаю, что это само по себе подрывает доверие к инфраструктуре мостов Cosmos. Но «специализированный механизм пересылки» занимает значительное место в том заявлении Osmosis, и стоит помнить, что именно в пользовательском коде каждого мостового проекта обычно и скрываются эти ошибки — не в стандартизированных, тщательно проверенных частях стека, а в специально разработанном связующем коде, который никто не подвергает столь тщательным нагрузочным испытаниям.
Бонус на депозит 5% до 100 драгоценных камней

0% комиссии при пополнении и снятии средств.


11% бонус на депозит + фриспины
ДОПОЛНИТЕЛЬНЫЙ БОНУС НА ДЕПОЗИТ 10% + БЕСПЛАТНЫЕ 2 ВРАЩЕНИЯ КОЛЕСА
Бесплатный кейс и 100% Приветственный Бонус
5 бесплатных кейсов, ежедневная халява и бонус

3 бесплатных случая и бонус 5% на все денежные депозиты.

+5% к депозиту

Коментарии