Lästid: 6 minuter
En "smart kontrakt”Är en uppsättning instruktioner som körs på Ethereum Blockchain. För granskning innebär ett ethereum smart kontrakt att se till att det är säkert från potentiella hot och vanliga sårbarheter.
Även om det i det nuvarande scenariot är hackarna och utnyttjandena relaterade till smarta kontrakt på ett högsta nivå, är det en storm att berömma för eftersom det resulterar i framsteg och förbättringar för DeFi-plattformar, vilket gör dem säkrare.
När vi talar om säkerheten i smarta kontrakt kan vi inte släppa ”vikten av smarta kontraktsrevisioner.” Smart kontraktsrevision är en process för att korsverifiera smarta avtalskoder baserat på olika parametrar. Och i de kommande avsnitten kommer vi att analysera vikten av smart kontraktsrevision, flera tillvägagångssätt för smart kontraktsrevision och steg som är involverade i granskningen av ett Ethereum smart kontrakt.
Betydelsen av Smart Contract Audit
För att bättre förstå varför alla intressenter skulle behöva smart kontraktsrevision måste vi titta på det senaste förflutna och se de omfattande förluster som uppstår på olika DeFi -plattformar.
- Poly nätverk : Förlust på 600 miljoner dollar
- Lendf.me - 25 miljoner dollar förlust
- Syntetix - 37 miljoner sETH -förlust;
- BZX - 645 000 dollar förlust.
Det här är bara några senaste hack. Enligt en ny rapport-
"DeFi har stått för över 75% av Crypto Hacks år 2021. Det blir 361 miljoner dollar, 2.7 gånger mer än 2020."
CipherTrace
Det enorma antalet är skrämmande, men dessa attacker hade lätt kunnat dämpas om DeFi -plattformarna hade kunnat vidta förebyggande åtgärder. Även om några av attackerna kan vara allvarliga, hade de flesta av dem lätt kunnat avvärjas.
Ett av de bästa sätten att hålla din DeFi -plattform säker från potentiella framtida hot är att bekanta dig med alla tidigare attacker. För att göra det är en av de bästa resurserna SWC -registret som presenterar en lista över alla smarta kontraktssårbarheter och exempel för att hantera dem.
Källa: SWC register
Så vad är de gyllene stegen för smart kontraktsrevision som, när den följs, kan hjälpa olika DeFi -plattformar att spara miljoner?
Universella metoder för smart kontraktsrevision
Det finns två allmänt använda metoder för smart kontraktsrevision:
- Manuell kodanalys
- Automatisk kodanalys
Manuell kodanalys
Det är processen att granska koden rad för rad för att identifiera de potentiella sårbarheterna. Det är en komplex process som kräver skicklighet, erfarenhet, uthållighet och tålamod. För att förbättra säkerheten för DeFi -projektet är genomgång av den manuella kodanalysen i huvudsak det bästa sättet att identifiera de sårbarheter som den automatiska kodanalysen kan lämna.
Oftast stöter vi på en mycket vanlig fråga - "Hur många personer ska utgöra kodgranskningsteamet?". På QuillAudits, vi sätter projektets säkerhet först; Därför har vi ett granskningsteam av erfarna och skickliga revisorer för att undersöka dynamiken i den smarta kontraktskoden.
Även om det finns vissa begränsningar för den manuella kodanalysen, till exempel buffertöverflöden (särskilt "off-by-one" -fel), död kod och några andra misstag som ibland kan förbises av en mänsklig granskare, är de bättre lämpade för automatiserade analys för att hitta dem.
Automatisk kodanalys
Automatisk kodanalys sparar tid och pengar eftersom den använder olika penetrationstester för att hitta sårbarheter. Vi på QuillAudits utnyttja olika interna verktyg med öppen källkod för att maximera resultatet av säkerhetsrevisioner. Några av de bästa verktygen som används av våra interna revisorer är:
- MythX - En smart kontraktsäkerhetstjänst som undersöker ditt projekt baserat på statisk analys, dynamisk analys och symboliskt utförande. För att använda MythX krävs en API -nyckel från mythx.io.
- Mythril - Ett säkerhetsanalysverktyg för Ethereum smarta kontrakt. Den undersöker en rad säkerhetsfrågor-heltalsflöden, ägar-överskrivning-till-Ether-uttag och andra.
- Slither - Ett statiskt analysramverk skrivet i Python 3, det identifierar sårbarheter och skriver ut visuell information om kontraktsdetaljer och tillhandahåller ett API för anpassad analys som kan skrivas flexibelt.
- Echidna - En konstig varelse som äter buggar! Ett Haskell-program utvecklat för fuzzing/fastighetsbaserad testning av Ethereum smarta kontrakt.
- Lyssnare - Att analysera Ethereum -kod för att hitta sårbarheter.
Det var bara en kortfattad lista över verktyg som vårt interna team av revisorer utnyttjade för att utföra automatisk kodanalys. Men vad är de gyllene stegen för att genomföra en smart kontraktsrevision?
Steg för att granska ett smart kontrakt för Ethereum
Även om det kan finnas mer än en anledning att genomföra en smart kontraktsrevision, är det främsta motivet att säkra din Defi -plattform. Vi på QuillAudits följa en omfattande metod för att genomföra en smart kontraktsrevision.
#1: Samla koddesignmönster
Det är ett av de främsta stegen för att genomföra en smart kontraktsrevision. För företaget som utför revisioner är det viktigt att ha en klar förståelse för koden och arbetsspecifikationerna för den smarta kontraktsplattformen.
#2: Enhetstestning
Vi utför smarta kontraktenheter med hjälp av olika kodtäckningsverktyg. Vi implementerar också enhetstestfall för att verifiera att varje funktion fungerar i överensstämmelse med den övergripande smarta kontraktskoden.
#3: Manuell analys
Ibland kan automatiserad analys resultera i falskt positiva rapporter; Därför blir det nödvändigt att göra manuell forskning rad-för-rad för att hitta potentiella sårbarheter som-rasförhållanden, transaktionsbeställningsberoende, tidsstämpelberoende externa samtal och avslag på serviceattacker.
#4: Första rapporten
Vi presenterar sedan inför dig en första rapport med alla buggar och fel som ditt team ska åtgärda.
#5: Kod fixad
Åtgärda alla buggar och fel som upptäcktes i den preliminära analysen och skicka dem sedan till revisorerna för den slutliga granskningen.
#6: Statisk analys och formell verifiering
Vi utför kodgranskningar med våra interna automatiserade verktyg för öppen källkod för att upptäcka kryphål, skadliga koder i det smarta kontraktet.
#7: Slutrevisionsrapport
Den slutliga granskningsrapporten presenteras inför klienten och publiceras på GitHub för alla att hänvisa till.
Detta är den övergripande strategin som vårt interna team av skickliga revisorer följer, även om det är synligt att ditt smarta kontrakt granskas två gånger till samma pris.
Även om granskning av ett DeFi -projekt en gång inte garanterar dess säkerhet, rekommenderar vi att det granskas minst två gånger (eller) tre gånger. Tidigare har det inträffat incidenter som hacket "Popsicle Finance" för $ 20M. Det granskades två gånger, men det utnyttjades också på grund av en gemensam sårbarhet.
Därför beskriver incidenter som detta tydligt vikten av smart kontraktsrevision - "Desto mer desto bättre!".
slutord
Tja, om du har varit med oss hittills är du bekant med hur ett ethereum smart kontrakt granskas.
Medan det ökande antalet DeFi -hack och utnyttjanden kan oroa dig kan du genomföra en robust smart kontraktsrevision från ett pålitligt företag som t.ex. QuillAudits kommer att spara dig miljoner dollar.
1,624 Visningar
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: 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
- Om Oss
- tvärs
- antagen
- framsteg
- larm
- Alla
- analys
- analysera
- och
- någon
- api
- tillvägagångssätt
- Attacker
- revision
- granskas
- revision
- revisorer
- revisioner
- Automatiserad
- Automat
- baserat
- därför att
- blir
- innan
- Där vi får lov att vara utan att konstant prestera,
- BÄST
- Bättre
- blockchain
- buffert
- fel
- Samtal
- kan inte
- bära
- bär
- fall
- klar
- klart
- klient
- koda
- Kodgranskning
- COM
- komma
- Gemensam
- företag
- komplex
- omfattande
- villkor
- Genomför
- kontrakt
- kontrakt
- kunde
- täckning
- varelse
- crypto
- krypto hackar
- beställnings
- döda
- Defi
- DeFi-plattform
- defi-plattformar
- Denial of Service
- beroende
- Designa
- detaljer
- utvecklade
- upptäckt
- inte
- gör
- dollar
- dynamisk
- Dynamiken
- varje
- lätt
- säkerställa
- fel
- speciellt
- ethereum
- Ethereum blockchain
- undersöker
- Granskning
- exempel
- utförande
- erfarenhet
- erfaren
- utnyttjas
- bedrifter
- extern
- bekant
- få
- slutlig
- hitta
- Firm
- Förnamn
- fixerad
- följt
- följer
- främst
- formell
- kommande
- Ramverk
- frekvent
- från
- fungera
- framtida
- samla
- skaffa sig
- GitHub
- Go
- kommer
- Golden
- garanti
- hacka
- hacka
- hjälpa
- här.
- Hög
- Hur ser din drömresa ut
- HTTPS
- stor
- humant
- identifierar
- identifiera
- genomföra
- vikt
- med Esport
- förbättra
- förbättringar
- in
- informationen
- inledande
- instruktioner
- involverade
- problem
- IT
- Ha kvar
- Nyckel
- Lämna
- begränsningar
- Lista
- se
- luckor
- förlust
- förluster
- göra
- GÖR
- manuell
- många
- många människor
- Maximera
- betyder
- åtgärder
- Metodik
- metoder
- miljon
- miljoner
- misstag
- miljoner
- pengar
- mer
- mest
- multipel
- nödvändigt för
- Behöver
- Nya
- antal
- nummer
- ONE
- öppen källkod
- Övriga
- Övrigt
- översikt
- övergripande
- parametrar
- Tidigare
- Tålamod
- Personer
- Utföra
- persistens
- plattform
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- potentiell
- Berömde
- presentera
- presenteras
- presenterar
- pris
- primär
- utskrifter
- process
- Program
- projektet
- ger
- publicerade
- sätta
- Python
- fråga
- Pilbåt
- Lopp
- område
- Anledningen
- senaste
- rekommenderar
- register
- relaterad
- rapport
- Rapport
- kräver
- Kräver
- forskning
- Resurser
- resultera
- resulterande
- översyn
- Omdömen
- stigande
- robusta
- Körning
- säker
- Samma
- Save
- scenario
- sektioner
- säkra
- säkerhet
- Säkerhetsrevisioner
- service
- in
- svår
- skall
- skicklighet
- skicklig
- smarta
- smart kontrakt
- Smart kontraktsrevision
- Smart kontraktssäkerhet
- Smarta kontrakt
- So
- några
- tala
- specifikationer
- intressenter
- Steg
- Storm
- Strategi
- sådana
- grupp
- testa
- Testning
- tester
- Smakämnen
- hot
- Genom
- tid
- gånger
- tidsstämpel
- till
- verktyg
- verktyg
- trovärdig
- förstå
- förståelse
- enhet
- us
- användning
- olika
- verifiera
- synlig
- sårbarheter
- sårbarhet
- sätt
- Vad
- som
- medan
- brett
- kommer
- arbetssätt
- fungerar
- skulle
- skriven
- Om er
- Din
- själv
- zephyrnet