Fondamenti di analisi · Lezione 3 di 3
Artefatti comuni
6 min di lettura
Un artefatto è una traccia che un sistema operativo o un programma lascia come effetto collaterale del normale utilizzo: la registrazione dell'esecuzione di un programma, dell'apertura di un file, della connessione di un dispositivo o della visita a una pagina web. Gli utenti raramente sanno che queste tracce esistono, il che le rende preziose, ma ciascuna risponde soltanto a domande specifiche e presenta limiti noti. Qui l'attenzione si concentra sugli artefatti più utilizzati dagli esaminatori, principalmente in Windows, con un breve sguardo ai browser, ai telefoni e ai servizi cloud. La loro interpretazione approfondita rientra nei corsi di livello esaminatore, come CFX e MFX.
Prove dell'esecuzione di un programma
- I file Prefetch (C:\Windows\Prefetch, estensione .pf) vengono creati da Windows per velocizzare l'avvio dei programmi. Ciascuno registra il nome del programma, quante volte è stato eseguito e quando è stato eseguito l'ultima volta (in Windows 8 e versioni successive, fino a otto esecuzioni recenti). Prefetch è normalmente abilitato nelle versioni desktop di Windows, ma è spesso disabilitato sui server e può essere disattivato.
- Le voci UserAssist nell'hive del registro NTUSER.DAT di ciascun utente registrano i programmi che l'utente ha avviato tramite l'interfaccia grafica, con un conteggio delle esecuzioni e l'ora dell'ultima esecuzione. I nomi dei programmi vengono memorizzati con un leggero offuscamento mediante ROT13, una semplice sostituzione di lettere che gli strumenti decodificano automaticamente.
Prove dell'apertura di un file o di una cartella
- I file LNK (file di collegamento) vengono creati automaticamente nella cartella Recent dell'utente (%APPDATA%\Microsoft\Windows\Recent) quando vengono aperti dei file. Un file LNK memorizza il percorso completo della destinazione e i relativi timestamp di quel momento, il tipo di unità e, per molte unità, il numero di serie del volume, che può collegare un file a una specifica unità USB.
- Le Jump List conservano, per ciascuna applicazione, i file aperti di recente con essa (nelle cartelle AutomaticDestinations e CustomDestinations all'interno di Recent). Mostrano quale programma ha aperto quale file.
- Gli ShellBag, memorizzati negli hive NTUSER.DAT e UsrClass.dat dell'utente, registrano le cartelle esplorate dall'utente in Esplora file, comprese quelle su unità rimovibili e condivisioni di rete che non esistono più.
Il registro e i dispositivi collegati
Il registro di Windows è un database di impostazioni memorizzato in file chiamati hive: SYSTEM, SOFTWARE, SAM e SECURITY in C:\Windows\System32\config, e NTUSER.DAT e UsrClass.dat in ciascun profilo utente. Tra i molti utilizzi, registra i dispositivi di archiviazione USB. La chiave SYSTEM\CurrentControlSet\Enum\USBSTOR elenca i dispositivi di archiviazione che sono stati collegati, con produttore, prodotto e, per la maggior parte dei dispositivi, un numero di serie; SYSTEM\MountedDevices associa i dispositivi alle lettere di unità; il log testuale C:\Windows\INF\setupapi.dev.log registra quando un dispositivo è stato installato per la prima volta. Insieme possono mostrare che una determinata unità USB è stata collegata al computer e quando.
Log degli eventi
Windows scrive i log degli eventi in C:\Windows\System32\winevt\Logs, in file con estensione .evtx. Il log Sicurezza registra, ad esempio, gli accessi riusciti (ID evento 4624), gli accessi non riusciti (4625) e le disconnessioni (4634), quando le relative impostazioni di controllo sono abilitate. I log Sistema e Applicazione registrano servizi, errori e installazioni. I log hanno una dimensione massima e sovrascrivono le voci più vecchie, quindi possono coprire soltanto giorni o settimane; un log vuoto o breve può indicare sia un'attività limitata sia una cancellazione deliberata, che a sua volta lascia un evento registrato nel log Sicurezza.
Browser web
I browser conservano cronologia, download, cookie e cache nelle cartelle dei propri profili, perlopiù in database SQLite. I browser basati su Chromium, come Chrome ed Edge, memorizzano la cronologia in un file di database denominato History, con tabelle per gli indirizzi visitati, le singole visite e i download; Firefox utilizza places.sqlite. I loro timestamp utilizzano formati diversi (Lezione 6.2). Le finestre di navigazione privata o in incognito sono progettate per lasciare poca o nessuna cronologia sul disco, quindi la sua assenza non dimostra che non vi sia stata navigazione.
Telefoni e servizi cloud in breve
Sui telefoni, la maggior parte dei dati delle app, comprese molte app di messaggistica, viene conservata in database SQLite e file di impostazioni all'interno dello spazio di archiviazione privato di ciascuna app, insieme ai log di sistema. Gli artefatti accessibili dipendono fortemente dal livello di acquisizione e dallo stato di blocco (Modulo 4). I client di archiviazione cloud sui computer conservano database locali e log di sincronizzazione, che possono mostrare che un file è stato caricato, scaricato o eliminato, anche quando il file stesso non è più presente sul dispositivo.
Artefatti in sintesi
| Artefatto | Che cosa può mostrare | Avvertenza |
|---|---|---|
| Prefetch | Che un programma è stato eseguito, quante volte e quando | Può essere disabilitato; mostra il programma, non l'utente |
| File LNK e Jump List | Che un file è stato aperto, da quale percorso e unità | Mostrano il profilo utente, non la persona alla tastiera |
| USBSTOR, MountedDevices, setupapi.dev.log | Che un dispositivo di archiviazione USB è stato collegato e quando | La sola connessione non dimostra che siano stati copiati dei file |
| Log degli eventi Sicurezza | Accessi e disconnessioni per account | Dipende dalle impostazioni di controllo; sovrascrive le voci più vecchie |
| Cronologia del browser | Pagine visitate e file scaricati | La navigazione privata lascia poche tracce; la cronologia può essere cancellata |
Che cosa non dimostrano gli artefatti
Gli artefatti registrano l'attività di un account utente su un dispositivo, non quella di una persona identificata. Se più persone condividono un account o ne conoscono la password, gli artefatti non possono indicare chi fosse alla tastiera; altre prove, come gli orari di accesso, la posizione della persona o le riprese delle telecamere, possono essere d'aiuto. L'assenza di un artefatto presenta limiti analoghi: impostazioni, strumenti di pulizia, rotazione dei log, navigazione privata o un programma diverso possono tutti spiegare un'assenza. Le risultanze più solide si basano su diversi artefatti indipendenti concordanti, e la relazione indica che cosa ciascuno mostra e non mostra (Modulo 7).
Un esempio svolto
Un dipendente è sospettato di aver copiato un elenco di clienti su un'unità USB. L'esaminatore trova una voce USBSTOR relativa a un'unità con un numero di serie specifico, collegata per la prima volta alle 12:44 UTC. Un file LNK e una voce di una Jump List mostrano che l'elenco di clienti è stato aperto dall'unità E: alle 12:47 UTC, e il file LNK registra un numero di serie del volume. Il log Sicurezza mostra che l'account del dipendente risultava connesso dalle 08:30. Ogni artefatto, da solo, presenta dei limiti; insieme, supportano la risultanza secondo cui, alle 12:47 UTC, l'account del dipendente ha aperto l'elenco di clienti da un'unità USB collegata tre minuti prima. Se il file sia stato copiato, e da chi, sono questioni distinte che richiedono ulteriori prove.
Focus sull'esame: Associare ciascun artefatto a ciò che mostra: esecuzione di programmi (Prefetch, UserAssist), accesso a file e cartelle (file LNK, Jump List, ShellBag), connessioni USB (USBSTOR, MountedDevices, setupapi.dev.log) e accessi (ID evento 4624, 4625, 4634 del log Sicurezza). Conoscere inoltre la posizione dei principali hive del registro e sapere che i browser memorizzano la cronologia in database SQLite. Sono previste domande su ciò che ciascun artefatto dimostra e non dimostra, sulla distinzione tra account e persona, sul perché l'assenza di un artefatto costituisca una prova debole e sul valore della corroborazione.