Podział: Jak haker ukradł 80 XNUMX ETH z mostu Solana Wormhole PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Podział: Jak haker ukradł 80 XNUMX ETH z mostu Solana Wormhole

Jeden z najgorszych hacki przeciwko blockchainowi Solana wydarzyło się w środę, kiedy hakerowi udało się przenieść 80,000 214 ether (ETH), ponad XNUMX milionów w momencie pisania, z systemu Solana do blockchaina Ethereum przez most Wormhole – usługę zapewniającą możliwość transferu fundusze między różnymi łańcuchami bloków.

Wyjaśnione w tweecie wątek przez pseudonimowy profil na Twitterze inteligentne kontraktyhaker sfinalizował exploit, przenosząc 80,000 XNUMX ETH z inteligentnej umowy Wormhole na Ethereum w jednym transakcja. Jak się okazało, był to dopiero ostatni ruch w serii hacków, które umożliwiły hakerowi kradzież środków. 

„Chociaż to dramatyczne, ta transakcja to dopiero koniec ciekawej serii wydarzeń. Musiałem zacząć cofać się, aby dowiedzieć się, jak to w ogóle było możliwe”, tweety smartcontracts.

Opiekunowie podpisali fałszywy przelew

Tunel czasoprzestrzenny to tzw. most, a inteligentna umowa, w tym przypadku na Ethereum, który zapewnia sposób przenoszenia zasobów kryptograficznych między różnymi łańcuchami bloków. Zgodnie z inteligentnymi kontraktami, z wysokiego poziomu, Wormhole ma w szczególności zestaw tak zwanych strażników, którzy podpisują transfery między łańcuchami bloków.

Strażnicy Wormhole w jakiś sposób podpisali ten transfer 80,000 100 ETH, jakby był w XNUMX% zgodny z prawem.

„Transakcja, która wyciągnęła 80,000 XNUMX ETH. był w rzeczywistości osobą atakującą, która przeniosła 80,000 XNUMX ETH z Solany do Ethereum. Początkowo myślałem, że umowa mogła nieprawidłowo potwierdzić podpisy na przelewie, ale podpisy [zostały] całkowicie sprawdzone”.

Według smartcontracts, pierwszy przełom i częściowe wyjaśnienie pochodziło od: transakcja na Solanie, który jakoś wybił 120,000 XNUMX „Wormhole ETH”, owinął eterem na Solanie, znikąd. Ponieważ haker był w stanie wybić ETH Wormhole na Solanie, był w stanie poprawnie wycofać go z powrotem do Ethereum.

“Solana jest trochę dziwna”

Badając historię transakcji hakera, można znaleźć transakcję, która miała miejsce tuż przed wybiciem 120,000 XNUMX ETH tunelu czasoprzestrzennego. W tym transakcja, haker wydaje tylko 0.1 Wormhole ETH, tak jakby haker testował funkcję z niewielką ilością.

Dalsze badanie historii transakcji hakera pokazuje, że haker dokonał kaucja z 0.1 ETH z Ethereum do Solana. Chociaż atakujący nie dokonał wpłaty ETH w wysokości 120,000 XNUMX ETH do inteligentnego kontraktu Wormhole na Ethereum, jest coś interesującego w tym depozycie.

Jak wyjaśnia smartcontract w swoim tweecie, transakcje, które wybiły Wormhole ETH na Solanie, uruchamiały inteligentną umowę Wormhole funkcjonować nazywane "kompletne_opakowane“. Jednym z parametrów, które przyjmuje ta funkcja, jest „komunikat przesyłania”, w zasadzie: wiadomość podpisany przez strażników mostu, który mówi, który żeton wybić i ile.

„Solana jest trochę dziwna, więc te parametry same w sobie są inteligentnymi kontraktami. Ale ważne jest, w jaki sposób tworzone są te kontrakty „przesyłania wiadomości”. Tutaj jest transakcja to spowodowało przesłanie wiadomości o transferze 0.1 ETH”, tweety smartcontracts.

Kto sprawdza warcaby?

Ta umowa „przesyłania wiadomości” jest tworzona przez wywołanie funkcjonować nazywane "post_vaa“. Najważniejszą rzeczą jest to, że post_vaa sprawdza, czy wiadomość jest poprawna, sprawdzając podpisy od opiekunów. Ta część wydaje się wystarczająco rozsądna, mówi smartcontracts, ale to ten krok sprawdzania podpisów zepsuł wszystko.

Funkcja „post_vaa” w rzeczywistości nie sprawdza podpisów. Zamiast tego, w typowy dla Solany sposób, istnieje inny inteligentny kontrakt, który jest tworzony przez wywołanie „weryfikacja_podpisów" funkcjonować. Jeden z Wejścia do funkcji „verify_signatures” jest wbudowany program „systemowy” Solany, który zawiera różne narzędzia, z których może korzystać umowa.

W ramach „verify_signatures” program Wormhole próbuje sprawdzić, czy wykonanie, które miało miejsce tuż przed uruchomieniem tej funkcji, było Sec256k1 została wykonana funkcja weryfikacji podpisu.

„Ta funkcja weryfikacji to wbudowane narzędzie, które ma weryfikować poprawność podanych podpisów. Dlatego weryfikacja podpisu została zlecona temu programowi. Ale tutaj pojawia się błąd”, tweety smartcontracts.

Kontrakty tunelu czasoprzestrzennego wykorzystywały tę funkcję załaduj_instrukcję_at aby sprawdzić, czy funkcja Secp256k1 została wywołana jako pierwsza, ale funkcja load_instruction_at została stosunkowo niedawno przestarzała, ponieważ nie sprawdza, czy działa z rzeczywistym adresem systemowym!

Gra się skończyła

Zgodnie ze smartcontractami dzwoniący ma zapewnić: wkład adres systemowy do wykonywanego programu, ale haker podał inny adres systemowy.

Oto ten adres systemowy używany jako dane wejściowe dla „verify_signatures” dla legalnego wpłaty 0.1 ETH:

Poprawne wprowadzenie adresu systemowego
Poprawne wprowadzenie adresu systemowego

Ale oto transakcja „verify_signatures” dla fałszywego depozytu 120 tys. ETH:

Wprowadzanie adresu systemu
Wprowadzenie fałszywego adresu systemowego 

To nie jest adres systemowy!

„Korzystając z tego „fałszywego” programu systemowego, osoba atakująca mogła skutecznie skłamać, że program do sprawdzania sygnatur został wykonany. Podpisy w ogóle nie były sprawdzane!” – tweety smartcontracts.

„Od tego momentu gra była skończona. Atakujący sprawił, że wyglądało na to, że strażnicy podpisali się na 120 tys. depozytu do Wormhole na Solanie, mimo że tego nie zrobili. Jedyne, co musiał teraz zrobić atakujący, to urzeczywistnić swoje pieniądze do gry, wycofując je z powrotem do Ethereum. I jedno wycofanie 80 tys. ETH + 10 tys. ETH później (wszystko w moście na Ethereum), wszystko zniknęło”.

wieczna kopuła

Biuletyn CryptoSlate

Zawiera podsumowanie najważniejszych codziennych historii ze świata kryptowalut, DeFi, NFT i nie tylko.

Otrzymaj krawędź na rynku kryptowalut

Uzyskaj dostęp do większej liczby spostrzeżeń kryptograficznych i kontekstu w każdym artykule jako płatny członek Krawędź CryptoSlate.

Analiza łańcuchowa

Migawki cenowe

Więcej kontekstu

Dołącz teraz za 19 USD / miesiąc Poznaj wszystkie korzyści

Źródło: https://cryptoslate.com/breakdown-how-the-hacker-stole-80k-eth-from-the-solana-wormhole-bridge/

Znak czasu:

Więcej z CryptoSlate