Defalcare: Cum a furat hackerul 80 ETH din podul Solana Wormhole PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Defalcare: Cum a furat hackerul 80k ETH de pe podul Solana Wormhole

Una dintre cele mai rele hacks împotriva blockchain-ului Solana s-a întâmplat miercuri, când un hacker a reușit să transfere 80,000 de eteri (ETH), peste 214 milioane de dolari în momentul scrierii, din sistemul Solana și în blockchain-ul Ethereum prin podul Wormhole – un serviciu care oferă posibilitatea de a transfera fonduri între diferitele blockchain-uri.

Explicat într-un tweet fir de profilul Twitter pseudonim contracte inteligente, hackerul a finalizat exploit-ul transferând cei 80,000 de ETH din contractul inteligent Wormhole de pe Ethereum într-o singură tranzacție. După cum sa dovedit, aceasta a fost doar ultima mișcare dintr-o serie de hack-uri care i-au permis hackerului să fure fondurile. 

„Deși este dramatică, această tranzacție este doar sfârșitul unei serii interesante de evenimente. A trebuit să încep să-mi fac drumul înapoi pentru a-mi da seama cum a fost chiar posibil acest lucru”, scrie pe Twitter smartcontracts.

Gardienii au semnat un transfer fals

Gaura de vierme este un așa-numit pod, a contract inteligent, pe Ethereum în acest caz, care oferă o modalitate de a muta activele cripto între diferite blockchain-uri. Potrivit smartcontracts, dintr-un punct de vedere la nivel înalt, Wormhole are în mod special un set de co-numiți gardieni care semnează transferurile între blockchain-uri.

Gardienii Wormhole au semnat cumva acest transfer de 80,000 ETH ca și cum ar fi fost 100% legitim.

„Tranzacția care a scos 80,000 ETH a fost de fapt atacatorul care a transferat 80,000 de ETH de la Solana la Ethereum. Inițial am crezut că contractul ar fi validat incorect semnăturile transferului, dar semnăturile [au fost] complet verificate.”

Potrivit smartcontracts, prima descoperire și explicația parțială a venit din a tranzacție pe Solana care a bătut cumva 120,000 de „Wormhole ETH”, a înfășurat eter pe Solana, de nicăieri. Deoarece hackerul a reușit să bată Wormhole ETH pe Solana, a putut să-l retragă corect înapoi în Ethereum.

„Solana este cam ciudată”

Examinând istoricul tranzacțiilor hackerului, există o tranzacție care a venit chiar înainte de baterea celor 120,000 de ETH Wormhole. In acest tranzacție, hackerul bate doar 0.1 Wormhole ETH, de parcă hackerul ar fi testat funcția cu o cantitate mică.

O examinare suplimentară a istoricului tranzacțiilor hackerului dezvăluie că hackerul a făcut o depozit de 0.1 ETH de la Ethereum în suntrap. Deși atacatorul nu a făcut o depunere ETH de 120,000 ETH în contractul inteligent Wormhole de pe Ethereum, există ceva interesant despre acest depozit.

După cum explică smartcontract în tweetul său, tranzacțiile care au bătut Wormhole ETH pe Solana au declanșat un contract inteligent Wormhole funcţie numit „complete_wrapped„. Unul dintre parametrii pe care îi ia această funcție este un „mesaj de transfer”, practic a mesaj semnat de gardienii podului pe care scrie ce jeton să bată și cât.

„Solana este oarecum ciudată, așa că acești parametri sunt chiar contracte inteligente. Dar lucrul important este cum sunt create aceste contracte de „mesaj de transfer”. Iată tranzacție care a făcut mesajul de transfer de 0.1 ETH”, pe Twitter SmartContracts.

Cine verifică damele?

Acest contract de „mesaj de transfer” este creat prin declanșarea a funcţie numit „post_vaa„. Cel mai important lucru este că post_vaa verifică dacă mesajul este valid verificând semnăturile de la tutori. Partea aceea pare suficient de rezonabilă, spune smartcontracts, dar acest pas de verificare a semnăturii a rupt totul.

Funcția „post_vaa” nu verifică de fapt semnăturile. În schimb, în ​​mod tipic Solana, există un alt contract inteligent care este creat prin apelarea „verificare_semnăturiMatei 22:21 funcţie. Unul dintre intrări la funcția „verify_signatures” este un program de „sistem” încorporat Solana, care conține diverse utilități pe care le poate folosi contractul.

În „verify_signatures”, programul Wormhole încearcă să verifice dacă execuția care a avut loc chiar înainte ca această funcție să fie declanșată a fost că Secp256k1 a fost executată funcția de verificare a semnăturii.

„Această funcție de verificare este un instrument încorporat care ar trebui să verifice dacă semnăturile date sunt corecte. Deci, verificarea semnăturii a fost externalizată către acest program. Dar aici intervine bug-ul”, scrie pe Twitter smartcontracts.

Contractele Wormhole au folosit funcția load_instruction_at pentru a verifica dacă funcția Secp256k1 a fost apelată mai întâi, dar funcția load_instruction_at a fost depreciată relativ recent, deoarece nu verifică dacă se execută față de adresa reală a sistemului!

Joc peste

Potrivit smartcontracts, apelantul ar trebui să ofere ca intrare adresa de sistem la programul care se execută, dar hackerul a furnizat o adresă de sistem diferită.

Iată adresa de sistem folosită ca intrare pentru „verify_signatures” pentru depozitul legitim de 0.1 ETH:

Introducerea corectă a adresei de sistem
Introducerea corectă a adresei de sistem

Dar iată tranzacția „verify_signatures” pentru depozitul fals de 120k ETH:

Introducerea adresei sistemului
Introducere falsă a adresei de sistem 

Asta nu este adresa sistemului!

„Folosind acest program de sistem „fals”, atacatorul ar putea minți efectiv despre faptul că programul de verificare a semnăturii a fost executat. Semnăturile nu au fost verificate deloc!”, pe Twitter SmartContracts.

„După acel moment, sa terminat jocul. Atacatorul a făcut să pară că gardienii au semnat un depozit de 120 în Wormhole pe Solana, deși nu au făcut-o. Tot ce trebuia să facă atacatorul acum era să-și facă banii „de joc” reali retrăgându-i înapoi în Ethereum. Și o retragere a 80 ETH + 10 ETH mai târziu (totul în podul de pe Ethereum), totul a dispărut.”

everdome

Buletin informativ CryptoSlate

Prezintă un rezumat al celor mai importante povești zilnice din lumea cripto, DeFi, NFT și multe altele.

obține o margine pe piața cripto-activelor

Accesați mai multe informații criptografice și context în fiecare articol în calitate de membru plătit al CryptoSlate Edge.

Analiza în lanț

Instantanee de preț

Mai mult context

Alăturați-vă acum pentru 19 USD / lună Explorează toate beneficiile

Sursa: https://cryptoslate.com/breakdown-how-the-hacker-stole-80k-eth-from-the-solana-wormhole-bridge/

Timestamp-ul:

Mai mult de la CryptoSlate