IMPORTANTE

CVE-2021-44228 IoC log4j log4shell 13/12/2021

CERT-AgID condivide gli IoC per la mitigazione degli attacchi Log4shell

(Lista IoC aggiornata al 17-01-2022 @ 10:34) Come evidenziato anche dal CSIRT Italia, la vulnerabilità censita come CVE-2021-44228 riguardante Apache Log4j sta creando notevoli problemi di sicurezza sui sistemi esposti che utilizzano quel prodotto. Il CERT-AGID, a protezione delle proprie infrastrutture e di quelle della sua constituency, sta raggruppando gli IoC (Indicatori di Compromissione) pubblici […]

Scam, hack e scenari reali nel mondo delle criptovalute

10/05/2021

criptovalute hack scam

I tempi in cui le criptovalute, in particolare Bitcoin, venivano associate alla criminalità stanno cambiando. Tra la fine del 2020 e l’inizio del 2021 diversi soggetti “istituzionali”, come Hedge FUND, compagnie assicurative e grandi aziende (ad esempio Tesla), hanno iniziato ad acquistare Bitcoin innescando quello che in gergo finanziario viene definita una “bull run”, ovvero un andamento dei mercati rialzista. Come spesso accade, di fronte a scenari del genere l’attenzione dei media aumenta e di conseguenza nuove persone iniziano ad approcciarsi a questo mercato, un po’ spinte dalla curiosità ma soprattutto sollecitati dalla voglia di ottenere facili guadagni. Purtroppo, per chi si avvicina per la prima volta ai mercati finanziari, e in particolare al mondo delle criptovalute, i rischi sono alti: perdere le chiavi del proprio wallet (e quindi tutti i propri fondi detenuti al suo interno), restare vittima di scam e/o attacchi informatici ai protocolli della nuova finanza decentralizzata. Questi attacchi sono spesso sottovalutati dal pubblico, solo una piccola percentuale di persone è veramente consapevole del rischio che può comportare un bug nel codice dello smart contract. In caso di sfruttamento, i cybercriminali possono rubare la liquidità di un token e quindi generare negli investitori una perdita parziale e in certi casi totale dei fondi investiti. In questo report entreremo nel dettaglio di alcuni casi di scam e forniremo dei suggerimenti per individuarli. Nella seconda parte parleremo del rischio smart contract e di alcuni progetti Decentralised Finance (DeFi) violati, alcuni intenzionalmente, alcuni a causa di exploit sugli smart contract.

Indice

Le attività criminali nel mondo delle criptovalute

Andamento dei fondi cripto legati all'attività criminale

Figura 1 – Andamento dei fondi cripto legati all’attività criminale

Le attività criminali legate alle criptovalute, contrariamente a quanti molti pensano, ha un’incidenza molto piccola rispetto alla totalità dei volumi dell’intero mercato cripto. Quest’ultimo, nonostante sia poco o per nulla regolamentato, risulta in gran parte legittimo e legato a scambi finanziari e compravendita di beni e servizi. Secondo una ricerca di Chainalysis, un’azienda specializzata nell’analisi “on chain”, la quantità di fondi utilizzati per attività illecite nel 2020 è stata di circa 10 miliardi di dollari: una cifra molto alta, ma che rappresenta solo lo 0,34% dell’intero volume del mercato delle criptovalute.

Scam su web2

Fondi illeciti suddivisi per categoria di attività criminale
Figura 2 – Fondi illeciti suddivisi per categoria di attività criminale

Come è evidenziato nel grafico, Il grosso delle attività illecite nel settore delle criptovalute è da attribuire allo scam, cioè truffe on line ben organizzate ai danni di utenti retail. Di solito queste vengono realizzate tramite piattaforme web e con astute tecniche di marketing in grado di convincere le vittime a depositare i propri soldi con la “promessa” di un profitto sicuro. Queste piattaforme sono dette anche High Yield Investment Program (HYIP), in quanto pagano tassi di rendimento molto elevati, utilizzando il denaro degli investitori. I pagamenti agli investitori vengono infatti coperti tramite i fondi depositati dai nuovi arrivati, il gioco continua finchè le entrate non diventano inferiori alle uscite e lo schema crolla. A fronte di molte vittime inconsapevoli (in genere i neofiti del mondo cripto e finanziario), la maggior parte degli investitori è consapevole della natura fraudolenti di questi siti, ma sono convinti di trarre profitto “giocando di anticipo” a scapito degli utenti meno esperti e ritirando i soldi prima che lo schema collassi. Alcune persone, per anticipare l’exit e il punto di pareggio, tendono a sfruttare pure gli schemi multi level, che di solito incrementano notevolmente i profitti, e tentano di convincere nuovi adepti ad unirsi al progetto. Va sottolineato che questo comportamento, oltre a essere vietato in Italia, è passibile di sanzione penale configurandosi come reato di truffa ai sensi dell’art. 640 c.p. In realtà il fenomeno delle HYIP esiste da molti anni: già nel 2011 era attivo un ampio ecosistema fatto di forum e aggregatori. Sembrerebbe però che il trend sia in calo, almeno secondo i dati di Google Trends calcolati tramite una ricerca della parola chiave “HYIP”.

Google Trend HYIP
Figura 3 – Google Trend HYIP

Nonostante ciò, col passare del tempo l’ecosistema HYIP si è evoluto molto al livello tecnologico: oggi sono presenti molti canali social, come Facebook, Whatsapp, Youtube e Telegram, che consentono di promuovere e discutere la “bontà” di queste piattaforme. Gli aggregatori continuano a svolgere un ruolo molto importante perché, allo stesso modo di un motore di ricerca, consentono di indicizzare i siti di tipo HYIP catalogandoli in base a una serie di parametri (ad esempio tempo di vita, punteggio medio, ultimo giorno di pagamento, tassi di interesse, termini dell’investimento ecc.). Inoltre gli aggregatori sono loro stessi degli investitori in HYIP: oltre a riferire se la piattaforma continua a pagare o meno, forniscono ovviamente il loro referral link per far iscrivere nuovi utenti.

Scheda di dettaglio di un aggregatore di scam
Figura 4 – Scheda di dettaglio di un aggregatore di scam

L’immagine sopra è un esempio di una scheda di un noto aggregatore che evidenzia tutti i dati di una delle numerose piattaforme scam. Nei prossimi paragrafi entreremo più nel dettaglio di alcuni recenti exit scam legati appunto agli HYIP.

PlusToken

Uno dei più grandi scam degli ultimi anni è stato PlusToken. Come quasi tutti gli scam, anche PlusToken erano uno schema ponzi, un noto modello economico di vendita truffaldino che promette forti guadagni ai primi investitori, a discapito di nuovi “investitori”. PlusToken era una piattaforma cinese che offriva rendimenti dal 6% al 18% mensilmente per la sua attività di arbitraggio, chiaramente inesistente. Come tutti i ponzi, anche in questo caso venivano offerti vantaggi economici a chi faceva promozione della piattaforma, in base a uno schema multi level. Al momento della chiusura, PlusToken contava ben 2,7 milioni di iscritti che avevano contribuito a depositare circa 2,25 miliardi di dollari, tramite varie criptovalute tra cui 310.000 bitcoin. Ma i danni creati di PlusToken non si sono limitati solo alle perdite dei malcapitati investitori, ma all’intero mercato cripto. Il rapporto di Chainalysis mostra anche una stretta correlazione tra i trasferimenti verso gli exchange OTC e il prezzo di bitcoin. Dal grafico è possibile osservare un flusso costante di bitcoin a partire da metà aprile 2019, ovvero con l’inizio di trend rialzista di Bitcoin, fino a raggiungere il picco poco prima dell’arresto dei fondatori a fine giugno.

Correlazione prezzo bitcoin con exit scam di PlusToken
Figura 5 – Correlazione prezzo bitcoin con exit scam di PlusToken

Nei mesi successivi non si sono rilevati altri movimenti. A settembre l’attività è poi ripresa, segno che alcuni componenti della banda criminale erano ancora latitanti e le loro transazioni, pari a un volume di 34 milioni di dollari, fecero precipitare il prezzo di bitcoin di un -20% in meno in un mese.

WoToken

Spesso gli autori degli scam sono professionisti specializzati che ripetono in modo seriale le loro azioni criminali: terminato uno scam, dopo pochi giorni ne mettono in piedi un altro con schemi molto simili. Quello che cambia è ovviamente il template grafico e il nome del dominio, ma la logica di fondo non cambia. WoToken è uno di quei casi: in base al report sul crimine cripto, pubblicato da Ciphersuite, altra azienda specializzata nell’analisi delle transazioni su blockchain, gli autori WoToken risulterebbero gli stessi di PlusToken. Questo schema ponzi è stato attivo da luglio 2018 a ottobre 2019 e aveva 715.249 utenti registrati. In poco più di un anno di attività, lo schema ha fruttato ai truffatori oltre 7,7 miliardi di yuan (circa 1,09 miliardi di dollari) in criptovalute, tra cui 46.000 Bitcoin, 2.039 ETH e altri token. Allo stesso modo di Plustoken, anche Wotoken dichiarava che i rendimenti venivano generati attraverso speciali bot di trading algoritmico e dalle commissioni degli affiliati. E come ogni tipico schema ponzi, anche Wotoken prometteva rendimenti maggiori per fasce di investimenti crescenti.

Arbitly

Oltre a PlusToken e WoToken, nel 2020 si sono verificati tanti altri scam, ma a titolo di esempio ne presentiamo un terzo ed ultimo che, sebbene non sia presente nei report di Chainaylsis e Ciphertrace, è risultato comunque ampiamente discusso sui social, anche a livello italiano. Stiamo parlando di Arbitly, uno scam durato circa sei mesi nel periodo a cavallo tra il 2020 ed il 2021. Arbitly dichiarava avere sede a Malta, informazione poi smentita dalla Financial Services Authority (MFSA) attraverso un suo comunicato pubblico. Arbitly era l’ennesima finta piattaforma di arbitraggio con “una strategia a rischio zero” – così recitava il white paper – dotato di un Matic Engine, un software in grado di tracciare prezzi di differenti asset cripto su più exchange in tempo reale e quindi di trarre profitto da operazioni di trading “sicure”. All’investitore veniva richiesto di investire un importo minimo per l’ingresso e la piattaforma iniziava a generare guadagni automatici che oscillavano tra uno 0,3% a 0,5% ad operazione di arbitraggio. In base ai commenti presenti sui vari gruppi Telegram liberamente accessibili, la piattaforma funzionava bene inizialmente, generando i profitti dichiarati, ma come tutti gli schemi ponzi, questi profitti non derivavano da alcuna attività di arbitraggio ma dai fondi di proprietà degli ultimi arrivati. Quasi tutti i truffatori tendono a rendersi molto credibili nella fase iniziale per invogliare all’iscrizione il maggior numero di clienti facendo crescere la community e la piattaforma velocemente. Nel caso specifico di Arbirly, i criminali fornivano assistenza chat e telefonica per qualsiasi problema tecnico o chiarimento sull’investimento. Una volta ottenuta la totale fiducia di clienti, a gennaio 2021 il sito veniva chiuso di colpo e la home page, ridisegnata in occasione delle feste natalizie, veniva sostituita con un ultimo ironico messaggio: “To Alex. Pay here” seguito da un indirizzo Bitcoin e da un conto alla rovescia a indicare il prossimo “shutdown” del sito.

Chat Telegram di un utente "scammato"
Figura 6 – Chat Telegram di un utente “scammato”

In molti casi, come mostrato in questa chat, i truffatori approfittano della debolezza psicologica delle vittime per truffarli nuovamente, ad esempio chiedendo loro dei soldi per il recupero dei fondi bloccati.

Come difendersi dagli scam

Per difendersi dalle truffe è possibile consultare la pagina “Occhio alle truffe!” di Consob, dove è possibile trovare consigli e segnalazioni. Altri utili suggerimenti sono elencati di seguito:

  • Non fidarti di nessuno. Assicurati sempre di sapere con chi o con cosa hai a che fare. Se qualcuno ti offre un’opportunità di investimento, controlla se ha un sito Web professionale e un account Twitter funzionante. Leggi le risposte ai loro tweet e assicurati che abbiano un senso. Fai particolare attenzione a chiunque ti chieda denaro sui social. Se uno sconosciuto ti chiede denaro, probabilmente sta cercando di truffarti, ma se non sei sicuro prova a verificare le sue affermazioni e chiedi una prova della sua identità.
  • Verifica gli errori di grammatica. I truffatori spesso non parlano inglese come prima lingua quindi in molti casi è facile riconoscerli perchè i messaggi sono frutto di traduzioni online.
  • Verifica prima di inviare denaro. Sii sempre vigile. Se sembra troppo bello per essere vero, probabilmente non è vero e anche quando sembra ragionevole, potrebbe essere una truffa. Prima di inviare denaro a un exchange o ad un market on line, assicurati di essere sul sito web corretto. Se qualcuno ti dice che ti renderà ricco, chiedigli come. Ai truffatori non piace perdere tempo, quindi probabilmente non andranno avanti una volta che si renderanno conto che non sei facilmente ingannabile.
  • Proteggi il tuo device. Installa un antivirus e assicurati che questo e il tuo sistema operativo siano sempre aggiornati. Non fare mai clic su alcun collegamento o aprire file inviati da sconosciuti e fai attenzione a qualsiasi cosa ti sia stata inviata da un amico: il suo computer potrebbe essere infetto. Non dare mai le tue chiavi private a nessuno e non lasciarle dove altri potrebbero trovarle: mantieni le tue chiavi in un posto sicuro. Se utilizzi un exchange, utilizza quante più misure di sicurezza possibili e assicurati che le tue password siano complesse. Queste misure non renderanno impossibile essere hackerati o truffati, ma lo renderanno molto più difficile.
  • Diffida delle recensioni. I siti Web legittimi non hanno bisogno di recensioni, né pubblicano certificati come prova della loro legittimità. Cerca su un motore di ricerca il nome del sito web e leggi attentamente i risultati migliori.
  • Controlla la grafica del sito. Prova a cercare su un motore di ricerca alcune parti del sito. Se risultano su altri siti, probabilmente hanno copiato il template html/css. Un sito legittimo non copia i template!
  • Verifica la veridicità dei dati dichiarati sul sito. Spesso gli scam riportano dati falsi, a cominciare dalla sede. In alcuni casi viene indicata una registrazione in UK o altro paese, ma questo non garantisce la validità della piattaforma. Controlla i profili Linkedin. I profili Linkedin del team sono spesso dei fake e utilizzando foto di modelli/e che si trovano pubblicamente in rete. Una veloce verifica può essere effettuata attraverso una ricerca della foto del profilo su Google Images.
  • Altri controlli
    • Controlla il whois del dominio. Se i dati sono protetti è molto probabile che l’azienda non voglia farlo sapere. Controllare il paese di registrazione: paesi esotici fanno scattare sicuramente un grosso allarme. La data di registrazione è importante: se è antecedente alla nascita del sito, significa che il dominio è stato riciclato.
    • Wayback. Controllare su wayback la presenza nel breve periodo di più siti sullo stesso dominio.
    • Licenze web script e certificati TLS. Controllare se il sito web utilizzo script senza licenza e/o certificati TLS Let’s Encrypt gratuiti. Un dominio legittimo di solito, soprattutto nel settore finanziario, non risparmia su questi aspetti.

Scam e hack su web3

Cos’è il web3?

l Web3 in origine era chiamato Semantic Web dall’inventore del World Wide Web Tim Berners-Lee e aveva come obiettivo un Internet più autonomo, intelligente e aperto. Oggi la definizione si è ampliata e comprende tutti quei progetti web che hanno i dati interconnessi in modo decentralizzato, a differenza del web2 dove i dati sono per lo più archiviati in archivi centralizzati. Inoltre i siti del web3 operano attraverso protocolli decentralizzati (i blocchi fondamenti della blockchain e della criptovaluta). All’interno del web3 troviamo la nascente finanza decentralizzata (DeFi) che è solo la punta dell’iceberg di questo nuovo mondo. Tale decentramento è dato dal fatto che le piattaforme possano funzionare in modo autonomo senza alcuna autorità centrale. Le piattaforme DeFi sono costruite sulla blockchain e il loro cuore risiede nell’esecuzione di programmi scritti negli smart contract. Questi programmi, tipicamente scritti in linguaggio solidity (nel caso della blockchain Ethereum), possono eseguire operazioni finanziarie, come prestiti, scambi, market making ma anche operazioni di altro tipo, come la gestione di governance (votazioni on line), giochi e lotterie, sistemi di previsioni di risultati, controllo ambientale, gestione delle identità, gestione della supply chain e molto altro. Senza la necessità di un’infrastruttura centralizzata o di una governance umana, le piattaforme DeFi possono consentire agli utenti l’esecuzione di operazioni finanziarie a costi inferiori rispetto a quelle fintech o delle istituzioni finanziarie tradizionali. Ma come tutti i programmi anche gli smart contract possono presentare nel loro codice sorgente delle vulnerabilità che in caso di sfruttamento possono provocare la perdita di parte o di tutti fondi gestiti dal contratto. Inoltre il rischio aumenta esponenzialmente quando vengono utilizzati più protocolli DeFi combinati fra di loro. Per spiegare cosa significa “combinare i protocolli” è necessario introdurre l’architettura a strati di una blockchain attraverso un paragone con i livelli dei protocolli di rete. Ad esempio, sul protocollo di trasporto TCP possono girare protocolli di livello superiore (applicativo) come l’HTTP, TLS o DNS. Se il TCP viene compromesso, anche la sicurezza degli strati superiore viene meno. Un ricerca pubblicata dalla Federal Reserve Bank mostra la struttura a strati di Ethereum (al momento la seconda blockchain più capitalizzata).

Ecosistema Ethereum
Figura 7 – Ecosistema Ethereum

Nel livello più basso troviamo la blockchain vera e propria (strato Settlement), poi lo strato degli Asset nel quale vengono definiti tutti i token fungibili (ERC-20) e non fungibili (ERC-721 e ERC-20) e infine lo strato Protocol, il più vulnerabile ed attaccato perché è qui che si definiscono tutte le funzionalità della DeFi, come ad esempio il prestito di denaro e lo scambio di token. Quindi, in caso di vulnerabilità del protocollo di Lending (prestito), tutte le applicazioni costruite sugli strati superiori diventerebbero vulnerabili, generando così un’insicurezza a cascata.

Gli scam su DeFi

Secondi i dati di Ciphertrace, il 99% di tutte le frodi è stato causato da protocolli DeFi che eseguivano un rug pull o un exit scam. Il rug pull è molto simile all’exit scam: in entrambi gli scenari i truffatori scappano con i fondi degli utenti. Gli exit scam sono per lo più associabili a progetti di più lunga durata che a un certo punto si chiudono improvvisamente (“exit”). Ad esempio, a novembre 2020 il progetto SharkTron è stato improvvisamente chiuso con un exit scam da 10 milioni di dollari degli utenti. Come per il web2, anche nella DeFi i criminali non solo portano via tutti i fondi raccolti, ma cancellano tutte le tracce, a cominciare dal sito web e tutti i profili social associati. Il rug pull (tiro del tappeto) riguarda invece un particolare tipo di exit scam che comporta la vendita, da parte dei criminali, del pool di liquidità nel quale gli investitori hanno depositato i fondi. Svuotando tale pool, viene meno la liquidità di un token specifico, che di conseguenza perde completamente di valore. Gli investitori si ritrovano sostanzialmente con delle criptovalute che non valgono più niente e che non possono essere scambiate. I rug pull vengono realizzati attraverso delle backdoor inserite intenzionalmente dai criminali all’interno del codice dello smart contract. Un esempio è il progetto DeFi Compounder.Finance (non è un caso che il nome assomigli a un altro noto progetto legittimo) che nascondeva nello smart contract una backdoor. Ciò ha permesso agli sviluppatori di prelevare 10,8 milioni di dollari dai pool di liquidità del progetto a novembre 2020. Altri esempi di rug pull ed exit scam del 2020 sono: Emerald Mine, Lv.Finance, SharkTron, Yfdexf.Finance, Amplyfi.money, Burn Vault Finance, Minions Farm e Unirocket.

I criminali scelgono sempre di più di creare schemi ponzi sul web3 per alcuni vantaggi che offrono rispetto a quelli tradizionali:

  • il criminale rimane anonimo perché la creazione del contratto e il prelievo di denaro non richiedono KYC;
  • gli smart contract sulle catene pubbliche, come ad esempio Ethereum, non si possono nè modificare e nè arrestare. Nessun autorità (e in particolare nessun tribunale) sarebbe in grado di interrompere le transazioni finanziarie e rimborsare le vittime.

Rilevare uno schema Ponzi basato su blockchain non è semplice: esistono diverse ricerche scientifiche a riguardo che cercano di automatizzare il rilevamento, anche attraverso l’utilizzo di tecniche di intelligenza artificiale. Di seguito vengono elencati alcuni suggerimenti utili all’individuazione di schemi ponzi su web3/DeFi:

  • Controlla l’attività di sviluppo. Quasi tutti i progetti DeFi sono open source e questo consente di controllare l’attività della community e la frequenza con cui gli sviluppatori intervengono. Quest’ultimo dato può essere falsificabile, in ogni caso rimane un ottimo indicatore per capire se gli sviluppatori fanno sul serio o stanno solo cercando di fare soldi facili.
  • Controlla se sono stati fatti gli audit degli smart contract. Gli audit sono dei controlli sul livello di sicurezza degli smart contract. Se esistono degli audit rilasciati da note aziende di sicurezza, molto probabilmente il progetto non sarà uno scam. Questo però non significa che non potrà mai subire un attacco informatico volto a sfruttare vulnerabilità di tipo 0day.
  • Analizzare il codice dello smart contract. Dato che uno smart contract è sostanzialmente un pezzo di codice, è possibile controllare manualmente se all’interno esiste una backdoor che consente al criminale di eseguire uno schema ponzi, un rug pull o altro; purtroppo questo è un compito arduo non solo perché richiede conoscenze avanzate di programmazione (in particolare del linguaggio solidity) ma anche perché molto spesso il codice malevolo viene nascosto od opportunamente offuscato.

Gli hack su DeFi

Gli scam rappresentano una minima parte dei progetti DeFi, ma nonostante gran parte dei progetti siano legittimi, i rischi rimangono altissimi a causa dei possibili attacchi da parte di utenti malintenzionati. Gli attacchi alla DeFi sono in continuo aumento e uno dei motivi principali riguarda l’interesse verso il Total Value Locked (TVL), cioè la quantità totale di dollari bloccati al suo interno che a partire dal 2019 è cresciuta in modo esponenziale. A fine 2020 era pari a 19,8 miliardi di dollari, ma proprio in questi giorni ha superato, in base ai dati di defipuse, gli 86 miliardi. Ormai è chiaro che la DeFi sia diventata un trend in rapida crescita nel settore delle criptovalute e per questo è importante essere vigili sui rischi di truffe. L’aumento di capitale unita all’assenza di chiarezza normativa, rende la DeFi un terreno fertile per attirare attacchi da parte dei cybercriminali. Infatti, mentre nel 2019 i furti nella DeFi erano pressoché trascurabili, il numero degli attacchi nel 2020 è salito esponenzialmente come evidenziato dal grafico di Chainalysis.

Attacchi su DeFi  vs Attacchi Exchanges
Figura 8 – Attacchi su DeFi vs Attacchi Exchanges

Secondo una stima di CipherTrace, nel 2020 un attacco ha mediamente fruttato 6 milioni di dollari, cifra da considerare per difetto, visto il trend in crescita della DeFi nel 2021. Anche l’attacco all’exchange centralizzato Kukoin che ha comportato il furto da parte del gruppo Lazarus per un importo pari a 281 milioni di dollari (gran parte recuperati) ha coinvolto la DeFi, in particolare Uniswap, un exchange decentralizzato sul quale non è possibile eseguire alcun KYC (Know your customer) e dove non esiste un’autorità che può congelare i fondi.

Principali hack sui protocolli DeFi

L’elenco degli hack sui protocolli DeFi è molto lungo e con la crescita di questo mercato è molto probabile che questo trend continui a salire. Di seguito sono elencati i protocolli che hanno subito un hack dal 2020 in poi:

  • Harvest Finance: rubati 34 milioni di dollari con un flash loan attack.
  • Lendf.Me: rubati 25 milioni di dollari con un reentrancy attack.
  • Pickle Finance: rubati 20 milioni di dollari con flash loan attack.
  • Eminence.Finance: rubati 15 milioni di dollari con flash loan attack.
  • MakerDAO: rubati 8,3 milioni di dollari. In questo caso i criminali hanno sfruttato la vulnerabilità dell’oracolo di prezzo di MakerDAO durante il flash crash.
  • bZx: rubati 8 milioni di dollari attraverso lo sfruttamento di un bug nel codice che ha consentito la creazione di nuovi token.
  • WarpFinance: rubati 8 milioni di dollari tramite flash loan attack.

Altre piattaforme che hanno subito un hack nel 2020 sono: Akropolis, Axion Network, Balancer, Bancor DEX, Bisq, Uniswap, Value DeFi e wLEO.

Complessivamente nel 2020 gli attaccanti sono riusciti a sottrarre lo 0,2% dell’intera liquidità della DeFi, una valore che rende il settore ancora molto rischioso per gli utenti, soprattutto per chi è alle prime armi. Ma perchè queste nuove piattaforme su blockchain sono così vulnerabili agli attacchi? Il motivo principale dei tanti hack è dovuto ai meccanismi che dovrebbero impedire i flash loan attack e la manipolazione dei prezzi. In questo tipo di attacco i cyber criminali riescono ad intascarsi cifre da capogiro manipolando i prezzi di una criptovaluta su una o più piattaforme DeFi. Ma come funziona? l flash loan sono prestiti istantanei senza garanzie, ciò significa che chiunque può prendere un importo senza fornire un collaterale in garanzia, eseguire delle operazioni altrove e infine restituire l’intero importo prestato, tutto nella stessa transazione, quindi in un lasso di tempo brevissimo. Inoltre, nel caso in cui il prestito non viene rimborsato, la transazione si annulla automaticamente e il prestatore riceve indietro il capitale originale: in questo modo è come se il prestito non fosse mai partito e nessuna delle due parti rischia. Tutto questo sembra senza senso, ma dal punto di vista della ricerca scientifica e finanziaria viene visto come qualcosa di innovativo e che apre casi d’uso inediti. Di solito i trader utilizzano i prestiti istantanei per fare arbitraggio sfruttando la differenza di prezzo tra i diversi exchange decentralizzati (DEX). Il problema nasce però quando un utente malintenzionato utilizza i flash loan per scopi malevoli: in questo caso i fondi presi in prestito vengono utilizzati per comprare una criptovaluta, aumentarne il prezzo, rivendere tutto, restituire il prestito e intascarsi il profitto.

L’hack a bZk protocol

Nell’hack di bZk, un protocollo DeFi che consente di creare dApp (decentralized application) di prestito, l’attaccante è riuscito a incassare 350.000 dollari nel primo e 633.000 dollari nel secondo attacco. Entrambe le operazioni sono state eseguite a pochi giorni di distanza l’una dall’altra e con tecniche molto simili. Nel primo evento l’attaccante ha eseguito un prestito flash su dYdX (una dApp dedicata ai prestiti).

bZk hack (attacco 1)
Figura 9 – bZk hack (attacco 1)

Come spiegato nell’articolo di Peckshield, un’altra azienda specializzata in sicurezza della blockchain, l’attaccante ha diviso questo prestito in due parti e l’ha inviato ad altre due piattaforme di prestito. Di seguito è illustrata più dettagliatamente la dinamica dell’attacco:

  • Prima fase dell’attacco (step 1, 2 e 4). Su Fulcrum (sviluppato su protocollo bZk) l’attaccante ha shortato ETH contro wrapped BTC (WBTC), costringendo Fulcrum a comprare WBTC su Uniswap attraverso Kyber (altro protocollo DeFi). Questa operazione ha fatto alzare sensibilmente il prezzo di WBTC su Uniswap facendo spendere a Fulcrum più di quanto doveva.
  • Seconda fase dell’attacco (step 5 e 3). Mentre veniva eseguita la prima fase, l’attaccante ha preso un prestito WBTC su Compound (protocollo di prestito) utilizzando la seconda tranche di prestito ottenuta su dYdX. Non appena il prezzo di WBTC è aumentato (grazie alla prima operazione) su Uniswap, il criminale ha venduto i WBTC, restituito il prestito a dYdX, realizzando così un “piccolo” profitto.

Nel secondo attacco a bZx, l’utente malintenzionato, ha nuovamente eseguito un flash loan e successivamente ha convertito una parte in una stablecoin (sUSD). Nonostante le stable abbiano un prezzo fisso (o quasi) pari a 1$ , l’attacco flash loan ha portato il token a raddoppiare di prezzo su Kyber! bZx non sa che le stablecoin dovrebbero valere 1$ perchè è un semplice smart contract, quindi l’attaccante ha potuto vendere gli sUSD a 2$, restituire il prestito e intascarsi il profitto.

bZk hack (attacco 2)
Figura 10 – bZk hack (attacco 2)

La vulnerabilità di bZk era data dal fatto che il codice dello smart contract non teneva conto di eventuali grosse differenze di prezzo che potevano esserci sulle altre piattaforme DeFi a seguito di un flash loan attack. Di solito le piattaforme per ottenere dati sui prezzi delle risorse esterne alla blockchain si affidano a strumenti chiamati oracoli, che di solito sono un altro exchange o un fornitore di dati come CoinMarketCap, cioè servizi centralizzati facilmente manipolabili e vulnerabili ad attacchi. La soluzione adottata recentemente è l’utilizzo di oracoli decentralizzati come Chainlink. Gli oracoli dei prezzi decentralizzati aggregano i dati dei prezzi da più fonti e li trasmettono alla piattaforma DeFi on-chain attraverso una rete di nodi indipendenti, rendendo così più difficile per i manipolatori dei prezzi indirizzare l’attacco verso un singolo nodo.

L’hack a FEI protocol

Il 6 aprile 2021, durante il lancio della stablecoin algoritmica FEI, un utente malintenzionato ha sfruttato una vulnerabilità del nuovo protocollo, riuscendo a drenare parte della liquidità raccolta durante la fase di genesi. FEI, a differenza delle altre stablecoin centralizzate o semi-centralizzate come USDC o USDT, si dichiara nel suo whitepaper come un protocollo che, grazie a un meccanismo di incentivi diretti, riesce a essere più equo e completamente decentralizzato. Il meccanismo di base è molto semplice ed è simile ad un approccio “carota e bastone”: per mantenere l’ancoraggio al prezzo del dollaro, FEI applica una penale quando gli utenti vendono al di sotto di 1$ e paga uno sconto quando gli utenti acquistano FEI al di sotto di 1$. In questo modo si crea una sorta di arbitraggio tra i trader che consente di mantenere il prezzo stabile. Durante la fase di lancio l’attaccante era riuscito a sfruttare una vulnerabilità critica legata nel suo meccanismo di incentivi che era sfuggita pure nei due audit di Openzeppelin e Consensys, due società specializzate nella verifica di sicurezza degli smart contract. La falla, se non scoperta in tempo, poteva essere devastante, in quanto l’attaccante avrebbe potuto prelevare ripetutamente ~1410 ETH dal pool WETH / FEI su Uniswap. Una volta scoperta la vulnerabilità, grazie all’intervento di 0xRevert che ha risposto al programma di bug bounty (per questo ha ricevuto una ricompensa di 300.000 dollari), FEI ha prontamente introdotto una mitigazione nel codice e sospeso il programma di incentivi, che di fatto ha congelato il funzionamento del protocollo.

I passi per sfruttare la vulnerabilità erano i seguenti:

  • si comprava FEI (con FEI < 1$) con ETH nel pool di Uniswap. Questo consentiva di ricevere ulteriori FEI in più in compenso, come stabilito dal protocollo;
  • anziché scambiare FEI → ETH si eseguiva una chiamata diretta Fei.transfer di basso livello per trasferire il token FEI (un normalissimo ERC20) aggirando così la penalità.
  • infine veniva chiamato il metodo UniswapV2Pair.swap che faceva restituire WETH all’attaccante in quantità maggiori rispetto a quanti ne aveva venduti all’inizio. Tutto questo poteva essere ripetuto, ottenendo profitti senza rischi ai danni dei fornitori di liquidità del pool.

L’hack a Spartan protocol

Una vulnerabilità sul calcolo dell’importo di liquidità del pool di Spartan è stata sfruttata lo scordo 1° primo maggio 2021 e ha fruttato all’attaccante 30 milioni di dollari. Spartan è un protocollo che consente di creare pool di liquidità sulla Binance Smart Chain (BSC), una blockchain di proprietà di Binance che negli ultimi mesi ha visto una crescita esponenziale, favorita anche dalla fuga di molti utenti della rete Ethereum per l’impennata delle fee sulle transazioni. Secondo l’analisi di Peckshield, l’attacco è partito con un prestito flash utilizzato per gonfiare il saldo del pool. Questo ha consentito all’attaccante di ottenere una quantità di token maggiori nella fase di prelievo dei fondi dal pool. L’attacco è partito prima con una serie di operazioni preliminari atte a rendere il pool vulnerabile e solo successivamente svuotarlo di tutti i fondi in esso contenuti. Nel caso di questo specifico protocollo, la vulnerabilità sfruttata risiedeva nella funzione calcLiquidityShare() che interrogava il saldo corrente ma che poteva essere oggetto di manipolazioni. Per il calcolo corretto era invece necessario utilizzare il saldo memorizzato nella cache baseAmountPooled / tokenAmountPooled:

Smart contract corretto
Figura 11 – Smart contract corretto

Conclusioni

Recentemente un comunicato congiunto di Consob e Bankitalia ha messo in guardia gli utenti “contro i rischi insiti nelle cripto-attività”. E in effetti le cripto-attività e in particolare la truffa PlusToken così come le altre discusse in questo articolo, sono esempi importanti di come gli scam e gli hack su progetti cripto possano danneggiare gravemente gli utenti. Molto probabilmente chi è caduto vittima in uno di questi schemi non potrà recuperare i suoi fondi. Il continuo aumento dei casi giudiziari riguardanti il traffico di fondi illegali e truffe è stato sicuramente uno dei motivi scatenanti della lotta da parte del governo cinese agli scambi di criptovalute e in particolare alle piattaforme di prestito OTC già dal 2017. Nonostante le misure cinesi abbiano ridotto drasticamente il numero di casi correlati a tali attività criminali, il numero dei casi è ancora alto e nell’ordine delle migliaia all’anno. Questo è dovuto sostanzialmente alla difficoltà di tracciare le transazioni: oggi esistono migliaia di criptovalute, ma solo una manciata, come Bitcoin ed Ethereum, sono “facili” da tracciare. Ciò richiama la necessità di formazione e di strumenti giusti per l’analisi delle transazioni.

Come è stato evidenziato, sia che si tratti di scam o di hack, i criminali spostano i loro fondi prevalentemente sugli exchange centralizzati per la conversione in fiat. Consentire ai broker OTC di operare senza controllo offre ai criminali un modo semplice e ovvio per riciclare i loro fondi illeciti. Quindi per bloccare questo traffico è necessario che tutti gli scambi a livello mondiale eseguino il KYC e il monitoraggio delle transazioni collaborando attivamente con governi e forze dell’ordine. Molte autorità di regolamentazione (vedi il disegno di legge della Camera dei Rappresentanti degli Stati Uniti e il MiCA dell’UE) da qualche anno hanno iniziato riconoscere questo come un problema di protezione dei consumatori e stanno considerando l’applicazione di normative antiriciclaggio per impedire che truffe come quelle che abbiamo citato nell’articolo si ripetano in futuro.

Nonostante le problematiche legate alla criminalità, la finanza decentralizzata (DeFi) offre comunque nuove opportunità di crescita, innovazione, trasparenza e incentiva il risparmio piuttosto che la spesa. Di conseguenza le aziende che svilupperanno nuovi servizi su web3 dovranno porre una maggiore attenzione agli aspetti di sicurezza informatica e in particolare alle eventuali vulnerabilità introdotte nel codice dei loro smart contract. Pertanto bisognerà prendere tutti gli accorgimenti, come quelle suggeriti dai più importanti vendor di sicurezza su blockchain (come queste di Consesyns), nonchè l’esecuzione di uno (o più) audit sullo smart contract. Questo non garantirà la sicurezza totale, ma abbasserà notevolmente il rischio di hack del protocollo. Inoltre, come ulteriore misura di sicurezza, è possibile investire in un programma di bug bounty prevedendo compensi importanti ai programmatori per i bug segnalati.

Riferimenti