Kako presoditi, ali je tako imenovani "HACK", ki se je zgodil projektu Crypto ali Blockchain, zakonit ali je to le mehanizem za skrivanje RUG-a?

Kako presoditi, ali je tako imenovani "HACK", ki se je zgodil projektu Crypto ali Blockchain, zakonit ali je to le mehanizem za skrivanje RUG-a?

Prevara

Očitno je, da po tem, kar se je zgodilo z MtGoxom ali QuadrigaCX ali podobnimi primeri, kjer so ustanovitelji trdili, da so izgubili zasebne ključe, ki vsebujejo večino digitalnih sredstev njihovih borz, medtem ko so izginili ali so jih kasneje našli mrtve, so ljudje v kriptosferi vse bolj sumničavi, ko slišijo za vdrejo v projekt in prva misel, ki pride na misel, je, da so ustanovitelji v bistvu izpraznili sklad in pobegnili z njim, temu se običajno reče RUG.

To se je verjetno zgodilo pri številnih projektih, vendar ne nujno pri vseh, zato danes obravnavamo primer, za katerega menimo, da je zaradi narave situacije pravi vdor.

Menimo, da je to zanimiv primer za analizo, saj bo pomagal bolje razumeti pomen varnosti in revizij v projektih pametnih pogodb ali blockchain na splošno.

Objektivno bomo analizirali dramo, ki se je zgodila s projektom RING Financial, žetonom, lansiranim na BSC (Binance Blockchain).

Preden pridemo do vdora, bomo najprej povzeli projekt in njegovo stanje pred njim:

RING Finančni pred vdorom

RING financial je bil projekt DeFi s ciljem narediti DeFi bolj dostopen DeFi in kripto skupnosti. Ambiciozen projekt, ki je želel ustvariti protokol za donos vozlišč, ki bi ga upravljali imetniki vozlišč in bi dodelil likvidnost v več kot 300 protokolov hkrati. Cilj je bil pridobiti dostop do vseh protokolov prek enega vozlišča RING in prek RING Dapp.

Te protokole je preverila ekipa, nato pa je skupnost glasovala o tem, kam naj jih dodeli. Isti koncept glasovanja, kot bi ga imeli v DAO, zaradi česar je RING precej privlačen.

RING Financial je prav tako poenostavil precej raziskovalnega procesa in postopka uvajanja za enega samega imetnika vozlišča. En Dapp za dostop do vseh drugih Dapp-jev, tako da bi potrebovali samo en vmesnik namesto 300 različnih z lastnimi dostopi in lastnimi vozlišči.

Končno je bil cilj RING Financial znižati pristojbine za uvajanje na različnih protokolih, z obsegom pa so nižje transakcijske pristojbine za posamezne imetnike, kar je bila ena glavnih prodajnih točk projekta. Projekt s pridihom in ambicijo, da olajša stvari za skupnost in še bolj mainstream za tiste, ki ne poznajo Defija.

Vendar smisel in ambicija nista vedno dovolj in potrebujete strokovnost in znanje, ki je na novih in nezrelih trgih redkost in zato RING Financial ni mogel v celoti izpolniti svoje obljube.

Torej, kaj se je res zgodilo z RING Financial? In zakaj je prišlo do vdora? Zahvaljujoč verigi blokov imamo vse potrebne forenzične dokaze, da se poglobimo v to in ugotovimo, kje so bile ranljivosti in zakaj RING Financial ni bila prevara.

RING Financial HACK se je zgodil 5. decembra 2021 med 2:01 in 2:06 UTC.

Ja, vse se je zgodilo v dobesedno 5 minutah! Mimogrede, zahvaljujoč optičnemu bralniku blockchain za te podrobnosti vam ponujamo tik pod povezavami transakcij, povezanih s HACK-om, kot tudi naslov pogodbe za tiste, ki bodo želeli iskati podrobneje.

Tukaj je povzetek, ki pojasnjuje napako, ki jo je napadalec izkoristil:

Morate razumeti, da je bila pametna pogodba RING Financial sestavljena iz več delov, enega za žeton in vse podatke, povezane z njim, drugega pa za vse, kar je povezano z obračunavanjem vozlišč in nagrad. Del žetona je imel varnost, tako da lahko samo skrbnik pogodbe spremeni pomembne podatke tega, da vam pokaže nekaj kode, tukaj je glava funkcije pogodbe, ki je zaščitena z atributom "onlyOwner" ki določa, da lahko funkcijo izvaja le skrbnik:

Funkcija, ki nima samo Lastnik atribut (ali enakovreden atribut za zaščito dostopa funkcije) lahko izvede dobesedno kdorkoli.

Zdaj pa ugani kaj? Funkcije v delu vozlišč in nagrad niso imele tega atributa, kot lahko vidite, če pogledate spodnja imena funkcij ( samo Lastnik atribut manjka):

In kot si lahko predstavljate, je heker izkoristil in prevaral to napako, da bi dobil eksponentno število nagrad v RING-u, nato pa jih vrgel v likvidnostni sklad in ga v nekaj minutah skoraj nasilno izpraznil. Tako je izvajal svoje prevare.

Zdaj si verjetno postavljate dve vprašanji:

Kako so lahko razvijalci pustili takšno vrzel?

Po pogovoru z razvijalci Solidity (jezik, ki se uporablja za kodiranje pametnih pogodb na Ethereumu), je to napaka, povezana z dedovanjem vlog med dvema pametnima pogodbama, dedovanje je pojem programskega jezika in da vam ne povzročamo glavobola, smo bo ostal s preprostimi besedami: V bistvu je zelo verjetno, da je oseba, ki je kodirala pogodbo, mislila, da so funkcije dela Node podedovale varnostne vloge funkcij dela Token, vendar to žal ne velja za Solidity in potrebno je na novo opredeliti vloge vsake funkcije vsake pogodbe, ne glede na njihovo povezavo. Naš zaključek glede te točke je torej, da razvijalec ni bil strokovnjak in da je verjetno objavil pogodbo, BREZ da bi si vzel čas, da bi jo ponovno prebral, verjetno v naglici.

Kako veste, da ni razvijalec sam namenoma pustil to napako in da ni bila prevara?

Zelo dober ugovor in enostavno je domnevati prevaro, če niste prepričani, kako pametne pogodbe delo, vendar je pravzaprav zelo enostavno domnevati, da je razvijalec nedolžen, ker je 19. novembra 2021 javno objavil in preveril celotno kodo pametne pogodbe na BSCSCAN.COM (najbolj priljubljenem skenerju Binance Blockchain), da več kot dva tedna preden se je zgodil RING Financial HACK. In kot je bilo že pojasnjeno, je bila napaka v pogodbi zapisana ČRNO NA BELEM in vsak izkušen razvijalec bi jo opazil in odreagiral, žal pa prvi ni imel prav nič usmiljenja. Očitno je torej, da se razvijalec ni zavedal te napake, ker ne bi tvegal, da bi komur koli kadar koli dovolil uničenje finančnega projekta RING.

Če se vrnemo k nadaljevanju RING Financial HACK, je razvijalec spoznal svojo napako in preprosto zamrznil pogodbo, da bi ustavil vsakršno razdeljevanje nagrad, tako da napadalec ne izprazni bazena v celoti. Nato je prerazporedil pogodbo Node, tokrat z varnostnim atributom »onlyOwner«. Ta nova pogodba Node je lahko pravilno obravnavala novo razdelitev nagrad, le da je bilo prepozno, ker je bilo zaradi HACK-a izgubljeno vse zaupanje v projekt in ekipo, prodajni pritisk pa je ubil in končal žeton in projekt.

Za zaključek smo izbrali to zgodbo, ker prikazuje dve pomembni stvari o pametnih pogodbah in kripto projektih, nikoli ne kodirajte pogodbe v naglici in se vedno obrnite na revizijske družbe, ker ko pride do vdora, je prepozno za rešitev čolna in Finančni projekt RING je dober primer, poleg tega so glede na njihovo sporočilo stopili v stik z revizijskimi podjetji za to drugo pogodbo Node in je niso javno objavili na BSCSCAN, dokler niso bili prepričani o njeni varnosti. Toda kot že rečeno, je bilo za RING Financial prepozno in škoda je bila nepopravljiva.

Tukaj so vse povezave skenerja in pogodbeni naslovi:

denarnica, ki izvaja transakcijo za izkoriščanje vdora: 0xfe58c9e2ecb95757be6f4bca33162cfa346cc34f

 Ring smart-contract address: 0x521ef54063148e5f15f18b9631426175cee23de2

Ring reward pool address: 0xa46cc87eca075c5ae387b86867aa3ee4cb397372

 izkoriščanje vdora v transakcije:

 TRX 1

    link: https://bscscan.com/tx/0x596d38494ea5ae640b2a556a7029692928f15713d22b5948477c4eb4a92cf68e

TRX 2

    link: https://bscscan.com/tx/0xfc890c855709bb6aeb5177ee31e08751561344402a88af13e7dfd02b9a2f6003

TRX 3

    link: https://bscscan.com/tx/0x35c2f1ed9c5ce13a714af6c0dcbbce8fe720f7d6212232b6dd3657d8799a10f1

How to judge if a so called “HACK” that happened to a Crypto or Blockchain project is legit or if it’s just a mechanism to hide a RUG? PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Časovni žig:

Več od Novice Fintech