Indagine e quadro giuridico · Lezione 1 di 5
Che cos'è la criptoforense
12 min di lettura
Ogni indagine sulle criptovalute produce collegamenti e numeri, ma solo alcuni di essi possono avere peso in un'aula di tribunale, in un'istanza di congelamento o in una pretesa avanzata nell'ambito di una procedura di insolvenza. La criptoforense è la disciplina che consente di formulare risultanze sui flussi, sulle disponibilità e sul controllo di attività digitali in modo tale che un'altra persona qualificata possa verificarle, riprodurle e contestarle. Ogni risultanza si basa su dati che qualcuno ha recuperato, decodificato e interpretato; un esaminatore che non sa indicare quale nodo abbia prodotto i dati, quale software li abbia decodificati e di chi siano le etichette applicate non può difendere la risultanza. Questa lezione illustra che cosa rende forense un'attività, quali casi serve, chi la svolge e che cosa aggiunge ciascun livello dei dati blockchain.
Attività analitica e attività forense
Gli stessi dati blockchain supportano due tipi di attività. L'attività analitica risponde alle domande con sufficiente rapidità da consentire di agire: quale exchange ha ricevuto un deposito, quanto un cliente sia esposto a un mixer, se un wallet sia ancora attivo. Ammette ipotesi di lavoro, utilizza lo strumento più rapido ed è valutata in base alla sua utilità. L'attività forense risponde alle domande secondo uno standard probatorio: la risultanza si basa su dati di origine preservati, è raggiunta mediante un metodo dichiarato, è documentata in modo da poter essere riprodotta ed è espressa indicandone i limiti. È valutata in base alla sua capacità di resistere al vaglio di un esperto della controparte e del tribunale.
| Attività analitica | Attività forense | |
|---|---|---|
| Scopo | Piste investigative, punteggi di rischio, intelligence | Prove per una decisione del tribunale o di un'autorità competente |
| Standard | Utile e tempestiva | Riproducibile, documentata, difendibile |
| Fonti | Output degli strumenti, etichette, dashboard | Dati grezzi preservati; output degli strumenti solo come indicazione |
| Metodo | Spesso quello predefinito dello strumento | Dichiarato, giustificato, validato |
| Incertezza | Spesso omessa | Classificata e riportata per ogni risultanza |
| Registrazioni | Note facoltative | Note contestuali, hash, registro di custodia |
| Destinatari | Colleghi e responsabili | Pubblici ministeri, difesa, tribunale, controparte |
La maggior parte dei casi inizia come attività analitica e diventa forense quando da essa dipende una decisione con conseguenze giuridiche. L'insidia consiste nel trasferire nelle prove scorciatoie analitiche, come un'etichetta non verificata o una regola di tracciamento non documentata. Le unità ben organizzate trattano ogni caso come potenzialmente forense fin dalla presa in carico, perché ricostruire la provenienza a posteriori è lento e talvolta impossibile.
Riproducibile, documentata, difendibile
Tre criteri distinguono una risultanza forense da un'opinione.
Riproducibile. Un altro esaminatore, disponendo delle stesse fonti e dello stesso metodo, raggiunge lo stesso risultato. Su una blockchain pubblica ciò è realizzabile in misura insolita: ogni txid, blocco e importo può essere recuperato nuovamente da un nodo indipendente. Ciò che non è automaticamente riproducibile è l'interpretazione sovrapposta: un'euristica di raggruppamento in cluster, un'etichetta di terzi, un metodo di tracciamento. ISO/IEC 27037 indica la ripetibilità (stesso metodo, stesso ambiente, stesso risultato) e la riproducibilità (stesso metodo, strumenti o condizioni diversi, stesso risultato), insieme alla verificabilità e alla giustificabilità, come qualità che la gestione delle prove digitali dovrebbe possedere.
Documentata. Ogni passaggio viene registrato nel momento in cui avviene: che cosa è stato interrogato, da quale fonte, con quale versione dello strumento, a quale ora in UTC e quale risposta è stata ottenuta. Se la documentazione non riporta un passaggio, chi effettua la revisione deve presumere che non sia avvenuto come descritto. La lezione 8.3 tratta gli aspetti operativi.
Difendibile. Il metodo è adatto alla domanda, i suoi punti deboli noti sono dichiarati, sono state considerate alternative e la conclusione non va oltre quanto consentito dalle prove. Una risultanza difendibile anticipa le domande che porrà un esperto della difesa (lezione 8.4).
Un'abitudine utile consiste nel separare tre livelli in ogni affermazione:
- osservazione: ciò che la blockchain o una registrazione mostra;
- inferenza: ciò che l'esaminatore ne conclude e con quale metodo;
- assunzione: ciò che viene dato per acquisito, come l'accuratezza di un'etichetta.
Che cosa indaga la criptoforense
Le tecniche sono condivise, ma ogni tipo di caso presenta punti di partenza tipici (seed), domande ed esiti.
| Tipo di caso | Seed tipico | Domande tipiche | Esito abituale |
|---|---|---|---|
| Frodi e truffe | Txid dei pagamenti della vittima | Dove sono finiti i fondi; chi controlla i wallet riceventi | Conti presso exchange, congelamenti, recupero per la vittima |
| Ransomware | Indirizzo del riscatto ricavato dalla richiesta o dalla negoziazione | Chi ha ricevuto il pagamento; ripartizioni tra affiliati; conversione in denaro | Sequestro dei fondi non spesi, attribuzione dell'infrastruttura |
| Furti e attacchi informatici | Transazione di exploit, indirizzi svuotati | Dispersione attraverso bridge e mixer; percorso di riciclaggio | Congelamenti da parte di emittenti ed exchange, recupero |
| Mercati darknet | Wallet del mercato ricavati da server sequestrati | Flussi di venditori, acquirenti e gestori | Identificazione di gestori e utenti |
| Elusione delle sanzioni | Indirizzi o soggetti designati | Chi opera con loro; servizi annidati | Blocco, applicazione delle sanzioni, ulteriori designazioni |
| Finanziamento del terrorismo | Indirizzi per le donazioni ricavati dalle campagne | Raccoglitori, intermediari, utenti finali | Interruzione dei flussi, spesso di piccolo importo |
| Insolvenza e tracciamento patrimoniale in ambito civile | Wallet aziendali, pretese dei clienti | Che cosa esisteva, dove è finito, chi lo detiene ora | Recupero per i creditori, provvedimenti civili |
I casi pubblici ne mostrano l'ampiezza. Dopo l'attacco ransomware a Colonial Pipeline del 2021, gli investigatori hanno tracciato il riscatto di 75 BTC e recuperato circa 63,7 BTC detenuti a un indirizzo. Nel caso dell'attacco a Bitfinex del 2016, gli investigatori hanno seguito circa 119.754 BTC rubati nell'arco di diversi anni e nel 2022 hanno recuperato oltre 94.000 BTC dopo aver decrittato un file, contenuto in un account di archiviazione online, che custodiva chiavi private. In entrambi i casi, il tracciamento era solo una parte del caso: il resto consisteva in procedure legali, prove provenienti da dispositivi e dal cloud e documentazione che rendeva utilizzabili le risultanze.
Ruoli in un'indagine sulle criptovalute
| Ruolo | Domanda principale | Output tipico | Dovere principale |
|---|---|---|---|
| Investigatore | Che cosa è accaduto, chi è responsabile, che cosa può essere recuperato | Strategia del caso, richieste legali, colloqui | Conduzione lecita e corretta del caso |
| Esaminatore forense | Che cosa mostrano i dati preservati | Note di esame, risultanze, pacchetti probatori | Solidità del metodo e integrità delle prove |
| Analista | Quali schemi e piste investigative esistono | Prodotti di intelligence, diagrammi dei collegamenti, piste investigative | Accuratezza e classificazione delle fonti |
| Esperto chiamato a testimoniare | Quale parere può essere espresso entro i limiti della propria competenza | Relazione tecnica, testimonianza | Indipendenza e dovere verso il tribunale |
Gli addetti alla risposta agli incidenti presso exchange e protocolli svolgono spesso le prime ore di lavoro dopo un furto. Le loro note e i dati esportati diventano successivamente prove, quindi richiedono la stessa disciplina. Un esperto nominato dal tribunale lavora per il tribunale anziché per una delle parti.
Nelle piccole unità una persona può ricoprire più ruoli, soluzione praticabile se ogni output riporta quale ruolo lo ha prodotto. Un prodotto di intelligence può basarsi su fonti sensibili e non è redatto per il tribunale; copiarlo in una dichiarazione a fini probatori è una causa frequente di esclusione delle risultanze o di attribuzione di scarso peso alle stesse.
Da dove provengono i dati blockchain
I dati blockchain si articolano in tre livelli, ciascuno costruito su quello sottostante.
| Livello | Che cosa contiene | Esempio | Chi lo produce |
|---|---|---|---|
| Dati grezzi del nodo | Byte e campi esattamente come definiti dal protocollo | Una transazione Bitcoin serializzata in esadecimale; un log Ethereum con topic e un campo dati | Qualsiasi nodo che convalida la blockchain |
| Dati decodificati | Campi grezzi analizzati e trasformati in strutture leggibili | Input e output con indirizzi e importi; un log decodificato come Transfer(from, to, value) | Parser, pipeline ETL, explorer |
| Dati arricchiti o etichettati | Dati decodificati uniti a informazioni esterne | "Hot wallet di un exchange", valore in USD al momento, ID del cluster, punteggio di rischio | Fornitori di strumenti analitici, ricercatori, il proprio team |
I dati grezzi del nodo costituiscono la verità di riferimento: ogni nodo completo onesto sulla stessa blockchain restituisce gli stessi byte per lo stesso hash di blocco. I dati decodificati sono affidabili solo quanto il decodificatore, che deve conoscere il tipo di script o l'interfaccia del contratto (la sua ABI). I dati arricchiti aggiungono valutazioni: prezzi di un mercato scelto, etichette di una fonte scelta, cluster ottenuti con euristiche scelte. Più alto è il livello, più utili sono i dati e più assunzioni comportano.
Nodi, provider, explorer e data warehouse
Le domande a cui un nodo completo può rispondere dipendono da ciò che conserva. Bitcoin Core richiede l'indice facoltativo delle transazioni (txindex=1) per cercare qualsiasi transazione confermata tramite txid e non dispone di un indice degli indirizzi, quindi le cronologie degli indirizzi richiedono un indicizzatore separato (tra gli esempi open source figurano Electrs, Fulcrum ed Esplora). Un nodo completo Ethereum con configurazione predefinita conserva lo stato (saldi, memoria dei contratti) solo per i blocchi recenti, all'incirca gli ultimi 128 con l'archiviazione predefinita basata sui percorsi di Geth; i saldi storici e la maggior parte del tracciamento delle vecchie transazioni richiedono un nodo archivio. Da luglio 2025 i principali client di esecuzione Ethereum supportano anche la scadenza parziale della cronologia prevista da EIP-4444, che consente a un nodo di eliminare corpi e ricevute precedenti al Merge (prima di settembre 2022), conservando ogni intestazione. La lezione 2.1 tratta le API dei nodi.
I provider RPC gestiscono i nodi per conto dell'utente, che ne eredita la configurazione, i limiti di frequenza delle richieste e gli errori. Un block explorer è adatto a una prima consultazione, ma non deve essere l'unica fonte su cui fare affidamento: i suoi metodi sono raramente documentati, le sue etichette sono applicate retroattivamente alle vecchie transazioni e gli explorer non concordano sui valori derivati, come le transazioni interne e i saldi dei token. Un data warehouse (un database colonnare di dati indicizzati della blockchain) risponde a domande su molte transazioni, ma la sua qualità dipende da quella dell'ETL che lo ha popolato. Un flusso di lavoro solido utilizza un explorer per orientarsi, un data warehouse per operare su larga scala e un nodo per verificare le specifiche transazioni da cui dipende una risultanza (lezione 2.7).
Un esempio svolto: un pagamento, due tipi di risposta
Una vittima segnala un pagamento di 3,0 ETH a una falsa piattaforma di investimento. Un analista apre uno strumento di tracciamento e scrive: "I fondi sono arrivati a Exchange K." Questa è una pista investigativa. La versione forense recita:
Risultanza F-03
- Osservazione: il txid
0x9c1e…44ab(blocco 19.204.124, 2024-02-11 10:06:59 UTC) ha trasferito 3,0 ETH dall'indirizzo della vittima0x5D0f…a1C2a0xA1b2…9F. - Osservazione:
0xA1b2…9Fha inviato 2,98 ETH a0x77cd…e310nel txid0x41b0…7d2e(blocco 19.204.160). Successivamente0x77cd…e310ha trasferito l'intero saldo a0xE3f9…08B1. - Inferenza:
0x77cd…e310è un indirizzo di deposito di Exchange K. Fondamento: il trasferimento dell'intero saldo a0xE3f9…08B1, che due fonti indipendenti etichettano come hot wallet di Exchange K (istantanee S-07 e S-08). - Assunzione: le etichette in S-07 e S-08 sono accurate.
- Grado: osservazioni A, registrate sulla blockchain (verificate nuovamente sul proprio nodo, 2024-03-02); attribuzione dell'indirizzo di deposito C, un unico indicatore (il trasferimento dell'intero saldo) basato su etichette di terzi, che sale a B se le registrazioni di Exchange K lo confermano.
Chiunque può ricontrollare le osservazioni sulla blockchain. L'inferenza ne indica il fondamento, l'assunzione è dichiarata anziché nascosta e la riga del grado specifica che cosa modificherebbe la conclusione: le registrazioni dell'exchange (la lezione 3.2 approfondisce la classificazione).
La definizione dei dati è altrettanto importante. Alla domanda su quanti ETH abbia ricevuto 0xA1b2…9F nel febbraio 2024, l'elenco delle transazioni di un explorer e una query su un data warehouse nella tabella transactions totalizzano entrambi 41,20 ETH, mentre una query che aggiunge le chiamate interne dalla tabella traces totalizza 53,70 ETH. Nessuna risposta è errata. Le prime due contano solo le transazioni di primo livello con l'indirizzo nel campo to; i 12,50 ETH aggiuntivi sono arrivati tramite chiamate a contratti (un prelievo da un wallet smart contract) visibili solo nelle tracce. Includere wrapped ETH, un token visibile solo nei log degli eventi, darebbe un'altra risposta; contare le chiamate annullate, che le tracce registrano ma che non hanno trasferito nulla, ne darebbe una errata. "53,70 ETH ricevuti come valore nativo nei blocchi da X a Y, includendo i trasferimenti interni riusciti ed escludendo WETH" è una risposta che un altro esaminatore può riprodurre.
Abitudini per la riproducibilità
Ciò che compromette la riproducibilità raramente è il livello grezzo, che non cambia una volta finalizzato. È tutto ciò che lo circonda:
- Riferimenti variabili. "Il più recente" cambia ogni pochi secondi. Ancorare ogni query a un'altezza di blocco e registrare l'hash di quel blocco.
- Fonti non registrate. Annotare il nodo o il provider, il client e la sua versione, nonché il dataset e la versione della tabella.
- Trasformazioni non registrate. Conservare la query o lo script esatto, inclusi filtri e conversioni di unità.
- Etichette modificabili. Registrare la fonte di ogni etichetta e la data in cui è stata letta; le etichette vengono riviste.
- Dati non finalizzati. I blocchi recenti possono essere sostituiti (lezione 2.1).
Una risultanza basata su "lo diceva l'explorer martedì scorso" non può essere verificata; una basata su un hash di blocco specificato, una query salvata e una versione del client registrata può essere verificata da chiunque disponga di un nodo. La lezione 2.6 trasforma queste abitudini in una registrazione della provenienza.
Focus sull'esame: occorre saper distinguere l'attività analitica da quella forense, riconoscere lo standard probatorio come riproducibile, documentato e difendibile e conoscere le qualità previste da ISO/IEC 27037 (ripetibilità, riproducibilità, verificabilità, giustificabilità). È necessario saper classificare le affermazioni come osservazioni, inferenze e assunzioni, associare i tipi di caso ai seed e agli esiti, distinguere i ruoli e spiegare perché i prodotti di intelligence non devono confluire nelle dichiarazioni a fini probatori. Per i dati: i tre livelli e le relative assunzioni, txindex e l'assenza dell'indice degli indirizzi, i nodi archivio per lo stato storico, EIP-4444, perché i trasferimenti nativi, interni e di token producono totali diversi e l'ancoraggio delle query a un'altezza di blocco e a un hash.