Il 2 novembre alcuni malviventi hanno prelevato asset dagli hot wallet di Mercado Bitcoin, il più antico e grande exchange crypto del Brasile, su dieci reti blockchain contemporaneamente. Le stime del danno vanno da 30 a 49 milioni di dollari. L’exchange ha sospeso depositi e prelievi e non dice quando li riattiverà. La mattina del 3 novembre la piattaforma era ancora in manutenzione.

Mercado Bitcoin opera dal 2013 e si definisce il primo broker crypto del Paese. A seconda delle fonti, ha tra 4,5 e 4,8 milioni di clienti. Il 27 ottobre l’exchange ha chiesto una licenza alla Banca centrale del Brasile. A luglio Tether è diventata azionista di minoranza della sua holding, 2TM.

Una cassaforte aperta e vuota da cui escono flussi dorati; una parte di essi si è congelata nel ghiaccio.
Illustrazione · Blackwood

Come è andata

Secondo AuditKey, i preparativi sono iniziati già il 1° novembre verso le 21:20 ora di Mosca. Il primo trasferimento è partito alle 04:36 sulla rete Arbitrum. Poi, come racconta l’analista di CertiK Dixon Wu, l’attaccante ha passato circa quattro ore a provare piccole somme su reti minori. Il prelievo principale è durato circa mezz’ora, dalle 09:19 alle 09:53: gli hot wallet sono stati svuotati su dieci reti, tra cui Bitcoin, Ethereum, Solana, Stellar, Tron e Avalanche.

Non c’erano vulnerabilità negli smart contract. Erano normali trasferimenti firmati con chiavi valide dell’exchange. Come l’attaccante abbia ottenuto il diritto di firma non si sa. AuditKey sottolinea che dalla blockchain non si può distinguere un attacco esterno dall’azione di un insider o da un guasto presso un fornitore.

«Contenuto», mentre i prelievi continuavano

Alle 15:56 ora di Mosca, Mercado Bitcoin ha comunicato che un incidente in «uno dei sistemi» era stato individuato e rapidamente contenuto, che i clienti non avrebbero perso nulla e che non c’era stata alcuna fuga di dati. Sulla blockchain accadeva altro. Secondo il conteggio di Bitquery, dalle 15:27 alle 19:56 l’attaccante ha svuotato 36.042 indirizzi di deposito dei clienti su Ethereum e su BNB Chain ha ripulito altri 143 indirizzi fino alle 21:08. In altre parole, ha continuato a prelevare per circa quattro ore dopo la dichiarazione dell’exchange.

La somma qui è piccola, circa 266.000 dollari: sul 91% di questi indirizzi c’erano meno di 10 dollari. Conta altro. L’attaccante aveva le chiavi non solo degli hot wallet, ma anche degli indirizzi su cui i clienti ricaricano il conto. «Chi l’ha fatto può prelevare anche dagli indirizzi di deposito dei clienti», dice Wu. I ricercatori sentiti da The Record contestano l’affermazione dell’exchange secondo cui i fondi dei clienti non sono stati toccati. Formalmente l’exchange ha ragione: le monete sugli indirizzi di deposito le custodisce lui, e il cliente ha solo un saldo registrato. Ma proprio per questo tutto dipende dal fatto che mantenga la promessa.

Quanto è stato sottratto: da 30 a 49 milioni di dollari

  • AuditKey: 30,3 milioni di dollari, considerando solo i token con un prezzo affidabile.
  • Hypernative: oltre 40 milioni su almeno dieci reti.
  • Bitquery: 48,6 milioni, 47,4 milioni senza il token EVA.
  • Chainalysis, a cui l’exchange si è rivolto per aiuto: circa 49 milioni su 17 reti. Secondo Bitquery, queste 17 includono anche reti in cui si è mosso denaro di wallet estranei, mentre le perdite dell’exchange riguardano dieci reti.

Nell’aggiornamento serale, la stessa Mercado Bitcoin ha indicato due cifre: circa 11 milioni bloccati e circa 38 milioni «non ancora bloccati». In totale circa 49 milioni. Alcune testate hanno presentato i 38 milioni come perdita complessiva. In realtà è solo la parte non congelata. Secondo Hypernative, il bottino comprende 106 BTC, 2.852 ETH, 10.700 SOL, 6,7 milioni di XLM, 1,7 milioni di TRX e oltre duecento altri token. Secondo Bitquery, i bitcoin per ora non si sono mossi.

Il congelamento: stavolta è servito

Tether ha effettuato il primo blocco alle 13:21 ora di Mosca, Circle si è aggiunta circa sei ore dopo. Bitquery ha contato 11,4 milioni di dollari congelati: 5,9 milioni da Tether, 3,9 milioni da Circle, 1,5 milioni da Paxos e circa 145.000 dollari da Agora e Ripple. Altri 358.000 EURC sono rimasti non congelati. Chainalysis fornisce cifre diverse: quasi 10 milioni, di cui oltre 9 milioni da Tether. Per ora i due dati non si riescono a far tornare.

Qui il congelamento ha giocato a favore delle vittime. Ma è lo stesso pulsante: un emittente può bloccare USDT o USDC su qualsiasi indirizzo, anche sul vostro, e la decisione spetta a lui. BTC, ETH, SOL e XLM non li può congelare nessuno: per questo l’attaccante ha scambiato con calma gran parte del bottino tramite i servizi di scambio Mayan e Bridgers.

Una promessa senza copertura

L’exchange ripete che i clienti non perderanno nulla. Da dove arriveranno i soldi ed entro quando, non lo dice: nessuna parola su riserve, assicurazione o azionisti. I prelievi torneranno «quando sarà sicuro». Fino alla mattina del 3 novembre, la Banca centrale del Brasile, la Commissione per i valori mobiliari e la Polizia federale non si erano espresse pubblicamente. L’exchange mette inoltre in guardia dai truffatori che si offrono di «aiutare a recuperare i fondi». Se siete clienti di Mercado Bitcoin, non rispondete a queste offerte e non inviate nulla ai vecchi indirizzi di deposito finché l’exchange non annuncerà che sono sicuri.

Domande aperte

  • Come ha ottenuto l’attaccante il diritto di firma: tramite le chiavi, il sistema di firma, un dipendente o un fornitore?
  • Perché l’exchange ha definito l’attacco contenuto se i prelievi dagli indirizzi dei clienti sono andati avanti per altre quattro ore?
  • Le chiavi degli indirizzi di deposito sono state sostituite, e si può di nuovo ricaricare il conto con le vecchie coordinate?
  • Con quali soldi l’exchange coprirà i 38 milioni non congelati?
  • Quando e in quale ordine riprenderanno i prelievi?
  • Qual è la cifra finale e quante reti sono coinvolte: dieci o diciassette?

Cosa ne consegue

Il saldo su un exchange è una promessa dell’exchange. Finché i prelievi sono chiusi, le vostre monete esistono solo come una riga nel suo database, e l’accesso vi verrà restituito quando lo deciderà lui. Tenete sull’exchange ciò con cui fate trading e il resto in un wallet di cui solo voi possedete le chiavi. Tenete presente, però, che l’emittente può congelare le stablecoin anche nel vostro wallet.

Per contesto: tre giorni prima Chainalysis aveva reso noto un attacco ai propri sistemi; è la stessa società che ora aiuta Mercado Bitcoin a tracciare i fondi rubati.