Professionisti & Consulenti ICT - Italia

Il portale dei Professionisti & Consulenti ICT Italiani! Leggi tutto »

 

Category Archives: Informatica Forense

L’importanza fondamentale del Watermarking: tutela di immagini e fotografie su internet

foto

fotoA volte dimentichiamo che uploadando una foto online questa di fatto diventa di dominio pubblico nel senso che un numero indefinito di persone potrà visionarla, con google immagini o con i tanti motori di ricerca.

Questo comporta che la nostra foto sarà ipoteticamente alla portata di tanti utenti: molti sicuramente terranno un comportamento coscienzioso e onesto, mai gli passerà per la testa di usare queste immagini. Purtroppo però esistono anche tanti (troppi) utenti, inesperti o semplicemente furbi, che invece penseranno bene di cliccare il tasto destro del mouse oppure premere il tasto printscreen, duplicando in un nano secondo la nostra immagine. E se si trattasse di una foto che ritrae un dipinto o un manufatto frutto del nostro sudore? Penso che la cosa diventerebbe alquanto fastidiosa! Quindi come tutelarsi dal mare infinito di internet?

Naturalmente diversi sono i casi che si possono prospettare ma in linea generale possiamo inquadrare la questione in questi termini.

La pedopornografia on-line e la devianza minorile: il minore vittima e artefice del reato

L’argomento, quanto mai attuale, appassiona non solo gli addetti ai lavori nel campo legale, bensì una serie di figure professionali che spesso hanno a che fare con il reato di pedopornografia. Da questa percezione è nata l’idea di portare alla conoscenza di un pubblico più eterogeneo le problematiche inerenti tale crimine.

Si è svolto a Napoli, presso la Pontificia Facoltà Teologica dell’Italia Meridionale – Sez. S.Tommaso D’aquino, organizzato dall’Associazione ONLUS Informatici Senza Frontiere, un convegno strutturato come un evento formativo durante il quale si sono affrontati ed approfonditi gli aspetti psicologici e giuridici inerenti il reato di pedofilia e pedopornografia on line.

La Dott.ssa Donatella Dinacci – Esperta in analisi dei fenomeni criminali, ha coordinato i lavori introducendo i vari temi che si intrecciano nella disamina di quello che, insieme allo stalking, è da considerare il reato più  subdolo ed abietto che mente umana possa concepire.

Il Prof. Gaetano Di Palma – Vice-Preside della sez. S.Tommaso della P.F.T.I.M.,  nel suo saluto introduttivo ha sottolineato come certi argomenti siano di estrema importanza non solo per la società civile, ma anche per le istituzioni ecclesiastiche. Occasione, quindi, propizia per discuterne in questa sede con esperti di vari settori.

L’articolo 57 c.p. e il direttore di testata telematica (Nota a Corte di Cassazione n. 3551/2010)

La Corte di Cassazione, sezione V penale, con sentenza n. 3551/2010, ha posto un importante principio di diritto in materia di responsabilità del “direttore o vice direttore responsabile” che “abbia omesso di esercitare sul contenuto del periodico da lui diretto il controllo necessario ad impedire che col mezzo della pubblicazione siano commessi reati” (art. 57 c.p.), escludendo l’applicabilità di tale disposizione normativa al direttore di un giornale telematico.

La norma stabilisce che l’autore del reato è punito “a titolo di colpa”, confermando l’estraneità al nostro ordinamento penale di qualsivoglia forma di responsabilità oggettiva e richiedendo la prova dell’atteggiamento colposo di colui che avrebbe dovuto esercitare il controllo.

I due aspetti centrali della decisione sono rappresentati dalla delimitazione dell’ambito di applicazione dell’articolo 57 c.p. alla “informazione diffusa tramite la carta stampata” – in tal senso, ha affermato la Corte, l’inequivoca lettera della legge nonché l’interpretazione storica della norma – e dalla osservazione per cui la peculiarità del mezzo telematico “renderebbe, probabilmente, vano – o comunque estremamente gravoso – il compito di controllo del direttore di un giornale on line”.

Sul piano interpretativo, dunque, al criterio letterale si affianca il problema della “esigibilità della ipotetica condotta di controllo del direttore (con quel che potrebbe significare sul piano della effettiva individuazione di profili di colpa)”.

Problematiche di accertamento giudiziale dei reati informatici

Le nuove manifestazioni di condotte giuridicamente rilevanti, connesse alla diffusione dell’informatica e della telematica, non potevano rimanere senza effetti sul piano processuale, posto che il loro accertamento non può che passare attraverso la ritualità della verifica giudiziale.

Questo non soltanto in riferimento a ipotesi di reato di nuovo conio in quanto coinvolgenti nuovi beni giuridici – le possibili aggressioni ai sistemi informatici o telematici – ma anche avendo riguardo a comportamenti già sanzionati dal sistema penale classico ma caratterizzati da nuove modalità – ad esempio, la detenzione di materiale pedopornografico consistente in files fotografici non trasferiti su supporto cartaceo – fino a giungere a ricomprendere condotte che assumono rilievo processuale in riferimento a delitti che nulla hanno a che vedere con l’uso di sistemi informatici o telematici.

In quest’ultima prospettiva, assumono rilevanza, ad esempio, scambi epistolari elettronici potenzialmente idonei a dimostrare la preparazione o la realizzazione di forme tradizionali di reato ovvero conversazioni mediante chat line di natura, ad esempio, estorsiva o, infine, comunicazioni telefoniche passanti attraverso il sistema del voice – overIP e, dunque, estranee alla tradizionale linea telefonica analogica.

L’aspetto processuale delle relazioni tipiche del villaggio globale telematico ha imposto la rivisitazione degli istituti disciplinati dal codice di rito e l’elaborazione di nuovi strumenti d’indagine idonei ad affrontare la questione principe della identificazione dell’autore materiale della condotta.

In tal senso, assume rilievo il problema dell’acquisizione dei dati idonei a risalire, prendendo le mosse dall’immancabile traccia della presenza fisica in rete di un utente virtuale – l’indirizzo I.P. – all’utente reale non necessariamente identificabile con l’intestatario della utenza telefonica alla quale il servizio di connessione alla rete ha assegnato il predetto I.P.

Cenni di aspetti sostanziali del diritto delle nuove tecnologie

La diffusione dell’informatica e della telematica ha posto lo studioso del diritto dinanzi a questioni che, nel corso degli anni, hanno evidenziato tutta la loro rilevanza giuridica, a volte mettendo in crisi alcuni assiomi, principalmente legati ad un concetto di territorialità del diritto (e della giurisdizione), destinati ad essere travolti dal sempre crescente affievolimento dei confini “virtuali” che caratterizzano il nuovo villaggio globale telematico.

Concetti come “smaterializzazione” e “virtualizzazione” stanno entrando nel patrimonio lessicale comune, caratterizzando molti aspetti della vita del singolo, da quello lavorativo – si pensi, per il mondo forense, al c.d. processo telematico che smaterializza i documenti e virtualizza l’attività del professionista evitando che lo stesso, in talune occasioni, si rechi fisicamente presso il Tribunale per compiere attività connesse al mandato difensivo – a quello delle relazioni interpersonali – il social network rappresenta, oggi, un modo di condividere conoscenze che non implica necessariamente l’incontro fisico tra soggetti che dette conoscenze condividono anche sui luoghi virtuali della rete.

Com’era facile prevedere, e come la cronaca sta dimostrando, il villaggio globale virtuale finisce per replicare problematiche prima relegate allo stretto ambito interpersonale, di fatto ponendo l’operatore del diritto dinanzi a questioni giuridiche sempre più inidonee ad essere risolte mediante applicazioni più o meno analogiche o estensive di istituti nati e perfezionati nell’ormai ristretto ambito del mondo fisico.

Ciò a maggior ragione quando le questioni riguardano comportamenti penalmente rilevanti, posto che la stretta legalità rappresenta – e deve rappresentare, in un ordinamento basato sulla certezza del diritto – un canone impermeabile ad interpretazioni non rigorosamente connesse al lessico delle norme incriminatrici.

L’offesa, un tempo caratterizzata dalla parola detta o scritta, dalla materialità del documento o dalla sonorità della voce, oggi può concretarsi in una frase fisicamente intangibile ma presente nel mondo virtuale (un social network, ad esempio la “bacheca” di Facebook).

Il falso, in un documento che è solo sequenza di bit.

Come produciamo in giudizio un documento informatico?

La domanda nasce come al solito da varie discussioni, e forse è davvero il caso di cominciare a discutere seriamente di questo argomento, visto che in via generale si assiste ad un vero e proprio aumento di velocità nel senso del passaggio dalla carta al documento informatico o digitale che dir si voglia. Ma troppo spesso – almeno a mio modesto parere – ritengo che si faccia una bella confusione.

Ovviamente approfondirò questo discorso con i dovuti riferimenti, ma cerchiamo di rispondere alla domanda principale: come devo produrre in giudizio, per esempio, una email normale?

I link ai siti: non esageriamo ma… non tutto è vietato!

Partiamo da un principio:  seppur possa essere auspicabile una sorta di netiquette applicata ai link dei vari siti web, ritengo ben difficile portare in Italia gli stessi principi che regolano le attività sul web nei paesi di common law.

Direi infatti che in prima approssimazione vada fatta una distinzione sia riguardo le varie normative applicabili, sia riguardo l’essenza stessa dell’attività esplicata.

L’ascolto o la registrazione di conversazioni alle quali si è presenti NON è reato!

Di recente è intervenuta una sentenza la Cassazione (Cass. penale 08/03/2010, n. 9132) ha (nuovamentedato atto della legittimità, quale elemento di prova, della registrazione di una conversazione telefonica da parte di uno degli interlocutori; si ritiene utilizzabile, anche senza che vi sia stato un provvedimento dell’autorità giudiziaria, il contenuta di colloqui privati registrati da uno degli interlocutori.

In sostanza,  la Cassazione afferma che tra privati e’ lecita l’acquisizione di colloqui e che pertanto anche la P.G. può usare l’intercettazione di un privato che, addirittura, usi mezzi messi a disposizione dalla P.G., purche’ questa non tenda l’orecchio in diretta. Ascolto ed intercettazione sono, pertanto, giuridicamente due entità molto distinte e diversificate.

The Sleuthkit: mini guida veloce

Spesso accade di dimenticare tutte le potenzialità ed i tools di Sleuthkit, quindi ho deciso di scrivere una piccola guida veloce per illustrare gli usi più prêt-à-porter di questa utilissima suite di strumenti per la computer forensics, sviluppata da Brian Carrier.

Iniziamo dal disco/immagine

mmls /dev/sdaX o mmls disk.dd

serve a visualizzare le partizioni di un device o di un file immagine, fornendoci in output lo starting sector, molto utile per determinare l’offset di inizio partizione. ‘Mmls’ è simile a ‘fdisk-lu’ in Linux con alcune differenze. Vale a dire, che mostra i settori che non sono stati utilizzati in modo tale che questi possono essere usati per cercare dei dati nascosti. Inoltre, fornisce anche il valore della lunghezza delle partizioni in modo che possa essere usato con ‘dd’ più facilmente per estrarle.

fsstat -f file_system -o offset disk.dd

serve a fornire dati importanti sul file system presente sul dispositivo o file immagine del dispositivo in analisi, compreso un dato particolarmente interessante, ossia il block/cluster size.

ifind -f file_system -o offset -d numero_del_cluster disk.dd

serve a fornire l’i-node appartenente a quel determinato cluster. Il numero del cluster si ricava dall’offset decimale in bytes, che stiamo osservando, diviso la dimensione del cluster/blocco determinata da fsstat.

Se troviamo, per esempio, una stringa che inizia all’offset decimale 101345 in un file immagine DD, per ricavare l’i-node effettueremo 101345/dim_cluster.

ffind -f file_system -o offset disk.dd i-node

serve a fornire il nome del file corrispondente all’i-node.

istat -f file system -o offset disk.dd i-node

serve a fornire i metadati relativi al file corrsipondente a quell’i-node.

fls -d -r -p -f file_system -o offset disk.dd

serve a visualizzare i file cancellati, ricorsivamente in tutte le sottocartelle e col percorso completo (-p).

fls -a -l -p -r -f file_system -o offset disk.dd

lista tutti i files non cancellati.

icat -f file_system -o offset -r disk.dd i-node > nomefile.ext

Serve ad esportare il contenuto del file relativo all’i-node su file (nomefile.ext).

sigfind -t file_system disk.dd

Serve a cercare le “firme” che identificano i vari file system, -t list per visualizzare i vari file system supportati.

Altre informazioni preziose sono:

Esempio di come estrarre una stringa da uno spazio non allocato

Normalmente per cercare le stringhe utlizziamo la pipe di comandi:

strings -t d disk.dd | grep -i “abcd”

(“-t d” genera l’offset in decimale) che risulta essere più veloce del comando:

grep -iaob “abcd” disk.dd

-i ignora il maiuscolo/minuscolo;
-a tratta il file binario come se fosse testuale;
-b stampa il byte offset;
-o Mostra solo la parte di linea che coincide con la stringa cercata;

$ mmls disk.dd
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

Slot Start End Length Description
00: Meta 0000000000 0000000000 0000000001 Primary Tabl
01: —– 0000000000 0000000062 0000000063 Unallocated
02: 00:00 0000000063 0174000014 0173999952 NTFS (0x07)

Se vogliamo cercare le stringhe nello spazio non allocato di disk.dd e considerando che lo starting sector della partizione sia 63 e che il file system sia NTFS, allora:

1) Estraiamo lo spazio non allocato dal disco

blkls -f ntfs -o 63 disk.dd > disk.blkls

2) Estraiamo le stringhe e prendiamo solo quelle che contengono “abcdefg”, dal solo spazio non allocato estratto da blkls (disk.blkls)

strings -t d disk.blkls | grep -i “abcdefg”

per esempio un risultato potrebbe essere: 10389739: abcdefg dove 10389739 è l’offset in bytes

3) Troviamo la dimensione del cluster impostata nel file system

fsstat -f ntfs -o 63 disk.dd

CONTENT INFORMATION
———————————-
Sector Size: 512
Cluster Size: 1024
Total Cluster Range: 0 – 21749992
Total Sector Range: 0 – 173999950

4) Dividiamo 10389739 per 1024 ed otteniamo il numero 10146 che è il cluster che contiene la stringa “abcdefg”, però nel file disk.blkls e non nel file immagine, quindi dobbiamo convertire l’indirizzo del cluster del file immagine disk.blkls in un indirizzo reale del file immagine originale, cioè disk.dd.

5) Con

blkcalc -f ntfs -o 63 -u 10146 disk.dd

otteniamo 59382 che è l’indirizzo reale del cluster che contiene la stringa cercata.

6) Possiamo visualizzare il cluster usando il comando:

blkcat -f ntfs -o 63 disk.dd 59382 | less

7) Adesso cerchiamo l’i-node che ha un pointer al cluster 59382

ifind -f ntfs -o 63 -a -d 59382 disk.dd

che ci ritorna il numero 493-128-1 come risultato.

8) Reperiamo informazioni sui metadati che si riferiscono all’i-node 493:

istat -f ntfs -o 63 disk.dd 493

$FILE_NAME Attribute Values:
Flags: Archive
Name: pippo.jpg
Parent MFT Entry: 458 Sequence: 122
Allocated Size: 0 Actual Size: 0
Created: Tue Mar 18 15:05:19 2008
File Modified: Tue Mar 18 15:05:19 2008
MFT Modified: Tue Mar 18 15:05:19 2008
Accessed: Tue Mar 18 15:05:19 2008

9) Vediamo se c’è ancora un file associato all’i-node:

ffind -f ntfs -o 63 -a disk.dd 493

/Document and Settings/spectra/Documenti/pippo.jpg

abbiamo trovato un file che si chiama pippo.jpg.

10) Recuperiamo il file pippo.jpg:

icat -f ntfs -o 63 -r disk.dd 493 > pippo.jpg

Consideriamo che lo starting sector della partizione sia 63, che disk.dd sia NTFS, tramite il comando icat esportiamo il contenuto del file basandoci sul suo numero di i-node.

Spero che questo piccolo manualetto pratico sia utile a tutti quelli, che come me, cominciano ad avere l’had disk biologico sempre più full.

Raw2Fs e Scripts4CF scripts and tools…

Raw2FS, acronimo che serve ad indicare lo scopo di questo mio nuovo bash script per Linux, ossia ricondurre i nomi dei file estratti con tool come Foremost, al nome presente nel file system, con tutto il suo percorso.

Sappiamo che Foremost, come altri carver, salvano i file nominandoli col numero di settore (da 512 bytes), di partenza, in cui questi si trovano, quindi mi serviva uno strumento per risalire all’eventuale nome presente nel file system. Se il file “carvato” non ha corrispondenza con un i-node allora il tool salva l’output hex/ascii di un settore/cluster/block in  un file di testo. Tutto è riassunto in un report in HTML.

Ma visto che ero in argomento, perchè non implementare anche una ricerca per stringhe? Raw2Fs permette di cercare più keywords oppure di caricare un file di testo, generato dal “grepping” e riportare tutti i file nel file system che contengono quelle keywords, se invece la keyword è contenuta nello slack space, allora viene salvato l’output hex/ascii di un settore/cluster/block.

Il motore di tutto è questo:

se ho un file nominato 00001234.doc (carving), quel numero “1234” rappresenta il settore in cui il file è stato trovato dal carver, quindi lo si moltiplica per 512 (dimensione minima del settore) e si ottiene l’offset in byes del file, che chiamremo $offcarv.

Poi il tool cerca a quale partizione appartiene il file, trova l’inizio della partizione/spazio non allocato e moltiplica lo starting sector per la dimensione del settore/cluster/blocco (es. 1024), che chiameremo $ss, per ottenere l’offset in bytes della partizione, che chiameremo $offbytepart. (ricodiamo che per fat -> settore, ntfs -> cluster, ext2/3 -> blocco).

Ed ecco la formuletta:

($offcarv – $offbytepart) / $ss

Ossia l’offset del file carvato meno l’offset di inizio partizione diviso la grandezza del settore/cluster/blocco usato in quella partizione da quel file system. Poi tramite i tools dello SleuthkitRaw2Fs fa tutto il resto…. :)

Per le keywords stesso discorso, solo che nel file derivante dalla ricerca con strings e grep, si trovano già gli offset in bytes delle stringhe, quindi non c’è bisogno di moltiplicare per 512.

Dopo quest’ennesima “fatica”, ho pensato di lanciare il sito http://scripts4cf.sf.net contenente alcuni scripts utili, ad oggi realizzati da me e da Denis Frati, ma aperto ad ospitare anche scripts fatti da altri, insomma una vera e propria piccola biblioteca di tools costruiti dagli “investigatori digitali”, man mano che si trovano a dover affrontare e risolvere i problemi che incontrano durante le loro indagini e/o esercizi.

Spero di aver fatto cosa utile… ;)

P.S. Consiglio la lettura anche di questo articolo sul tema.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi