Perché non basta scaricare i file dal cloud
Scaricare manualmente i file da Google Drive, Dropbox o OneDrive non produce una prova forense utilizzabile. Il download manuale perde i metadati di revisione (chi ha modificato il file, quando e quante volte), le autorizzazioni di condivisione (quali utenti avevano accesso e con quale ruolo) e non offre alcuna catena di custodia documentata.
Senza una verifica incrociata con l'hash calcolato dal provider, non esiste prova che il file scaricato corrisponda a quello presente nel cloud al momento dell'acquisizione. Un semplice download non fotografa lo stato del cloud prima del trasferimento e non garantisce che nessun file sia stato omesso o alterato.
C.E.R.T.O. Desktop 3.1 risolve ciascuno di questi problemi con un processo automatizzato che parte dalla scansione ricorsiva del cloud fino alla marca temporale RFC 3161, producendo un fascicolo probatorio completo e verificabile.
Come funziona l'acquisizione forense cloud: 3 passaggi
Autenticazione OAuth
L'utente seleziona il provider cloud tra Google Drive, Dropbox e OneDrive. C.E.R.T.O. apre una finestra Electron isolata con una partizione privata (nessun cookie preesistente, nessuna sessione precedente) nella quale l'utente effettua il login e concede l'accesso in sola lettura.
Gli scope richiesti sono minimi e di sola lettura:
- Google Drive:
drive.readonly - OneDrive:
Files.Read.All+offline_access - Dropbox: autorizzazione implicita con accesso in lettura ai file
Al termine dell'autenticazione, la sessione può essere salvata in Rubrica per riprendere acquisizioni future senza ripetere il login: i token vengono memorizzati in forma cifrata e rivalidati automaticamente al riutilizzo.
Navigazione e selezione
Prima di scaricare qualsiasi file, C.E.R.T.O. esegue una scansione ricorsiva completa del cloud (cloud snapshot) che fotografa l'intera struttura di cartelle e file con dimensioni, date e hash del provider. Questo snapshot viene salvato in cloud-snapshot.json e rappresenta la prova dello stato del cloud prima del download.
L'utente può navigare l'albero delle cartelle e scegliere tra tre modalità di acquisizione:
- Ricorsiva: acquisisce l'intera cartella selezionata e tutte le sottocartelle
- Singola cartella: acquisisce solo i file nella cartella corrente, senza sottocartelle
- Selezione manuale: l'utente seleziona singoli file e cartelle
Il software mostra il conteggio dei file, la dimensione totale stimata e il costo in slot dell'acquisizione (1 slot per ogni MB). Per Google Drive, i percorsi vengono ricostruiti risolvendo le relazioni parent-child delle cartelle, poiché l'API di Google non fornisce percorsi assoluti.
Acquisizione e report
Il download avviene in modalità binaria con stream-hashing: durante il trasferimento, ogni file viene simultaneamente scritto su disco e processato da quattro algoritmi di hash (MD5, SHA-1, SHA-256, SHA-512), garantendo che il calcolo dell'impronta avvenga sugli stessi byte ricevuti dal provider.
Verifica hash del provider: al termine del download, C.E.R.T.O. confronta l'hash calcolato localmente con quello fornito dal provider cloud:
- Google Drive: confronto MD5
- Dropbox: confronto content-hash (SHA-256 calcolato su blocchi da 4 MiB)
- OneDrive: confronto SHA-256
Per ogni file vengono acquisite anche le revisioni (cronologia delle modifiche con autore, data, dimensione e hash di ogni versione) e le autorizzazioni di condivisione (utenti, ruoli, link condivisi, date di scadenza).
I Google Docs nativi (che non hanno un formato file tradizionale) vengono esportati automaticamente: Documenti in PDF, Fogli in XLSX, Presentazioni in PDF, Disegni in PNG.
Al termine, il software genera un rapporto di acquisizione con guida probatoria in 9 sezioni, applica una marca temporale RFC 3161 che certifica data e ora dell'acquisizione, esegue la revoca del token OAuth presso il provider e comprime l'intero fascicolo in un archivio ZIP.
Esempio reale: acquisizione da Google Drive
| Provider | Google Drive |
| Account | user@gmail.com |
| File acquisiti | 83 file in 15 cartelle — 156,7 MB |
| Costo acquisizione | 157 slot |
| Verifica hash provider | 79 file verificati (MD5 match) — 4 Google Docs nativi (nessun MD5 disponibile) |
| Revisioni acquisite | Sì, per ogni file con cronologia disponibile |
| Permessi di condivisione | Sì, acquisiti per ogni file e cartella |
| Token OAuth | Revocato al termine dell'acquisizione |
I file generati dall'acquisizione
Rapporto e log
| File | Contenuto |
|---|---|
rapporto-acquisizione.pdf |
Rapporto completo con guida probatoria in 9 sezioni |
rapporto-acquisizione.txt |
Versione testuale del rapporto |
rapporto-acquisizione.tsr |
Marca temporale RFC 3161 sul rapporto |
acquisizione-log.txt |
Log cronologico di tutte le operazioni |
timestamp-info.json |
Dettagli della marca temporale applicata |
{id}-hashes.json |
Hash di tutti i file dell'acquisizione |
verifica-integrita.sh / .bat |
Script per verificare l'integrità dei file su macOS/Linux e Windows |
Cloud metadata
| File | Contenuto |
|---|---|
cloud-snapshot.json |
Fotografia dell'albero cloud pre-download: tutti i file e le cartelle con dimensioni, date e hash del provider |
api-log.json |
Registro di ogni chiamata API: metodo HTTP, URL, codice di stato, durata, timestamp |
oauth-info.json |
Provider, account, scope concessi (nessuna credenziale memorizzata) |
File acquisiti
| Cartella / File | Contenuto |
|---|---|
files/ |
Copia binaria dei file scaricati, con la stessa gerarchia di cartelle del cloud. I Google Docs nativi vengono esportati (Documenti → PDF, Fogli → XLSX, Presentazioni → PDF, Disegni → PNG) |
metadata/ |
Un file JSON per ogni file acquisito con: cloudPath, size, date di creazione e modifica, mimeType, owners, 4 hash locali (MD5, SHA-1, SHA-256, SHA-512), providerHash, providerHashType, providerHashVerified, isGoogleDoc, array revisions (versioni precedenti con autore, data, dimensione, hash), array sharing (utenti con accesso, ruoli, link, scadenze) |
Marca temporale
| File | Contenuto |
|---|---|
freetsa-cacert.pem |
Certificato CA della Time Stamping Authority |
tsr-verifica.txt |
Output della verifica della marca temporale |
file-manifest.json |
Manifesto completo di tutti i file con relativi hash |
Cosa rende completa un'acquisizione cloud
| Elemento | Perché è necessario |
|---|---|
| Cloud snapshot pre-download | Fotografa lo stato del cloud prima del trasferimento: prova che i file esistevano e non sono stati aggiunti o rimossi durante l'acquisizione |
| Verifica hash del provider | Confronto incrociato tra hash locale e hash del provider (MD5 per Google, content-hash per Dropbox, SHA-256 per OneDrive): prova che il file scaricato è identico a quello nel cloud |
| Cronologia revisioni | Versioni precedenti di ogni file con autore, data, dimensione e hash: documenta la storia delle modifiche |
| Permessi di condivisione | Chi aveva accesso a ogni file: utenti, ruoli, link condivisi, date di scadenza |
| Esportazione Google Docs | I documenti nativi Google (Docs, Sheets, Slides, Drawings) non hanno un formato file: vengono esportati automaticamente in PDF, XLSX o PNG |
| Audit trail OAuth | Ogni chiamata API registrata in api-log.json con metodo, URL, stato, durata e timestamp: prova di cosa è stato richiesto al provider |
| Revoca token | Al termine dell'acquisizione, l'accesso al cloud viene chiuso revocando il token OAuth. L'operazione è documentata nel rapporto |
| 4 algoritmi di hash + manifesto | Ogni file viene processato con MD5, SHA-1, SHA-256 e SHA-512. Il manifesto elenca tutti i file con i rispettivi hash per la verifica di integrità |
Domande frequenti
Acquisisci le prove dal cloud con valore legale
C.E.R.T.O. Desktop 3.1 certifica i file presenti su Google Drive, Dropbox e OneDrive con verifica hash del provider, metadati completi e marca temporale RFC 3161.
Registrati e scarica Panoramica C.E.R.T.O. Desktop