Čas branja: 6 min
"pametna pogodba” je niz navodil, ki se izvajajo na Ethereum Blockchain. Za revizijo pomeni pametna pogodba ethereum zagotoviti, da je varna pred morebitnimi grožnjami in pogostimi ranljivostmi.
Medtem ko so v trenutnem scenariju vdori in izkoriščanja, povezana s pametnimi pogodbami, na najvišji ravni vseh časov, je to nevihta, ki jo je treba pohvaliti, saj prinaša napredek in izboljšave za DeFi platforme, zaradi česar so bolj varni.
Ko govorimo o varnosti pametnih pogodb, ne moremo opustiti "pomen revizij pametnih pogodb.” Revizija pametnih pogodb je postopek za navzkrižno preverjanje kod pametnih pogodb na podlagi različnih parametrov. V naslednjih razdelkih bomo analizirali pomen revizije pametnih pogodb, več pristopov k reviziji pametnih pogodb in korake, vključene v revizijo pametne pogodbe Ethereum.
Pomen revizije pametnih pogodb
Da bi bolje razumeli, zakaj bi katera koli zainteresirana stran potrebovala revizijo pametnih pogodb, moramo pogledati v nedavno preteklost in videti obsežne izgube, nastale na različnih platformah DeFi.
- Poly omrežje : 600 milijonov dolarjev izgube
- Lendf.me – 25 milijonov dolarjev izgube;
- syntheticix – 37 milijonov seth izgube;
- bZx – 645 000 $ izgube.
To je le nekaj nedavnih vdorov. Glede na novo poročilo -
»DeFi je leta 75 predstavljal več kot 2021 % kripto vdorov. To pomeni 361 milijonov dolarjev, 2.7-krat več kot leta 2020.«
CipherTrace
Te ogromne številke so strašljive, toda te napade bi lahko zlahka ublažili, če bi te platforme DeFi lahko sprejele preventivne ukrepe. Čeprav so lahko nekateri napadi resni, bi jih večino lahko zlahka preprečili.
Eden najboljših načinov za zaščito vaše platforme DeFi pred morebitnimi prihodnjimi grožnjami je, da se seznanite z vsemi preteklimi napadi. Za to je eden najboljših virov register SWC, ki predstavlja seznam vseh ranljivosti pametnih pogodb in primere za njihovo odpravo.
vir: SWC registra
Kateri so torej tisti zlati koraki revizije pametnih pogodb, ki bi lahko, če bi jih upoštevali, pomagali različnim platformam DeFi prihraniti milijone?
Univerzalni pristopi k revidiranju pametnih pogodb
Obstajata dve široko sprejeti metodi za revizijo pametnih pogodb:
- Ročna analiza kode
- Samodejna analiza kode
Ročna analiza kode
To je postopek preučevanja kode vrstico za vrstico, da se identificirajo morebitne ranljivosti. To je kompleksen proces, ki zahteva spretnosti, izkušnje, vztrajnost in potrpežljivost. Za izboljšanje varnosti projekta DeFi je ročna analiza kode v bistvu najboljši način za prepoznavanje ranljivosti, ki jih lahko pusti samodejna analiza kode.
Največkrat naletimo na zelo pogosto vprašanje – “Koliko ljudi naj sestavlja ekipa za pregled kode?”. pri QuillAudits, na prvo mesto postavljamo varnost projekta; zato imamo revizijsko skupino izkušenih in usposobljenih revizorjev, ki preučujejo dinamiko kode pametnih pogodb.
Čeprav obstajajo nekatere omejitve ročne analize kode, kot so prekoračitve medpomnilnika (zlasti napake »off-by-one«), mrtva koda in nekatere druge napake, ki jih lahko včasih spregleda človeški pregledovalec, so bolj primerne za avtomatizirano analizo, da bi jih našli.
Samodejna analiza kode
Samodejna analiza kode prihrani čas in denar, saj uporablja različne penetracijske teste za iskanje ranljivosti. Mi pri QuillAudits izkoristiti različna interna odprtokodna orodja za povečanje rezultatov varnostnih pregledov. Nekatera najboljša orodja v svojem razredu, ki jih uporabljajo naši interni revizorji, so:
- MitX – Varnostna storitev pametnih pogodb, ki pregleda vaš projekt na podlagi statične analize, dinamične analize in simbolične izvedbe. Za uporabo MythX potrebujete ključ API od mythx.io.
- Mitril – Orodje za analizo varnosti za pametne pogodbe Ethereum. Preučuje vrsto varnostnih vprašanj – celoštevilske pretoke, prepis lastnika v Ether-withdrawal in druge.
- Slither – Ogrodje statične analize, napisano v Pythonu 3, identificira ranljivosti in natisne vizualne informacije o podrobnostih pogodbe ter ponuja API za prilagodljivo pisanje analize po meri.
- Ehidna – Čudno bitje, ki se prehranjuje s hrošči! Program Haskell, razvit za fuzzing/testiranje pametnih pogodb Ethereum na podlagi lastnosti.
- poslušalec – Za analizo kode Ethereum za iskanje ranljivosti.
To je bil le kratek seznam orodij, ki jih je naša interna skupina revizorjev uporabila za izvedbo samodejne analize kode. Toda kateri so tisti zlati koraki za izvedbo revizije pametnih pogodb?
Koraki za revizijo pametne pogodbe Ethereum
Čeprav je morda več kot en razlog za izvedbo revizije pametnih pogodb, je glavni motiv zaščititi svojo platformo Defi. Mi pri QuillAudits sledite obsežni metodologiji za izvajanje revizije pametnih pogodb.
#1: Zbiranje vzorcev oblikovanja kode
Je eden najpomembnejših korakov pri izvajanju revizije pametnih pogodb. Za podjetje, ki izvaja revizije, je pomembno, da jasno razume kodo in delovne specifikacije platforme pametnih pogodb.
#2: Testiranje enote
Izvajamo testiranje enot pametnih pogodb s pomočjo različnih orodij za pokrivanje kode. Izvajamo tudi testne primere enote, da preverimo, ali vsaka funkcija deluje skladno s celotno kodo pametne pogodbe.
#3: Ročna analiza
Včasih lahko avtomatizirana analiza povzroči lažno pozitivna poročila; zato postane ročno raziskovanje po vrsticah potrebno za iskanje morebitnih ranljivosti, kot so – pogoji tekmovanja, odvisnost od naročanja transakcij, odvisnost od zunanjih klicev glede na časovni žig in napadi z zavrnitvijo storitve.
#4: Začetno poročilo
Nato vam predstavimo začetno poročilo z vsemi hrošči in napakami, ki jih mora odpraviti vaša ekipa.
#5: Koda popravljena
Popravite vse hrošče in napake, odkrite v predhodni analizi, in jo nato pošljite revizorjem v končni pregled.
#6: Statična analiza in formalno preverjanje
Preglede kod izvajamo z uporabo naših internih odprtokodnih avtomatiziranih orodij za odkrivanje morebitnih vrzeli, zlonamernih kod v pametni pogodbi.
#7: Končno revizijsko poročilo
Končno revizijsko poročilo je predstavljeno stranki in objavljeno na GitHubu, da se lahko vsi obrnejo nanj.
To je celovita strategija, ki ji sledi naša interna ekipa usposobljenih revizorjev, čeprav je vidno, da je vaša pametna pogodba dvakrat revidirana po isti ceni.
Čeprav enkratna revizija projekta DeFi ne zagotavlja njegove varnosti, priporočamo, da se revidira vsaj dvakrat (ali) trikrat. V preteklosti je prišlo do incidentov, kot je vdor »Popsicle Finance«. $ 20M. Dvakrat je bil revidiran, vendar je bil zaradi skupne ranljivosti tudi izkoriščen.
Zato takšni incidenti jasno orisujejo pomen revizije pametnih pogodb - "čim več, tem bolje!".
Končne besede
No, če ste bili z nami do tukaj, ste seznanjeni s tem, kako se revidira pametna pogodba ethereum.
Medtem ko vas lahko naraščajoče število vdorov in izkoriščanja DeFi vznemiri, je treba izvesti zanesljivo revizijo pametnih pogodb s strani zaupanja vrednega podjetja, kot je npr. QuillAudits vam bo prihranilo milijone dolarjev.
1,624 Ogledov
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://blog.quillhash.com/2023/02/08/how-properly-auditing-an-ethereum-smart-contract-can-save-you-millions/
- 000
- 1
- 10
- 2020
- 2021
- 7
- a
- O meni
- čez
- sprejet
- napredek
- Alarm
- vsi
- Analiza
- analizirati
- in
- kdo
- API
- pristopi
- Napadi
- Revizija
- revidiranih
- revidiranje
- revizorjev
- revizije
- Avtomatizirano
- Samodejno
- temeljijo
- ker
- postane
- pred
- počutje
- BEST
- Boljše
- blockchain
- varovalni
- hrošči
- poziva
- ne more
- opravlja
- knjigovodska
- primeri
- jasno
- jasno
- stranke
- Koda
- Pregled kode
- COM
- kako
- Skupno
- podjetje
- kompleksna
- celovito
- Pogoji
- Ravnanje
- Naročilo
- pogodbe
- bi
- pokritost
- bitje
- kripto
- kriptovalute
- po meri
- mrtva
- Defi
- Platforma DeFi
- platforme defi
- Denial of Service
- odvisnost
- Oblikovanje
- Podrobnosti
- razvili
- odkril
- Ne
- tem
- dolarjev
- dinamično
- dinamika
- vsak
- enostavno
- zagotovitev
- napake
- zlasti
- ethereum
- ethereum blockchain
- Pregleduje
- Preučevanje
- Primeri
- izvedba
- izkušnje
- izkušen
- Exploited
- izkorišča
- zunanja
- seznanjeni
- Nekaj
- končna
- Najdi
- Firm
- prva
- Všita
- sledili
- sledi
- predvsem
- formalno
- prihajajoči
- Okvirni
- pogosto
- iz
- funkcija
- Prihodnost
- zbiranje
- dobili
- GitHub
- Go
- dogaja
- Zlata
- Garancija
- kramp
- žaga
- pomoč
- tukaj
- visoka
- Kako
- HTTPS
- velika
- človeškega
- identificira
- identificirati
- izvajati
- Pomembnost
- Pomembno
- izboljšanje
- Izboljšave
- in
- Podatki
- začetna
- Navodila
- vključeni
- Vprašanja
- IT
- Imejte
- Ključne
- pustite
- omejitve
- Seznam
- Poglej
- vrzeli
- off
- izgube
- Znamka
- IZDELA
- Navodilo
- več
- veliko ljudi
- Povečajte
- pomeni
- ukrepe
- Metodologija
- Metode
- milijonov
- milijoni
- napake
- milijonov
- Denar
- več
- Najbolj
- več
- potrebno
- Nimate
- Novo
- Številka
- številke
- ONE
- open source
- Ostalo
- drugi
- oris
- Splošni
- parametri
- preteklosti
- Potrpljenje
- ljudje
- Izvedite
- vztrajnost
- platforma
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- potencial
- Pohvaljen
- predstaviti
- predstavljeni
- darila
- Cena
- primarni
- printi
- Postopek
- Program
- Projekt
- zagotavlja
- objavljeno
- dal
- Python
- vprašanje
- Quillhash
- Dirka
- območje
- Razlog
- nedavno
- Priporočamo
- registra
- povezane
- poročilo
- Poročila
- zahteva
- zahteva
- Raziskave
- viri
- povzroči
- rezultat
- pregleda
- Mnenja
- narašča
- robusten
- Run
- varna
- Enako
- Shrani
- Scenarij
- oddelki
- zavarovanje
- varnost
- Varnostni pregledi
- Storitev
- nastavite
- huda
- shouldnt
- spretnost
- spreten
- pametna
- pametna pogodba
- Pametna revizija pogodbe
- Varnost pametne pogodbe
- Pametne pogodbe
- So
- nekaj
- govorijo
- specifikacije
- deležnik
- Koraki
- Storm
- Strategija
- taka
- skupina
- Test
- Testiranje
- testi
- O
- grožnje
- skozi
- čas
- krat
- Časovni žig
- do
- orodje
- orodja
- zaupanja
- razumeli
- razumevanje
- Enota
- us
- uporaba
- različnih
- preverjanje
- vidna
- Ranljivosti
- ranljivost
- načini
- Kaj
- ki
- medtem
- pogosto
- bo
- deluje
- deluje
- bi
- pisni
- Vi
- Vaša rutina za
- sami
- zefirnet