TIMESHARK: Uno strumento per la visualizzazione e l’analisi delle supertimelines Relatore: Federico Grattirio Indice: Introduzione Timeline nelle analisi forensi A cosa servono ? Dove posso trovare le informazioni ? Come ottenere una timeline ? Analisi e problemi Tool disponibili Timeshark Architettura Case of study Sviluppi Timeline nelle analisi forensi ● ● ● Metodo rapido e intuitivo per comprendere la sequenza degli eventi avvenuti in una determinata finestra temporale ● Ricostruire le attività di un utente o di un intruso ● Ricostruire le fasi di un attacco informatico ● Individuare il punto di compromissione originale ● Individuare le cause di un incidente ● Evidenziare incongruenze sintomo di attività illecite o antiforensics Gli eventi provengono da una pluralità di fonti eteronegee Gli eventi di natura digitale sono registrati in quantità tali da richiedere necessariamente una trattazione automatizzata ● Raccogliere una ricca base dati è ormai relativamente semplice… ● …elaborarla invece no Introduzione Architettura Case of study Sviluppi Dove posso trovare le informazioni ? ● Filesystem Introduzione Architettura Case of study Sviluppi Dove posso trovare le informazioni ? ● Filesystem ● File di log (sistema e applicazioni) Introduzione Architettura Case of study Sviluppi Dove posso trovare le informazioni ? ● Filesystem ● File di log (sistema e applicazioni) ● Cronologia e cache dei browser Introduzione Architettura Case of study Sviluppi Dove posso trovare le informazioni ? ● Filesystem ● File di log (sistema e applicazioni) ● Cronologia e cache dei browser ● Metadati interni ai documenti Introduzione Architettura Case of study Sviluppi Dove posso trovare le informazioni ? ● Filesystem ● File di log (sistema e applicazioni) ● Cronologia e cache dei browser ● Metadati interni ai documenti ● ...e molti altri, anche esterni al sistema in esame ● log dei provider, tabulati telefonici, sistemi di videosorveglianza… Introduzione Architettura Case of study Sviluppi Come ottenere una timeline ? Introduzione Architettura Case of study Sviluppi Analisi e problemi ● ● ● ● Grandi moli di dati ○ Timeline derivanti dal solo journal NTFS possono avere dai 500.000 a 2.000.000 eventi Grande varietà di formati in input ○ I timestamp sono registrati in formati diversi, che variano da sistema operativo, filesystem, applicazioni… ○ Le timeline possono provenire dai report di diversi tool di acquisizione o carving ○ Gli eventi possono essere stati registrati da diversi sistemi, con diversi fusi orari o time skew rilevanti Complessità di visualizzazione Complessità di analisi Introduzione Architettura Case of study Sviluppi Tool disponibili - Autopsy • • • • • • • Open source Funzione ancora in beta Base dati limitata al filesystem Accesso diretto alla sorgente dell’evento Non permette di applicare filtri alla timeline Non permette di evidenziare gli eventi Disponibile solo per Windows e DEFT Introduzione Architettura Case of study Sviluppi Tool disponibili – Kibana • Open source e web based • Interfacciabile con Plaso/log2timeline • Altamente scalabile • Non disegnato specificamente per analisi forensi • Nessun accesso alla sorgente Introduzione Architettura Case of study Sviluppi Tool disponibili – 4n6time • Non è open source • Buona integrazione coi backend • Interfaccia molto evoluta, ma ancora difettosa (navigazione visuale, accesso alla sorgente, gestione filtri, paginazione…) • Strumento potente, ma non adattabile Introduzione Architettura Case of study Sviluppi Tool disponibili – Aftertime • • • • Sorgenti chiusi Licenza d’uso fortemente limitante Ottimo supporto agli artefatti, ma non estensibile Interfaccia intuitiva, ma non priva di difetti (accesso alla sorgente, bookmark…) • Tempi di reazione insoddisfacenti Introduzione Architettura Case of study Sviluppi Tool disponibili - FTK • Raccolta dati basata su log2timeline • Accesso diretto alla sorgente • Interfaccia grafica scarsamente produttiva • Software proprietario • Disponibile solo per Windows Introduzione Architettura Case of study Sviluppi Tool disponibili - Encase • • • • • • Interfaccia limitata, ma molto reattiva Accesso diretto alla sorgente dell’evento Base dati limitata ai timestamp del filesystem Reportistica inadeguata Software proprietario Disponibile solo per Windows Introduzione Architettura Case of study Sviluppi Tool disponibili - Webscavator • Open source • Ottima interfaccia • Filtri preconfigurati e report intuitivi • Permette solo l’analisi di timeline derivanti da navigazione web Introduzione Architettura Case of study Sviluppi Tool disponibili - IEF • Lunghi tempi di caricamento • Interfaccia molto reattiva • Base dati ampia, ma comunque limitata ai risultati di IEF • Software proprietario • Disponibile solo per Windows Introduzione Architettura Case of study Sviluppi Timeshark ● Open source ● Multipiattaforma ● Tempi di risposta adeguati anche con grandi moli di dati ● Interfaccia punta e clicca, intuitivo, semplicità di utilizzo ● Possibilità di segnalare eventi sospetti ● Possibilità di aggregare più eventi ● Possibilità di filtrare e colorare gli eventi ● Possibilità di personalizzazione del software Introduzione Architettura Case of study Sviluppi Indice: Introduzione Architettura Tecnologie Struttura generale I plugin Plugin scanner Plugin filtro Plugin visualizzazione Plugin export Case of study Sviluppi Tecnologie ● Python ○ ● Librerie Qt ○ ● Linguaggio di programmazione multipiattaforma Librerie grafiche multipiattaforma per lo sviluppo di interfacce grafiche SqLite ○ Libreria software per la creazione di un database relazionale Introduzione Architettura Case of study Sviluppi Struttura generale ● Model: Gestione dei dati presenti nel database ● View: Gestione della visualizzazione dei dati ● Controller: Gestione della elaborazione dei dati ● Plugin managers: Gestione dei plugin Introduzione Architettura Case of study Sviluppi Plugin scanner ● Caricati dinamicamente all’avvio di Timeshark ● L’utente può scegliere quale utilizzare ed impostare i relativi parametri dall’interfaccia di inserimento file ● Ogni plugin scanner si occupa di effettuare il parsing di ogni singola riga di un dato formato di file Introduzione Timeshark Architettura Conclusioni Plugin scanner ● Caricati dinamicamente all’avvio di Timeshark ● L’utente può scegliere quale utilizzare ed impostare i relativi parametri dall’interfaccia di inserimento file ● Ogni plugin scanner si occupa di effettuare il parsing di ogni singola riga di un dato formato di file Introduzione Timeshark Architettura Conclusioni Plugin scanner ● Caricati dinamicamente all’avvio di Timeshark ● L’utente può scegliere quale utilizzare ed impostare i relativi parametri dall’interfaccia di inserimento file ● Ogni plugin scanner si occupa di effettuare il parsing di ogni singola riga di un dato formato di file Introduzione Timeshark Architettura Conclusioni Plugin scanner ● Caricati dinamicamente all’avvio di Timeshark ● L’utente può scegliere quale utilizzare ed impostare i relativi parametri dall’interfaccia di inserimento file ● Ogni plugin scanner si occupa di effettuare il parsing di ogni singola riga di un dato formato di file Introduzione Timeshark Architettura Conclusioni Plugin filtro ● Caricati dinamicamente all’avvio di Timeshark ● L’utente può scegliere quale utilizzare ed impostare i relativi parametri dall’interfaccia di inserimento filtro ● Ogni plugin filtro può essere applicato sia come filtro di colorazione che di esclusione ● Ogni plugin filtro avrà come output una stringa che verrà inserita nella clausola “WHERE” della query tramite operatore “AND” Introduzione Timeshark Architettura Conclusioni Plugin visualizzatori ● Caricati dinamicamente all’avvio di Timeshark ● Ogni plugin di visualizzazione ha a disposizione un “tab” della GUI di Timeshark per la visualizzazione dell’output ● Ogni plugin di visualizzazione può decidere la query da eseguire Introduzione Timeshark Architettura Conclusioni Plugin export ● Caricati dinamicamente all’avvio di Timeshark ● Ogni plugin di export riceve in input la query da eseguire per la scelta dei record ● Ogni plugin può avere in input n parametri, a scelta dello sviluppatore Introduzione Timeshark Architettura Conclusioni Indice: Introduzione Architettura Case of study Sviluppi Case of study Dati: ● Journal derivato da partizione NTFS Obiettivo: ● Ricavare eventi compresi tra le ore 07:27 e le ore 07:30 ● Evidenziare gli eventi di creazione file ● Segnalare tramite tag gli eventi che comprendono solo il tipo “file_created” Workflow: Creazione analisi Aggiunta file Introduzione Architettura Aggiunta filtri Case of study Aggiunta tag Sviluppi Creazione analisi Introduzione Architettura Case of study Sviluppi Creazione analisi Introduzione Architettura Case of study Sviluppi Aggiunta file Introduzione Architettura Case of study Sviluppi Aggiunta file Introduzione Architettura Case of study Sviluppi Aggiunta filtro Introduzione Architettura Case of study Sviluppi Aggiunta filtro Introduzione Architettura Case of study Sviluppi Aggiunta filtro Introduzione Architettura Case of study Sviluppi Aggiunta filtro Introduzione Architettura Case of study Sviluppi Aggiunta tag Introduzione Architettura Case of study Sviluppi Aggiunta tag Introduzione Architettura Case of study Sviluppi Export data Introduzione Architettura Case of study Sviluppi Results Introduzione Architettura Case of study Sviluppi Indice: Introduzione Architettura Case of study Sviluppi Sviluppi Sviluppi: ● Creazione di plugin di visualizzazione grafica delle timeline ● Creazione di plugin di visualizzazione di statistiche/sessioni presenti nei dati analizzati ● Creazione di plugin per l’importazione dei più comuni file derivanti da tool di estrazione e carving ● Creazione di plugin per l’esportazione in formato xml (con xsl) ● Link diretto alla sorgente dell’evento Introduzione Architettura Case of study Sviluppi Timeshark v. 0.1 Contatti: • Federico grattirio <[email protected]> Acknowledgement: • Antonio Barili Domande ? • Davide Gabrini Introduzione Architettura Case of study Sviluppi