Conosciuta come la criptovaluta caratterizzata dal più alto livello di anonimato, Monero si contraddistingue proprio per il fatto perseguire una filosofia incentrata sulla tutela della privacy, tanto da essersi guadagnata il nome di “privacy-coin”.
A differenza di altre criptomonete, le cui politiche si basano sulla pubblicità delle transazioni all’interno della blockchain, per Monero l’ago della bilancia pende dal lato della riservatezza.
Gli espedienti crittografici e tecnici dei quali si avvale per nascondere dettagli sensibili, quali importo, identità e indirizzo degli utenti, la rendono una criptovaluta non rintracciabile e, per questo, suddette tecnologie crittografiche hanno fatto gola, negli anni, agli attaccanti del web, avendo reso più agevole la possibilità per questi soggetti di garantirsi un grado di anonimato molto elevato nell’espletamento delle loro attività criminose.
Nozioni introduttive
Originariamente messa in circolazione con il nome di BitMonero, questa moneta virtuale nasce nell’aprile 2014 dal fork di Bytecoin, un’altra criptomoneta che, nonostante non abbia riscosso successo nel mercato, ha influenzato Monero nell’utilizzo del protocollo CryptoNote, che tutt’ora è la base di molte altre valute virtuali. L’utilità di CryptoNote non è circoscritta alla possibilità di garantire un livello molto elevato di riservatezza della transazione, del suo importo e dell’anonimato degli utenti, ma anche quella di rendere inutili gli ASIC, cioè gli hardware dedicati al mining: l’aggiornamento continuo del protocollo rende i costi per creare un ASIC che riesca a minare Monero talmente elevati da aver portato, nel tempo, alla nascita di molti fork della criptomoneta, che, invece, permettono questa operazione. A titolo di chiarimento, un Application specific integrated circuit è un circuito integrato in grado di risolvere applicazioni di calcolo in tempi molto ridotti, grazie allo sfruttamento di un consumo elettrico di gran lunga superiore alla media.
Il solo fatto che la blockchain sia un registro distribuito non è in grado di garantire livelli alti di privacy, motivo per cui le tecniche di anonimizzazione di cui si avvale by default Monero la differenziano dalle altre criptomonete. Un parallelismo utile per avere cognizione della sua particolarità può essere quello con la regina delle criptovalute, Bitcoin: questa moneta virtuale garantisce quello che possiamo definire uno pseudo-anonimato, in quanto, nonostante l’identità degli utenti non venga resa nota nella blockchain, le transazioni e i relativi importi risultano in chiaro, consultabili da un normale block explorer. La tracciabilità, tuttavia, potrebbe non rimanere circoscritta alle transazioni, poiché tramite una loro analisi è in realtà possibile risalire all’identità degli utenti coinvolti. Il motivo alla base di questa tracciabilità è che con BTC e altre criptovalute gli utenti non generano in modo automatico nuovi indirizzi IP per ogni nuova transazione, mentre con CryptoNote un indirizzo è utilizzabile solamente una volta e cambia ad ogni operazione.
Appurato, quindi, che Monero non lavora con le ordinarie procedure di semi-anonimizzazione, occorre cercare di capirne il funzionamento.
Invio e ricezione di XMR: il funzionamento delle chiavi multiple
Indipendentemente dal wallet scelto, la ricezione di moneroj (plurale di monero) avviene condividendo con la persona dalla quale si deve riscuotere il pagamento l’indirizzo del portafoglio, consistente in un codice alfanumerico da copiare, oppure in un QR code da scansionare; l’invio dell’importo avviene a seguito dell’inserimento o della scansione del codice e della digitazione dell’ammontare che si desidera trasferire. È una procedura molto semplice, che non sembra discostarsi troppo dalle modalità di scambio usate da altre criptomonete.
In realtà, dietro questi banali passaggi si cela un sofisticato meccanismo di anonimizzazione legato all’utilizzo del protocollo CryptoNote.
In questo caso, infatti, non esistono solo chiave pubblica e chiave privata, poiché si può parlare di chiavi multiple: una coppia di chiavi per la visualizzazione ed una coppia di chiavi per la spesa.
Prima di procedere con la descrizione di questo meccanismo, tuttavia, è opportuno introdurre i concetti di double spending e di key image.
Il rischio del double spending non incombe solamente su Monero e consiste nella possibilità che lo stesso importo venga speso due volte, cioè che vengano impegnati gli stessi fondi per due diverse transazioni.
La key image (immagine della chiave privata) è un indicatore introdotto da CryptoNote e creato dall’utente al momento del primo accesso: può essere descritto come un codice hash corrispondente alla chiave privata dell’utente, che non permette di risalire all’identità dello stesso, in quanto funzione non invertibile, come tutte le funzioni di hashing. Grazie a questo meccanismo, gli utenti possono respingere qualsiasi pagamento che generi una key image già esistente, perché corrispondente ad una transazione precedentemente conclusa, ed evitare, in questo modo, il fenomeno del double spending.
Passiamo a descrivere il funzionamento delle chiavi pubbliche e private:
- chiave pubblica di visualizzazione: riesce a tenere nascosta l’identità del destinatario grazie ad una chiave pubblica usa-e-getta (one-time public key), generata insieme alla chiave pubblica di spesa e che dà vita ad indirizzi invisibili (stealth addresses). Pertanto, un utente può inviare XMR ad un altro senza che questi conosca la sua identità o il suo identificativo;
- chiave pubblica di spesa: viene utilizzata per evitare il fenomeno del double spending, in quanto i fondi vengono resi disponibili solo a chi ha la corrispondente chiave privata di spesa per verificare la key image;
- chiave privata di visualizzazione: consente al destinatario della transazione di eseguire uno scan della blockchain e di visualizzare le transazioni in entrata, in modo da avere certezza dell’andamento delle operazioni;
- chiave privata di spesa: è una chiave monouso che permette di firmare la key image e, di conseguenza, di utilizzare i fondi.
Gli strumenti alla base della privacy di Monero
Come già detto, le tecnologie crittografiche di Monero sono in grado di proteggere gli utenti e le loro attività dalla visibilità pubblica. Analizziamole nel dettaglio:
- Ring Signature: le firme ad anello sono una funzione utilizzata per tenere nascosto il mittente della transazione. Nel caso di Bitcoin, la firma è una prova di proprietà della transazione, pertanto, anche se il nome del mittente non compare nel blocco secondo le sue informazioni anagrafiche, sarebbe comunque potenzialmente possibile risalire all’identità del soggetto. Con la Ring Signature, invece, l’utente che intende firmare digitalmente il messaggio può farlo mescolando le chiavi pubbliche di altri utenti (decoy, “esche”): in questo modo, non è possibile individuare chi abbia attivamente firmato il messaggio. La garanzia è che la rete può sicuramente appurare che uno degli output sia stato speso – e ciò sarà anche verificabile crittograficamente – ma non sarà possibile individuare il vero firmatario;
- Ring Confidential Transaction (RingCT): grazie alla crittografia è possibile nascondere le informazioni sensibili relative al quantum della transazione. Con le altre criptovalute, gli importi sono riportati in chiaro onchain e qualsiasi utente può prenderne visione. Con l’utilizzo di RingCT, obbligatorio per Monero dal 2017, il mittente dimostra di avere il denaro sufficiente alla transazione senza che venga rivelato il valore dell’importo. La rete, infatti, richiede le prove strettamente sufficienti a confermare la legittimità della transazione, in modo che non vengano eseguiti pagamenti negativi o consistenti in cifre molto elevate;
- Stealth Address: gli indirizzi invisibili, già menzionati precedentemente, proteggono la privacy del destinatario. Il meccanismo che ne è alla base consiste nell’utilizzo di un codice generato una tantum, presso il quale vengono inviati i fondi, indirizzo che non consente ad un osservatore esterno di collegare il codice al wallet di origine, in modo da non rivelare l’indirizzo dell’utente che riceve la transazione;
- Kovri: nonostante con i metodi precedentemente descritti sia possibile tutelare la privacy di mittente, destinatario e ammontare della transazione, sulla rete potrebbero ancora trapelare le informazioni personali degli utenti legate all’indirizzo IP. La tecnologia di anonimizzazione che si occupa di quest’ultimo aspetto è Kovri, un software in grado di creare una sovrastruttura di rete privata su Internet che consente agli utenti di nascondere il proprio indirizzo IP. Ovviamente, l’associazione tra le transazioni e gli indirizzi IP non è immediata, soprattutto nel caso in cui gli utenti usino protezioni supplementari quali Tor o una VPN, ma potrebbe comunque avere luogo nel caso in cui un soggetto con intenti malevoli e risorse sufficienti a sferrare un attacco intercetti l’indirizzo IP all’altezza di uno dei blocchi e interrompa l’iter della transazione.
Monero, il lato oscuro
Le stesse caratteristiche appena descritte, che rendono Monero sicuro e anonimo per utenti e aziende, sono fonte di interesse anche per coloro che intendono nascondere attività illecite. Va chiarito che Monero non è specificamente progettato per facilitare l’occultamento di attività criminose, anzi, è pacifico sostenere che, sebbene i cybercrimes compiuti tramite l’utilizzo di criptovaluta siano in crescita, la loro portata non è comunque paragonabile alla mole di fiat currency che ruota intorno ad attività criminali c.d. tradizionali.
D’altra parte, è indubbio che Monero incorpori caratteristiche tali da renderlo adatto a favorire il compimento di reati, basti pensare al fatto che possono essere utilizzati XMR anche solo per interrompere la tracciabilità di altre criptovalute, nel caso in cui determinate cifre siano i proventi di attività illecite. L’esempio più intuitivo è questo: partendo da una certa quantità di BTC, si converte questa quantità in XMR, si effettua un numero N di operazioni e si riconverte quella stessa cifra in BTC; a questo punto, la provenienza originaria (lecita o meno) non potrà essere accertata.
Aldilà del riciclaggio di denaro, Monero si presta anche ad attacchi diretti: nel mese di luglio 2020, un ransomware ha criptato tutti i file aziendali di una compagnia telefonica argentina, per poi chiedere ben 218 mila XMR, l’equivalente – al tempo – di circa 15 milioni di dollari. Ricordiamo che senza una chiave di cifratura è quasi impossibile poter recuperare questi dati e che l’unico modo che consente di decrittare i file è il pagamento del riscatto. Tuttavia, l’effettiva ricezione della chiave di cifratura non è garantita, motivo per cui, oltre ad essere la legge a prevedere che il pagamento del riscatto configuri reato, è sempre sconsigliato pagare ed è utile, piuttosto, cercare di prevenire.
Il rischio di cryptojacking
A ben vedere, non è solo l’anonimato delle operazioni a far gola ai cyber-criminali: la possibilità di condurre attività di mining con l’utilizzo di comuni CPU, come spiegato precedentemente, è molto allettante, poiché permette a fortiori fenomeni di cryptojacking. Questo è un tipo di attacco che consiste nell’effettuare mining attraverso un malware, infettando diversi computer che, all’insaputa dei loro proprietari, dedicano parte della loro potenza di calcolo a quest’attività.
Si tratta di vere e proprie mining pool distribuite e in grado di generare quantità più o meno grandi di criptovaluta, grazie all’utilizzo di più dispositivi che minano, dando luogo ad una potenza di calcolo complessivamente maggiore, senza dover pagare nessun costo di energia elettrica.
Al riguardo, una famosa piattaforma americana di cybersecurity, Palo Alto Network, sostiene con certezza che una parte degli XMR in circolazione sia minata illegalmente, tramite lo sfruttamento di botnet. Per comprendere la portata di queste operazioni, Kaspersky Labs, nota azienda produttrice di software antivirus, riporta che l’attività di mining realizzata attraverso botnet possa fruttare ad un cyber-criminale fino a 30mila dollari al mese.
Nel 2018, in relazione a questi eventi, si è sentito parlare di Coinhive, un mining tool scritto in Java, utilizzato sul browser delle vittime in modo diffuso. Fin qui, nulla di nuovo. La curiosità è che il ricercatore americano Troy Mursch, indagando a lungo sull’utilizzo di questo tool, ha rilevato come fosse operativo in background anche su diversi siti del governo e delle università americane, senza che nessuno ne fosse a conoscenza, ed ha persino pubblicato un elenco di tutti i siti web affetti da Coinhive, consultabile qui.
Le stesse botnet che affliggono i computer possono, però, rivelarsi utili anche per le indagini: istruendone una connessa alla rete di Monero, si potrebbe provare ad osservare le transazioni da diversi punti della rete, analizzando le informazioni recuperabili sui nodi. È evidente quanto questa attività possa essere complessa e laboriosa, ma la verità è che esistono aziende nel mondo che se ne occupano. Chainanalysis è una di queste e il suo focus è quello di tracciare transazioni su blockchain per conto di istituzioni governative ed exchange. Appena il mese scorso, a settembre, la più grande agenzia del dipartimento del tesoro degli Stati Uniti, l’Internal Revenue Service – Criminal Investigation, ha pubblicato un documento che evidenzia quanto i criminali più esperti si avvalgano di Monero, in particolare con i ransomware, ed ha offerto quasi un milione di dollari a chi riesca ad individuare un metodo per tracciare la blockchain di Monero. Sebbene I’IRS-CI persegua un nobile scopo – la lotta alla criminalità – quello che accade è paradossale: un ente governativo, di fatto, chiede di hackerare dei progetti che garantiscono l’anonimato, andando a compromettere anche la riservatezza di utenti comuni, che utilizzano Monero senza commettere alcun illecito, con il solo scopo di godere di una vera privacy.
Conclusioni
Per arginare la possibilità di estrazione non consensuale di moneroj – che, tra l’altro, equivale ad un furto di risorse – la comunità Monero ha predisposto un Malware Response Workgroup, un gruppo di volontari che fornisce live gli strumenti e il supporto di cui gli utenti hanno bisogno per combattere il malware che in quel momento sfrutta i loro device per attività di mining.
A fronte di tutte le garanzie di riservatezza offerte, ci si potrebbe chiedere perché Monero non abbia riscosso più successo di altre criptomonete e perché la classifica delle criptocurrencies sulle quali investire nel 2020 veda ai primi posti Bitcoin, Ethereum e Litecoin, ma non Monero.
Un tentativo di risposta potrebbe essere questo: una transazione Monero occupa 12 mila bytes, contro i 200 bytes di Bitcoin, e le RingCT possono pesare anche 60 mila bytes, pertanto, se mai Monero dovesse arrivare a raggiungere un numero di transazioni anche solo lontanamente simile a quello di BTC, l’incremento di gigabyte onchain potrebbe essere insostenibile.