Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi...

34
Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi [email protected]

Transcript of Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi...

Page 1: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia

Seminario per il corso di SicurezzaA.A. 2007/2008

Mattia [email protected]

Page 2: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia e Crittografia

La steganografia è l'arte di nascondere un messaggio segreto all'interno di una

comunicazione pubblica che apparentemente trasporta tutt'altra informazione.

Da non confondere con la crittografia!!

Lo scopo della crittografia, fondamentalmente, è quello di nascondere il contenuto di un

messaggio, mentre la steganografia si prefigge di nasconderne l’esistenza.

Page 3: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

EtimologiaLa parola steganografia deriva dall'unione dei due

vocaboli greci stego (rendere occulto) e grajh (scrittura). Steganografia è dunque "la scrittura

nascosta" o meglio ancora l'insieme delle tecniche che consente a due o più persone di comunicare in modo

tale da nascondere non tanto il contenuto, ma la stessa esistenza della comunicazione agli occhi di un

eventuale osservatore.

Si tratta di un'idea tutt'altro che nuova e che anzi vanta origini molto antiche. Nel corso dei secoli sono stati escogitati numerosi metodi steganografici, alcuni

anche bizzarri. Ad esempio…

Page 4: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Un po di storia…

Erodoto (400 a.C.) racconta la storia di un nobile persiano che fece tagliare a zero i capelli di uno

schiavo fidato al fine di poter tatuare un messaggio riservato sul suo cranio. Una volta che i capelli furono ricresciuti, inviò lo schiavo alla sua destinazione, con

la sola istruzione di tagliarseli nuovamente.

Ai giorni nostri invece, lo studio di questa materia nella letteratura scientifica si deve a Simmons che nel

1983 formulò il “Problema dei prigionieri”.

Page 5: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Il problema dei PrigionieriAlice e Bob sono in prigione e Alice e Bob sono in prigione e

devono escogitare un piano per devono escogitare un piano per fuggire: tutti i loro messaggi fuggire: tutti i loro messaggi vengono scambiati tramite il vengono scambiati tramite il

guardiano Eva. Se Eva scopre che guardiano Eva. Se Eva scopre che essi si scambiano messaggi cifrati essi si scambiano messaggi cifrati

metterà uno di loro in isolamento ed metterà uno di loro in isolamento ed il piano fallirà. Quindi essi devono il piano fallirà. Quindi essi devono

trovare un metodo per nascondere il trovare un metodo per nascondere il loro testo cifrato in un testo loro testo cifrato in un testo apparentemente innocuo.apparentemente innocuo.

Page 6: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Il problema dei Prigionieri

Page 7: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Perche utilizzarla?Ai giorni nostri la steganografia viene adottata:

da organizzazioni militari e di intelligence da forze di polizia e investigative a causa delle recenti imposizioni limitative riguardo la

crittografia per sistemi di pagamento è un ottimo modo per mantenere una segretezza di cui, per

qualche ragione, sentiamo la necessità da organizzazioni criminali

In sostanza, la steganografia funziona finchè nessuno si aspetta che qualcuno ne stia facendo uso

Page 8: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

In Sostanza

Caratteristica della steganografia è l'esistenza di due messaggi: il primo, detto

messaggio contenitore, è facilmente percepibile ed ha il compito di nascondere

il secondo, detto messaggio segreto, racchiudendolo al suo interno e

rendendolo quindi invisibile o, più correttamente, difficilmente percepibile.

Page 9: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Immagine di Lincoln, contenente svariate altre immagini.

Page 10: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Una prima classificazione

I principi che stanno alla base dei software steganografici sono sempre gli stessi…tuttavia esistono diversi approcci

che fanno individuare varie famiglie di software.

In base all'origine del file contenitore possiamo distinguere:

steganografia iniettiva steganografia generativa

Page 11: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Iniettiva

Questa categoria è senz'altro la più numerosa. I software di questo tipo consentono di "iniettare" il

messaggio segreto all'interno di un messaggio contenitore già esistente modificandolo in modo

tale sia da contenere il messaggio, sia da risultare, al livello al quale viene percepito dai sensi umani,

praticamente indistinguibile dall'originale.

 

                      

 

          

 

     

        

Page 12: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Generativa

Nei software di tipo generativo, invece, si parte dal messaggio segreto per produrre un opportuno contenitore atto a nascondere nel migliore dei modi quel determinato messaggio segreto.

Page 13: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Nella pratica:

Oltre a questa classificazione di carattere prettamente concettuale, ne esiste un’altra che caratterizza le tecniche steganografiche

più a livello pratico:

Steganografia Sostitutiva Steganografia Selettiva Steganografia Costruttiva

Page 14: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva

È senz'altro la tecnica steganografica più diffusa, tanto che spesso quando si parla di steganografia ci si riferisce implicitamente a quella di questo tipo.

Alla base di questa tecnica c'è un'osservazione: la maggior parte dei canali di comunicazione (linee telefoniche, trasmissioni radio, ecc.) trasmettono

segnali che sono sempre accompagnati da qualche tipo di rumore.

Questo rumore può essere sostituito da un segnale (il messaggio segreto) che è stato trasformato in modo tale che, a meno di conoscere una chiave segreta, è

indistinguibile dal rumore vero e proprio, e quindi può essere trasmesso senza destare sospetti.

Page 15: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva

La tecnica impiegata nella maggior parte dei programmi è concettualmente molto semplice:

sostituire i bit meno significativi dei file digitalizzati con i bit che costituiscono il file segreto

Quello che succede quindi è che il file contenitore risultante, dopo un'iniezione steganografica, si presenta in tutto e per tutto simile all’originale, con differenze difficilmente percettibili e quindi, a meno di confronti approfonditi con

il file originale (comunque non effettuabili ad occhio nudo) è difficile dire se le eventuali perdite di qualità siano da imputare al rumore od alla presenza di un

messaggio segreto steganografato.

Inoltre il più delle volte il file originale non è disponibile e quindi effettuare questo confronto è pressoché

impossibile.

Page 16: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva - Bitmap

Supponiamo di voler utilizzare come contenitore un file di tipo bitmap (bmp) con una profondità di colore a 24 bit.

Un immagine, dal punto di vista digitale, non è altro che una matrice MxN di pixel. Un file grafico di tipo bitmap a

24 bit è codificato in modalità RGB, pixel per pixel. Questo significa che ogni singolo pixel viene codificato

tramite 3 byte in sequenza, ognuno dei quali rappresenta i livelli (da 0 a 255) dei colori primari, cioè

Red, Green e Blue che costituiscono il colore di quel determinato pixel.

Questo significa che, per fare un esempio, un file bitmap a 24 bit di dimensioni 640x480 occuperà uno spazio di

640x480x3=921600 byte.

Un'operazione di steganografia sostitutiva su questi tipi di file consiste nel sostituire i bit meno significativi dei

singoli byte con quelli del messaggio segreto.

Page 17: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva - Bitmap

Se ad esempio, abbiamo un pixel codificato in questo modo:11100001 00000100 00010111

possiamo inserire tre bit del messaggio segreto. Se i bit del messaggio segreto sono 110 il nostro pixel diventerà il

seguente:

11100001 00000101 00010110

Le operazioni che si fanno su ogni singolo byte quindi possono essere tre:

Lo si lascia invariato Gli si aggiunge 1 Gli si sottrae 1

Questo fa sì che ad occhio nudo le variazioni di colore siano praticamente impercettibili.

Page 18: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva - Bitmap

Dato che un solo pixel può contenere un'informazione segreta di 3 bit, un'immagine di dimensioni MxN può contenere un messaggio segreto

lungo fino a (3*M*N)/8 byte.

Tuttavia è possibile raddoppiare o addirittura triplicare o quadruplicare la possibile dimensione del messaggio segreto utilizzando non più il

singolo bit meno significativo di ogni byte, ma i due, tre o quattro bit meno significativi.

L’altra faccia della medaglia sarà ovviamente una diminuzione della qualità dell’immagine e quindi si può dire che più bit si usano,

maggiore è la possibilità di destare sospetti. Quindi quello che si può fare è controllare ogni volta il risultato e decidere di conseguenza

quanti bit utilizzare a seconda di quanto è visibile la perdita di qualità.

Page 19: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia SostitutivaLa tecnica appena descritta rappresenta il cuore della steganografia sostitutiva, anche se di fatto ne esistono

numerose variazioni. Innanzitutto è ovvio che tutto quello che abbiamo detto vale non solo per le immagini, ma anche per

altri tipi di media, per esempio suoni (wav) e video digitalizzati.

Tutto sembra funzionare perfettamente, ma c'è un problema intrinseco nell'operare nel modo sopra esposto. Il problema risiede proprio nel formato del file contenitore utilizzato. I

formati bitmap e wav, infatti, sono formati abbastanza pesanti ed ingombranti e proprio per questo non sono molto popolari sulla rete, quindi il solo fatto di scambiare un file del genere

potrebbe destare sospetti.

Ecco perché, sulla base del concetto originario, si sono escogitate altre tecniche steganografiche da attuare anche sui

formati di file più comuni. Si sono però dovute trovare delle soluzioni alternative.

Page 20: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Sostitutiva - JPEG

In particolare, non è possibile operare come sinora descritto con i file compressi. Se iniettassimo delle informazioni in

un file bitmap e dopo lo convertissimo in JPEG, ad esempio, le informazioni andrebbero inevitabilmente perse. La compressione JPEG, infatti, ha la tendenza a

preservare le caratteristiche visive dell'immagine piuttosto che l'esatta informazione contenuta nella

sequenza di pixel, di conseguenza sarebbe impossibile risalire al file bitmap originario. 

Quello che si fa in questi casi è operare ad un livello di rappresentazione intermedio. Per poter utilizzare anche le

immagini JPEG come contenitori, è possibile iniettare le informazioni nei coefficienti di Fourier ottenuti dalla prima

fase di compressione.

Page 21: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

File Compressi

Un discorso analogo a quello fatto per i file JPEG si può fare per i file Mp3 e in generale per tutti i file compressi.

Il problema principale della steganografia che usa file compressi come contenitori è che è facilmente attaccabile, nel senso che se un file compresso che fa da contenitore viene decompresso e compresso nuovamente, è facile

capire che il messaggio nascosto andrà perso.

Page 22: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Consigli…Ci sono comunque dei semplici principi a cui

attenersi:

Innanzitutto non bisogna mai usare file pubblici o facilmente accessibili, quindi noti, perché ciò darebbe più possibilità

all’attaccante di scorgere la presenza di un messaggio steganografato.

Inoltre non bisogna mai usare più volte lo stesso file come contenitore e distruggere

gli originali dopo averli usati!!

Page 23: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Problema

Tuttavia, il principale difetto della steganografia sostitutiva è che le sostituzioni possono alterare

le caratteristiche statistiche del rumore nel media utilizzato.

Se il nemico, infatti, possiede un modello del rumore, può utilizzarlo per testare se i file sono

conformi al modello: se non lo sono probabilmente si è in presenza di un messaggio

steganografato. Il problema di questo tipo di attacco però sta nella difficoltà di costruire un

modello che tenga conto di tutti i possibili errori o rumori.

Page 24: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Selettiva

La steganografia selettiva ha valore puramente teorico e, per quanto se ne sappia, non viene

realmente utilizzata nella pratica. L'idea su cui si basa è quella di procedere per tentativi, ripetendo una stessa misura fintanto che il risultato non soddisfa una certa condizione.

Come è evidente, il problema di questa tecnica è che è troppo dispendiosa rispetto alla scarsa

quantità di informazione che è possibile nascondere.

Page 25: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Costruttiva

La steganografia costruttiva, opera più o meno come la steganografia sostitutiva, con la

differenza che nel modificare il file contenitore si tiene conto di un modello di rumore, nel senso che si tenta di sostituire il rumore

presente nel media utilizzato con il messaggio segreto nel rispetto delle caratteristiche statistiche del rumore originale. Questo

approccio sembra la soluzione migliore, ma in realtà anch'esso non è esente da difetti. 

Page 26: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Steganografia Costruttiva

Come si è già detto non è facile costruire un modello del rumore, ed anche se lo si costruisce è possibile che qualcun altro abbia costruito un

modello più accurato e quindi in grado di scorgere comunque la presenza di un messaggio segreto. Inoltre se il modello utilizzato cadesse

nelle mani del nemico, egli lo potrebbe analizzare per cercarne i punti deboli. In questo modo si regalerebbe involontariamente al nemico uno

strumento di attacco molto efficace.

Page 27: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Sistema Steganografico Ideale

A causa dei suddetti problemi, la tecnica sostitutiva rimane la più conveniente da usare.

Se si hanno particolari esigenze di sicurezza, si può pensare di usare contenitori molto più grandi rispetto al messaggio

segreto.

In questo modo il messaggio contenitore verrà modificato sono lievemente in modo da rendere impossibile la

rilevazione di un messaggio nascosto.

Page 28: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Principio di Kerckhoff

In ambito crittografico si danno le definizioni di vari livelli di robustezza di un sistema, a seconda della capacità che esso ha di resistere ad attacchi basati su vari tipi di informazioni a

proposito del sistema stesso.In particolare, i sistemi più robusti sono quelli che soddisfano i

requisiti posti dal principio di Kerckhoff, che, formulato in ambito steganografico suona così:

la sicurezza del sistema deve basarsi sull'ipotesi che il nemico abbia piena conoscenza dei dettagli di progetto e

d’implementazione del sistema stesso; la sola informazione di cui il nemico non può disporre è una sequenza di numeri casuali (la chiave segreta) senza la quale, osservando un canale di comunicazione, non deve avere neanche la più

piccola possibilità di verificare che è in corso una comunicazione nascosta.

Page 29: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Primo ProblemaSe si vuole aderire a questo principio, è evidente che le tecniche esposte fin qui non sono ancora soddisfacenti per caratterizzare un

sistema steganografico completo.

Infatti, se i dettagli di implementazione dell'algoritmo sono resi di dominio pubblico, chiunque è in grado di accedere a eventuali

informazioni nascoste, semplicemente applicando il procedimento inverso (nell'esempio visto, ciò si ottiene "riaggregando" i bit meno

significativi dell'immagine).

Per affrontare questo problema, è necessario introdurre una fase di pre-elaborazione del file segreto, che lo renda non riconoscibile

come portatore di informazioni significative.

La soluzione più ovvia è quella di impiegare un sistema di crittografia convenzionale (per esempio, il PGP), il quale garantisce appunto l'inaccessibilità da parte del nemico al messaggio vero e proprio.

Page 30: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Secondo ProblemaLa storia purtroppo non è finita qui, perché in questo

meccanismo a due stadi il secondo processo è reversibile. Poiché si presume che un crittoanalista

esperto possa facilmente riconoscere un file prodotto da un programma di crittografia convenzionale, questo

schema è ancora da considerarsi incompleto.

Questo punto è di importanza fondamentale, perché rende definitivamente non valido il sistema

steganografico, indipendentemente dal fatto che il contenuto dell'informazione segreta resti inaccessibile.

In altre parole, la crittografia fallisce il suo scopo quando il nemico legge il contenuto del messaggio: la

steganografia invece fallisce quando il nemico si rende semplicemente conto che esiste un messaggio segreto dentro il file contenitore, pur non potendolo leggere.

Page 31: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Soluzione

È opportuno quindi che il messaggio crittografato, prima di essere immerso nel contenitore, venga "camuffato" in modo da diventare difficilmente

distinguibile da semplice rumore.

A tale scopo si può procedere in questo modo:

Il più semplice è quello di eliminare dal file criptato da PGP tutte le informazioni che lo identificano

come tale: il PGP, infatti, genera un file che rispetta un particolare formato, contenente, oltre

al blocco di dati cifrati vero e proprio, informazioni piuttosto ridondanti che facilitano la gestione del file da parte dello stesso PGP…ma

saltano subito agli occhi di un esperto!

Page 32: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Soluzione

Esiste un piccolo programma, Stealth, capace di togliere e di reinserire nella fase di ricostruzione

tutte le informazioni diverse dal blocco di dati cifrati.Il file che esce da Stealth appare come una sequenza

di bit del tutto casuale, molto difficile da distinguere dal normale rumore.

Page 33: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Software StenograficiEsistono svariati software stenografici, i più famosi sono Steganos 3 Security Suite - Il programma è stato sviluppato

dalla DEMCOM di Francoforte (Germania) in collaborazione con CenturionSoft di Washington (USA)

S-Tools - scritto da Andy Brown, è un programma steganografico tra i più diffusi, facilmente reperibile in rete presso i più  comuni siti di software freeware. L’uso del programma, infatti, è completamente gratuito ed illimitato nel tempo.

MP3stego - questo programma si occupa di steganografia con file MP3 come contenitori. E’ stato rilasciato nell’agosto del 1998 ed è disponibile sia per i sistemi operativi Microsoft che per Linux. Oltre all’eseguibile, l’autore Fabien Petitcolas (Computer Laboratory) distribuisce anche il sorgente liberamente.

Steghide - free software che occulta un messaggio segreto di testo in una immagine jpg.

Page 34: Steganografia Seminario per il corso di Sicurezza A.A. 2007/2008 Mattia Camporesi camporem@gmail.com.

Riferimenti Procedure Steganografiche e Protocolli Speciali per

l’Occultamento e la Trasmissione dei Dati Dott. Serena Longhini

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/Steganografia.htm

Tools steganografici, Prof. Alfredo De Santis

“Steganografia, l'arte della scrittura nascosta” di Claudio Agosti

http://www.stegoarchive.com Steganography information, software and news to enhance you privacy

www.tonycrypt.com - Steganografia