Pag-atake sa Kasplex KRC-20 Indexer: Paano Nawala ang Dalawang Token Pools

3 mga oras nakaraan
3 min na nabasa
2 view

Pag-atake sa Kaspa KRC-20 Bridge Wallet

Noong nakaraang linggo, isang umaatake ang nakakuha ng 186.4 milyong ZEAL at 54.4 bilyong NACHO mula sa isang Kaspa KRC-20 bridge wallet nang hindi nagmamay-ari ng pribadong susi nito. Ang mga token ay nirecycle sa pamamagitan ng layer two (L2) networks at ibinenta sa mga liquidity pools. Ang nakakagulat na bahagi ay hindi naman na-hack ang mismong Kaspa. Limang wastong transaksyon ang nakaloko sa isang off-chain indexer upang kilalanin ang mga paglilipat na walang sinuman ang talagang pumirma, na nag-iwan ng mga bridged token na walang suporta at ang ilang pools ay nawalan ng hanggang 99.6% ng kanilang KAS-side value.

Mechanics ng Pag-atake

Dapat sana ang isang pribadong susi ang hangganan sa pagitan ng pagmamay-ari ng crypto at simpleng kaalaman kung saan ito nakalagay. Noong Setyembre 20, may nakahanap ng paraan upang makaiwas sa palagay na iyon para sa mga KRC-20 token nang hindi sinisira ang base chain ng Kaspa. Ang umaatake ay lumipat ng 186,425,259 ZEAL at 54,397,983,246 NACHO mula sa isang bridge custody address, kahit na hindi nila kontrolado ang pribadong susi nito. Ang mga token na iyon ay ipinadala pabalik sa parehong custody address bilang mga ordinaryong bridge deposits, minted sa EVM layer ng Igra Labs at Kasplex L2, at ibinuhos sa mga liquidity pools ng Zealous Swap. Sa oras na humupa ang alikabok, ang mga balanse ng L2 ZEAL at NACHO ng umaatake ay walang laman, habang ang mga naapektuhang pools ay nawalan ng pagitan ng 94% at 99.6% ng kanilang KAS-side value.

Pagkakaintindi sa Layer One at Layer Two

Narito ang catch: ang layer one (L1) ng Kaspa ay ginawa ang dapat nitong gawin. Ang pagmamay-ari ng KRC-20 token ay hindi pinapatupad nang direkta ng konsensus ng Kaspa. Ang mga tagubilin ng token ay nasa loob ng mga transaksyon ng Kaspa, habang ang isang off-chain Kasplex indexer ay nagbabasa ng mga tagubiling iyon at tumutukoy kung sino ang may-ari ng ano. Karaniwan, ang isang KRC-20 transfer ay naglalaman ng isang pampublikong susi, mga tagubilin ng token, at isang wastong pirma. Ang umaatake ay pinanatili ang pamilyar na estruktura ngunit nagbigay ng isang walang laman na pirma at nagdagdag ng OP_NOT pagkatapos ng OP_ENDIF. Ang isang walang laman na pirma ay nagiging sanhi ng OP_CHECKSIG na bumalik ng false sa halip na tuluyang patayin ang transaksyon. Ang karagdagang OP_NOT ay nagbaligtad ng resulta pabalik sa true, na nag-iwan sa Kaspa ng isang wastong transaksyon. Walang nangyaring hindi tama sa layer ng konsensus.

Mga Isyu sa Indexer

Ang indexer ay ibang kwento. Nakilala nito ang KRC-20 envelope ngunit hindi kinakailangan ang script na tumugma sa canonical format nang eksakto. Dahil dito, kinilala nito ang forged transfer bilang lehitimo. Ang sariling API ng Kasplex ay nagbalik pa ng opAccept: 1 sa unang forged ZEAL transaction. Ang pinakamasamang twist ay hindi kailangan ng umaatake na matuklasan ang ilang nakatagong kredensyal. Ang isang karaniwang address ng Kaspa ay naglalantad ng pampublikong susi na kinakailangan upang bumuo ng forged KRC-20 operation. Ibig sabihin, ang paglipat ng mga token sa ibang address ay hindi nalulutas ang pangunahing problema. Hanggang ang indexer ay na-patch at ang kasaysayan nito ay na-reindex, ang parehong depekto ay teoretikal na magagamit laban sa mga KRC-20 balanse sa ibang lugar.

Mga Resulta ng Pag-atake

Limang transaksyon ang nag-forged ng ZEAL at NACHO transfers. Siyam na maliliit na one-unit withdrawals, sa kabaligtaran, ay talagang pinirmahan ng custody at tila mga pagsubok na nagtatangkang alamin kung gumana ang exit route. Kawili-wili, ang mga lehitimong transaksyon ay ang mga maliliit. Ang custody wallet ay naglalaman ng humigit-kumulang 50 iba pang KRC-20 token. Pinili ng umaatake ang dalawa. Noong Linggo ng umaga, sinabi ng Igra na ang buong ZEAL at NACHO holdings ng custody wallet ay nakuha, na nag-iwan ng 97,651,212 ZEAL at 42,570,879,908 NACHO sa Layer 2 networks na walang buong L1 backing. Ang karagdagang 4.5 bilyong NACHO ay nanatili sa umaatake sa L1. Itinigil ng Igra ang mga iKAS exits sa Kaspa L1 at Hyperlane transfers, habang ang mga gumagamit ay binigyan ng babala laban sa pag-bridge ng mga KRC-20 token, pagbili ng ZEAL o NACHO sa L2 decentralized exchanges (DEXs), o pagdaragdag ng liquidity sa mga naapektuhang pools. Ang katutubong KAS, konsensus ng Kaspa at mga asset ng Igra na hindi bridged KRC-20 tokens ay inilarawan bilang hindi naapektuhan.

Mga Hakbang sa Pag-aayos

Ang pag-aayos ng software lamang ay hindi malilinis ang gulo. Sinasabi ng Zealous Swap na kailangan ng mga operator na i-patch ang indexer at i-reindex ang kasaysayan nito, tinatanggihan ang mga walang laman na pirma, maling mga tag at mga script na nagpapatuloy lampas sa OP_ENDIF. Samantala, sinasabi ni Nacho the Kat na ang komunidad ay naglalayong lumipat patungo sa KCC-20, isang pamantayan na dinisenyo upang ilagay ang mga patakaran ng token sa mga script na pinapatupad ng mismong network. Ang isyu ay sumusunod sa isang sunud-sunod na mga exploit, bugs, hacks, at data breaches sa nakaraang ilang linggo. Noong Sabado, inihayag ng Lightning Network custodial at non-custodial infrastructure provider na Blink Wallet na ang “ilang dosenang” custodial accounts ay naubos. Nakita ng cybersecurity company na DCENT na ang mga DCENT App Wallets ay sinipsip din ngayong linggo. Ang timing ay dumating habang ang mga pag-atake sa cybersecurity ay lumalakas, at ang ilan ay nag-aakalang ang AI ay tumutulong sa alon ng mga nag-e-exploit.