Bitcoin.com News
Drevet av

Kasplex KRC-20-indekserer: Signaturomgåelse tømmer to token-pooler

Denne helgen trakk en angriper ut 186,4 millioner ZEAL og 54,4 milliarder NACHO fra en Kaspa KRC-20-brolommebok uten å ha dens private nøkkel, resirkulerte deretter tokenene gjennom layer two (L2)-nettverk og solgte dem inn i likviditetspooler. Det merkelige er at Kaspa i seg selv ikke ble hacket. Fem gyldige transaksjoner lurte en off-chain indekser til å gjenkjenne overføringer som ingen faktisk hadde signert, noe som etterlot broede tokens uten dekning og noen pooler tappet for så mye som 99,6% av sin KAS-sideverdi.

SKREVET AV
DEL
Kasplex KRC-20-indekserer: Signaturomgåelse tømmer to token-pooler

Viktige punkter

  • En angriper flyttet 54,4 milliarder NACHO uten å ha den private nøkkelen til brolommeboken.
  • Zealous Swap-pooler mistet 94% til 99,6% av sin KAS-sideverdi etter de forfalskede overføringene.
  • Igra satte viktige uttak på pause mens KRC-20-operatører forbereder seg på å patche og reindeksere systemet.

Fem transaksjoner, ingen privat nøkkel

En privat nøkkel skal være grensen mellom å eie krypto og bare å vite hvor den ligger. 20. september fant noen en måte rundt den antakelsen for KRC-20-tokens uten å bryte Kaspa sin basekjede i det hele tatt.

Angriperen flyttet 186 425 259 ZEAL og 54 397 983 246 NACHO fra en bro-forvaringsadresse, selv om de ikke kontrollerte dens private nøkkel. Disse tokenene ble deretter sendt tilbake til den samme forvaringsadressen som vanlige broinnskudd, preget på Igra Labs’ EVM-lag og Kasplex L2, og dumpet i Zealous Swap-likviditetspooler.

Da støvet hadde lagt seg, var angriperens L2 ZEAL- og NACHO-saldoer tomme, mens berørte pooler hadde mistet mellom 94% og 99,6% av sin KAS-sideverdi. Her er haken: Kaspa sitt layer one (L1) gjorde nøyaktig det det skulle gjøre.

En tom signatur som likevel gikk gjennom

KRC-20-token-eierskap håndheves ikke direkte av Kaspa-konsensus. Token-instruksjoner ligger inne i Kaspa-transaksjoner, mens en off-chain Kasplex-indekser leser disse instruksjonene og avgjør hvem som eier hva. Normalt inneholder en KRC-20-overføring en offentlig nøkkel, token-instruksjoner og en gyldig signatur. Angriperen beholdt den kjente strukturen, men leverte en tom signatur og la til en OP_NOT etter OP_ENDIF.

X screenshot
Bildekilde: X

En tom signatur får OP_CHECKSIG til å returnere false i stedet for å avbryte transaksjonen fullstendig. Den ekstra OP_NOT snudde resultatet tilbake til true, noe som etterlot Kaspa med en gyldig transaksjon. Ingenting hadde sporet av på konsensuslaget. Indekseren var en annen historie. Den gjenkjente KRC-20-konvolutten, men krevde ikke at scriptet matchet det kanoniske formatet nøyaktig. Den krediterte derfor den forfalskede overføringen som legitim. Kasplex sin egen API returnerte til og med opAccept: 1 på den første forfalskede ZEAL-transaksjonen.

Hvem som helst kunne bygge forfalskningen

Den styggeste vrien var at angriperen ikke trengte å oppdage noen skjult legitimasjon. En standard Kaspa-adresse eksponerer den offentlige nøkkelen som trengs for å konstruere den forfalskede KRC-20-operasjonen. Det betyr at å flytte tokenene til en annen adresse ikke løser det underliggende problemet. Inntil indekseren er patchet og historikken reindeksert, kan den samme feilen i teorien brukes mot KRC-20-saldoer andre steder.

Fem transaksjoner forfalsket ZEAL- og NACHO-overføringene. Ni små uttak på én enhet, derimot, var faktisk signert av forvaringen og ser ut til å ha vært sonderinger som testet om uttaksruten fungerte. Interessant nok var de legitime transaksjonene de små. Forvaringslommeboken holdt rundt 50 andre KRC-20-tokens. Angriperen valgte to.

Tokenene er fortsatt der, men dekningen er ikke

Søndag morgen sa Igra at forvaringslommebokens totale ZEAL- og NACHO-beholdning ble tatt, noe som etterlot 97 651 212 ZEAL og 42 570 879 908 NACHO på Layer 2-nettverkene uten full L1-dekning. Ytterligere 4,5 milliarder NACHO ble igjen hos angriperen på L1.

Igra satte iKAS-uttak til Kaspa L1 og Hyperlane-overføringer på pause, mens brukere ble advart mot å broe KRC-20-tokens, kjøpe ZEAL eller NACHO på L2-desentraliserte børser (DEX-er), eller legge til likviditet i berørte pooler. Native KAS, Kaspa-konsensus og Igra-eiendeler som ikke var broede KRC-20-tokens ble beskrevet som upåvirket.

Å fikse programvaren alene vil ikke rydde opp i rotet. Zealous Swap sier operatører må patche indekseren og reindeksere historikken, og avvise tomme signaturer, feilformede tagger og scripts som fortsetter utover OP_ENDIF. Nacho the Kat sier i mellomtiden at fellesskapet har til hensikt å bevege seg mot KCC-20, en standard som er utformet for å legge token-regler inn i scripts som håndheves av selve nettverket.

Saken følger etter en rekke utnyttelser, bugs, hacks og datainnbrudd de siste ukene. På lørdag opplyste Lightning Network-infrastrukturleverandøren for forvarings- og ikke-forvaringsløsninger Blink Wallet at «noen få dusin» forvaringskontoer ble tømt. Cybersikkerhetsselskapet DCENT så også DCENT App Wallets bli tappet denne uken. Tidspunktet kommer samtidig som cybersikkerhetsangrep har økt, og noen mistenker at KI assisterer denne bølgen av utnyttere.

Denne artikkelen er oversatt fra engelsk ved hjelp av kunstig intelligens. Den originale engelske versjonen er den autoritative kilden; automatiske oversettelser kan inneholde unøyaktigheter, særlig i juridisk og regulatorisk terminologi.