TIMESHARK: Uno strumento per la visualizzazione e l`analisi delle

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