Acquisizione forense di Google Drive, Dropbox e OneDrive

Acquisisci file da Google Drive, Dropbox e OneDrive con autenticazione OAuth, hash MD5/SHA-256/SHA-512, verifica hash del provider e timestamp RFC 3161.

Il modulo Cloud Storage di C.E.R.T.O. Desktop acquisisce file e cartelle da Google Drive, Dropbox e OneDrive con piena validità forense. L'autenticazione avviene tramite OAuth 2.0 in una finestra browser isolata, senza esporre le credenziali dell'utente. Ogni file viene scaricato con calcolo simultaneo di 4 hash crittografici e verifica incrociata con l'hash del provider (MD5 per Google, content-hash per Dropbox, SHA-256 per OneDrive). Il fascicolo include lo snapshot pre-download dello stato del cloud, la cronologia delle revisioni, i permessi di condivisione e la marca temporale RFC 3161. Al termine, i token OAuth vengono automaticamente revocati.

Costo: 1 slot per MB scaricato (arrotondato per eccesso, minimo 1 slot) — vedi pacchetti slot

Tre provider, un flusso forense unificato

Il modulo supporta i tre principali servizi di cloud storage con un flusso forense identico. Le differenze di API tra i provider sono gestite internamente: l'utente seleziona il servizio, si autentica e avvia l'acquisizione.

Google Drive

Scope: drive.readonly, drive.metadata.readonly

Hash provider: MD5

Google Docs: esportazione automatica in PDF (Documenti, Presentazioni), XLSX (Fogli), PNG (Disegni)

Revoca token: supportata

Dropbox

Scope: implicito (accesso completo in lettura)

Hash provider: content-hash (SHA-256 a blocchi da 4 MiB)

Paginazione: cursor-based con list_folder/continue

Revoca token: supportata

OneDrive

Scope: Files.Read.All, User.Read, offline_access

Hash provider: SHA-256 (fallback SHA-1)

Enumerazione: Delta query per scan completo dell'account

Revoca token: non supportata dal provider

Confronto Google Drive, Dropbox e OneDrive: scope, hash e API

Cosa acquisisce il modulo cloud

L'acquisizione produce un fascicolo forense che documenta non solo i file scaricati, ma anche lo stato del cloud prima del download, la cronologia delle revisioni di ogni file, i permessi di condivisione e l'intero audit trail delle chiamate API.

Elemento acquisito Dettagli
File originaliDownload binario di ogni file con preservazione della struttura delle cartelle cloud. Per i Google Docs nativi: esportazione automatica in formato binario (PDF, XLSX, PNG).
Hash crittografici (x4)MD5, SHA-1, SHA-256 e SHA-512 calcolati simultaneamente durante lo streaming del download, senza overhead aggiuntivo.
Verifica hash providerConfronto dell'hash calcolato localmente con quello fornito dal provider (MD5 per Google, content-hash per Dropbox, SHA-256 per OneDrive). Esito match/mismatch documentato per ogni file.
Metadati per fileJSON per ogni file: percorso cloud, dimensione, data creazione e modifica, MIME type, owner, hash locali e hash provider, esito verifica, flag Google Docs.
Cronologia revisioniPer ogni file: elenco di tutte le revisioni precedenti con data, autore, dimensione e hash. Dimostra la storia delle modifiche del documento.
Permessi di condivisionePer ogni file: elenco utenti/gruppi con accesso, ruolo (owner/writer/reader), link condivisi, scadenze. Documenta chi aveva accesso al momento dell'acquisizione.
Cloud snapshotScansione ricorsiva completa della cartella cloud prima del download: tutti i file e le directory con dimensioni, date, MIME type e hash del provider.
Audit trail APILog di ogni chiamata API al provider: metodo HTTP, URL, status code, durata in millisecondi e timestamp ISO 8601.
Contesto di sistemaSincronizzazione NTP (offset documentato), IP pubblico del client, informazioni OAuth (provider, account, scope — nessuna credenziale).
Report forenseDocumento TXT e PDF con inventario completo, verifica hash provider, revisioni, permessi, catena di custodia e guida alla lettura delle evidenze.
Marca temporale RFC 3161Firma temporale sul report tramite FreeTSA (base) o InfoCert eIDAS (qualificata). File .tsr e certificato CA inclusi per verifica offline.

Il processo di acquisizione in 12 fasi

L'acquisizione è completamente automatizzata. L'utente sceglie il provider, si autentica tramite OAuth, seleziona le cartelle e il sistema esegue tutte le fasi con monitoraggio del progresso, velocità di download e tempo stimato residuo.

  1. Autenticazione OAuth — apertura di una finestra browser isolata (partizione privata, senza cookie) per il login al provider. Scambio dell'authorization code per access_token e refresh_token
  2. Sincronizzazione e contesto — query NTP (Google, Cloudflare, pool.ntp.org) per documentare l'offset dell'orologio, rilevamento IP pubblico
  3. Cloud snapshot — scansione ricorsiva completa della cartella selezionata: tutti i file e directory con dimensioni, date, MIME type e hash del provider. Salvataggio in JSON strutturato
  4. Enumerazione e selezione — calcolo dei file da scaricare in base alla modalità scelta (ricorsiva completa, cartella singola o selezione manuale). Stima del costo in slot (1 slot/MB)
  5. Download binario con hash — per ogni file: download in streaming con calcolo simultaneo di MD5, SHA-1, SHA-256, SHA-512. Per Google Docs: esportazione automatica in formato binario
  6. Verifica hash provider — confronto dell'hash locale con quello restituito dall'API del provider. Segnalazione di eventuali discrepanze
  7. Cattura revisioni — per ogni file: interrogazione delle API per ottenere la cronologia completa delle revisioni (data, autore, dimensione, hash)
  8. Cattura permessi — per ogni file: interrogazione delle API per documentare utenti con accesso, ruoli, link condivisi e scadenze
  9. Salvataggio metadati — per ogni file: creazione del JSON di metadati con percorso cloud, hash, verifica provider, revisioni, permessi, timestamp download
  10. Generazione report e hash — report forense TXT e PDF con guida alla lettura, manifest SHA-256 di tutti i file prodotti, script di verifica integrità cross-platform
  11. Marca temporale e archiviazione — firma RFC 3161 sul report, creazione archivio ZIP del fascicolo, registrazione sul server con archiviazione certificata per 5 anni
  12. Revoca token OAuth — revoca automatica dei token di accesso al provider (Google e Dropbox). Conferma documentata nel report

Le 12 fasi dell'acquisizione forense cloud: da OAuth alla revoca token

Autenticazione OAuth in finestra isolata

L'autenticazione avviene tramite il flusso standard OAuth 2.0 Authorization Code in una finestra browser completamente isolata: partizione privata (nessun cookie o cache condivisa), scope di sola lettura, nessuna credenziale transitata dall'applicazione.

Flusso OAuth

  1. Apertura finestra isolata con l'URL di autorizzazione del provider
  2. L'utente effettua il login e concede i permessi di sola lettura
  3. Il provider restituisce un authorization code al callback locale
  4. Il code viene scambiato per access_token e refresh_token
  5. Validazione dei token e recupero delle informazioni account

Rubrica sessioni

I token di accesso possono essere salvati nella rubrica sessioni con cifratura locale. Questo consente di riprendere un'acquisizione futura senza ripetere il login OAuth.

  • Token cifrati e salvati localmente
  • Refresh automatico se il token è scaduto
  • Selezione rapida per account e provider
  • Revoca token al termine di ogni acquisizione

Revoca post-acquisizione: al termine dell'acquisizione, i token OAuth vengono automaticamente revocati presso il provider (Google e Dropbox). Questo garantisce che l'accesso sia limitato alla durata dell'acquisizione. La revoca viene documentata nel report forense.

Autenticazione OAuth isolata e rubrica sessioni con token cifrati

Snapshot pre-download e navigazione cartelle

Prima di scaricare qualsiasi file, il sistema esegue una scansione ricorsiva della cartella cloud e ne documenta l'intero contenuto. Questo snapshot ha un valore forense autonomo: dimostra quali file e directory erano presenti sull'account al momento dell'acquisizione.

Lo snapshot (cloud-snapshot.json) documenta per ogni elemento:

  • ID univoco del file/cartella nel cloud
  • Percorso completo ricostruito (per Google Drive: risoluzione della gerarchia parent-child)
  • Tipo (file o directory), dimensione, MIME type
  • Data di creazione e ultima modifica
  • Hash del provider (se disponibile dall'API di listing)
  • Account, provider e timestamp della cattura

Tre modalità di acquisizione:

  • Ricorsiva completa — download di tutti i file dalla cartella selezionata e da tutte le sottocartelle
  • Cartella singola — solo i file presenti in una specifica cartella, senza ricorsione
  • Selezione manuale — l'utente sceglie singoli file o cartelle da acquisire

Download con hash e verifica provider

Ogni file viene scaricato in streaming con calcolo simultaneo di 4 hash crittografici. La caratteristica distintiva di questo modulo è la verifica incrociata con l'hash fornito dal provider cloud, che dimostra che il file scaricato corrisponde esattamente a quello presente sul server del provider.

Provider Algoritmo hash del provider Metodo di verifica
Google DriveMD5 (md5Checksum)Confronto MD5 locale vs md5Checksum dall'API. Non disponibile per Google Docs nativi (esportati).
DropboxContent-hash (SHA-256 a blocchi da 4 MiB)Il file viene suddiviso in blocchi da 4 MiB, ciascuno hashato SHA-256, poi gli hash concatenati vengono ri-hashati. Algoritmo proprietario Dropbox.
OneDriveSHA-256 (fallback SHA-1)Confronto SHA-256 locale vs hash dall'API Graph. Fallback a SHA-1 se SHA-256 non disponibile.

Google Docs nativi: i documenti nativi di Google (Documenti, Fogli, Presentazioni, Disegni) non sono file binari e non hanno un hash MD5 sul provider. Il sistema li esporta automaticamente in formato binario (PDF, XLSX, PNG) prima del download e calcola gli hash sulla versione esportata.

Download con calcolo hash in streaming e verifica incrociata con il provider

Revisioni e permessi di condivisione

Il modulo cattura due categorie di metadati che non hanno equivalenti nelle acquisizioni di file locali o FTP: la cronologia delle revisioni e i permessi di condivisione. Questi dati sono particolarmente rilevanti in contesti legali dove è necessario dimostrare chi ha avuto accesso a un documento e quando è stato modificato.

Cronologia revisioni

Per ogni file viene interrogata l'API del provider per ottenere l'elenco completo delle revisioni precedenti:

  • ID della revisione
  • Data e ora della modifica
  • Utente che ha effettuato la modifica
  • Dimensione del file in quella revisione
  • Hash del file (se disponibile)
  • Numero totale di revisioni salvate nel metadato

Permessi di condivisione

Per ogni file viene documentato l'elenco degli utenti e dei link con accesso al momento dell'acquisizione:

  • Tipo di accesso: utente, gruppo, dominio, chiunque
  • Ruolo: owner, writer, reader
  • Email dell'utente (se disponibile)
  • Link condivisi con livello di accesso
  • Data di scadenza del permesso (se impostata)

Il fascicolo forense prodotto

Ogni acquisizione genera un archivio ZIP contenente tutti gli artefatti forensi. La struttura è autocontenuta e verificabile offline.

{acquisition-id}/
├── files/ — file scaricati (struttura cloud preservata)
│   ├── cartella-1/
│   │   ├── documento.pdf
│   │   └── presentazione.pdf — (esportato da Google Slides)
│   └── cartella-2/
│      └── foglio.xlsx — (esportato da Google Sheets)
├── metadata/ — JSON con metadati, hash, revisioni e permessi
│   ├── cartella-1/
│   │   ├── documento.pdf.json
│   │   └── presentazione.pdf.json
│   └── cartella-2/
│      └── foglio.xlsx.json
├── rapporto-acquisizione.txt — report forense completo
├── rapporto-acquisizione.pdf — report PDF con guida alla lettura
├── rapporto-acquisizione.tsr — marca temporale RFC 3161
├── file-manifest.json — inventario file con hash e verifica provider
├── {id}-hashes.json — manifest SHA-256 di tutti i file del fascicolo
├── cloud-snapshot.json — stato cloud pre-download
├── api-log.json — audit trail di tutte le chiamate API
├── oauth-info.json — provider, account, scope (nessuna credenziale)
├── acquisizione-log.txt — log cronologico operazioni
├── timestamp-info.json — metadati marca temporale
├── tsr-verifica.txt — istruzioni verifica timestamp
├── freetsa-cacert.pem — CA per verifica offline (se FreeTSA)
├── verifica-integrita.sh — script verifica per macOS/Linux
└── verifica-integrita.bat — script verifica per Windows

Contenuto del report forense (PDF)

Il documento rapporto-acquisizione.pdf include:

  • Informazioni provider e account (email, nome, scope OAuth)
  • Sincronizzazione NTP con offset documentato
  • Dettagli sulla verifica hash del provider (algoritmo utilizzato, risultati match/mismatch per file)
  • Snapshot pre-download con conteggi e dimensioni
  • Inventario completo con hash (x4), verifica provider, conteggio revisioni e permessi per ogni file
  • Eventuali errori con dettaglio del file e del messaggio di errore
  • Conferma della revoca dei token OAuth
  • Guida alla lettura delle evidenze in 9 sezioni: struttura del fascicolo, hash e verifica, hash specifici per provider, marca temporale, sicurezza del trasporto, revoca token, snapshot, sincronizzazione NTP

Struttura del fascicolo forense prodotto dall'acquisizione cloud

Integrità, marca temporale e revoca token

Il fascicolo è protetto da più livelli di verifica dell'integrità e da meccanismi specifici per il cloud.

Hash locali (x4)

MD5, SHA-1, SHA-256 e SHA-512 calcolati in streaming durante il download.

Verifica provider

Hash locale confrontato con hash del provider cloud. Risultato documentato per ogni file.

Manifest globale

SHA-256 di tutti i file del fascicolo. Il manifest stesso viene hashato e riportato nel report.

Marca temporale

RFC 3161 tramite FreeTSA o InfoCert eIDAS. File .tsr e CA inclusi per verifica offline.

Revoca token: al termine dell'acquisizione, C.E.R.T.O. revoca automaticamente i token OAuth presso il provider (Google e Dropbox). Questo chiude l'accesso all'account cloud, garantendo che l'applicazione non possa più accedere ai file. Per OneDrive, che non espone un endpoint di revoca, il token scade naturalmente secondo la policy di Microsoft. La revoca viene documentata nel report forense.

Il fascicolo include script verifica-integrita.sh (macOS/Linux) e verifica-integrita.bat (Windows) per ricalcolare automaticamente tutti gli hash e verificare la marca temporale.

Resilienza: in caso di token scaduto durante il download, il sistema esegue automaticamente il refresh tramite il refresh_token e riprende l'acquisizione. Se un singolo file fallisce, l'errore viene registrato e l'acquisizione prosegue con i file successivi. Lo stato finale indica COMPLETATA (nessun errore), PARZIALE (alcuni errori) o FALLITA.

Acquisisci file cloud con valore forense

Scarica C.E.R.T.O. Desktop, connettiti a Google Drive, Dropbox o OneDrive e ottieni un fascicolo forense completo. 1 slot per MB scaricato.

Registrati e scarica Panoramica C.E.R.T.O. Desktop

Ultima revisione

il 07/04/2026 alle 17:35:26

Argomenti

acquisizione forense, cloud, Google Drive, Dropbox, OneDrive, OAuth, prova digitale