# IoT Forensics

IoT Forensics è un ramo della scienza digitale forense che ha come obiettivo l'identificazione e l'estrapolazione di informazioni digitali da dispositivi appartenente al campo dell'Internet delle cose (IoT), utilizzando un processo legalmente accettabile e corretto.

## Definizione

A differenza degli approcci della scienza digitale forense tradizionale, l'IoT forensics è caratterizzata da un ben più largo insieme di possibili fonti di prove forensi: rispetto alla tradizionale analisi di server, computer e smartphone, i processi di IoT forensics possono estrarre informazione dai dati scambiati in ambienti intelligenti fra cui sistemi di monitoraggio, semafori, impianti medici, dispositivi per la casa intelligente e molti altri scenari IoT. Le possibili fonti di prova dell'IoT forensics possono inoltre essere molto differenti per natura rispetto ai casi d'uso tradizionali: il traffico di rete, dati provenienti dal cloud, log di sistema dei dispositivi e altre informazioni possono essere raccolte e utilizzate come fonti di prova se estrapolate e processate nel modo appropriato.
La IoT forensics viene identificata come combinazione di tre diversi schemi di scienza digitale forense:
* Scienza forense a livello di dispositivo IoT: processo che estrapola fonti di prova da dispositivi IoT (es. dalla memoria del dispositivo). Molte tipologie di dispositivi può essere inclusa in questo processo: esempi sono sensori, impianti medici, veicoli connessi e intelligenti, videocamere intelligenti, dispositivi per la casa intelligente quali lampadine o assistenti vocali, dispositivi RFID, droni. Considerando la diversa composizione e le diverse funzionalità dei vari dispositivi, l'identificazione e raccolta di prove a livello di dispositivo è spesso ardua e non sempre possibile.
* Scienza forense a livello di rete: Processo che identifica ed estrae fonti di prova dai log di rete, tracce di traffico dei dispositivi e dagli schemi di comunicazione. Rispetto alla scienza forense di rete tradizionale, nelle reti IoT includiamo nuove tipologie di rete quali ad esempio Body Area network e Personal Area Network (dispositivi Bluetooth e Zigbee) Per ogni tipologia diversa di rete, bisogna applicare metodi legali appropriati per l'investigazione, utilizzando strumenti diversi e analizzando protocolli di rete appropriati.
* Scienza forense a livello di cloud: Processo che estrapola informazioni dal cloud utilizzato dai diversi dispositivi. I dispositivi IoT sono caratterizzati solitamente da una memoria fisica molto limitata, il che comporta che la maggior parte delle informazioni prodotte dal dispositivo sono inviate e salvate in applicazioni cloud proprietarie, che quindi possono contenere un gran numero di possibili prove forensi (ad es. attività dei dispositivi). Considerando la quantità di informazioni che può essere recapitata dalle diverse entità coinvolte nei servizi di cloud, la scienza forense a livello di cloud ha un ruolo fondamentale nel dominio dell'IoT forensics: log di sistema, log di accesso, sessioni, log dei messaggi, cookies, dati di autenticazione e informazioni delle applicazioni sono solo esempi delle informazioni che possono essere raccolte per ogni dispositivo IoT a partire dalle piattaforme cloud.

## Processo dell'IoT forensics

Il processo investigativo dell'IoT forensics deve essere condotto utilizzando le linee guida tradizionali per far si che le prove raccolte e analizzate possano essere ammissibili per la corte.
Il processo è analogo a quello della scienza digitale forense, ma incontra molte più difficoltà causate dalle particolarità dei dispositivi IoT. L'intero processo può essere suddiviso temporalmente in sei fasi: Identificazione della prova, Raccolta della prova, Preservazione e protezione della prova, Analisi della prova, Attribuzione dell'attacco, Presentazione della prova.
Ciascuna delle diverse fasi delle scienze forensi può introdurre svariate difficoltà quando applicate alle limitazioni dei dispositivi IoT.

### Identificazione e collezione delle prove

L'identificazione di una prova e la successiva raccolta sono le prime fasi da effettuare durante un processo legale. La perquisizione e il sequestro delle prove è un procedimento fondamentale in ogni esaminazione forense: nel caso particolare dell'IoT forensics, identificare la presenza di sistemi IoT non è sempre immediato considerando che i dispositivi sono generalmente di dimensioni ridotte e sono pensati per funzionare in modo passivo e autonomo.
La maggior parte dell'informazione dei dispositivi IoT è generalmente inviata ai server nel cloud, essendo note le limitate capacità fisiche della memoria degli stessi dispositivi. Ciò introduce delle difficoltà per gli investigatori che talvolta potrebbero non sapere dove l'informazione è situata, essendo distribuita fra vari server i diversi data centers. Dopo il passo di identificazione, la collezione di prove dal cloud non è sempre possibile viste le diverse giurisdizioni sotto il quale i vari dati si potrebbero trovare. I diversi data centers sono infatti generalmente distribuiti fra vari paesi così da ridurre i costi e aumentare l'efficienza del servizio. Per questa ragione la figura dell'investigatore spesso deve affrontare problemi legali fra più paesi durante la raccolta da informazioni che si trovano nel cloud, il che spesso porta all'impossibilità di tale acquisizione.
A livello di rete alcune delle prove possono essere raccolte dai dispositivi di rete quali router o firewall, ma la maggior parte delle potenziali fonti di prova sono nella rete sono volatili. Il traffico di rete ad esempio può essere catturato solo nel momento in cui attraversa un nodo che lo sta processando. Ci sono dispositivi e procedure apposite per catturare e salvare il traffico di rete, ma è infattibile conservare l'intero traffico visto il grande volume che occupa. La questione di privacy e i problemi legali della collezione dei dati a livello di rete sono perfino più ampi del livello di cloud, considerando che i dati che attraversano la rete potrebbero includere molte informazioni non correlate al caso legale interessato.
L'attuale ricerca nell'applicazione di metodi forensi nelle reti sta lavorando sullo sviluppo di strumenti basati nei più utilizzati software di cattura e analisi del traffico di rete (tcpdump, Wireshark) per estrapolare informazioni dai dispositivi di rete (ad esempio Access Point Wi-Fi) evitando di salvare il traffico di rete ma comunque conservando potenziali prove per investigazioni future.
A livello di dispositivo, una volta che il dispositivo interessato è stato identificato, le prove devono essere estratte dalla sua memoria fisica. Le linee guida del processo tradizionale della scienza digitale forense suggeriscono di spegnere il dispositivo interessato per prevenire l'alterazione dei dati.
Considerando però che i servizi di cloud stanno sostituendo quasi del tutto lo spazio di archiviazione (ROM) dei dispositivi IoT, la maggior parte delle informazioni che si può estrarre dal dispositivo risiede nella memoria volatile (RAM). La creazione di una copia della prova della memoria volatile deve necessariamente essere fatta senza spegnere il dispositivo, il che va contro i suggerimenti del processo tradizionale e non è sempre possibile viste le limitate capacità energetiche dei dispositivi, spesso a batteria.
I dispositivi disconnessi inoltre potrebbero diventare permanentemente inaccessibili senza appropriata riconfigurazione, che comporta una modifica dei log di sistema e la possibile perdita di informazioni da utilizzare nelle prove. Per questi motivi l'approccio da seguire a livello di dispositivo è eseguire una raccolta di dati live.
Nel complesso, la ricerca nel campo IoT forensics ha presentato diversi framework e vari strumenti che possano aiutare l'investigatore per l'identificazione, la collezione e l'analisi delle prove. Gran parte degli strumenti richiede però un processo preparativo (ad es. l'installazione del software) e quindi non è sempre possibile il suo utilizzo, a meno di una fase preparatoria effettuata prima dell'incidente.

### Protezione delle prove

Dopo l'identificazione e la raccolta della fonte di prova, l'investigatore deve preservare i dati raccolti e garantire la loro integrità durante l'intero processo da subito dopo la raccolta fino alla presentazione finale in tribunale.
Mentre la protezione dei data utilizzando tecniche appropriate (ad es. hashing) è possibile nella scienza digitale forense tradizionale, essa rappresenta invece una sfida ardua e necessita particolare attenzione negli ambienti IoT. Le interazioni autonome fra i diversi dispositivi introduce delle difficoltà nell'identificazione della sorgente delle prove e dei confini della scena del crimine.
La protezione delle prove nell'IoT Forensics richiede quindi tecniche moderne e che siano distribuite per preservare la prova ed evitare la corruzione dei dati interessati. Per questa ragione la ricerca nell'ambito di protezione dei dati si concentra sull'applicazione di soluzioni basate su blockchain per preservare l'informazione, quindi per salvare il dato in maniera distribuita nella rete evitando quindi possibili attacchi esterni alla sua integrità.

### Analisi delle prove

Questa fase include tutti i passi di analisi necessari dagli investigatori che devono processare e collegare le prove raccolte per raggiungere un risultato per l'investigazione. Nel caso di prove in campo IoT, il volume di dati che viene solitamente raccolto nelle precedenti fasi rende quasi impossibile un'analisi end-to-end delle prove. La maggioranza dei dispositivi IoT nella rete non salva inoltre alcun metadato che includa informazioni temporali quali data di creazione o di ultima modifica. Ciò rende ancor più difficile la verifica della provenienza delle prove e assicurarsi dell'integrità dei dati raccolti.
A livello di dispositivo, per l'analisi della memoria di dispositivi, diversi strumenti possono essere utilizzati collegandosi elettronicamente al dispositivo (Memory Forensics).
A livello di rete la ricerca accademica nel particolare caso dell'IoT forensics ha presentato molti casi di applicazione di algoritmi di Intelligenza Artificiale e tecniche di Machine Learning per analizzare la grande mole di dati che può essere estratta dalle tracce di traffico di rete dei dispositivi.
Nella fase di attribuzione dell'attacco, le prove collezionate ed analizzate sono riassunte per portare al risultato finale dell'investigazione. Nella scienza digitale forense tradizionale, le fonti di prova coinvolte sono generalmente estratte da dispositivi personali che quindi conducono ad una sola persona o a un numero ridotto di sospettati. Lo stesso non può dirsi nel caso dell'IoT forensics in cui i dati, specialmente se estratti dal cloud, possono trovarsi in server fisici utilizzati contemporaneamente da milioni di persone.

### Presentazione delle prove

L'ultima fase di ogni processo investigativo è la presentazione finale delle prove raccolte e analizzate di fronte ai giudici della corte. La presentazione delle prove in campo IoT non è semplice cosi come nei tradizionali casi, in particolare nella ricerca di una forma ben comprensibile delle prove stesse che spesso sono in forma astratta. In base al sistema legale di riferimento, potrebbe essere necessario presentare le prove di fronte ai giudici che molto probabilmente hanno una limitata se non nulla conoscenza degli argomenti sul cloud e sulla rete, spesso basati sulla propria esperienza e sulla pubblicità dei media. Questo introduce difficoltà per l'investigatore nell'organizzazione delle prove per produrre una relazione che sia facilmente comprensibile da persone non esperte del settore.

## IoT Forensics vs. Security

L'IoT Forensics non deve essere confusa con la sicurezza in IoT. L'IoT Forensics si occupa di ricercare e analizzare prove per scopi forensi: le prove non sono sempre legate ad attacchi a dispositivi IoT o alla loro sicurezza, ma possono essere provate per provare un crimine nelle scienze forensi tradizionali (ad es. una persona rilevata in una stanza da prove estratte da dispositivi IoT). Dall'altra parte, la sicurezza in IoT si occupa dei rischi legati alla presenza di dispositivi IoT e dagli attacchi che potrebbero averli come obiettivo: essa protegge i dispositivi da attacchi esterni e previene che i dispositivi possano essere sorgente di attacco per altre entità nella rete.