Università degli Studi di Milano
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica
ACQUISIZIONE ED ANALISI
INVESTIGATIVE E FORENSI
DELLE MEMORIE
DI DISPOSITIVI EMBEDDED
Relatore: Prof. Mattia MONGA
Correlatore: Magg. CC Marco MATTIUCCI
Laureando:
Vincenzo SCOGNAMIGLIO
Matricola: 662252
Anno Accademico 2008-2009
EMBEDDED FORENSICS
L’aumento dei crimini compiuti per mezzo di un sistema informatico, della
diffusione dei dispositivi digitali in grado di conservare tracce attinenti a
fatti illeciti, ha fatto nascere l’esigenza dell’analisi di tali dispositivi al fine
di estrarne il contenuto da utilizzare in procedimenti giudiziari.
La Digital Forensics si occupa dell’analisi del contenuto della memoria
studiando l'individuazione, la conservazione, la protezione, l'estrazione e
la documentazione del dato informatico estratto da un qualsiasi
dispositivo digitale acquisito come fonte di prova da valutare in sede di
dibattimento.
L’Embedded System Forensics si occupa in particolare di svolgere
indagini tecniche su sistemi elettronici dedicati (embedded) ad una
specifica applicazione illecita.
IL PROBLEMA
DELL’ ACQUISIZIONE DEI DATI
Nell’ambito della Digital Forensics, le tecniche di acquisizione dei dati, volte
alla loro salvaguardia, hanno assunto
maggiore rilevanza legale con
l’approvazione della Legge 18 marzo 2008, n. 48, che recepisce la
Convenzione del Consiglio d'Europa sulla criminalità informatica. Essa
apporta significative modifiche al Codice di Procedura Penale in materia di
conservazione e non alterazione della fonte di prova informatica:
«..….anche in relazione a sistemi informatici o telematici, adottando
misure tecniche dirette ad assicurare la conservazione dei dati
originali e ad impedirne l’alterazione».
Nel caso dell’analisi forense di dispositivi embedded, è possibile eseguire
l’acquisizione della memoria attraverso un accertamento tecnico “non
ripetibile”, a norma dell’ art. 360 del Codice di Procedura Penale.
LA SPERIMENTAZIONE
Esistono a tutt’oggi diverse tecniche e metodologie per l'acquisizione e
l'analisi delle memorie contenute nei sistemi embedded.
Nello specifico sono state prese in analisi le tecniche utilizzate sui
dispositivi con sistema operativo Windows CE 6.0 allo scopo di valutarne
l'utilizzabilità in contesti investigativi.
La sperimentazione è stata condotta su di un dispositivo di navigazione
veicolare marca TOMSTAR modello 5006 con sistema operativo Windows
CE v. 6.0, processore Centrality Atlas IV 500 MHz, 64MB SDRAM, 64MB
Flash ROM.
Ne sono state illustrate le problematiche ponendo particolare attenzione, ai
fini forensi, all'analisi delle aree di memoria in cui potrebbe essere
possibile occultare dei dati, con l'obiettivo di effettuare il loro recupero.
SISTEMA OPERATIVO WINDOWS CE
Windows CE (Compact Edition) è un sistema operativo sviluppato da
Microsoft, a partire dal 1996, per dispositivi portatili (PDA, Palmari, Pocket
PC), Smartphone e sistemi embedded.
Windows CE 6.0 opera in uno
spazio di memoria virtuale di 4
gigabytes.
Il Kernel di sistema utilizza i 2
GB superiori della memoria
virtuale, mentre il processo
utente attivo ne utilizza i 2 GB
inferiori, supportando fino a
32.000
processi
utente,
limitatamente alle risorse di
sistema.
ARCHITETTURA DELLA MEMORIA
I 2 GB superiori dello spazio di indirizzamento sono riservati al sistema.
La metà inferiore dello spazio di indirizzamento è divisa in più aree. La
maggior parte di quest'area, è definita area di memoria estesa e viene
utilizzata per allocare blocchi estesi dello spazio di memoria.
ACQUISIZIONE DELLA MEMORIA
L’estrazione dei dati da un dispositivo digitale si suddivide in due classi
principali: l’acquisizione logica e l’acquisizione fisica.
L’acquisizione logica si focalizza sul contenuto visibile a livello del file
system, limitandosi ad estrarre file, database, ecc.
L’acquisizione fisica, invece, può recuperare tutti i dati contenuti in un
dispositivo digitale. Nella maggior parte dei casi, tuttavia, è possibile
recuperare solo il contenuto della flash ROM e della RAM, utilizzando o una
particolare modalità operativa del dispositivo (es: debugging del PALM OS) o
un canale di comunicazione con il sistema operativo (es.: protocollo RAPI).
Per ottenere una copia completa della memoria flash possono essere
utilizzate tre tecniche:
- flasher tool (qui utilizzati);
- porte di accesso di test JTAG;
- disassemblaggio dei componenti.
FLASHER TOOL
I “flasher tool” sono destinati a copiare la memoria di alcune famiglie di
dispositivi digitali.
Essi utilizzano alcune funzionalità delle API per interagire con aree
indirizzabili di memoria.
Vengono generalmente implementati dai produttori stessi a scopo di test,
anche se sono generalmente disponibili anche su siti internet di hacker che li
creano allo scopo di modificare le funzionalità o i limiti dei dispositivi.
Hanno il vantaggio di copiare il contenuto dei chip di memoria senza doverli
smontare dalla mother board.
CASO DI STUDIO
Il dispositivo in esame è stato connesso via USB ad un PC con
sistema operativo Windows 7 Ultimate a 32 bit, tramite il Centro
Dispositivi Windows Mobile v. 6.1.6965. Per l’acquisizione sono stati
utilizzati tool basati sui protocolli RAPI e ActiveSync.
I tool principalmente utilizzati per eseguire la copia della memoria del
dispositivo in esame sono pmemdump e pmemmap, della famiglia
dei “flasher tool”. Tali tool per poter funzionare necessitano della copia
della libreria itsutils.dll all’interno della cartella Windows del
dispositivo. Tale copia si effettua mediante l’utilizzo del tool pput.
Successivamente si esegue il dump della memoria attraverso il tool
pmemdump.
ESTRAZIONE DELL’AREA DI MEMORIA
CONTENENTE IL SISTEMA OPERATIVO
Al fine di poter visualizzare i soli file del sistema operativo di un dispositivo
Windows CE si esegue un pmemdump specificando l’offset relativo all’area che
contiene il file NK.BIN che rappresenta l’immagine del sistema operativo:
0x80040000-0x81f00000
Il dump ottenuto, in formato nb, è stato successivamente convertito in formato bin
attraverso il tool nb2bin.exe.
Il tool viewbin.exe fornisce i dati relativi all’indirizzo di inizio e alla lunghezza del
blocco, informazioni necessarie per la successiva conversione del file nk.bin in
nk.nb0, attraverso il tool cvrtbin.exe.
Il tool ha generato un file in formato nb0, necessario al tool dumprom.exe che
estrae nella directory specificata tutti i file del sistema operativo Win CE.
ANALISI FORENSE - 1
Per qualsiasi tipologia di file è possibile calcolare attraverso algoritmi di digest
(come l’MD5, SHA1 e lo SHA256) la sua “impronta digitale”.
Nel caso del dump della memoria ROM è possibile generare un “impronta
digitale” ma non è possibile confrontare quest’ultima con un impronta di
riferimento. Ciò si verifica perchè ogni dump della memoria è diverso l’uno
dall’altro in quanto lo stato della memoria varia a seconda dei processi che in quel
dato istante sono in esecuzione.
E’ possibile, dopo aver estratto i file dal dump della memoria, sottoporli ad analisi
forense, attraverso l’applicazione di un algoritmo di digest ed il confronto con una
copia autentica. Questo allo scopo di rilevare una eventuale alterazione dei file.
ANALISI FORENSE - 2
Allo scopo di rilevare la configurazione del sistema, sono stati analizzati,
attraverso un tool di editing, i file di registro, precedentemente estratti dal
immagine ottenuta, questi sono stati identificati in:
boot.hv
default.hv
user.hv
tali file contengono le seguenti chiavi:
[HKEY_CLASSES_ROOT]
[HKEY_LOCAL_MACHINE]
[HKEY_CURRENT_USER]
Poiché la struttura dati dei file di registro è documentata è possibile verificare
quali parti sono state modificate rispetto ad un file di registro non alterato.
OCCULTAMENTO DI DATI
IN UN DISPOSITIVO WINCE
La ROM di un dispositivo WinCE ha una sezione allocata al boot loader, mentre il
resto della memoria è dedicata al kernel.
L’immagine della ROM è composta da una sequenza di blocchi di memoria contigui,
alcuni dei quali vuoti, dove è possibile occultare dei dati, utilizzando due tipi di
tecniche principali:
- utilizzo di flasher tool rielaborati con tecniche di reverse engineering;
- utilizzo di una memory card precaricata con una immagine della ROM con la quale
eseguire un soft-reset del dispositivo.
Inoltre le modalità standard di allocazione delle pagine nella memoria principale
possono essere utilizzate anche per occultare dati nello slack space della ROM. Per
recuperare dati nascosti in spazi non allocati si utilizzano tecniche di data carving
offerte da diversi tool, che offrono specifiche tecniche per ogni diverso dispositivo.
CONCLUSIONI
L’analisi dei dispositivi embedded si è rivelata particolarmente problematica a
causa di diversi fattori:
 Dispositivi eterogenei per i quali il costruttore personalizza il sistema operativo,
pertanto non si hanno informazioni standard sui dispositivi;
 A causa di ciò non esistono applicazioni specifiche per la loro analisi ma tool
generici non certificati;
Invasività delle tecniche che non permettono l’acquisizione della memoria senza
alterarne il contenuto.
Nel caso in cui sorga il sospetto che siano state utilizzate tecniche di antiforensics
per nascondere e/o eliminare informazioni di natura illecita all’interno del
dispositivo in esame, si ricorre a tecniche di analisi più sofisticate (e costose), per
esempio tramite il disassemblaggio dei chip di memoria flash, per la loro analisi
successiva in un contesto controllato.
Fine
Un sentito ringraziamento a tutti coloro che mi sono stati vicino e che mi
hanno sostenuto ed incoraggiato in questi anni di studio, e in particolar modo:
ai docenti del Dipartimento di Informatica, al prof. Mattia MONGA ed ai suoi
valentissimi ricercatori che, con immensa pazienza, mi hanno guidato in
questo periodo di preparazione della mia Tesi;
ai miei compagni di studio con cui ho potuto condividere questa splendida
avventura;
al Maggiore dei Carabinieri Marco MATTIUCCI, senza il cui prezioso
contributo non mi sarebbe stato possibile realizzare questa tesi;
ed infine ma non in ordine di importanza a mia moglie Giovanna ed alle mie
figlie Giulia ed Alice che mi hanno sostenuto, incoraggiato e sopportato per
tutto il percorso di studi svolto.