deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizzazione e l’analisi...

Post on 13-May-2015

346 views 1 download

Transcript of deftcon 2014 - Federico Grattirio - TIMESHARK: Uno strumento per la visualizzazione e l’analisi...

TIMESHARK: Uno strumento per la visualizzazione e l’analisi delle supertimelines

Relatore: Federico Grattirio

Indice:

Introduzione Architettura Sviluppi

Cos’è una timeline ?

A cosa serve ?

Dove posso trovare le

informazioni ?

Come ottenere una

timeline ?

Analisi e problemi

Tool disponibili

Timeshark

Case of study

Timeline nelle analisi forensi

● Metodo rapido e intuitivo per comprendere la sequenza degli eventiavvenuti 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 richiederenecessariamente una trattazione automatizzata

● Raccogliere una ricca base dati è ormai relativamente semplice…

● …elaborarla invece no

Introduzione Architettura SviluppiCase of study

Dove posso trovare le informazioni ?

● Filesystem

Introduzione Architettura SviluppiCase of study

Dove posso trovare le informazioni ?

● Filesystem

● File di log (sistema e applicazioni)

Introduzione Architettura SviluppiCase of study

Dove posso trovare le informazioni ?

● Filesystem

● File di log (sistema e applicazioni)

● Cronologia e cache dei browser

Introduzione Architettura SviluppiCase of study

Dove posso trovare le informazioni ?

● Filesystem

● File di log (sistema e applicazioni)

● Cronologia e cache dei browser

● Metadati interni ai documenti

Introduzione Architettura SviluppiCase of study

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 SviluppiCase of study

Come ottenere una timeline ?

Introduzione Architettura SviluppiCase of study

Analisi e problemi

● Grandi moli di dati

○ Timeline derivanti dal solo journal NTFS possono avere dai 500.000 a2.000.000 eventi

● Grande varietà di formati in input

○ I timestamp sono registrati in formati diversi, che variano da sistemaoperativo, filesystem, applicazioni…

○ Le timeline possono provenire dai report di diversi tool diacquisizione o carving

○ Gli eventi possono essere stati registrati da diversi sistemi, con diversifusi orari o time skew rilevanti

● Complessità di visualizzazione

● Complessità di analisi

Introduzione Architettura SviluppiCase of study

Tool disponibili - Autopsy

Introduzione Architettura SviluppiCase of study

• Open source

• Funzione ancora in beta (e si vede…)

• 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

Tool disponibili – Kibana

Introduzione Architettura SviluppiCase of study

• Open source e web based

• Interfacciabile con Plaso/log2timeline

• Altamente scalabile

• Non disegnato specificamente per analisi forensi

• Nessun accesso alla sorgente

Tool disponibili – 4n6time

Introduzione Architettura SviluppiCase of study

• 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

Tool disponibili – Aftertime

Introduzione Architettura SviluppiCase of study

• 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

Tool disponibili - FTK

Introduzione Architettura SviluppiCase of study

• Raccolta dati basata su log2timeline

• Accesso diretto alla sorgente

• Interfaccia grafica scarsamente produttiva

• Software proprietario

• Disponibile solo per Windows

Tool disponibili - Encase

Introduzione Architettura SviluppiCase of study

• 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

Tool disponibili - Webscavator

Introduzione Architettura SviluppiCase of study

• Open source

• Ottima interfaccia

• Filtri preconfigurati e report intuitivi

• Permette solo l’analisi di timeline derivanti da navigazione web

Tool disponibili - IEF

Introduzione Architettura SviluppiCase of study

• Lunghi tempi di caricamento

• Interfaccia molto reattiva

• Base dati ampia, ma comunque limitata ai risultati di IEF

• Software proprietario

• Disponibile solo per Windows

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 SviluppiCase of study

Indice:

Introduzione Architettura Sviluppi

Struttura generale

Plugin

Tecnologie

Case of study

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 SviluppiCase of study

Plugin

● Caricati dinamicamente all’avvio di Timeshark

● Plugin scanner -> Permettono l’interpretazione di file in input

● Plugin filtro -> Permettono la creazione di filtri standard

● Plugin di visualizzazione -> Permettono la creazione di svariati punti di vista

sul database

● Plugin di export -> Permettono l’esportazione dei dati nel formato desiderato

Introduzione Architettura SviluppiCase of study

Tecnologie

● Python

○ Linguaggio di programmazione multipiattaforma

● Librerie Qt

○ Librerie grafiche multipiattaforma per lo sviluppo di interfacce grafiche

● SqLite

○ Libreria software per la creazione di un database relazionale

Introduzione Architettura SviluppiCase of study

Indice:

Introduzione Architettura SviluppiCase of study

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

analisiAggiunta file Aggiunta filtri Aggiunta tag

Introduzione Architettura SviluppiCase of study

Creazione analisi

Introduzione Architettura SviluppiCase of study

Creazione analisi

Introduzione Architettura SviluppiCase of study

Aggiunta file

Introduzione Architettura SviluppiCase of study

Aggiunta file

Introduzione Architettura SviluppiCase of study

Aggiunta filtro

Introduzione Architettura SviluppiCase of study

Aggiunta filtro

Introduzione Architettura SviluppiCase of study

Aggiunta filtro

Introduzione Architettura SviluppiCase of study

Aggiunta filtro

Introduzione Architettura SviluppiCase of study

Aggiunta tag

Introduzione Architettura SviluppiCase of study

Aggiunta tag

Introduzione Architettura SviluppiCase of study

Export data

Introduzione Architettura SviluppiCase of study

Results

Introduzione Architettura SviluppiCase of study

Indice:

Introduzione Architettura SviluppiCase of study

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 SviluppiCase of study

Introduzione Architettura SviluppiCase of study

Timeshark v. 0.1

Contatti:

• Federico grattirio

<federico.grattirio@gmail.com>

Acknowledgement:

• Antonio Barili

• Davide Gabrini Domande ?