Trendaavat aiheet
#
BTC hit ATH again after 4 months
#
Labubu craze goes global with memecoin price exploding 3,000%
#
Startup meta gains attention onchain
#
ETH is showing strong price momentum following the recent Pectra upgrade.
#
Boop.Fun leading the way with a new launchpad on Solana.
Suosittu versio: Yksinkertainen "käännös", joka tulkitsee teknisen pomon @CetusProtocol hakkerin analyysiä:
Tämä hyökkäys paljastaa klassisen kokonaisluvun ylivuoto-ongelman, joka ilmenee tietojen katkaisuna tyypin muuntamisen aikana.
Tekniset tiedot purettuna:
1) Haavoittuvuuden sijainti: Ongelma ilmenee get_amount_by_liquidity-funktion tyyppimuunnosmekanismissa, ja valetun muunnos U256:sta U64:ksi aiheuttaa korkean tason tietojen menetyksen.
2) Hyökkäysprosessi:
1. Hyökkääjä välittää suuren määrän likviditeettiparametreja add_liquidity-toiminnon kautta;
2. Järjestelmäkutsun get_delta_b funktion laskemiseen tarvittavien B-tokenien määrä;
3. Laskentaprosessissa kaksi U128-tyyppistä dataa kerrotaan, ja teoreettisen tuloksen tulee olla U256-tyyppinen;
Keskeinen virhe: u256-tulos heitetään u64:ään, kun funktio palaa, mikä johtaa korkean tason 128-bittisen datan katkaisemiseen.
3) Käyttövaikutus: Likviditeettikiintiö, jonka lyöminen alun perin vaati suuren määrän tokeneita, voidaan nyt täydentää vain hyvin pienellä määrällä tokeneita. Hyökkääjä saa valtavan osan likviditeetistä erittäin alhaisin kustannuksin ja toteuttaa sitten poolin arbitraasin tuhoamalla osan likviditeetistä.
Yksinkertainen analogia: Aivan kuten laskimella, joka voi näyttää vain 8 numeroa 1 miljardin × 1 miljardin laskemiseksi, 20-numeroisen laskelman tulos voi näyttää vain 8 viimeistä numeroa, ja ensimmäiset 12 numeroa katoavat suoraan. Hyökkääjä hyödyntää tätä haavoittuvuutta.
Selvyyden vuoksi: tällä haavoittuvuudella ei ole mitään tekemistä @SuiNetwork:n taustalla olevan tietoturva-arkkitehtuurin kanssa, ja Move-kielen tietoturvan "loisto" on toistaiseksi edelleen uskottava. Miksi?
Move-kielellä on merkittäviä etuja resurssienhallinnan ja tyyppiturvallisuuden kannalta, ja se voi tehokkaasti estää matalan tason tietoturvaongelmia, kuten kaksinkertaista kulutusta ja resurssivuotoja. Tällä kertaa Cetus-protokolla on kuitenkin matemaattinen virhe sovelluslogiikan tasolla, ei itse Move-kielen suunnitteluvirhe.
Tarkemmin sanottuna Moven tyyppijärjestelmä, vaikka se on tiukka, luottaa silti kehittäjän oikeaan harkintaan eksplisiittisessä roolituksessa. Kun ohjelma suorittaa aktiivisesti tyypin muuntamisen U256:sta U64:ksi, kääntäjä ei pysty sanomaan, onko tämä tahallista vai loogista virhettä.
Lisäksi tällä tietoturvaloukkauksella ei ole mitään tekemistä Suin ydintoimintojen, kuten konsensusmekanismin, tapahtumien käsittelyn ja tilanhallinnan, kanssa. Sui Network suorittaa uskollisesti vain Cetus-protokollan lähettämät transaktiokäskyt, ja haavoittuvuus johtuu itse sovelluskerroksen protokollan loogisista virheistä.
Suoraan sanottuna mikään määrä kehittyneitä ohjelmointikieliä ei pysty täysin poistamaan loogisia virheitä sovelluskerroksessa. Move voi estää suurimman osan taustalla olevista tietoturvariskeistä, mutta se ei voi korvata kehittäjiä liiketoimintalogiikan rajojen tarkistamisella ja matemaattisten operaatioiden ylivuotosuojauksella.
53.44K
Johtavat
Rankkaus
Suosikit