Bitcoin, the famous peer-to-peer, decentralized electronic currency system, allows users to benefit from pseudonymity, by generating an arbitrary number of aliases (or addresses) to move funds. However, the complete history of all transactions ever performed in the Bitcoin network, called "blockchain", is public and replicated on each node. The data contained into the network is difficult to analyze manually, but can yield a high number of relevant information. In this thesis we present a modular framework, BitIodine, which parses the blockchain, clusters addresses that are likely to belong to a same user or group of users, classifies such users and labels them, and finally visualizes complex information extracted from the Bitcoin network. BitIodine allows to label users automatically or semi-automatically with information on who they are and what they do, thanks to several web scrapers that incrementally update lists of addresses belonging to known identities, and that connect information from trades recorded in exchanges, thus allowing to trace money entering and exiting the Bitcoin economy. BitIodine also supports manual investigation by finding paths and reverse paths between two addresses or a user and an address. We test BitIodine on several real-world use cases. For instance, we find a connection between the founder of the Silk Road, the famous black market operating in Bitcoin, and an address with a balance exceeding 111,114 BTC, likely belonging to the encrypted Silk Road cold wallet. In another example, we investigate the CryptoLocker ransomware, a malware that encrypts the victim's personal files with strong encryption, asking for a ransom to be paid in order to release the files. Starting by an address posted on a forum by a victim, we accurately quantify the number of ransoms paid and get information about the victims. We release BitIodine to allow the community of researchers to enhance it, thanks to its modular infrastructure. Our hope is that it can become the skeleton for building more complex frameworks for Bitcoin forensic analysis. A publication based on this work is currently under review by the program committee of an international conference about security, cryptography and finance.

Bitcoin, una moneta elettronica decentralizzata basata su una rete peer-to-peer e un protocollo open source, consente di offrire un certo grado di anonimia ai suoi utenti attraverso la pseudonimia, ossia generando un numero arbitrario di alias (o indirizzi) per effettuare pagamenti. Tuttavia, la storia completa di tutte le transazioni effettuate nella rete Bitcoin, chiamata "blockchain", è pubblica ed è completamente replicata su ogni nodo della rete. È difficile analizzare manualmente la mole di informazioni contenuta in questo grande registro elettronico distribuito, ma effettuare mining automatico o semi-automatico della blockchain consente di estrapolare informazioni interessanti. In questa tesi presentiamo BitIodine, un framework modulare ed estensibile che analizza la blockchain, raggruppa indirizzi che potrebbero appartenere ad uno stesso utente o gruppo di utenti in cluster, li classifica ed etichetta, ed infine visualizza informazioni elaborate. BitIodine permette di etichettare le entità della rete Bitcoin in modo automatico o semi-automatico con informazioni su chi sono e che cosa fanno, grazie a diversi web scrapers che in modo incrementale aggiornano elenchi di indirizzi appartenenti a identità conosciute, registrando anche transazioni in siti che consentono di acquistare o vendere Bitcoin in valuta reale (exchange), permettendo così di rintracciare fondi in entrata e in uscita dall'economia Bitcoin. BitIodine supporta anche l'investigazione manuale da parte di un utente esperto, trovando percorsi, diretti o inversi, fra utenti e indirizzi (e viceversa). Testiamo BitIodine in diversi casi d'uso del mondo reale. Per esempio, troviamo una connessione tra Dread Pirate Roberts, creatore della Silk Road, il più grande mercato nero operante in Bitcoin, e un indirizzo con un saldo superiore a 111.114 BTC, probabilmente appartenenti al cold wallet cifrato della Silk Road stessa. BitIodine ci consente di analizzare l'attività riguardante il malware CryptoLocker, che cifra i file personali e chiede alle vittime un riscatto in Bitcoin. A partire da un indirizzo postato su un forum di una vittima, riusciamo a quantificare con precisione il numero di riscatti pagati, ottenendo informazioni sulle persone infettate dal malware. Rilasciamo il codice sorgente di BitIodine per consentire alla comunità dei ricercatori di migliorarlo, grazie alla sua infrastruttura modulare, credendo possa diventare una base per la costruzione di strutture più complesse per l'analisi forense della rete Bitcoin. Una pubblicazione basata su questo lavoro è attualmente in fase di revisione da parte del program committee di una conferenza internazionale in materia di sicurezza, crittografia ed aspetti finanziari.

BitIodine : extracting intelligence from the Bitcoin network

SPAGNUOLO, MICHELE
2012/2013

Abstract

Bitcoin, the famous peer-to-peer, decentralized electronic currency system, allows users to benefit from pseudonymity, by generating an arbitrary number of aliases (or addresses) to move funds. However, the complete history of all transactions ever performed in the Bitcoin network, called "blockchain", is public and replicated on each node. The data contained into the network is difficult to analyze manually, but can yield a high number of relevant information. In this thesis we present a modular framework, BitIodine, which parses the blockchain, clusters addresses that are likely to belong to a same user or group of users, classifies such users and labels them, and finally visualizes complex information extracted from the Bitcoin network. BitIodine allows to label users automatically or semi-automatically with information on who they are and what they do, thanks to several web scrapers that incrementally update lists of addresses belonging to known identities, and that connect information from trades recorded in exchanges, thus allowing to trace money entering and exiting the Bitcoin economy. BitIodine also supports manual investigation by finding paths and reverse paths between two addresses or a user and an address. We test BitIodine on several real-world use cases. For instance, we find a connection between the founder of the Silk Road, the famous black market operating in Bitcoin, and an address with a balance exceeding 111,114 BTC, likely belonging to the encrypted Silk Road cold wallet. In another example, we investigate the CryptoLocker ransomware, a malware that encrypts the victim's personal files with strong encryption, asking for a ransom to be paid in order to release the files. Starting by an address posted on a forum by a victim, we accurately quantify the number of ransoms paid and get information about the victims. We release BitIodine to allow the community of researchers to enhance it, thanks to its modular infrastructure. Our hope is that it can become the skeleton for building more complex frameworks for Bitcoin forensic analysis. A publication based on this work is currently under review by the program committee of an international conference about security, cryptography and finance.
LIOY, ANTONIO
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2013
2012/2013
Bitcoin, una moneta elettronica decentralizzata basata su una rete peer-to-peer e un protocollo open source, consente di offrire un certo grado di anonimia ai suoi utenti attraverso la pseudonimia, ossia generando un numero arbitrario di alias (o indirizzi) per effettuare pagamenti. Tuttavia, la storia completa di tutte le transazioni effettuate nella rete Bitcoin, chiamata "blockchain", è pubblica ed è completamente replicata su ogni nodo della rete. È difficile analizzare manualmente la mole di informazioni contenuta in questo grande registro elettronico distribuito, ma effettuare mining automatico o semi-automatico della blockchain consente di estrapolare informazioni interessanti. In questa tesi presentiamo BitIodine, un framework modulare ed estensibile che analizza la blockchain, raggruppa indirizzi che potrebbero appartenere ad uno stesso utente o gruppo di utenti in cluster, li classifica ed etichetta, ed infine visualizza informazioni elaborate. BitIodine permette di etichettare le entità della rete Bitcoin in modo automatico o semi-automatico con informazioni su chi sono e che cosa fanno, grazie a diversi web scrapers che in modo incrementale aggiornano elenchi di indirizzi appartenenti a identità conosciute, registrando anche transazioni in siti che consentono di acquistare o vendere Bitcoin in valuta reale (exchange), permettendo così di rintracciare fondi in entrata e in uscita dall'economia Bitcoin. BitIodine supporta anche l'investigazione manuale da parte di un utente esperto, trovando percorsi, diretti o inversi, fra utenti e indirizzi (e viceversa). Testiamo BitIodine in diversi casi d'uso del mondo reale. Per esempio, troviamo una connessione tra Dread Pirate Roberts, creatore della Silk Road, il più grande mercato nero operante in Bitcoin, e un indirizzo con un saldo superiore a 111.114 BTC, probabilmente appartenenti al cold wallet cifrato della Silk Road stessa. BitIodine ci consente di analizzare l'attività riguardante il malware CryptoLocker, che cifra i file personali e chiede alle vittime un riscatto in Bitcoin. A partire da un indirizzo postato su un forum di una vittima, riusciamo a quantificare con precisione il numero di riscatti pagati, ottenendo informazioni sulle persone infettate dal malware. Rilasciamo il codice sorgente di BitIodine per consentire alla comunità dei ricercatori di migliorarlo, grazie alla sua infrastruttura modulare, credendo possa diventare una base per la costruzione di strutture più complesse per l'analisi forense della rete Bitcoin. Una pubblicazione basata su questo lavoro è attualmente in fase di revisione da parte del program committee di una conferenza internazionale in materia di sicurezza, crittografia ed aspetti finanziari.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
thesis.pdf

accessibile in internet per tutti

Descrizione: Thesis text
Dimensione 4.72 MB
Formato Adobe PDF
4.72 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/88482