Un breve sull'audit del contratto intelligente di Ethereum

Un breve sull'audit del contratto intelligente di Ethereum

Tempo per leggere: 6 verbale

A "smart contract"è un insieme di istruzioni che vengono eseguite su Ethereum Blockchain. Per verificare, un contratto intelligente ethereum significa garantire che sia protetto da potenziali minacce e vulnerabilità comuni. 

Mentre nello scenario attuale, gli hack e gli exploit relativi ai contratti intelligenti sono ai massimi storici, è una tempesta da lodare perché sta portando a progressi e miglioramenti per Piattaforme DeFi, che li rende più sicuri. 

Quando si parla di sicurezza degli smart contract, non possiamo lasciar andare il “importanza degli audit dei contratti intelligenti.L'audit del contratto intelligente è un processo per verificare in modo incrociato i codici del contratto intelligente in base a vari parametri. E nelle prossime sezioni, analizzeremo l'importanza del controllo del contratto intelligente, i molteplici approcci al controllo del contratto intelligente e le fasi coinvolte nel controllo di un contratto intelligente Ethereum. 

Importanza della verifica del contratto intelligente

Per comprendere meglio il motivo per cui qualsiasi stakeholder richiederebbe l'audit del contratto intelligente, dobbiamo esaminare il passato recente e vedere le perdite voluminose sostenute su varie piattaforme DeFi. 

  • Rete Poli : $ 600 milioni di perdita
  • Prestami – 25 milioni di dollari di perdita;
  • Synthetix – 37 mln di perdita di sETH; 
  • BZX – $ 645 000 di perdita. 

Questi sono solo alcuni hack recenti. Secondo un nuovo rapporto-

"La DeFi ha rappresentato oltre il 75% di Crypto Hacks nel 2021. Ciò equivale a $ 361 milioni, 2.7 volte di più rispetto al 2020. " 

CipherTrace

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Quei numeri enormi sono spaventosi, ma questi attacchi avrebbero potuto essere mitigati facilmente se quelle piattaforme DeFi avessero potuto adottare misure preventive. Mentre alcuni degli attacchi possono essere gravi, la maggior parte di essi avrebbe potuto essere facilmente evitata. 

Uno dei modi migliori per proteggere la tua piattaforma DeFi da potenziali minacce future è acquisire familiarità con tutti gli attacchi passati. Per fare ciò, una delle migliori risorse è il registro SWC che presenta un elenco di tutte le vulnerabilità dei contratti intelligenti ed esempi per affrontarle. 

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Fonte: SWC registro 

Quindi quali sono quei passaggi d'oro dell'auditing dei contratti intelligenti che, se seguiti, potrebbero aiutare varie piattaforme DeFi a risparmiare milioni? 

Approcci universali allo Smart Contract Auditing 

Esistono due metodi ampiamente adottati per l'auditing dei contratti intelligenti:

  • Analisi manuale del codice
  • Analisi automatica del codice

Analisi manuale del codice

È il processo di esame del codice riga per riga per identificare le potenziali vulnerabilità. È un processo complesso che richiede abilità, esperienza, perseveranza e pazienza. Per migliorare la sicurezza del progetto DeFi, passare attraverso l'analisi manuale del codice è sostanzialmente il modo migliore per identificare le vulnerabilità che l'analisi automatica del codice può lasciare. 

Molto spesso, ci imbattiamo in una domanda molto frequente: "Quante persone dovrebbero formare il team di revisione del codice?". In QuillAudit, mettiamo al primo posto la sicurezza del progetto; quindi abbiamo un team di revisione di revisori esperti e qualificati per esaminare le dinamiche del codice del contratto intelligente.

Sebbene ci siano alcune limitazioni dell'analisi manuale del codice, come gli overflow del buffer (in particolare gli errori "off-by-one"), il codice morto e alcuni altri errori che a volte possono essere trascurati da un revisore umano, sono più adatti per automatizzati analisi per trovarli. 

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Analisi automatica del codice 

L'analisi automatica del codice consente di risparmiare tempo e denaro poiché utilizza vari test di penetrazione per trovare le vulnerabilità. noi a QuillAudit sfruttare vari strumenti open source interni per massimizzare i risultati dei controlli di sicurezza. Alcuni degli strumenti migliori utilizzati dai nostri revisori interni sono:

  • MitoX – Un servizio di sicurezza del contratto intelligente che esamina il tuo progetto in base all'analisi statica, all'analisi dinamica e all'esecuzione simbolica. Per utilizzare MythX è necessaria una chiave API da mitex.io.
  • mitril – Uno strumento di analisi della sicurezza per i contratti intelligenti di Ethereum. Esamina una serie di problemi di sicurezza: underflow di numeri interi, prelievo di sovrascrittura da parte del proprietario su Ether e altri. 
  • Strisciare – Un framework di analisi statica scritto in Python 3, identifica le vulnerabilità e stampa informazioni visive sui dettagli del contratto e fornisce un'API per l'analisi personalizzata da scrivere in modo flessibile. 
  • echidna – Una strana creatura che mangia insetti! Un programma Haskell sviluppato per test fuzzing/basati sulla proprietà di contratti intelligenti Ethereum. 
  • Ascoltatore – Per analizzare il codice Ethereum per trovare le vulnerabilità. 

Quello era solo un elenco conciso di strumenti sfruttati dal nostro team interno di revisori per eseguire l'analisi automatica del codice. Ma quali sono quei passaggi d'oro per effettuare un audit del contratto intelligente? 

Passaggi per verificare un contratto intelligente Ethereum 

Sebbene possa esserci più di un motivo per eseguire un audit del contratto intelligente, il motivo principale è proteggere la tua piattaforma Defi. noi a QuillAudit seguire una metodologia completa per condurre un audit smart contract.

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Una breve panoramica sull'audit dello Smart Contract di Ethereum PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

#1: Raccolta di modelli di progettazione del codice 

È uno dei passaggi principali nell'esecuzione di un audit del contratto intelligente. Per l'azienda che esegue gli audit, è importante avere una chiara comprensione del codice e delle specifiche di funzionamento della piattaforma di smart contract. 

#2: Test dell'unità 

Eseguiamo test di unità di contratto intelligente con l'aiuto di vari strumenti di copertura del codice. Implementiamo anche casi di test unitari per verificare che ogni funzione funzioni coerentemente con il codice del contratto intelligente generale. 

#3: Analisi manuale

A volte l'analisi automatizzata può portare a rapporti falsi positivi; quindi la ricerca manuale riga per riga diventa necessaria per trovare potenziali vulnerabilità come condizioni di competizione, dipendenza dall'ordine delle transazioni, chiamate esterne dipendenti da timestamp e attacchi di negazione del servizio. 

#4: Rapporto iniziale 

Ti presentiamo quindi un rapporto iniziale con tutti i bug e gli errori che devono essere corretti dal tuo team. 

#5: Codice corretto

Correggi tutti i bug e gli errori scoperti nell'analisi preliminare e poi invialo ai revisori per la revisione finale. 

#6: Analisi statica e verifica formale

Eseguiamo revisioni del codice utilizzando i nostri strumenti automatizzati open source interni per rilevare eventuali scappatoie e codici dannosi nel contratto intelligente. 

#7: Rapporto di verifica finale 

Il rapporto di audit finale viene presentato al cliente e pubblicato su GitHub affinché chiunque possa consultarlo.  

Questa è la strategia globale seguita dal nostro team interno di revisori qualificati, anche se è evidente che il tuo contratto intelligente viene verificato due volte allo stesso prezzo. 

Sebbene l'auditing di un progetto DeFi una volta non ne garantisca la sicurezza, consigliamo di verificarlo almeno due volte (o tre). In passato, ci sono stati incidenti come l'hack "Popsicle Finance" per $ 20M. È stato verificato due volte, ma è stato anche sfruttato a causa di una vulnerabilità comune. 

Pertanto, incidenti come questo delineano chiaramente il l'importanza della revisione dei contratti intelligenti - "più, meglio è!".

Le parole finali

Bene, se sei stato con noi fino a qui, hai familiarità con il modo in cui viene verificato un contratto intelligente Ethereum. 

Mentre il numero crescente di hack ed exploit DeFi può allarmarti, effettuando un robusto audit del contratto intelligente da un'azienda affidabile come QuillAudit ti farà risparmiare milioni di dollari. 

1,624 Visualizzazioni

Timestamp:

Di più da quillhash