Opdeling: Hvordan hackeren stjal 80k ETH fra Solana Wormhole-broen PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nedbrud: Hvordan hackeren stjal 80k ETH fra Solana Wormhole-broen

En af de værste hacks mod Solana blockchain skete i onsdags, da en hacker formåede at overføre 80,000 ether (ETH), over 214 millioner dollars i skrivende stund, ud af Solana-systemet og ind i Ethereum blockchain gennem Wormhole-broen - en tjeneste, der giver mulighed for at overføre midler mellem de forskellige blockchains.

Forklaret i et tweet tråd af den pseudonyme Twitter-profil smarte kontrakter, afsluttede hackeren udnyttelsen ved at overføre 80,000 ETH fra Wormhole smart-kontrakten på Ethereum i en enkelt transaktion. Som det viste sig, var dette blot det sidste skridt i en række hacks, der gjorde det muligt for hackeren at stjæle midlerne. 

"Selvom det er dramatisk, er denne transaktion blot slutningen på en interessant række af begivenheder. Jeg var nødt til at begynde at arbejde mig tilbage for at finde ud af, hvordan det overhovedet var muligt,” tweets smartcontracts.

Guardians underskrev en falsk overførsel

Ormehul er en såkaldt bro, en smart kontrakt, på Ethereum i dette tilfælde, der giver en måde at flytte kryptoaktiver mellem forskellige blockchains. Ifølge smartcontracts, fra et højt niveau synspunkt, har Wormhole specifikt et sæt af såkaldte guardians, der kvitterer på overførsler mellem blockchains.

Ormehulsvogterne havde på en eller anden måde underskrevet denne overførsel på 80,000 ETH, som om den var 100 % legitim.

"Transaktionen, der trak 80,000 ud ETH var faktisk angriberen, der overførte 80,000 ETH fra Solana til Ethereum. Jeg troede oprindeligt, at kontrakten muligvis fejlagtigt validerede underskrifterne på overførslen, men underskrifterne [var] fuldstændig tjekket ud."

Ifølge smartcontracts kom det første gennembrud og delforklaring fra en transaktion på Solana som på en eller anden måde prægede 120,000 "Ormehul ETH", pakket æter ind på Solana, ud af ingenting. Da hackeren var i stand til at præge Wormhole ETH på Solana, var han i stand til korrekt at trække den tilbage til Ethereum.

“Solana er lidt underlig”

Ved at undersøge hackerens transaktionshistorik er der en transaktion, der kom lige før udmøntningen af ​​120,000 Wormhole ETH. Heri transaktion, hackeren laver kun 0.1 Wormhole ETH, som om hackeren testede funktionen med en lille mængde.

En yderligere undersøgelse af hackerens transaktionshistorik afslører, at hackeren lavede en depositum på 0.1 ETH fra Ethereum til Solana. Selvom angriberen ikke lavede et ETH-indskud på 120,000 ETH i Wormhole-smartkontrakten på Ethereum, er der noget interessant ved denne indbetaling.

Som smartcontract forklarer i sit tweet, udløste de transaktioner, der prægede Wormhole ETH på Solana en Wormhole smart kontrakt funktion hedder "komplet_indpakket“. En af de parametre, som denne funktion tager, er en "overførselsbesked", grundlæggende en besked underskrevet af broens vogtere, der siger, hvilken token der skal præges og hvor meget.

"Solana er lidt underlig, så disse parametre er faktisk smarte kontrakter i sig selv. Men det vigtige er, hvordan disse "overførselsmeddelelse"-kontrakter bliver oprettet. Her er transaktion der lavede 0.1 ETH-overførselsmeddelelsen,” tweets smartcontracts.

Hvem tjekker brikkerne?

Denne "overførselsmeddelelse"-kontrakt oprettes ved at udløse en funktion hedder "post_vaa“. Det vigtigste er, at post_vaa tjekker om beskeden er gyldig ved at tjekke signaturerne fra værgerne. Den del virker rimelig nok, siger smartcontracts, men det er dette signaturkontroltrin, der brød alt.

Funktionen "post_vaa" kontrollerer faktisk ikke signaturerne. I stedet er der på typisk Solana-manér en anden smart kontrakt, der bliver oprettet ved at kalde "verify_signaturer" funktion. En af de indgange til "verify_signatures"-funktionen er et Solana indbygget "system"-program, som indeholder forskellige hjælpeprogrammer, som kontrakten kan bruge.

Inden for "verify_signatures" forsøger Wormhole-programmet at kontrollere, at den udførelse, der skete lige før denne funktion blev udløst, var at Secp256k1 signaturbekræftelsesfunktionen blev udført.

"Denne verifikationsfunktion er et indbygget værktøj, der skal verificere, at de givne signaturer er korrekte. Så signaturbekræftelsen er blevet outsourcet til dette program. Men det er her, fejlen kommer ind,« tweets smartcontracts.

Ormehulskontrakterne brugte funktionen load_instruction_at for at kontrollere, at Secp256k1-funktionen blev kaldt først, men load_instruction_at-funktionen blev forældet relativt for nylig, fordi den kontrollerer ikke, at den kører i forhold til den faktiske systemadresse!

Spil over

Ifølge smartcontracts skal den, der ringer, levere som indgang systemadressen til det program, der udføres, men hackeren angav en anden systemadresse.

Her er den systemadresse, der bruges som input til "verify_signatures" for den legitime indbetaling af 0.1 ETH:

Korrekt systemadresseinput
Korrekt systemadresseinput

Men her er "verify_signatures"-transaktionen for den falske indbetaling på 120k ETH:

Indtastning af systemadresse
Indtastning af falsk systemadresse 

Det er ikke systemadressen!

"Ved at bruge dette "falske" systemprogram kunne angriberen effektivt lyve om, at signaturkontrolprogrammet blev udført. Signaturerne blev slet ikke tjekket!,” tweeter smartcontracts.

"Efter det tidspunkt var spillet slut. Angriberen fik det til at se ud som om vogterne havde skrevet under på et depositum på 120 i Wormhole på Solana, selvom de ikke havde gjort det. Alt hvad angriberen skulle gøre nu var at gøre deres "lege" penge rigtige ved at trække dem tilbage til Ethereum. Og en tilbagetrækning af 80k ETH + 10k ETH senere (alt i broen på Ethereum), alt var væk."

everdome

CryptoSlate nyhedsbrev

Med en oversigt over de vigtigste daglige historier i verden af ​​krypto, DeFi, NFT'er og mere.

Få en kant på kryptoassetmarkedet

Få adgang til mere kryptoindsigt og kontekst i hver artikel som et betalt medlem af CryptoSlate Edge.

On-chain analyse

Pris snapshots

Mere sammenhæng

Deltag nu i $ 19 / måned Udforsk alle fordele

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

Tidsstempel:

Mere fra CryptoSlate