
Błąd wart jeden satoshi spowodował stratę w wysokości 3 milionów dolarów w funduszu bitcoinowym Osmosis
Haker wykrył lukę w kodzie mostka Nomic, wyemitował nieistniejące bitcoiny i przeniósł je do sieci Osmosis. Przez 74 dni nikt tego nie zauważył.
9 września platforma Osmosis poinformowała, że jej zbiorowy zasób bitcoinów, Alloyed BTC, funkcjonował od końca czerwca z brakiem około jednej trzeciej rezerw. Atak wynikał z błędu w kodzie Nomic odpowiedzialnym za przekazywanie transakcji, który pozwolił atakującemu na podwójne wydanie nBTC — tokenu Nomic powiązanego z bitcoinem — oraz wprowadzenie do systemu Osmosis sfałszowanych potwierdzeń wpłat, tak jakby były one zabezpieczone prawdziwym BTC.
„Niedawno dowiedzieliśmy się o ataku na łańcuch Nomic” – napisała giełda na platformie X. „Atak ten umożliwił atakującemu podwójne wydawanie nBTC, co pozwoliło mu wysyłać fałszywe kwity do Osmosis. Osmosis i IBC nie zostały naruszone, ponieważ błąd znajdował się w niestandardowym mechanizmie przekazywania w sieci Nomic”.
Ta ostatnia część ma znaczenie. Nomic to łańcuch boczny bitcoina oparty na Cosmosie, a nBTC ma znajdować się w puli Alloyed BTC platformy Osmosis w czystym stosunku jeden do jednego w stosunku do prawdziwego bitcoina, obok innych „owiniętych” wersji, takich jak WBTC i cbBTC. Błąd nie występował w kontraktach samej platformy Osmosis ani w protokole komunikacji międzyłańcuchowej (Inter-Blockchain Communication), który łączy łańcuchy Cosmos — wynikał on konkretnie ze sposobu, w jaki Nomic obsługiwał przychodzące wpłaty bitcoinów.
Jak tanie to było
Naprawdę tanio. Według niezależnego badacza znanego jako Rarma, który opublikował ślad transakcji i omówienie kodu na platformie X jeszcze przed ujawnieniem informacji przez samą firmę Osmosis, luka ta pozwoliła Nomic zarejestrować tę samą wpłatę bitcoinów dwukrotnie. Jedna kopia została przetworzona normalnie. Druga stała się darmowym nBTC, które można było wyemitować bez żadnego bitcoina jako zabezpieczenia. Rarma znalazł tę lukę w zaledwie jednej z osiemnastu niemal identycznych procedur obsługi wpłat w kodzie źródłowym, a cała operacja najwyraźniej kosztowała atakującego jedno satoshi.
Samo wykorzystanie luki sięga 25 czerwca — a nie września, kiedy to Osmosis ujawniło tę informację. W ramach około 25 transferów międzyłańcuchowych atakujący przeniósł na platformę Osmosis blisko 40 nBTC. Było to powolne wyciekanie środków, ukryte na widoku przez dwa i pół miesiąca, a nie szybki atak typu „włam i zabierz”.
Ile to faktycznie kosztowało
Liczby tutaj nieco się różnią w zależności od tego, kto je oblicza i jaką cenę bitcoina przyjmuje w danym momencie. Osmosis oszacował kwotę bez pokrycia na 39,84 nBTC, co stanowi blisko 36% całkowitego pokrycia Alloyed BTC — zgłoszony niedobór wyniósł około 3,15 mln dolarów. Osmosis zamroził 22,65 BTC, które nadal znajdowały się na adresie atakującego, poprzez awaryjną aktualizację walidatora; ich wartość wynosiła od 1,8 mln do 1,9 mln dolarów, w zależności od momentu wykonania migawki. Pozostaje więc luka wynosząca około 17 BTC, czyli kwota rzędu kilku milionów, której zamrożone środki nie pokrywają. Żadna z publikacji, z którymi się zapoznałem, nie uzgadnia w pełni tych danych, a Osmosis nie opublikowało jeszcze szczegółowego zestawienia, więc dokładną kwotę w dolarach należy traktować raczej jako orientacyjną niż ostateczną.

Osmosis wstrzymało emisję, wykupy oraz nowe wpłaty związane z Nomic na czas wyjaśnienia tej sytuacji. Handel aktywami zabezpieczonymi bitcoinem w istniejących pulach nadal trwa, z dołączonym ostrzeżeniem o podwyższonym ryzyku. Obecnie zwraca się do organu zarządzającego o zatwierdzenie przejęcia zamrożonych 22,65 BTC, wraz z dokapitalizowaniem z puli społecznościowej, aby przywrócić pełne zabezpieczenie Alloyed BTC.
To, co powinno martwić ludzi bardziej niż kwota w dolarach
Mosty są nieustannie atakowane przez hakerów — Ronin stracił 600 milionów dolarów, Nomad stracił 190 milionów dolarów, most Horizon firmy Harmony stracił 100 milionów dolarów, a to tylko lista największych strat z ostatnich kilku lat. Trzy miliony dolarów to zaledwie kropla w morzu potrzeb w porównaniu z tymi kwotami. Bardziej niepokojąca jest tutaj 74-dniowa luka. Błąd tkwił w kodzie produkcyjnym, był wykorzystywany w niewielkich partiach, a ani zespół Nomic, ani system monitorowania Osmosis nie wykryli go, dopóki nie zaczął go szukać zewnętrzny badacz.
Rarma podobno odkrył wadliwą logikę, która nadal nie została załatana w gałęzi rozwojowej Nomic na dzień 8 września, czyli dzień przed publicznym oświadczeniem Osmosis. Nie potwierdzono publicznie, czy błąd ten został już naprawiony. W momencie pisania tego tekstu na koncie Nomic nie pojawiło się żadne odpowiednie oświadczenie, co samo w sobie jest pewną wskazówką — w przypadku ataku wykorzystującego most w twoim łańcuchu milczenie oznacza albo brak organizacji, albo niechęć do przyznania się do błędu przed zakończeniem analizy przyczyn.
Nie sądzę, by samo to podkopało zaufanie do infrastruktury mostów Cosmos. Jednak „niestandardowy mechanizm przekazywania” odgrywa znaczącą rolę w oświadczeniu Osmosis i warto pamiętać, że właśnie w niestandardowym kodzie każdego projektu mostu najczęściej kryją się te błędy – nie w ustandaryzowanych, poddawanych rygorystycznym audytom częściach stosu, ale w dostosowanym do potrzeb kodzie łączącym, którego nikt nie poddaje tak intensywnym testom obciążeniowym.
Bonus od depozytu w wysokości 5% do 100 klejnotów

0% opłat za wpłaty i wypłaty skin.


11% bonus od depozytu + FreeSpin
DODATKOWY BONUS OD DEPOZYTU 10% + DARMOWE 2 SPINY NA KOLE
Darmowe etui i 100% bonus powitalny
5 darmowych skrzyń, codzienne gratisy i bonusy

3 darmowe skrzynki i bonus 5% dodawany do wszystkich depozytów gotówkowych.

+5% do depozytu

Komentarze