Rada Bezpieczeństwa Arbitrum zamroziła 8 425 ETH i 74,6 mln ARB w 10 minut
Najważniejsze informacje
- •Rada Bezpieczeństwa Arbitrum przeniosła 30 października 8 425 ETH i 74,6 mln ARB, wyceniane na blisko 30 mln dolarów, z portfela powiązanego z exploitem Binance na adres blokujący kończący się na 0DA0.
- •Rada użyła tymczasowej aktualizacji Inbox o nazwie sendUnsignedTransactionOverride, pozwalającej Arbitrum One akceptować transakcje wskazujące adres exploitera jako nadawcę, bez dostępu do jego klucza prywatnego.
- •Zamrożone aktywa mogą zostać uwolnione wyłącznie w drodze głosowania zarządczego ArbitrumDAO, a październikowe ujawnienie nie wskazało ostatecznego odbiorcy.
- •Ten sam mechanizm wykorzystano 21 kwietnia do odzyskania 30 766 ETH od exploitera KelpDAO, a proces uwolnienia ostatecznie przekierował federalny nakaz sądu USA związany z wyrokiem w sprawie Kim v. DPRK.
- •TRM Labs i Chainalysis powiązały kradzież Binance z północnokoreańskimi hakerami, a Binance oświadczył, że pokryje straty klientów z własnych środków.

Rada Bezpieczeństwa Arbitrum przeniosła 8 425 ETH i 74,6 mln ARB z portfela powiązanego z exploitem na adres kończący się na 0DA0 w ramach działania awaryjnego 30 października. Operacja wykorzystała nadpisanie Inbox, które pozwoliło sieci akceptować transakcje pozornie pochodzące od exploitera, bez użycia jego klucza prywatnego.
Zgodnie z ujawnieniem działania awaryjnego Rady Bezpieczeństwa ruch wykonano o 8:08 czasu hongkońskiego. Rada oświadczyła, że środki ani aplikacje innych użytkowników nie ucierpiały. Szacunki medialne wyceniły zamrożone aktywa na blisko 30 mln dolarów, w porównaniu z około 6,3 mld dolarów, które Binance podaje jako wycofane z jego portfeli.
Środki mogą opuścić adres 0DA0 wyłącznie w drodze głosowania zarządczego ArbitrumDAO. Działanie wiązało się więc z trzema odrębnymi uprawnieniami: rada nie mogła podpisywać transakcji z portfela exploitera, ale mogła zmienić sposób, w jaki Arbitrum One przyjmuje transakcje. Decydowanie o tym, kto ostatecznie otrzyma aktywa, pozostaje w gestii DAO i — jak pokazało wcześniejsze zamrożenie — może też angażować sąd w USA.
Jak działało nadpisanie Inbox
Wiadomości z Ethereum docierają do Arbitrum One przez kontrakt Inbox na mainnecie Ethereum. W normalnych warunkach transakcja międzyłańcuchowa niesie tożsamość nadawcy, co uniemożliwia jednemu kontu Ethereum korzystanie ze standardowej trasy w celu podszywania się pod inne konto w Arbitrum.
Na potrzeby działania awaryjnego rada zaktualizowała Inbox o funkcję o nazwie sendUnsignedTransactionOverride. Ujawnienie opisało ją jako dodającą „zdolność do podszywania się pod nadawcę transakcji”. Dwie wiadomości utworzone tą funkcją wskazały adres exploitera jako nadawcę i skierowały jego ETH oraz ARB na adres blokujący. Następnie rada przywróciła oryginalny kod Inbox.
Aktualizacja, transfery i przywrócenie odbyły się w ramach jednej transakcji Ethereum o 00:08:35 UTC. Arbitrum One przetworzył wynik około 10 minut później, a transfer ARB rozliczono o 00:18:20 UTC. Odpowiednia transakcja jest zarejestrowana na Etherscan, a odpowiadająca jej transakcja w Arbitrum widnieje na Arbiscan.
Połączenie aktualizacji i przywrócenia w jednej transakcji może ukryć zmianę przed systemami monitoringu porównującymi adres implementacji Inbox przed i po każdym bloku. Taki obserwator widziałby tę samą implementację po obu stronach transakcji. Firma bezpieczeństwa Zealynx wskazała ten problem w technicznej rekonstrukcji opublikowanej na Ethereum Magicians.
Aktualizacja pozostaje widoczna w zdarzeniach aktualizacji kontraktu oraz w śladzie wykonania transakcji. Żadna kryptografia nie została złamana: klucz prywatny atakującego pozostał pod jego kontrolą, a rada zmieniła jedynie to, jakiego nadawcy sieć akceptuje.
Co ujawnia transakcja ARB
Sam transfer ARB wygląda podobnie do zwykłej transakcji portfelowej. Adres exploitera widnieje w polu „from”, a adres kończący się na 0DA0 w polu „to”. Kluczowym szczegółem jest typ transakcji, zapisany jako 101, czyli 0x65 — oznaczenie Arbitrum dla niepodpisanej transakcji wchodzącej z Ethereum.
Adres exploitera nie wygenerował podpisu, ponieważ ta trasa go nie wymagała. W efekcie narzędzia interpretujące każdy wychodzący transfer jako decyzję właściciela portfela mogą błędnie przypisać ruch exploiterowi. Usługi etykietowania portfeli, systemy compliance oraz podsumowania eksploratorów mogły odnotować exploitera jako sprawcę transferu, choć inicjatorem działania była rada.
Z perspektywy kontraktu tokena zdarzenie również wyglądało zwyczajnie. Zealynx zauważył, że kontrakt ARB odnotował standardowy transfer i nie miał możliwości odróżnienia działania rady od zwykłego transferu. Sam typ transakcji nie rozstrzyga, ponieważ konta Ethereum legalnie korzystają z niepodpisanych transakcji, aby docierać do Arbitrum z mainnetu. Decydujące są wiadomość Ethereum stojąca za transakcją oraz to, czy implementacja Inbox zmieniła się w tej samej transakcji.
Ten sam mechanizm zastosowano w kwietniu
Zamrożenie związane z Binance powtórzyło mechanizm użyty 21 kwietnia, kiedy rada przeniosła 30 766 ETH od exploitera KelpDAO po ataku na trasę mostu rsETH w KelpDAO. To działanie wykorzystało tę samą funkcję i ten sam adres blokujący, zgodnie z kwietniowym ujawnieniem działania awaryjnego.
Upoważnienie wynika z konstytucji ArbitrumDAO, która nadaje DAO i Radzie Bezpieczeństwa uprawnienia właściciela łańcucha w Arbitrum One. Obejmują one kontrolę nad aktualizacjami kluczowych kontraktów i ustawieniami systemowymi. Dziewięciu z 12 członków rady może zatwierdzić działanie awaryjne bez zwłoki.
Konstytucja ogranicza tę ścieżkę do rzeczywistych zagrożeń bezpieczeństwa i wymaga po niej raportu transparentności. ArbitrumDAO może też zawęzić lub cofnąć te uprawnienia w drodze propozycji konstytucyjnej.
Zamrożenia stablecoinów działają na innej warstwie. Circle i Ripple zamroziły tokeny powiązane z kradzieżą Binance za pomocą mechanizmów wbudowanych we własne aktywa. Coindoo relacjonował, jak atakujący ominął te mechanizmy, pożyczając ETH pod zabezpieczeniu skradzionych stablecoinów. ETH nie ma emitenta, który mógłby go zablokować, ale ETH w Arbitrum One jest zapisany w rejestrze, którego podstawowy system rada może zaktualizować. Październikowe ujawnienie nie wskazuje, czy zamrożone ETH pochodziło z tych pożyczek.
Kwiecniowe działanie wywołało debatę o zakresie możliwości podszywania się. Robby Greenfield z Tokedex napisał, że „nie jest ograniczone do odzyskiwania”. Delegat MconnectDAO zażądał od rady publikacji polityki działań awaryjnych określającej, kiedy może omijać zarządzanie. Delegat deakeegroup zajął stanowisko przeciwne, argumentując, że wcześniej autoryzowane, wąsko zakreślone uprawnienia awaryjne są lepsze niż brak ścieżki awaryjnej albo nieograniczone klucze administracyjne bez rozliczalności. 11 października uczestnik tej samej dyskusji wciąż pytał, czy prace nad taką polityką się rozpoczęły.
Dla posiadaczy aktywów w Arbitrum One sprawa rozdziela dwa pytania: kto kontroluje klucz prywatny i kto może zmienić reguły, według których ten klucz działa. W Arbitrum One ta druga władza należy do dziewięciu z 12 sygnatariuszy rady, w granicach konstytucji. Łańcuchy zbudowane na technologii Arbitrum odpowiadają na nie oddzielnie, ponieważ każdy ma własnych administratorów.
Przekazanie środków wymaga kolejnego głosowania
Październikowe ujawnienie nie wskazało ostatecznego odbiorcy. Stwierdziło jedynie, że do przeniesienia aktywów wymagane będzie głosowanie zarządcze i że proces jest koordynowany z zainteresowanymi stronami. Kwietniowe odzyskiwanie pokazuje, jak taki proces może przebiegać.
25 kwietnia Aave Labs, KelpDAO, LayerZero, EtherFi i Compound opublikowały Konstytucyjny AIP. Propozycja wskazała multisig odzyskowy jako odbiorcę, powiązała ETH z przywróceniem pokrycia rsETH i zobowiązała Aave Labs do ochrony prawnej Arbitrum Foundation, Offchain Labs i członków rady.
Propozycja określiła następujący harmonogram:
- Dyskusja na forum: jeden tydzień
- Konsultacja temperatury na Snapshot: jeden tydzień
- Opóźnienie po złożeniu na łańcuchu: trzy dni
- Głosowanie na łańcuchu: 14 dni, z możliwością przedłużenia do 16
- Okres oczekiwania Arbitrum: osiem dni
- Finalizacja wiadomości Arbitrum–Ethereum: zwykle co najmniej jeden tydzień
- Okres oczekiwania Ethereum: trzy dni
Autorzy szacowali, że proces zajmie około 49 dni od publikacji do wykonania.
Sąd następnie zmienił proponowanego odbiorcę. Powodowie w sprawie Kim v. Democratic People's Republic of Korea, posiadający niewyegzekwowany wyrok sądu USA wobec Korei Północnej, doręczyli „Arbitrum DAO” wezwanie o zabezpieczenie. Federalny nakaz złożony 8 maja zezwolił na głosowanie na łańcuchu celem przesłania zamrożonego ETH do portfela kontrolowanego przez Aave LLC, związał Aave LLC zabezpieczeniem po otrzymaniu środków i zastrzegł wszelkie pozostałe kwestie dotyczące aktywów.
Propozycję zmieniono, wskazując Aave LLC jako odbiorcę, a do 26 maja pojawiła się wśród aktywnych głosowań na łańcuchu Arbitrum, zgodnie z przeglądem zarządzania. W tej debacie delegat DZack23 napisał, że nawet po usunięciu etapów dyskusji i konsultacji temperatury pozostaje co najmniej 35 dni. Jego zdaniem użycie kolejnego działania awaryjnego w celu przyspieszenia uwolnienia naruszałoby konstytucję, ponieważ tempo odzyskiwania nie jest samo w sobie zagrożeniem bezpieczeństwa.
Środki Binance niosą podobne przypisanie jak ETH KelpDAO. TRM Labs i Chainalysis powiązały kradzież Binance z północnokoreańskimi hakerami, jak relacjonuje BleepingComputer. Binance oświadczył, że pokryje straty klientów z własnych środków, więc roszczenie w tej sprawie należy do jednej giełdy, a nie — jak w kwietniu — do koalicji protokołów.
Dalsze kroki ukażą się w trzech dokumentach: propozycji uwolnienia na forum zarządzania Arbitrum wskazującej odbiorcę, raporcie transparentności wymaganym konstytucją dla październikowego działania oraz ewentualnym złożeniu do sądu identyfikującym saldo adresu 0DA0, widocznym na Arbiscan. Otwarte spotkanie zarządcze Arbitrum 3 listopada było pierwszą zaplanowaną dyskusją nad propozycją od czasu zamrożenia. Jeśli uwolnienie pójdzie ścieżką kwietniową, powyższy harmonogram wyznaczy najwcześniejszy moment, w którym środki mogłyby ruszyć, a wezwanie o zabezpieczenie mogłoby wcześniej zmienić odbiorcę.