Dlaczego mosty wciąż padają łupem włamań i czym naprawdę jest token mostowy

·6 min czytania·Autor: SSP Editorial Team
Okładka SSP Academy: włamania na mosty międzyłańcuchowe i tokeny opakowane

Dlaczego mosty wciąż padają łupem włamań i czym naprawdę jest token mostowy

Przez sporą część 2021 i 2022 roku mosty międzyłańcuchowe były najregularniej okradaną rzeczą w całym świecie kryptowalut. Nie giełdy, nie portfele, nie inteligentne kontrakty w ogóle — mosty.

Ronin stracił około 625 milionów dolarów. Poly Network stracił ponad 600 milionów. Wormhole stracił jakieś 320 milionów. Nomad stracił blisko 200 milionów. To ponad półtora miliarda dolarów w czterech incydentach, a lista jest dłuższa niż cztery pozycje.

Żaden z nich nie był awarią Bitcoina, Ethereum ani jakiegokolwiek łańcucha bazowego. Zrozumienie dlaczego to najbardziej użyteczna rzecz, jakiej możesz się o mostach dowiedzieć, bo mówi ci dokładnie, komu ufasz, kiedy z jednego korzystasz.

Łańcuchy nie potrafią ze sobą rozmawiać

Źródłowy problem jest prosty i często się go pomija. Bitcoin nie ma pojęcia, że Ethereum istnieje. Każdy łańcuch waliduje wyłącznie własne transakcje i nie ma żadnego mechanizmu obserwowania stanu innego. Nie istnieje wbudowany sposób, by jeden dowiedział się, co stało się w drugim.

Zatem „wysłanie BTC na Ethereum" jest niemożliwe w dosłownym sensie. Twoje bitcoiny nie mogą opuścić Bitcoina.

To, co dzieje się naprawdę, to podmiana. Wysyłasz prawdziwe BTC na adres kontrolowany przez most. Most to zauważa, a coś po stronie Ethereum wydaje ci token, który te BTC reprezentuje. Kiedy chcesz wyjść, palisz token, a most uwalnia oryginał.

Kluczowy wniosek: token mostowy nie jest aktywem. Jest roszczeniem wobec puli tego aktywa, trzymanej przez tego, kto prowadzi most. Jego wartość opiera się w całości na tym, że pula wciąż tam jest i że operator wciąż honoruje wykupy. Jeśli pulę opróżniono, twój opakowany token jest pokwitowaniem na nic — dokładnie tego dowiedzieli się posiadacze w każdym z powyższych incydentów.

Ktoś musi rozstrzygnąć, że wpłata nastąpiła

Skoro żaden łańcuch nie widzi drugiego, jakaś trzecia strona musi obserwować łańcuch A i zaświadczyć łańcuchowi B, że doszło do wpłaty. Ten mechanizm poświadczania to właśnie most, i tędy znikają wszystkie pieniądze.

Konstrukcje różnią się tym, ile zaufania wymagają:

Multisig albo zestaw walidatorów — stała grupa podpisujących, których kworum autoryzuje uwolnienia. Proste, szybkie i tak mocne, jak najmniejsza liczba kluczy zdolna ruszyć środki.

Model optymistyczny — wiadomości uznaje się za ważne, o ile nie zostaną zakwestionowane w danym oknie. Tanie, ale zależy od tego, czy ktoś naprawdę patrzy i czy logika kwestionowania jest poprawna.

Lekkie klienty i dowody — łańcuch docelowy weryfikuje kryptograficzne dowody stanu łańcucha źródłowego. Podejście najmocniejsze i najdroższe, i dlatego rzadsze, niż być powinno.

Cała reszta to warianty. Ważne jest to, że niemal zawsze między pulą a atakującym stoi mała grupa podmiotów albo pojedyncza funkcja weryfikująca.

Cztery porażki i to, czego każda uczy

Ronin — przejęte klucze, a nie przejęty kod. Most używał dziewięciu walidatorów, z których pięciu musiało autoryzować wypłatę. Atakujący zdobył cztery klucze przez ukierunkowany phishing, a do piątego dotarł przez podmiot trzeci, któremu wcześniej przyznano dostęp do podpisywania i nigdy go nie cofnięto. Pięć z dziewięciu, kworum osiągnięte, środki uwolnione. Kryptograficznie nic nie pękło. Sprawdzenie podpisów zadziałało bez zarzutu — po prostu zweryfikowało podpisy atakującego.

Lekcja nie brzmi „multisig jest zły". Brzmi tak, że kworum znaczy tyle, ile niezależność jego sygnatariuszy. Cztery klucze w jednej firmie plus jedno zapomniane uprawnienie to nie pięć-z-dziewięciu, to raczej jeden-z-dwóch w przebraniu.

Poly Network — przekonano kontrakt, by zmienił własnego strażnika. Atakujący znalazł ścieżkę wywołania międzyłańcuchowego pozwalającą zmienić rolę keepera — tego, co decyduje, które wiadomości są prawomocne — na adres pod swoją kontrolą. Od tej chwili każda oszukańcza wypłata była, z punktu widzenia kontraktu, należycie autoryzowana.

Lekcja: najgroźniejsza funkcja w moście rzadko jest tą, która przesuwa pieniądze. Jest nią ta, która decyduje, komu wolno to zrobić.

Wormhole — wadliwe było samo sprawdzanie podpisu. Procedurę weryfikacji dało się nakłonić do przyjęcia sfałszowanego zestawu podpisów strażników, co pozwoliło atakującemu wybić 120 000 wETH na Solanie, które niczym nie były pokryte po stronie Ethereum.

Lekcja: „zweryfikowane podpisami" nie znaczy nic bez poprawnego weryfikatora. Kryptografia była w porządku; kod wokół niej nie.

Nomad — zmiana konfiguracji otworzyła drzwi wszystkim. Rutynowa aktualizacja pozostawiła zaufany korzeń ustawiony na wartość zerową, co sprawiło, że praktycznie każda wiadomość wyglądała na udowodnioną. Exploit nie wymagał żadnych umiejętności: ludzie kopiowali transakcję pierwszego atakującego, podstawiali własny adres i powtarzali. Zamieniło się to w zbiorowe opróżnianie.

Lekcja, i to ta niewygodna: to nie był egzotyczny atak. To był błąd wdrożenia. Większość strat na mostach wygląda bardziej na spartaczone operacje niż na pokonaną kryptografię.

Co to znaczy dla ciebie

Aktywa mostowe niosą ryzyko mostu, a nie łańcucha. Trzymanie opakowanego BTC w innym łańcuchu to nie trzymanie BTC. To trzymanie roszczenia, zabezpieczonego najsłabszym akurat elementem tego mostu. To może być całkiem do przyjęcia — ale powinno być decyzją, a nie założeniem.

Wolej nie korzystać z mostu, gdy jest alternatywa. Jeśli możesz kupić aktywo natywnie w łańcuchu docelowym albo użyć scentralizowanej giełdy jako punktu przejścia, zamieniłeś ryzyko mostu na ryzyko inne i często lepiej rozpoznane. Żadna z opcji nie jest wolna od ryzyka; po prostu zawodzą inaczej, a tryby awarii giełd są przynajmniej dobrze skatalogowane.

Nie zostawiaj wartości zaparkowanej w formie mostowej. Ryzyko mostu kumuluje się z czasem. Przejść, zrobić to, po co się przyszło, i wrócić — to naraża cię na krótko. Trzymanie opakowanego aktywa przez rok naraża cię przez rok.

Oceniaj most po modelu zaufania, nie po interfejsie. Ilu sygnatariuszy może ruszyć środki? Czy to niezależne organizacje, czy jeden zespół? Czy kod przeszedł audyt i — co wymowniejsze — czy przetrwał czas i wolumen? Zgrabny front nie mówi ci niczego.

Skaluj pozycję do zaufania. Prosta reguła: nie przerzucaj mostem więcej, niż byłbyś gotów stracić, gdyby operator zniknął, bo w najgorszym razie to jedno i to samo.

Gdzie w tym stoi SSP

SSP obsługuje przenoszenie aktywów między łańcuchami EVM i warto być precyzyjnym co do tego, co to chroni, a czego nie.

Nasze dwa-z-dwóch chroni twoje klucze i twoje zatwierdzenia. Nikt nie zainicjuje transakcji mostowej bez podpisu obu twoich urządzeń, a na każdym zobaczysz, co zatwierdzasz. Ta własność trzyma się w całości.

Czego nie potrafi, to uczynić bezpiecznym samego mostu. Gdy twoje aktywa znajdą się w kontrakcie mostu, rządzą nimi reguły tego kontraktu i zarządzanie kluczami tego operatora — a nie twój multisig. Zatwierdzanie dwoma urządzeniami to znakomita ochrona przed tym, by ktoś ruszył twoje środki bez pozwolenia. To żadna ochrona przed tym, że zabiorą ci środki z miejsca, do którego sam je świadomie wysłałeś.

To nie jest ograniczenie, które dałoby się obejść inżynierią, a udawanie inaczej byłoby nieuczciwe. Mosty są jednym z tych miejsc w kryptowalutach, gdzie uczciwa odpowiedź brzmi: bezpieczeństwo zależy niemal całkowicie od kogoś innego — a właściwą reakcją jest dobrze się przyjrzeć, kim jest ten ktoś, zanim przejdziesz.

Udostępnij ten artykuł

Powiązane artykuły