Analisi: come l'hacker ha rubato 80 ETH dal ponte Solana Wormhole PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Ripartizione: come l'hacker ha rubato 80 ETH dal ponte Solana Wormhole

Uno dei peggiori hack contro la blockchain di Solana è successo mercoledì quando un hacker è riuscito a trasferire 80,000 ether (ETH), oltre $ 214 milioni al momento della scrittura, dal sistema Solana e nella blockchain di Ethereum attraverso il ponte Wormhole, un servizio che offre la possibilità di trasferire fondi tra le diverse blockchain.

Spiegato in un tweet filo dal profilo Twitter pseudonimo contratti intelligenti, l'hacker ha finalizzato l'exploit trasferendo gli 80,000 ETH dallo smart contract Wormhole su Ethereum in un unico delle transazioni. Come si è scoperto, questa era solo l'ultima mossa di una serie di hack che hanno permesso all'hacker di rubare i fondi. 

“Sebbene sia drammatico, questa transazione è solo la fine di un'interessante serie di eventi. Ho dovuto iniziare a lavorare a ritroso per capire come fosse possibile", twitta smartcontracts.

I tutori hanno firmato un falso trasferimento

Wormhole è un cosiddetto ponte, a smart contract, su Ethereum in questo caso, che fornisce un modo per spostare le criptovalute tra diverse blockchain. Secondo gli smartcontract, da un punto di vista di alto livello, Wormhole ha in particolare una serie di cosiddetti guardiani che firmano i trasferimenti tra le blockchain.

I guardiani di Wormhole avevano in qualche modo firmato questo trasferimento di 80,000 ETH come se fosse legittimo al 100%.

“La transazione che ha tirato fuori 80,000 ETH era in realtà l'attaccante che trasferiva 80,000 ETH da Solana a Ethereum. Inizialmente pensavo che il contratto potesse aver convalidato in modo errato le firme sul trasferimento, ma le firme [sono state] completamente verificate".

Secondo gli smartcontract, la prima svolta e la spiegazione parziale provenivano da a delle transazioni su Solana che in qualche modo ha coniato 120,000 "Wormhole ETH", avvolto etere su Solana, dal nulla. Poiché l'hacker è stato in grado di coniare Wormhole ETH su Solana, è stato in grado di ritirarlo correttamente su Ethereum.

“Solana è un po' strana”

Esaminando la cronologia delle transazioni dell'hacker, c'è una transazione avvenuta subito prima del conio di 120,000 Wormhole ETH. In questo delle transazioni, l'hacker conia solo 0.1 Wormhole ETH, come se stesse testando la funzione con una piccola quantità.

Un ulteriore esame della cronologia delle transazioni dell'hacker rivela che l'hacker ha fatto a deposito di 0.1 ETH da Ethereum in solario. Sebbene l'attaccante non abbia effettuato un deposito di ETH di 120,000 ETH nel contratto intelligente di Wormhole su Ethereum, c'è qualcosa di interessante in questo deposito.

Come spiega smartcontract nel suo tweet, le transazioni che hanno coniato Wormhole ETH su Solana stavano innescando uno smart contract Wormhole function chiamato "completo_avvolto“. Uno dei parametri che assume questa funzione è un “messaggio di trasferimento”, sostanzialmente a messaggio firmato dai guardiani del ponte che dice quale gettone coniare e quanto.

“Solana è un po' strana, quindi questi parametri sono in realtà gli stessi contratti intelligenti. Ma la cosa importante è come vengono creati questi contratti di "trasferimento di messaggi". Ecco il delle transazioni che ha creato il messaggio di trasferimento 0.1 ETH", twitta smartcontracts.

Chi controlla le pedine?

Questo contratto di "trasferimento messaggio" viene creato attivando a function chiamato "post_vaa“. La cosa più importante è che post_vaa controlli se il messaggio è valido controllando le firme dei guardiani. Quella parte sembra abbastanza ragionevole, dice smartcontracts, ma è questo passaggio di controllo della firma che ha rotto tutto.

La funzione "post_vaa" in realtà non controlla le firme. Invece, in tipico stile Solana, c'è un altro contratto intelligente che viene creato chiamando il "verificare_firme" function. Uno di Ingressi alla funzione "verify_signatures" c'è un programma di "sistema" integrato in Solana che contiene varie utilità che il contratto può utilizzare.

All'interno di "verify_signatures", il programma Wormhole tenta di verificare che l'esecuzione avvenuta subito prima dell'attivazione di questa funzione fosse che il Sec256k1 la funzione di verifica della firma è stata eseguita.

“Questa funzione di verifica è uno strumento integrato che dovrebbe verificare che le firme fornite siano corrette. Quindi la verifica della firma è stata esternalizzata a questo programma. Ma è qui che entra in gioco il bug”, twitta smartcontracts.

I contratti Wormhole utilizzavano la funzione carico_istruzione_at per verificare che la funzione Secp256k1 sia stata chiamata per prima, ma la funzione load_instruction_at è stata deprecata relativamente di recente perché non verifica che sia in esecuzione rispetto all'indirizzo di sistema effettivo!

Gioco finito

Secondo gli smartcontract, il chiamante dovrebbe fornire come ingresso l'indirizzo di sistema del programma in esecuzione, ma l'hacker ha fornito un indirizzo di sistema diverso.

Ecco quell'indirizzo di sistema utilizzato come input per "verify_signatures" per il deposito legittimo di 0.1 ETH:

Immettere l'indirizzo di sistema corretto
Immettere l'indirizzo di sistema corretto

Ma ecco la transazione "verify_signatures" per il falso deposito di 120k ETH:

Inserimento dell'indirizzo di sistema
Input di indirizzo di sistema falso 

Quello non è l'indirizzo di sistema!

"Utilizzando questo programma di sistema "falso", l'attaccante potrebbe effettivamente mentire sul fatto che il programma di controllo della firma è stato eseguito. Le firme non venivano affatto controllate!", twitta smartcontracts.

“Dopo quel punto, il gioco è finito. L'attaccante ha fatto sembrare che i guardiani avessero firmato un deposito di 120 a Wormhole su Solana, anche se non l'avevano fatto. Tutto ciò che l'attaccante doveva fare ora era rendere reali i loro soldi "di gioco" ritirandoli su Ethereum. E un prelievo di 80k ETH + 10k ETH dopo (tutto nel bridge su Ethereum), tutto era sparito.

everdome

Newsletter di CryptoSlate

Con un riassunto delle storie quotidiane più importanti nel mondo delle criptovalute, DeFi, NFT e altro.

ottenere un bordo sul mercato delle criptovalute

Accedi a più approfondimenti crittografici e contesto in ogni articolo come membro pagato di Bordo CryptoSlate.

Analisi di catena

Istantanee dei prezzi

Più contesto

Iscriviti ora per $ 19 / mese Esplora tutti i vantaggi

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

Timestamp:

Di più da CryptoSlate