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.