Analiza techniczna kradzieży około 11,3 miliona dolarów z UXLINK
Atakujący, poprzez szereg operacji, w tym wywołanie funkcji execTransaction kontraktu Gnosis Safe Proxy oraz kontraktu MultiSend, stopniowo usuwał innych właścicieli, ostatecznie przejmując kontrolę nad kontraktem i złośliwie mintując tokeny UXLINK.
Oryginalny tytuł: „Analiza techniczna kradzieży około 11.3 milionów dolarów z UXLINK”
Oryginalne źródło: ExVul Security
Opis zdarzenia
23 września doszło do wycieku klucza prywatnego portfela multisig projektu UXLINK, co doprowadziło do kradzieży kryptowalut o wartości około 11.3 milionów dolarów. Środki te zostały rozproszone i przetransferowane na wiele scentralizowanych (CEX) oraz zdecentralizowanych (DEX) giełd. Natychmiast po ataku przeprowadziliśmy wraz z UXLINK analizę tego incydentu oraz monitorowaliśmy przepływ środków. UXLINK niezwłocznie skontaktował się z głównymi giełdami, prosząc o zamrożenie podejrzanych środków, a także zgłosił sprawę na policję i do odpowiednich instytucji w celu uzyskania wsparcia prawnego i odzyskania aktywów. Większość środków należących do hakera została oznaczona i zamrożona przez główne giełdy, co w maksymalnym stopniu ograniczyło dalsze ryzyko dla społeczności. Zespół projektu zobowiązał się do zachowania przejrzystości wobec społeczności, a ExVul będzie nadal analizować i śledzić rozwój wydarzeń.
()
Najnowsze postępy
W trakcie przepływu środków hakera, środki, które trafiły na giełdy, zostały zamrożone. Wstępne śledzenie on-chain wykazało, że haker, który wcześniej ukradł aktywa UXLINK, prawdopodobnie padł ofiarą ataku phishingowego Inferno
Drainer. Po weryfikacji ustalono, że około 542 milionów tokenów $UXLINK, które nielegalnie zdobył, zostało skradzionych za pomocą metody „phishingu autoryzacyjnego”.
Analiza ataku
1. Wcześniej w kontrakcie, z powodu złośliwych działań właściciela multisig lub wycieku klucza prywatnego, złośliwy adres został dodany jako członek multisig, a próg podpisu kontraktu (threshold) został zresetowany do 1, co oznacza, że do wykonania operacji na kontrakcie wystarczył podpis tylko jednego konta. Haker ustawił nowy adres Owner na 0x2EF43c1D0c88C071d242B6c2D0430e1751607B87.
()
2. Atakujący najpierw wywołał funkcję execTransaction w kontrakcie Gnosis Safe Proxy. Funkcja ta stała się punktem wejścia do złośliwego usunięcia członków multisig, a wszystkie kolejne złośliwe działania zostały wykonane wewnątrz tej transakcji.
()
3. Podczas wywoływania execTransaction, atakujący w parametrze data określił złośliwą operację: wywołanie przez delegatecall kontraktu Safe: Multi Send Call
Only 1.3.0.
()
4. W funkcji multiSend kontraktu Safe: Multi Send Call Only 1.3.0, przepływ wykonania wraca do funkcji removeOwner w kontrakcie Gnosis Safe Proxy. Proces ten wygląda następująco: atakujący najpierw wywołuje przez delegatecall kontrakt MultiSend w kontekście kontraktu proxy, uruchamiając multiSend; następnie, multiSend na podstawie parametrów skonstruowanych przez atakującego, wywołuje przez call kontrakt Gnosis Safe Proxy i uruchamia funkcję removeOwner, usuwając istniejący adres Owner.
()
5. Kluczowym warunkiem skutecznego wywołania jest spełnienie warunku msg.sender== address(this). W funkcji removeOwner, aby zapobiec bezpośredniemu wywołaniu z zewnątrz, kontrakt ustawił weryfikację authorized, której logika zwykle wymaga, aby wywołującym był sam kontrakt (msg.sender == address(this)). Dlatego tylko gdy przepływ wewnętrzny kontraktu wywołuje sam siebie, removeOwner może zostać skutecznie wykonany.
6. Haker, stosując powyższą metodę, usuwał kolejno innych Ownerów z multisig, niszcząc mechanizm multisig i ostatecznie przejmując kontrolę nad kontraktem.
7. W ten sposób atakujący, powtarzając powyższe kroki, całkowicie unieważnił pierwotny mechanizm bezpieczeństwa multisig. W tym momencie wystarczył podpis pojedynczego złośliwego Ownera, aby przejść weryfikację multisig i uzyskać pełną kontrolę nad kontraktem.
()
Podsumowanie
Z powodu złośliwych działań Ownera multisig lub wycieku klucza prywatnego, atakujący dodał złośliwy adres jako członka multisig i ustawił próg podpisu (threshold) Gnosis Safe Proxy na 1, co całkowicie unieważniło pierwotny projekt bezpieczeństwa multisig. Następnie pojedynczy złośliwy Owner mógł przejść weryfikację multisig. Atakujący stopniowo usuwał innych Ownerów z kontraktu, ostatecznie uzyskując pełną kontrolę nad kontraktem i dalej transferując aktywa oraz złośliwie mintując tokeny $UXLINK on-chain.
To zdarzenie podkreśla kluczową rolę zarządzania multisig w bezpieczeństwie blockchain. Mimo że projekt zastosował mechanizm Safe multisig i skonfigurował wiele kont multisig, z powodu wadliwego zarządzania mechanizm ten okazał się nieskuteczny. Zespół ExVul zaleca, aby zarządzanie multisig było jak najbardziej zdecentralizowane, np. poprzez przechowywanie kluczy prywatnych przez różnych członków oraz stosowanie zróżnicowanych metod ich przechowywania, aby zapewnić rzeczywistą skuteczność mechanizmu multisig jako zabezpieczenia.
Aneks
Poniżej znajdują się podejrzane adresy hakerów wykryte przez zespół ExVul podczas śledzenia on-chain:
Zastrzeżenie: Treść tego artykułu odzwierciedla wyłącznie opinię autora i nie reprezentuje platformy w żadnym charakterze. Niniejszy artykuł nie ma służyć jako punkt odniesienia przy podejmowaniu decyzji inwestycyjnych.
Może Ci się również spodobać
Pyth ogłasza wprowadzenie Pyth Pro: przekształcenie łańcucha dostaw danych rynkowych
Pyth Pro ma na celu zapewnienie instytucjom przejrzystego i kompleksowego wglądu w dane, obejmującego wszystkie klasy aktywów i regiony geograficzne na globalnych rynkach, eliminując nieefektywności, luki informacyjne oraz rosnące koszty tradycyjnych łańcuchów dostaw danych rynkowych.

Stablecoiny + dobre tokeny + nowy perpetual DEX: skromne portfolio inwestycyjne entuzjasty airdropów
Jak zbudować całoroczne portfolio kryptowalutowe na rynku byka i niedźwiedzia?
Gorączka, upadek i ucieczka: historia rozczarowania klasycznych VC wobec Web3
Krypto nigdy nie było kwestią wiary, to tylko przypis do cyklu.

Portfele kryptowalutowe masowo wydają własne tokeny? Nie mają już na to wiele czasu
Najbliższe miesiące mogą być dobrą okazją do wydania tokena portfela.

Popularne
WięcejCeny krypto
Więcej








