INFORMATICA - PLUG COMPUTER

"...non embedded, non general purpose, but always on..."

Aprile 2012

Premessa

Un plug computer è un dispositivo digitale di piccole dimensioni, generalmente poco costoso, la cui progettazione ne fa un ibrido tra sistemi embedded (es. un GPS) e personal computer "tradizionali" (le cui funzionalità non sono di principio limitate a determinati settori).

La diffusione dei plug computer è iniziata nel 2009 e progredisce in quanto fenomeno legato al cloud computing. La progressiva ed inarrestabile espansione dei servizi cloud unita al basso costo ed ingombro di tali dispositivi ne fa prevedere un notevole incremento in presenza nei luoghi più disparati.

I plug computer sono generalmente server con funzionalità limitate e mirate che operano soprattutto fornendo servizi in rete. Spesso si tratta di box direttamente collegati all'alimentazione elettrica simili per intendersi a powerline e/o alimentatori. I servizi più comuni che realizzano sono: NAS, CloudPlugging, Security, Encryption e non sono esclusi servizi di routing e VoIP.

L'approccio forense al plug computer

Normalmente basati su architettura ARM, classica RAM DDR ed uno storage (memoria semi-permanente) NAND flash, un plug computer è teso a rendere disponibili le più comuni porte di interfacciamento verso l'esterno e quindi: Ethernet, USB e slot SD. Linux in varie sue distribuzioni customizzate (Ubuntu, Debian, OpenWrt, Fedora, ecc.) è il sistema operativo generalmente presente nel dispositivo.

Date le radici "embedded" della progettazione è bene tenere presente che le motherboard dei plug computer presentano quasi con certezza assoluta l'interfaccia JTAG ovviamente impiegata inizialmente per la verifica delle funzionalità e supporto ad eventuale debugging. Questa informazione è determinante ai fini forensi, unico lato negativo è il fatto che il connettore JTAG non è sempre standard.

1. "Staccare la spina..."

I plug computer sono sempre attivi ed ogni riattivazione ne implica la modifica dei contenuti della memoria semipermanente, inoltre i dati in RAM hanno un'importanza notevole ed il distacco dalla spina del dispositivo li elimina permanentemente.

Il punto di partenza, dal punto di vista forense è quindi che: (1) non è possibile riattivare i dispositivi una volta spenti (es. sequestrati fisicamente) senza apportare modifiche a volte sostanziali ai dati (è bene ricordare che le memorie flash operano i cambiamenti dei contenuti per blocchi riscrivendo discrete aree di memoria); (2) non è possibile spegnere il dispositivo (sequestro) senza perdere dati determinanti presenti in RAM.

Con i punti (1) e (2) di cui sopra bene in mente si passa ora a determinare quali sono i possibili approcci tecnici al trattamento dei plug computer e prelievo/analisi dei dati per scopi investigativi.

Non vi è bisogno di sottolineare che si tratta di un'attività in condizioni di urgenza sulla scena.

2. Approccio via rete

Per taluni di questi dispositivi è possibile interagire via rete collegandosi alla LAN in cui operano e guadagnandone il controllo da remoto. Ciò può essere fatto solo in alcuni casi ed il più delle volte sfruttando la collaborazione delle ditte produttrici (impiegando le stesse possibilità dei servizi di aggiornamento del firmware). Guadagnato il controllo remoto è possibile redirigere una copia di RAM e/o NAND su un dispositivo di raccolta ed analisi dei dati esterno (di polizia).

3. Approccio via JTAG

Nell'ipotesi di potersi collegare in JTAG al dispositivo un software come l'OpenOCD può permettere di gestire semplicemente la comunicazione tra il sistema di polizia ed il plug computer ottenendo dati dalla memoria o inserendoli. Si potrebbe rendere possibile, in questo modo, anche modificare boot loader e sistema operativo ma dal punto di vista forense è semplicemente sconsigliato a meno di particolari necessità (si pensi a quello che avviene nei cellulari). Dopotutto il JTAG consente di effettuare una copia in relativa sicurezza (l'impiego di hardware di write blocking o similare, per queste situazioni, non è neanche pensabile) per cui sfruttarlo per modificare l'operatività del dispositivo deve essere giustificato da precise problematiche.

4. Approccio "di forza": il desoldering

In casi estremi si può pensare di dissaldare i chip di memoria e leggerli su apparecchiatura specifica esterna. Come per i sistemi embedded in generale ciò è costoso, complesso, pericoloso (perdita dei dati) e spesso non porta a risultati apprezzabili nonostante il tempo e le risorse che richiede. Rimane l'approccio determinante in molti casi di dispositivo danneggiato..

5. Il problema dell'analisi dei dati repertati

Nell'ipotesi di essere riusciti a prelevare i dati da RAM e Flash la fase di analisi non si presuppone come rosea. Per quanto riguarda la RAM niente di nuovo rispetto al carving che si opera in ambito di live forensics su sistemi Linux. Per la flash "esterna" come SSD o SD si opera con la tradizionale computer forensics dato che i file system sono standard. Per la flash interna (quella che si può ottenere esclusivamente mediante i metodi sopra riportati e che contiene il sistema operativo) non esistono ad oggi software che ne permettano l'analisi forense in maniera completa. Il metodo dell'emulazione rimane quindi l'unico possibile (oltre al carving puro ovviamente). Si può pensare sia ad un'emulazione software che hardware:

- nel caso software si può procedere al montaggio su un altro sistema Linux del file system presente (es. JFFS) nella copia, impiegando un emulatore di NAND e verificare quanto si riesce a leggere/estrarre;

- si può ipotizzare di programmare una NAND equivalente a quella repertata con l'immagine dei dati e poi riutilizzarla in un plug computer equivalente;

E' bene tenere presente che spesso il carving diretto ha più esito di tali approcci in quanto fortemente agli inizi.

Conclusioni

Veramente interessante è considerare come un settore tipicamente dell'electronic forensics sia andato ad "infilarsi" nel cloud computing ossia all'area di massima espansione dell'IT di questi anni, legandosi ad esso.

Niente di nuovo se si riflette sulla regola essenziale che i sistemi "small scale" sono progressivamente divenuti dominanti proprio in corrispondenza del fatto che la "connessione" ad Internet ha acquisito predominanza rispetto all'elaborazione e memorizzazione dei dati in loco.

Dal punto di vista del digital forensics i plug computer incrementano la spinta verso la live forensics che Network ed Internet Forensics stanno evidenziando da anni quindi tutto risulta estremamente coerente.