Mi az okosszerzŇĎd√©s biztons√°gi auditja?
KezdŇĎlap
Cikkek
Mi az okosszerzŇĎd√©s biztons√°gi auditja?

Mi az okosszerzŇĎd√©s biztons√°gi auditja?

K√∂z√©pszintŇĪ
Közzétéve Mar 1, 2022Frissítve Apr 27, 2023
8m

TL;DR

Egy okosszerzŇĎd√©s biztons√°gi auditja r√©szletes elemz√©st ny√ļjt az adott projekt okosszerzŇĎd√©seirŇĎl. Ezek fontosak a rajtuk kereszt√ľl befektetett p√©nzeszk√∂z√∂k v√©delme √©rdek√©ben. Mivel a blokkl√°ncon minden tranzakci√≥ v√©gleges, lop√°s eset√©n a p√©nzeszk√∂z√∂ket nem lehet visszaszerezni. Az auditorok √°ltal√°ban megvizsg√°lj√°k az okosszerzŇĎd√©sek k√≥dj√°t, jelent√©st k√©sz√≠tenek, √©s tov√°bbi felhaszn√°l√°s c√©lj√°b√≥l a projekt rendelkez√©s√©re bocs√°tj√°k azt. Ezut√°n v√©gleges jelent√©st adnak ki, amelyben r√©szletesen le√≠rj√°k a m√©g fenn√°ll√≥ hib√°kat, valamint a teljes√≠tm√©ny-, illetve biztons√°gi probl√©m√°k kezel√©se √©rdek√©ben m√°r elv√©gzett munk√°t.


Bevezetés

Az okosszerzŇĎd√©sek biztons√°gi auditja nagyon elterjedt gyakorlat a decentraliz√°lt p√©nz√ľgyi (DeFi) √∂kosziszt√©m√°ban. Ha √Ėn befektetett egy blokkl√°ncprojektbe, a d√∂nt√©se r√©szben tal√°n egy okosszerzŇĎd√©sk√≥d fel√ľlvizsg√°lat√°nak eredm√©nyein alapulhatott.

B√°r a legt√∂bb ember √©rti, mi√©rt fontos az audit a kiberbiztons√°g szempontj√°b√≥l, nem sokan mer√ľlnek el a k√≥dsorok elemz√©s√©ben. N√©zz√ľk most meg azokat a m√≥dszereket, eszk√∂z√∂ket √©s eredm√©nyeket, amelyekkel gyakran tal√°lkozhatunk az okosszerzŇĎd√©sek biztons√°gi auditja sor√°n, hogy √Ėn megalapozottabb d√∂nt√©seket hozhasson.


Mi az az okosszerzŇĎd√©s audit?

Egy okosszerzŇĎd√©s biztons√°gi auditja megvizsg√°lja √©s v√©lem√©nyezi egy projekt okosszerzŇĎd√©sk√≥dj√°t. Ezek a szerzŇĎd√©sek √°ltal√°ban Solidity programoz√°si nyelven k√©sz√ľlnek, √©s a GitHub platformon teszik ŇĎket k√∂zz√©. A biztons√°gi auditok k√ľl√∂n√∂sen √©rt√©kesek a DeFi-projektek sz√°m√°ra, amelyek v√°rhat√≥an t√∂bb milli√≥ doll√°rnyi blokkl√°nctranzakci√≥t vagy rengeteg j√°t√©kost kezelnek majd. Az auditok √°ltal√°ban egy n√©gyl√©p√©ses elj√°r√°st k√∂vetnek:

1. Az auditcsapat megkapja az okosszerzŇĎd√©seket a kezdeti elemz√©shez.

2. Az auditcsapat bemutatja az eredm√©nyeit, hogy a projekt megtehesse a megfelelŇĎ l√©p√©seket.

3. A projektcsapat a feltárt problémák alapján változtatásokat eszközöl.

4. Az auditcsapat kiadja a v√©gsŇĎ jelent√©s√©t, amelyben figyelembe veszi az √ļj v√°ltoz√°sokat, illetve a m√©g fenn√°ll√≥ hib√°kat.

Az okosszerzŇĎd√©s auditok sok kriptofelhaszn√°l√≥ sz√°m√°ra l√©tfontoss√°g√ļak, amikor √ļj DeFi-projektekbe fektetnek be. Szabv√°nny√° v√°lt azon projektek k√∂r√©ben, amelyek azt szeretn√©k, hogy komolyan vegy√©k ŇĎket. Bizonyos auditszolg√°ltat√≥kat piacvezetŇĎnek tekintenek az √°gazaton bel√ľl, √≠gy az √°ltaluk v√©gzett auditok m√©g √©rt√©kesebbek a befektetŇĎk szem√©ben.


Mi√©rt van sz√ľks√©g okosszerzŇĎd√©s auditokra?

Az okosszerzŇĎd√©sekben lek√∂t√∂tt vagy azokon kereszt√ľl √°raml√≥ hatalmas √©rt√©k miatt vonz√≥ c√©lpontt√° v√°ltak a rosszindulat√ļ hekkert√°mad√°sok sz√°m√°ra. Az apr√≥ k√≥dol√°si hib√°k hatalmas √∂sszegŇĪ p√©nzek eltulajdon√≠t√°s√°hoz vezethetnek. P√©ld√°ul az Ethereum blokkl√°ncon v√©grehajtott DAO hekkert√°mad√°ssal nagyj√°b√≥l 60 milli√≥ doll√°r √©rt√©kŇĪ ETH-t loptak el, r√°ad√°sul hard fork el√°gaz√°shoz is vezetett az Ethereum h√°l√≥zat√°ban.

Mivel a blokkl√°nc tranzakci√≥k visszaford√≠thatatlanok, l√©tfontoss√°g√ļ meggyŇĎzŇĎdni arr√≥l, hogy az adott projekt k√≥dja biztons√°gos. A blokkl√°nc technol√≥gia magas biztons√°gi szintje megnehez√≠ti a p√©nzeszk√∂z√∂k visszaszerz√©s√©t √©s a probl√©m√°k rendez√©s√©t az esem√©ny ut√°n, ez√©rt jobb minden√°ron megelŇĎzni a sebezhetŇĎs√©gek kialakul√°s√°t.


Hogyan mŇĪk√∂dnek az okosszerzŇĎd√©s auditok?

Az okosszerzŇĎd√©s audit folyamata viszonylag szabv√°nyos az auditszolg√°ltat√≥k k√∂r√©ben. B√°r az egyes auditorok megk√∂zel√≠t√©se elt√©rŇĎ lehet, a folyamat √°ltal√°ban a k√∂vetkezŇĎ:

1. Az audit hat√≥k√∂r√©nek meghat√°roz√°sa Az okosszerzŇĎd√©s √©s a projekt specifik√°ci√≥j√°t a projekt (a kitŇĪz√∂tt c√©lja) √©s az √°ltal√°nos architekt√ļr√°ja hat√°rozza meg. A specifik√°ci√≥ seg√≠t, hogy az auditcsapat meg√©rtse a projekt c√©ljait a k√≥d √≠r√°sa √©s haszn√°lata sor√°n.

2. Kezdeti √°raj√°nlat √°tad√°sa a sz√ľks√©ges munkamennyis√©g alapj√°n

3. Tesztek futtat√°sa Ezek jellege az audit√°l√°st v√©gzŇĎ csapatt√≥l, az elemz√©shez haszn√°l eszk√∂zeiktŇĎl √©s az alkalmazott m√≥dszerektŇĎl f√ľggŇĎen v√°ltozik. √Āltal√°ban manu√°lis √©s automatiz√°lt teszteket egyar√°nt v√©geznek.

4. ElsŇĎ jelent√©stervezet elk√©sz√≠t√©se a tal√°lt hib√°kkal, √©s annak √°tad√°sa a projektcsapat r√©sz√©re visszajelz√©s √©s hibajav√≠t√°s c√©lj√°b√≥l.

5. Végleges jelentés közzététele, figyelembe véve a csapat által a jelzett problémák megoldására tett intézkedéseket.


OkosszerzŇĎd√©s audit ‚Äď m√≥dszerek

Gas hatékonyság 

Az okosszerzŇĎd√©s auditok nem kiz√°r√≥lag a blokkl√°ncbiztons√°gra √∂sszpontos√≠tanak. Emellett a hat√©konys√°gra √©s az optimaliz√°l√°sra is odafigyelnek. Egyes szerzŇĎd√©sek bonyolult tranzakci√≥k sorozat√°t hajtj√°k v√©gre a sz√°nd√©kolt funkci√≥juk bet√∂lt√©s√©re. Az Ethereumon √©s m√°s hasonl√≥ h√°l√≥zatokon alkalmazott gas d√≠jak viszonylag magas √°ra miatt a hat√©kony szerzŇĎd√©sek sokat sp√≥rolhatnak a tranzakci√≥s k√∂lts√©geken.

A teljes√≠tm√©ny√ľk optimaliz√°l√°sa szint√©n jelzi a fejlesztŇĎ szak√©rtelm√©t. A hat√©konys√°got nem szolg√°l√≥ l√©p√©sek t√∂bb hibapontot hozhatnak l√©tre, ez√©rt ker√ľlendŇĎk. Magas gas k√∂lts√©gek mellett elŇĎfordulhat, hogy az okos szerzŇĎd√©sek v√©grehajt√°sa nem siker√ľl, k√ľl√∂n√∂sen, ha alacsony gas korl√°tot √°ll√≠tanak be.

A szerzŇĎd√©s sebezhetŇĎs√©gei

Az auditok sor√°n a legmunkaig√©nyesebb dolog a szerzŇĎd√©sek biztons√°gi szempontb√≥l gyenge pontjainak ellenŇĎrz√©se. B√°r egyes probl√©m√°kat k√∂nnyŇĪ √©szrevenni, sok esetben fejlett technik√°kat √©s strat√©gi√°kat alkalmaznak a kizs√°km√°nyol√°sok sor√°n a p√©nzeszk√∂z√∂k elsz√≠v√°s√°hoz. A gyenge okosszerzŇĎd√©sek eset√©n p√©ld√°ul piaci manipul√°ci√≥t alkalmazhatnak gyorsk√∂lcs√∂n√∂kkel v√©grehajtott t√°mad√°sokhoz. Az ilyen probl√©m√°k megtal√°l√°s√°hoz az auditorok √ļn. break testing (t√∂r√©steszt) folyamatot ind√≠tanak, √©s rosszindulat√ļ t√°mad√°sokat szimul√°lnak az okosszerzŇĎd√©s ellen. A gyakori sebezhetŇĎs√©gek a k√∂vetkezŇĎk:

1. √öjrabel√©p√©si probl√©m√°k (Reentrancy issues): amikor egy okosszerzŇĎd√©s k√ľlsŇĎ h√≠v√°st v√©gez egy m√°sik k√ľlsŇĎ szerzŇĎd√©shez, mielŇĎtt b√°rmilyen hat√°st megoldana. A k√ľlsŇĎ szerzŇĎd√©s ezut√°n rekurz√≠v m√≥don h√≠v√°st ind√≠that az eredeti okosszerzŇĎd√©s fel√©, √©s olyan m√≥don l√©phet interakci√≥ba vele, amelyet nem szabadna enged√©lyezni, mivel az eredeti szerzŇĎd√©s egyenlege m√©g nem friss√ľlt.

2. Eg√©sz t√ļlcsordul√°s √©s el√©gtelen eg√©sz (integer overflow √©s underflow): amikor egy okosszerzŇĎd√©s aritmetikai mŇĪveletet v√©gez, de a kimenet t√ļll√©pi a t√°rol√°si kapacit√°st (ami √°ltal√°ban 18 tizedesjegy). Ez helytelen √∂sszegek kisz√°m√≠t√°s√°hoz vezethet.

3. Front running (megelŇĎz√©si) lehetŇĎs√©gek: a rosszul struktur√°lt k√≥d elŇĎzetes figyelmeztet√©st ny√ļjthat a piaci v√°s√°rl√°sokr√≥l vagy elad√°sokr√≥l. Ez pedig lehetŇĎv√© teheti, hogy m√°sok az inform√°ci√≥t felhaszn√°lva a saj√°t szak√°llukra kereskedjenek.

Platformbiztons√°gi hib√°k

A legt√∂bb audit sor√°n megvizsg√°lj√°k a szerzŇĎd√©seket futtat√≥ h√°l√≥zatot, sŇĎt, m√©g a DApp-al folytatott interakci√≥hoz haszn√°lt API-t is. Egy projekt sebezhetŇĎ lehet egy DDoS-t√°mad√°ssal szemben, illetve felt√∂rhetik a webhely√©nek felhaszn√°l√≥i fel√ľlet√©t, vagyis a felhaszn√°l√≥k val√≥j√°ban rosszindulat√ļ blokkl√°nc alkalmaz√°sokhoz csatlakoztatj√°k a t√°rc√°jukat.


Mi az az auditjelentés?

Az auditjelent√©st az auditfolyamat v√©g√©n adj√°k √°t. Az √°tl√°that√≥s√°g √©rdek√©ben a projektekkel szemben elv√°r√°s, hogy megossz√°k az eredm√©nyeket a k√∂z√∂ss√©ggel. A legt√∂bb jelent√©s a s√ļlyuk szerint kategoriz√°lja a probl√©m√°kat, megk√ľl√∂nb√∂ztetve kritikus, s√ļlyos, apr√≥ stb. hib√°kat. Ezenfel√ľl a jelent√©s tartalmazza a probl√©m√°k √°llapot√°t is, hiszen a projektek kapnak idŇĎt azok megold√°s√°ra, mielŇĎtt a v√©gleges jelent√©st kiadj√°k.

Egy r√∂vid √∂sszefoglal√≥ mellett a standard jelent√©s tartalmaz javaslatokat, p√©ld√°kat a redund√°ns k√≥dra, valamint a hib√°s k√≥dot tartalmaz√≥ r√©szek r√©szletes ismertet√©s√©t. A projekt ezut√°n idŇĎt kap, hogy reag√°ljon a jelent√©s eredm√©nyeire, mielŇĎtt a v√©gleges verzi√≥t kiadn√°k.


Hol k√©rhetek okosszerzŇĎd√©s auditot?

Sz√°mos okosszerzŇĎd√©saudit szolg√°ltat√≥ v√°lt ismertt√© az √°ltala ny√ļjtott szolg√°ltat√°s kapcs√°n. K√∂z√ľl√ľk kettŇĎ k√ľl√∂n√∂sen n√©pszerŇĪ, √©s a szolg√°ltat√°s ig√©nybev√©tel√©hez kezdeti √°raj√°nlatot kell k√©rni √©s inform√°ci√≥kat kell √°tadni.

CertiK

A CertiK piacvezetŇĎ az okosszerzŇĎd√©s auditok ter√©n. Projektek sz√°zai v√©geztett√©k a CertiK-kel az okosszerzŇĎd√©seik audit√°l√°s√°t. A PancakeSwap, a BSC legnagyobb Automatiz√°lt Market Maker (AMM) szolg√°ltat√°sa volt az egyik ilyen projekt. Al√°bb l√°that√≥ a CertiK √°ltal v√©gzett PancakeSwap-audit egy r√©szlete.


Emellett a Binance Labs √°ltal t√°mogatott projektek t√ļlnyom√≥ t√∂bbs√©ge is a CertiK-kel audit√°ltatta az okosszerzŇĎd√©seit. A CertiK kiadja az audit√°lt projektek rangsor√°t, amelynek seg√≠ts√©g√©vel √∂sszehasonl√≠thatjuk ŇĎket, bele√©rtve a biztons√°gi pontsz√°mukat is. MegjegyzendŇĎ, hogy az Ethereumon k√≠v√ľl a CertiK BSC- √©s Polygon-projektekkel is foglalkozik.


ConsenSys Diligence

Az Ethereum-t√°rsalap√≠t√≥ Joseph Lubin √°ltal vezetett ConsenSys a blokkl√°ncfejleszt√©s egyik legnagyobb alakja a kriptovaluta-√°gazatban. A v√°llalat ConsenSys Diligence n√©ven k√≠n√°l auditszolg√°ltat√°st Ethereum-okosszerzŇĎd√©sekhez. Emellett automatiz√°lt szolg√°ltat√°st is k√≠n√°lnak, amellyel EVM-szerzŇĎd√©sek (Ethereum Virtual Machine ‚Äď Ethereum Virtu√°lis G√©p) ellenŇĎrizhetŇĎk a gyakran elŇĎfordul√≥ hib√°kra.


Mennyibe ker√ľl egy okosszerzŇĎd√©s audit?

Egy audit pontos k√∂lts√©ge az ellenŇĎrizendŇĎ okosszerzŇĎd√©sek sz√°m√°t√≥l f√ľgg. Egy audit √°ltal√°ban t√∂bb ezer doll√°rba ker√ľl. Egy k√ľl√∂n√∂sen nagy projekt ellenŇĎrz√©s√©nek k√∂lts√©ge k√∂nnyed√©n t√ļll√©pheti a 10¬†000 doll√°rt. Az audit√°l√°st v√©gzŇĎ v√°llalat √©s annak h√≠rneve szint√©n befoly√°solja a fizetendŇĎ √∂sszeget.


Záró gondolatok

A befektetŇĎk √©s felhaszn√°l√≥k szerencs√©j√©re az okosszerzŇĎd√©s auditok alapvetŇĎ norm√°v√° v√°ltak. Ugyanakkor, ha minden projektnek van auditja, akkor t√∂bb√© m√°r nem jelent egyszerŇĪ √©rt√©km√©rŇĎt. √Čppen ez√©rt rendk√≠v√ľl fontos, hogy magunk is elolvassuk az auditjelent√©st. M√©g ha nem is rendelkez√ľnk megfelelŇĎ technikai ismeretekkel, akkor is hasznos lehet megismerni a v√©lem√©nyeket √©s a potenci√°lis hib√°k s√ļlyoss√°g√°t.

Ha √Ėn ezut√°n tal√°lkozik egy audittal, m√°r k√∂nnyebben meg√©rti majd annak tartalm√°t. Mindig √ľgyeljen arra, hogy a befektet√©si d√∂nt√©sei sor√°n l√°ssa a teljes k√©pet, √©s minden inform√°ci√≥t figyelembe vegyen.