Błyskawiczna pożyczka przejmuje dwa mandaty w zarządzie – czego branża może nauczyć się z ataku na X100?

ETH
USDT
bezpieczeństwo DeFizarządzanie DAOatak na zarządzanieX100kradzież środkówbłyskawiczna pożyczka
5 godzin temuŹródło: blockweeks.com
Błyskawiczna pożyczka przejmuje dwa mandaty w zarządzie – czego branża może nauczyć się z ataku na X100?


Oryginał | Odaily Planet Daily (@OdailyChina)

Autor | Asher (@Asher_0210)

Pożyczka błyskawiczna przejmuje dwa miejsca w zarządzie, czego atak na X100 uczy branżę?

24 października projekt DeFi na Ethereum, X100, padł ofiarą ataku na zarządzanie, w wyniku którego skradziono około 4,85 miliona USDT. Według danych GMGN, kapitalizacja rynkowa tokena X spadła z około 760 milionów dolarów przed atakiem do około 24 milionów dolarów, co stanowi jednodniowy spadek o ponad 96%.

Pożyczka błyskawiczna przejmuje dwa miejsca w zarządzie, czego atak na X100 uczy branżę?

Skarbiec, pierwotnie zarządzany wspólnie przez trzy miejsca w „Senacie”, został przejęty przez hakera, który wykorzystał środki pożyczone w ramach pożyczki błyskawicznej, aby zdobyć dwa z trzech miejsc. Mając większość głosów, haker złożył złośliwą propozycję, a następnie wykorzystał kontrolowane przez siebie miejsca do jej przegłosowania, powodując, że skarbiec zatwierdził transakcję przesyłającą aktywa do niego samego. Po udanym pierwszym ataku inni napastnicy kolejno wykorzystali ten sam mechanizm zarządzania, aby kontynuować transfer aktywów projektu.

Poniżej Odaily Planet Daily przedstawi przegląd całego procesu tego ataku na zarządzanie, a także ryzyka związanego z bezpieczeństwem zarządzania DAO, ujawnione w wyniku incydentu X100.

Pożyczając 1,94 miliona dolarów, jak haker zdobył dwa miejsca w „Senacie”?

Skarbiec X100 jest zarządzany przez trzyosobowy „Senat” zwany Senate, którego członkowie głosują nad decyzjami dotyczącymi operacji, takich jak sprzedaż tokenów skarbu i zapewnianie płynności. Wystarczy kontrolować dwa z miejsc, aby móc przegłosować propozycje i uruchomić aktywa skarbca. Posiadacze deponują token projektu X w kontrakcie Freezer, wybierają zamrożenie na jeden, trzy lub pięć lat, a następnie płacą opłatę rejestracyjną w wysokości 100 X, aby wziąć udział w wyborach. Trzy miejsca są szeregowane w czasie rzeczywistym według aktualnego zamrożonego salda adresów uczestniczących, a trzy najlepsze uzyskują prawa do zarządzania.

Mechanizm ten nie ogranicza tego samego kontrolera przed uzyskaniem miejsc poprzez wiele adresów, ani nie ustanawia okresu oczekiwania na wejście w życie praw do zarządzania. Atakujący musi jedynie sprawić, aby zamrożone salda dwóch kontrolowanych adresów jednocześnie znalazły się w pierwszej trójce, aby natychmiast przejąć większość głosów; przegłosowana propozycja może również zostać natychmiast wykonana, co pozwala na przejęcie miejsc i transfer aktywów w tej samej transakcji.

Przed atakiem adres drugiego miejsca miał zamrożone około 19 000 X. O godzinie 22:11 24 października haker pożyczył około 1,94 miliona USDT za pośrednictwem pożyczki błyskawicznej Aave, kupił X i rozdzielił go do dwóch kontraktów pomocniczych, aby odpowiednio zakończyć zamrażanie i kampanię wyborczą. Każdy kontrakt zamroził 19 000,000001 X, tylko jedną milionową tokena więcej niż pierwotne drugie miejsce, a jednak jednocześnie zajął drugie i trzecie miejsce, wypychając pierwotne drugie miejsce z listy zarządzania.Pożyczka błyskawiczna przejmuje dwa miejsca w zarządzie, czego atak na X100 uczy branżę?

Po uzyskaniu większości głosów, w jaki sposób haker sprawił, że aktywa skarbca trafiły w jego ręce?

Dwa głosy „tak” pozwalają skarbcowi sprzedać 400 000 X za 35,68 USD

Po zdobyciu dwóch miejsc haker natychmiast złożył złośliwą propozycję wymagającą, aby skarbiec sprzedał 400 000 X do puli PancakeSwap V3 X/USDT utworzonej przez hakera, z minimalną otrzymaną kwotą ustawioną na zero, a następnie zagłosował za jej poparciem za pośrednictwem innego kontrolowanego kontraktu, co pozwoliło propozycji przejść dwoma głosami i zostać natychmiast wykonaną. Według analizy GoPlus, X100 pozwala propozycjom zarządzania określić pulę transakcyjną, ale brakuje skutecznej ochrony minimalnej kwoty transakcji. Haker mógł zarówno zdecydować, gdzie skarbiec sprzeda tokeny, jak i samodzielnie ustawić warunki transakcji, a następnie zatwierdzić transakcję większością głosów, które kontrolował.

Powyższa pula została utworzona przez hakera w tej samej transakcji, z wstrzykniętą jedynie około 100 USD płynności. Kiedy skarbiec sprzedał do niej 400 000 X, pula mogła wypłacić jedynie niewielką ilość USDT, a ponieważ minimalna otrzymana kwota wynosiła zero, transakcja nie zakończyła się niepowodzeniem z powodu nadmiernie niskiego zwrotu. Ostatecznie skarbiec przekazał 400 000 X i otrzymał w zamian jedynie około 35,68 USD. Haker następnie wycofał płynność z samodzielnie utworzonej puli, odzyskał znajdujące się w niej X i sprzedał część tokenów do istniejącej puli transakcyjnej Uniswap V3 X/USDT w zamian za USDT. Po spłacie pożyczki błyskawicznej i innych wydatków pierwszy haker osiągnął zysk około 4,75 miliona USDT.

Od pożyczenia środków na zakup tokenów i przejęcia miejsc, po zatwierdzenie niskiej ceny sprzedaży tokenów przez skarbiec i wypłatę gotówki na spłatę pożyczki — wszystko zostało wykonane w tej samej transakcji. Tokeny przekazane przez skarbiec stały się żetonami hakera do wypłaty gotówki, podczas gdy USDT w rzeczywistej puli transakcyjnej posłużyło do spłaty pożyczki i zostało zamienione na zyski z ataku.

Kolejne ataki następowały jeden po drugim — dokąd trafiły skradzione środki?

Około 24 minuty po pierwszym ataku drugi haker po raz kolejny przejął dwa miejsca w zarządzaniu za pośrednictwem pożyczki błyskawicznej, usunął część pozycji płynnościowych Uniswap V3 posiadanych przez Freezer i wykorzystał samodzielnie utworzoną pulę transakcyjną do dalszego transferu aktywów, uzyskując około 96 400 USDT. Około pięć minut później trzeci portfel wykorzystał kontrakt pomocniczy pozostawiony przez drugiego hakera, który nie ograniczał wywołujących, bezpośrednio pożyczając jego miejsca w zarządzaniu, aby przegłosować propozycję i przenieść około 550 000 X. Pierwsze dwie rundy ataków spowodowały łączną stratę około 4,85 miliona USDT, a trzecia runda przeniosła kolejne około 550 000 X; trzy rundy ataków miały miejsce w ciągu niecałej pół godziny.

Według śledzenia Bitquery pierwszy haker zamienił główne zyski w USDT na ETH w ciągu kilku minut po ataku, a następnie rozproszył je do pięciu portfeli, łącznie około 2 022,86 ETH. Drugi haker zamienił USDT na ETH i skierował je przez adresy pośredniczące do ChangeNOW, a cały proces transferu zajął około 21 minut.

Po utracie władzy zarządzania transfer aktywów szybko przekształcił się z pojedynczego ataku pierwszego hakera w kolejne wysysanie przez wiele portfeli. Późniejsi uczestnicy nie musieli nawet ponownie kupować tokenów, aby prowadzić kampanię; mogli wykorzystać istniejące uprawnienia do dalszego transferu aktywów.

Świat on-chain, w którym koszt ataków na zarządzanie jest coraz niższy

X100 nie jest odosobnionym przypadkiem, a ataki na zarządzanie niekoniecznie wymagają od hakerów inwestowania ogromnych środków z góry. Atakujący mogą albo kupować tokeny, aby uzyskać prawa głosu, albo wykorzystywać niskie progi propozycji do szukania okazji, podczas gdy pożyczki błyskawiczne dodatkowo pozwalają pożyczonym środkom uczestniczyć w przejmowaniu władzy zarządzania.

Od początku tego roku podobne ataki na zarządzanie wielokrotnie powodowały duże straty. W lipcu atakujący Bonk DAO wydał około 4,09 miliona USD na zakup tokenów stanowiących 1,003% podaży, ledwie przekraczając próg zatwierdzenia zarządzania, a następnie przeniósł około 20,5 miliona USD aktywów za pośrednictwem złośliwej propozycji, a nawet odzyskał zastakowane tokeny po zakończeniu głosowania. W sierpniu Term Finance stracił około 8,5 miliona USD z powodu ataku na zarządzanie. Nawet jeśli do zakupu praw głosu potrzeba milionów dolarów, te pieniądze mogą nie być kosztem ostatecznie poniesionym przez atakującego.

Próg niektórych prób ataków wynosił nawet zaledwie kilkaset dolarów. W marcu tego roku atakujący Moonwell wydał jedynie około 1 808 USD na zakup MFAM i samodelegowanie, a następnie złożył złośliwą propozycję próbującą uzyskać prawa zarządzania siedmioma rynkami pożyczkowymi i kontraktami podstawowymi obejmującymi około 1,08 miliona USD środków użytkowników. We wrześniu atakujący Olas wydał jedynie około 135 USD na zablokowanie 5 100 OLAS, przekraczając próg propozycji. Chociaż oba ataki zostały udaremnione, pokazują, że atakujący niekoniecznie muszą posiadać większość głosów; samo uzyskanie kwalifikowalności do składania propozycji może stworzyć okazje do ataku.

22 października Arkadiko również padło ofiarą ataku na zarządzanie. Atakujący zakupił wystarczającą ilość DIKO, samodzielnie przegłosował propozycję wprowadzającą złośliwy kontrakt, przy braku głosów sprzeciwu w trakcie procesu, a szacowane straty wyniosły około 1,09 miliona dolarów.

Prawa do zarządzania można pożyczyć, a aktywa można przenieść, gdy tylko głosowanie zostanie przegłosowane. Kiedy kontrola nad skarbcem tak łatwo zmienia właściciela, kogo tak zwane zdecentralizowane zarządzanie może faktycznie ochronić?



Link do źródła