Bitcoin: labeling, clustering e mixnet recognition

Oramai tutti sappiamo cosa sono i Bitcoin e come funzionano: questa criptovaluta rivoluzionaria è utilizzata da moltissimi utenti, che grazie alla blockchain possono fare transazioni sicure senza un terzo intermediario, che nelle transazioni tradizionali è rappresentato dalla banca.

La moneta virtuale è rinomata sopratutto per la sua anonimità: le transazioni avvengono tra utenti che non sono autenticati nel sistema, quindi non sono riconoscibili e operano tramite chiavi create direttamente dall’utente stesso: nessuna firma digitale, nessuna certification autority, nessun collegamento agli individui reali. Ed è proprio questa anonimità che rende i Bitcoin la moneta ideale per pagamenti spesso illegali: riscatti pagati da utenti ricattati da hacker (come nel caso di Petya o WannaCry), droghe e altre sostanze o merci illegali acquistate nei criptomercati

Ma esistono delle soluzioni per individuare il cybercriminale che ci ricatta? O per scoprire chi compra armi o droghe nel deep web?

Presso il Cybersecurity Lab dell’università di Perugia sono in atto studi sulle soluzioni possibili per rimediare alle truffe della rete, tramite delle operazioni di forensics.

  • la Moneta digitale è pseudo-anonima, quindi, pur non avendo il collegamento diretto autore-chiave monetaria, è possibile esaminare la blockchain che memorizza in modo indelebile tutte le transazioni e quindi seguire la “strada” fatta dai Bitcoin.

Le attività svolte dal Cybersecurity Lab di Perugia sono tre:

Labeling: questa attività usa un motore di web crawling e scraping. Con i crawler si analizzano interi siti web e si indicizzano i contenuti, mentre con la successiva fase di scraping ( o web data extraction) si analizzano le pagine raccolte e in modo automatico si prelevano singoli dati per conservarli in un database. Nel caso del Bitcoin forensics si cerca di individuare all’interno delle pagine web dei possibili indirizzi bitcoin: le stringhe misurano tra i 26 e i 35 caratteri; il primo carattere è sempre un 1 o un 3. successivamente tramite un algoritmo si valida la stringa per controllare se corrisponde effettivamente ad un indirizzo bitcoin, e solo allora si visita l’indirizzo trovato per individuare l’identità del possessore dell’indirizzo stesso. Questo metodo permette di etichettare pochissimi indirizzi bitcoin, per questo spesso si usa come supporto il Clustering.

Clustering: estende l’etichetta a tutti gli indirizzi individuati come appartenenti alla stessa persona. Infatti ogni volta che si effettuano transazioni con i bitcoin, l’utente deve usare un nuovo indirizzo: quindi un solo utente ne possiede un numero corrispondente al numero di transazioni effettuate.

Mixnet recognition: per rendere più difficile seguire le tracce dei pagamenti memorizzate dalla blockchain, spesso si usano servizi di mixnet, che mescolano vari input di transazioni e li reindirizzano verso altrettanti output, in modo da rendere molto dificile il percorso delle criptovalute. ed è qui che gli informatici forensi utilizzano tecniche di reverse engineering e machine learning per “snodare” la matassa di input-output per risalire a quelli originali.