Il protocollo Rubic di finanza decentralizzata cross-chain (DeFi) è stato compromesso, con il risultato che i fondi archiviati negli indirizzi dei suoi utenti sono stati dirottati e trasferiti agli hacker.

Il 25 dicembre, il protocollo Rubic ha annunciato che uno dei suoi contratti di routing era stato compromesso e che tutti i contratti sarebbero stati interrotti fino a quando la situazione non fosse stata pienamente compresa. L'annuncio diceva:

Cari Rubicani, uno dei nostri contratti di routing potrebbe essere compromesso. Tutti i contratti verranno interrotti finché non avremo compreso appieno la situazione. Si prega di non utilizzare https://t.co/rDZSZrTUTe.Revoke https://t.co/F8QMpyd517 al più presto tramite https://t.co/hwLI2Cwkt1

— Rubic (@CryptoRubic) 25 dicembre 2022

Gli ideatori del protocollo hanno inoltre consigliato ai propri utenti di revocare l’autorizzazione contrattuale tramite lo strumento revoke.cash. Un thread su Twitter della società di sicurezza informatica blockchain PeckShield spiega che una vulnerabilità nel protocollo Rubic ha portato alla perdita di fondi per un valore di 1,41 milioni di dollari direttamente dai portafogli che hanno autorizzato i suoi contratti intelligenti.

Rubic @CryptoRubic viene sfruttato (con ~$ 1,41 milioni) https://t.co/ckAfQr9kgm1.100 $ETH già in Tornado Cash dallo sfruttatore https://t.co/yPkrC2hFCZ pic.twitter.com/25rLUcMbkf

— PeckShield Inc. (@peckshield) 25 dicembre 2022

L'indirizzo dello sfruttatore ha ricevuto i fondi dall'exchange decentralizzato Uniswap (DEX) nelle transazioni che coinvolgono la stablecoin USD Coin (USDC). PeckShied ha spiegato che l'hacking è stato reso possibile dall'aggiunta errata di USDC nei router supportati. Inoltre, anche “la mancanza di convalida in ruterCallNative” ha consentito l’utilizzo dannoso del contratto.

Una rapida analisi del contratto intelligente con l’aiuto di chatGPT suggerisce che la funzione ruterCallNative contiene numerose potenziali vulnerabilità, incluso l’input non valido per i parametri “_params” e “_data”. Ciò potrebbe consentire a un utente malintenzionato di trasmettere input dannosi che potrebbero comportare comportamenti errati o non desiderati.

Inoltre, il parametro “_gateway” passato alla funzione non ha restrizioni, consentendo potenzialmente a un utente malintenzionato di creare un contratto e di farlo eseguire dal contratto RubicProxy.

In effetti, l’aggressore ha implementato uno smart contract personalizzato utilizzato nell’attacco. Il bytecode decodificato mostra le 337 righe di codice che hanno consentito all'aggressore di eseguire l'attacco nel modo più efficiente possibile.

L'indirizzo dell'hacker ha ricevuto prima un trasferimento di 1.161,55 ethereum (ETH) e un altro trasferimento di 26,88 ETH, entrambi dal protocollo Uniswap che preleva esclusivamente USDC e lo scambia con wrapper ethereum (WETH). Tutto questo WETH è stato successivamente inviato a un mixer on-chain e a un'entità sanzionata Tornado Cash per rendere anonimi i fondi illeciti.

L'analisi on-chain mostra che 1,45 milioni di dollari di transazioni in entrata inviate al servizio di anonimizzazione delle monete hanno avuto origine dall'indirizzo dell'hacker, su un valore totale in entrata per il servizio di circa 2,9 milioni di dollari. In altre parole, circa la metà degli asset inviati oggi al mixer sono stati inviati dallo sfruttatore.

Trasferimenti in entrata Tornado.Cash elaborati il ​​25 dicembre. L'indirizzo dell'hacker è sulla destra. | Per gentile concessione dell'Arkham Intelligence

Nonostante i fondi degli hacker costituiscano una parte così significativa del volume delle transazioni in entrata del servizio, il loro anonimato è ancora sostanziale. Il deposito potrebbe rientrare tra i 2 milioni di dollari di prelievi da Tornado Cash elaborati oggi o tra i 174 milioni di dollari di asset ancora depositati nel contratto intelligente.

Tornado Cash è un protocollo DeFi ormai illegale che consente agli utenti di eseguire trasferimenti anonimi sulla blockchain di Ethereum. Il protocollo utilizza prove a conoscenza zero (prove ZK) per nascondere gli indirizzi di input e output delle transazioni. È difficile per i terzi determinare l'identità delle parti coinvolte nella transazione o lo scopo specifico del trasferimento.

Tornado Cash è un progetto open source costruito sulla blockchain di Ethereum e accessibile a chiunque abbia un portafoglio Ethereum. Gli utenti possono interagire con il contratto Tornado Cash utilizzando il proprio portafoglio Ethereum o un'interfaccia web ancora disponibile tramite il servizio di hosting decentralizzato InterPlanetary File System (IPFS). Possono eseguire trasferimenti anonimi di ETH o token conformi allo standard ERC-20 inviando i propri fondi al contratto Tornado Cash e ritirandoli ad un nuovo indirizzo.

La notizia segue le recenti notizie secondo cui gli hacker nordcoreani avrebbero rubato circa 1,2 miliardi di dollari in criptovalute e altri asset virtuali negli ultimi cinque anni. La maggior parte di questi hack è avvenuta solo nel 2021.