Lo sviluppo dell'industria blockchain e come difendersi dagli attacchi alla DeFi

Al giorno d'oggi, il mercato blockchain nel suo insieme è agli inizi e il finanza decentralizzata (DeFi) mercato è la sua parte più promettente. Secondo i dati di DefiLlama, nel 2021 il mercato DeFi aveva circa 200 miliardi di dollari di liquidità bloccati in contratti intelligenti. Se consideriamo questo capitale come un investimento iniziale, questo mercato appare come un'impresa molto promettente. Non molte aziende globali possono vantare una tale capitalizzazione. Ma ogni mercato giovane ha i suoi problemi iniziali. Con DeFi, il problema principale è la mancanza di sviluppatori blockchain qualificati.

Questo settore è molto giovane e ha una base di utenti relativamente piccola. La maggior parte delle persone ha nel migliore dei casi sentito parlare di DeFi senza avere la minima idea di cosa sia. Ma come accade con ogni nuova impresa promettente, crea rapidamente molto interesse speculativo. Sfortunatamente, la preparazione del personale richiede molto più tempo, soprattutto quando si tratta di ambiti ad alta intensità di conoscenza come blockchain e sviluppo di contratti intelligenti. Ciò significa che alcuni team di progetto dovranno scendere a compromessi e assumere personale meno esperto.

Questo problema inevitabilmente crea un rischio crescente di scappatoie di sicurezza nel codice di questi progetti. E poi dobbiamo affrontare le sue conseguenze nella perdita di capitale utente. Solo per una breve comprensione di quanto sia grande questo problema, posso dire che circa il 10% della liquidità totale bloccata della DeFi è stata rubata dagli hacker. Non dovrebbe sorprendere nessuno che il grande pubblico preferisca stare lontano da un sistema finanziario che pone tali pericoli ai loro fondi.

Correlato: Come vengono violati i protocolli DeFi?

Come sono cambiati gli exploit DeFi di recente?

Gli attacchi alla DeFi sono stati a lungo incentrati sugli attacchi di rientro. Possiamo ricordare il famoso L'hacking DAO del 2016 che ha comportato la perdita di 150 milioni di dollari di capitale degli investitori e ha portato all'hard fork di Ethereum. Da allora, questa vulnerabilità è stata sfruttata molte volte in diversi contratti intelligenti.

La funzione di callback è utilizzata attivamente dai protocolli di prestito: consente ai contratti intelligenti di controllare il saldo delle garanzie degli utenti prima di concedere un prestito. Tutto questo processo avviene all'interno di un'unica transazione, che ha fornito agli hacker una soluzione alternativa per rubare denaro da tali contratti intelligenti. Quando invii una richiesta per prendere in prestito fondi, la funzione di callback controlla prima il saldo della garanzia, quindi eroga il prestito se la garanzia era sufficiente e quindi modifica il saldo della garanzia dell'utente all'interno dello smart contract.

Per ingannare lo smart contract, gli hacker restituiscono la chiamata alla funzione di callback per avviare questo processo dall'inizio. Poiché la transazione non è stata finalizzata sulla blockchain, la funzione concede un altro prestito per lo stesso saldo collaterale. Anche se la soluzione a questo problema è stata sulla scena abbastanza a lungo, molti progetti ne sono ancora vittime.

A volte, i team di progetto con poca abilità nella scrittura di contratti intelligenti decidono di prendere in prestito la base di codice di un altro progetto DeFi open source per implementare il proprio contratto intelligente. Normalmente lo fanno con progetti affidabili che sono stati controllati e hanno una vasta base di utenti e hanno dimostrato di essere costruiti in modo sicuro. Ma potrebbero decidere di apportare piccole modifiche al codice preso in prestito per aggiungere le funzionalità che desiderano avere nel loro contratto intelligente, senza nemmeno modificare il codice originale. Questo può danneggiare la logica dello smart contract, di cui gli sviluppatori spesso non si rendono conto.

Questo è ciò ha permesso agli hacker di rubare circa $ 19 milioni da Cream Finance nell'agosto 2021. Il team di Cream Finance ha preso in prestito il codice da un protocollo DeFi diverso e ha aggiunto un token di richiamata nel proprio contratto intelligente. Anche se puoi prevenire gli attacchi di rientro implementando il modello "controlli, effetti, interazioni" che dà la priorità al cambio di equilibrio rispetto all'emissione di fondi, alcuni team non riescono ancora a salvaguardare le loro piattaforme da questi exploit.

Gli attacchi di prestito flash consentono agli hacker di rubare fondi in modo diverso e sono diventati sempre più popolari dal boom della DeFi del 2020. L'idea principale degli attacchi di prestito flash è che non è necessario disporre di garanzie per prendere in prestito fondi da un protocollo perché la parità finanziaria è ancora garantita dal fatto che il prestito viene preso e restituito in un'unica transazione. E non avverrà se non restituisci il prestito con gli interessi in una transazione. Ma gli aggressori sono stati in grado di eseguire con successo attacchi di prestito flash su molti protocolli.

Correlato: Necessario: un vasto progetto educativo per combattere hack e truffe

Nel farlo, usano più protocolli per prendere in prestito e trascinare la liquidità fino all'atto finale in cui amplificano il prezzo di un token attraverso oracoli o pool di liquidità e lo usano per truffare un pump-and-dump e sparire con la liquidità in un array di alcune importanti criptovalute diverse come Ether (ETH), Wrapped Bitcoin (wBTC) e altri. Alcuni famosi attacchi di prestito flash includono il Attacco di Pancake Bunny, dove il protocollo ha perso 200 milioni di dollari, e un altro attacco di Cream Finance, in cui sono stati rubati oltre $ 100 milioni.

Come difendersi dagli exploit DeFi?

Per costruire un protocollo DeFi sicuro, idealmente, dovresti fidarti solo di sviluppatori blockchain esperti. Dovrebbero avere un team di professionisti con abilità nella creazione di applicazioni decentralizzate. È inoltre opportuno ricordare di utilizzare librerie di codice sicure per lo sviluppo. A volte, le librerie meno aggiornate possono essere l'opzione più sicura rispetto a quelle con le basi di codice più recenti.

Il test è un'altra cosa cruciale tutti i progetti DeFi seri devono fare. In qualità di CEO di una società di audit di smart contract, cerco sempre di coprire il 100% del codice dei nostri clienti e sottolineo l'importanza della protezione decentralizzata delle chiavi private utilizzate per chiamare le funzioni degli smart contract ad accesso limitato. È meglio utilizzare il decentramento della chiave pubblica attraverso una multifirma che impedisca a un'entità di avere il pieno controllo del contratto.

Alla fine, l'istruzione è una delle chiavi che consentirà ai sistemi finanziari basati su blockchain di diventare più sicuri e affidabili. E l'istruzione dovrebbe essere una delle preoccupazioni principali di coloro che cercano lavoro nella DeFi perché può offrire premi appetitosi a tutti coloro che possono dare un contributo fattibile.