Rompere la catena

3 hack che un audit non è riuscito a trovare

Dopo aver hackerato dozzine di progetti crittografici come whitehat, comprendiamo che un audit di contratto intelligente non è sufficiente per garantire che un progetto sia protetto. lascia che ti mostriamo alcuni esempi di hack che un audit classico non avrebbe potuto trovare.

L'attacco BadgerDAO

BadgerDAO è una DAO incentrata sul portare Bitcoin nel mondo web3 della finanza decentralizzata (DeFi), costruita su contratti intelligenti Ethereum. Il 2 dicembre 2021, oltre $ 120 milioni di criptovaluta è stato rubato in pochi minuti. Come è possibile?

Durante il mese di novembre, gli hacker sono stati in grado di ottenere l'accesso al sito Web dell'app Badger utilizzando una chiave API compromessa creata senza la conoscenza o l'autorizzazione degli ingegneri di Badger per iniettare periodicamente un codice javascript dannoso che ha colpito un sottoinsieme dei suoi clienti. Questo codice ha generato approvazioni di transazioni non autorizzate che, se approvate dagli utenti, avrebbero consentito agli hacker di prelevare fondi sui propri portafogli anziché su quelli controllati da BadgerDAO in una data futura. Hanno aspettato in silenzio che un grosso pesce cadesse nella trappola. 

Il 1° dicembre 2021, un utente con un token ERC50 del valore di 20 milioni di dollari ha approvato l'accesso dell'attaccante ai propri fondi. Gli aggressori hanno risposto rapidamente ritirando tutti i fondi di questa vittima per un valore di $ 50 milioni, quindi prosciugando i conti accessibili di tutte le altre vittime accumulati durante l'operazione dell'attaccante, per un guadagno complessivo di $ 120 milioni.

Quindi l'hack si è basato su un problema di progettazione visiva del portafoglio crittografico per far approvare agli utenti la transazione dannosa. Ma molto prima, l'hacking potrebbe essere avvenuto a causa dell'uso di una chiave API compromessa anche se il contratto intelligente era probabilmente perfetto.

L'hacking del protocollo Fortress

Fortress Protocol è un protocollo di prestito DeFi che opera sulla Binance Smart Chain. La mattina del 9 maggio è stato rubato il suo fondo a causa di un attacco doloso.

Le deboli fortificazioni che circondano l'oracolo e il processo di governance del progetto hanno consentito agli hacker invasori di passare una proposta dannosa e manipolare il prezzo della garanzia. Hanno iniziato acquistando 400 FTS (il token di governance del protocollo Fortress), il 000% dell'offerta totale per 4 ETH. Quindi, hanno creato un contratto di proposta dannoso e hanno utilizzato il loro FTS per votare la loro proposta (il 11,4% di voti positivi è una condizione per far passare la proposta con successo). Il contratto ha modificato il tasso di leva finanziaria dei token FTS da 4 a 0. Ciò consente agli hacker di utilizzare il 0.7% del valore dei token FTS con leva per prestare risorse nel protocollo.

Su Fortress Protocol, il prezzo di ogni token viene acquisito tramite diversi oracoli. Gli oracoli sono entità che collegano blockchain a sistemi esterni, consentendo così l'esecuzione di contratti intelligenti basati su input e output dal mondo reale. Tra questi c'è FTS, il cui prezzo è ottenuto da Umbrella Oracle. Sfortunatamente, c'era una vulnerabilità nella funzione submit() dell'oracolo e gli hacker sono stati in grado di manipolare la macchina dell'oracolo per fissare un prezzo molto alto per FTS in modo che potesse prestare tutti i token. Tutti questi token sono stati convertiti in circa 3 milioni di USDT.

Fortress Protocol è stato verificato sia da Hash0x che da EtherAuthority, nessuno dei quali ha rilevato alcuna vulnerabilità Oracle nel codice. Il motivo è semplice, era fuori portata per loro perché la vulnerabilità era nel contratto di un altro protocollo.

Gli hack di Blizz Finance & Venus Protocol

Parlando di vulnerabilità degli oracoli, qui ne abbiamo una enorme che è costata molto a due piattaforme di prestito: Blizz Finance e Venus Protocol.

Mentre l'intero ecosistema della Terra stava crollando, il fallito piano di ripresa dell'UST ha fatto crollare il prezzo di LUNA a frazioni di centesimo. Tuttavia, Chainlink, un rispettabile oracolo utilizzato come feed di prezzo da entrambi i protocolli per valutare la garanzia, conteneva un prezzo minimo per LUNA codificato a $ 0.10. Poiché il prezzo è sceso al di sotto di questo, chiunque è stato in grado di acquistare grandi quantità di LUNA al prezzo di mercato e utilizzarla come garanzia (del valore di $ 0.10) per prendere in prestito fondi dalle piattaforme.

I danni sono ingenti: 8,5 milioni di dollari per Blizz Finance (tutti i fondi del protocollo) e 13.5 milioni di dollari per Venus Protocol (su 1 miliardo di dollari).

Questo è un buon esempio del fatto che nessun protocollo è infallibile, anche quelli più importanti. LUNA scendere sotto $ 0.10 potrebbe essere stato impensabile nel momento in cui Chainlink ha impostato il feed, ma avrebbero dovuto aggiornare i parametri del loro oracolo quando è diventato chiaro che LUNA non si sarebbe ripreso. I protocolli dovrebbero prevedere misure per questi eventi imprevisti, come i propri interruttori automatici per sospendere i contratti in tali condizioni.

Salta al contenuto