Помилка вартістю всього один сатоші спричинила збиток у розмірі 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 або в протоколі міжблокчейнної комунікації (Inter-Blockchain Communication), що зв’язує ланцюги 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 виявив, що на 8 вересня — за день до публічної заяви Osmosis — помилкова логіка все ще залишалася невиправленою у гілці розробки Nomic. Чи виправлено це на даний момент, публічно не підтверджено. На момент написання цієї статті на офіційному акаунті Nomic не було опубліковано відповідного повідомлення, що є певним сигналом — у випадку з експлойтом, пов’язаним із вашим мостом у вашому ланцюгу, мовчання трактується або як дезорганізація, або як небажання визнати провал до того, як буде готовий аналіз причин.
Я не думаю, що це саме по собі підриває довіру до інфраструктури мостів Cosmos. Але «спеціальний механізм пересилання» відіграє значну роль у цій заяві Osmosis, і варто пам’ятати, що саме у спеціальному коді кожного проєкту мосту зазвичай і криються ці помилки — не у стандартизованих, ретельно перевірених частинах стеку, а у спеціальному «склеювальному» коді, який ніхто так ретельно не тестує на навантаження.
5% бонус на депозит до 100 дорогоцінних каменів

безкоштовний подарунковий кейс


EGAMERSW - отримайте бонус на депозит 11% + безкоштовне обертання бонусного колеса
ДОДАТКОВИЙ БОНУС НА ДЕПОЗИТ 10% + БЕЗКОШТОВНІ ОБЕРТАННЯ 2 КОЛІС
3 безкоштовні кейси + 100% до 100 монет на перший депозит
5 безкоштовних кейсів, щоденні безкоштовні та бонусні

3 безкоштовні кейси та бонус 5% до всіх депозитів готівкою.

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


Коментарі