Na-hack ang Dexible aggregator para sa $2M sa pamamagitan ng 'selfSwap' function

Ang multichain exchange aggregator na Dexible ay tinamaan ng pagsasamantala, at $2 milyon na halaga ng cryptocurrency ang nawala bilang resulta, ayon sa isang post-mortem report noong Pebrero 17 na inilabas ng team sa opisyal na Discord server ng proyekto.

Simula 6:35 pm UTC noong Peb. 17, ang Dexible na front end ay nagpapakita ng popup na babala tungkol sa hack sa tuwing mag-navigate ang mga user dito.

Sa 6:17 am UTC, iniulat ng team na nakatuklas ito ng "isang potensyal na hack sa mga kontrata ng Dexible v2" at sinisiyasat ang isyu. Makalipas ang humigit-kumulang siyam na oras, naglabas ito ng pangalawang pahayag na alam na nitong "$2,047,635.17 ang pinagsamantalahan mula sa 17 address ng negosyante. 4 sa mainnet, 13 sa arbitrum.”

Isang post-mortem na ulat ang inilabas noong 4:00 pm UTC bilang isang PDF file at inilabas sa Discord, at sinabi ng team na ito ay "aktibong gumagawa sa isang plano sa remediation."

Sa ulat, sinabi ng koponan na may napansin itong mali nang ang isa sa mga tagapagtatag nito ay may $50,000 na halaga ng crypto na inilipat sa kanyang wallet para sa mga kadahilanang hindi alam noong panahong iyon. Pagkatapos mag-imbestiga, nalaman ng team na ginamit ng isang attacker ang selfSwap function ng app para ilipat ang mahigit $2 milyong halaga ng crypto mula sa mga user na dati nang nagpahintulot sa app na ilipat ang kanilang mga token.

Ang selfSwap function ay nagpapahintulot sa mga user na ibigay ang address ng isang router at calldata na nauugnay dito upang gumawa ng isang swap ng isang token para sa isa pa. Gayunpaman, walang listahan ng mga paunang naaprubahang router na nakasulat sa code. Kaya, ginamit ng attacker ang function na ito upang iruta ang isang transaksyon mula sa Dexible patungo sa bawat kontrata ng token, na inilipat ang mga token ng mga user mula sa kanilang mga wallet patungo sa sariling smart contract ng attacker. Dahil ang mga nakakahamak na transaksyong ito ay nagmumula sa Dexible, na pinahintulutan na ng mga user na gastusin ang kanilang mga token, hindi hinarangan ng mga kontrata ng token ang mga transaksyon.

Nauugnay: Ang NFT influencer ay naging biktima ng cyberattack, nawalan ng $300K+ CryptoPunks

Matapos matanggap ang mga token sa sarili nilang matalinong kontrata, inalis ng umaatake ang mga barya sa pamamagitan ng Tornado Cash sa hindi kilalang BNB (BNB) mga wallet.

Na-pause ng Dexible ang mga kontrata nito at hinimok ang mga user na bawiin ang mga awtorisasyon ng token para sa kanila.

Ang karaniwang kasanayan ng pagpapahintulot sa mga pag-apruba ng token para sa malalaking halaga ay minsan ay humantong sa mga pagkalugi para sa mga gumagamit ng crypto dahil sa mga buggy o tahasang malisyosong kontrata, na humahantong sa ilang mga eksperto na babalaan ang mga gumagamit na bawiin ang mga pag-apruba sa regular na batayan. Ang mga front end para sa karamihan ng mga Web3 app ay hindi direktang nagbibigay-daan sa mga user na i-edit ang dami ng mga token na naaprubahan, kaya ang mga user ay madalas na nawawala ang buong balanse ng kanilang mga token kung ang isang app ay lumabas na may depekto sa seguridad. Sinubukan ng MetaMask at iba pang mga wallet na ayusin ang problemang ito sa pamamagitan ng pagpayag sa mga user na i-edit ang mga pag-apruba ng token sa hakbang sa pagkumpirma ng wallet, ngunit maraming mga gumagamit ng crypto ay hindi pa rin alam ang panganib ng hindi paggamit ng tampok na ito.