Inihayag ni Raydium ang mga detalye ng hack, nagmumungkahi ng kabayaran para sa mga biktima

Ang koponan sa likod ng Raydium decentralized exchange (DEX) ay nag-anunsyo ng mga detalye kung paano nangyari ang hack noong Disyembre 16 at nag-alok ng panukala para mabayaran ang mga biktima.

Ayon sa isang opisyal na post sa forum mula sa koponan, ang hacker ay nagawang gumawa ng higit sa $2 milyon sa crypto loot sa pamamagitan ng pagsasamantala isang kahinaan sa mga matalinong kontrata ng DEX na nagpapahintulot sa buong liquidity pool na bawiin ng mga admin, sa kabila ng mga umiiral na proteksyon upang maiwasan ang gayong pag-uugali. 

Ang koponan ay gagamit ng sarili nitong mga naka-unlock na token upang mabayaran ang mga biktima na nawalan ng mga token ng Raydium, na kilala rin bilang RAY. Gayunpaman, ang developer ay walang stablecoin at iba pang non-RAY token para mabayaran ang mga biktima, kaya humihingi ito ng boto mula sa mga may hawak ng RAY para gamitin ang decentralized autonomous organization (DAO) treasury para bilhin ang mga nawawalang token para bayaran ang mga apektado ng pagsamantalahan.

Ayon sa isang hiwalay na ulat sa post-mortem, ang unang hakbang ng umaatake sa pagsasamantala ay ang magkamit kontrol ng isang pribadong key ng admin pool. Hindi alam ng koponan kung paano nakuha ang susi na ito, ngunit pinaghihinalaan nito na ang virtual machine na may hawak ng susi ay nahawahan ng isang programa ng trojan.

Kapag nakuha na ng attacker ang susi, tumawag sila ng function para bawiin ang mga bayarin sa transaksyon na karaniwang mapupunta sa treasury ng DAO para magamit sa mga buyback ng RAY. Sa Raydium, ang mga bayarin sa transaksyon ay hindi awtomatikong napupunta sa treasury sa sandali ng isang swap. Sa halip, mananatili sila sa pool ng liquidity provider hanggang ma-withdraw ng isang admin. Gayunpaman, sinusubaybayan ng matalinong kontrata ang halaga ng mga bayarin sa DAO sa pamamagitan ng mga parameter. Dapat ay napigilan nito ang umaatake na makapag-withdraw ng higit sa 0.03% ng kabuuang dami ng kalakalan na naganap sa bawat pool mula noong huling pag-withdraw.

Gayunpaman, dahil sa isang depekto sa kontrata, nagawang manu-manong baguhin ng umaatake ang mga parameter, na nagpapalabas na ang buong liquidity pool ay mga bayarin sa transaksyon na nakolekta. Pinahintulutan nito ang umaatake na bawiin ang lahat ng mga pondo. Kapag na-withdraw ang mga pondo, nagawang manu-manong ipagpalit ng umaatake ang mga ito para sa iba pang mga token at ilipat ang mga nalikom sa ibang mga wallet sa ilalim ng kontrol ng umaatake.

Nauugnay: Sinabi ng developer na ang mga proyekto ay tumatangging magbayad ng mga bounty sa mga hacker ng white hat

Bilang tugon sa pagsasamantala, in-upgrade ng team ang mga smart contract ng app para alisin ang kontrol ng admin sa mga parameter na pinagsamantalahan ng umaatake.

Sa post ng forum noong Disyembre 21, iminungkahi ng mga developer ang isang plano para mabayaran ang mga biktima ng pag-atake. Ang koponan ay gagamit ng sarili nitong naka-unlock na RAY token upang mabayaran ang mga may hawak ng RAY na nawalan ng kanilang mga token dahil sa pag-atake. Humingi ito ng talakayan sa forum kung paano ipatupad ang isang plano sa kompensasyon gamit ang kaban ng DAO upang bumili ng mga non-RAY na token na nawala. Ang koponan ay humihiling ng isang tatlong araw na talakayan na magaganap upang mapagpasyahan ang isyu.

Ang $2 milyon na Raydium hack ay unang natuklasan noong Disyembre 16. Sinabi ng mga unang ulat na ginamit ng attacker ang withdraw_pnl function upang alisin ang liquidity sa mga pool nang hindi nagdedeposito ng mga LP token. Ngunit dahil ang function na ito ay dapat na pinapayagan lamang ang umaatake na alisin ang mga bayarin sa transaksyon, ang aktwal na paraan kung saan maaari nilang maubos ang buong pool ay hindi alam hanggang matapos ang isang pagsisiyasat.