1 Seminario di Sicurezza (AA ) Steganografia Chiara Casanova
2 Introduzione La steganografia è larte di nascondere il fatto che una comunicazione sta avvenendo. I sistemi steganografici possono nascondere messaggi allinterno di immagini o altri oggetti digitali cosicché, ad un osservatore esterno di tali oggetti, il messaggio risulti invisibile. Tali sistemi hanno ovviamente senso quando cè un nemico che non deve sapere che una certa comunicazione sta avvenendo. Gli avversari possono essere passivi e osservare solamente il traffico, o attivi e modificarlo.
3 Lo studio di tale soggetto nella letteratura ha portato alla formulazione di questo come PrisonersProblem (Problema dei detenuti). In questo scenario Alice e Bob sono detenuti e vorrebbero escogitare un piano per evadere. Tutte le loro comunicazioni passano attraverso il guardiano Willie e se Willie scopre qualche messaggio cifrato impedirà il loro piano di evasione e li getterà in isolamento. Così essi dovranno trovare un modo per nascondere il loro testo cifrato in un testo visibilmente innocuo usato come copertura.
4 Come nel caso della crittografia si assume che il meccanismo in uso sia conosciuto dal guardiano. Anche in questa configurazione, perciò, la sicurezza dipende esclusivamente dalla chiave segreta che Alice e Bob hanno in qualche maniera trovato il modo di condividere.
5 Cose` la steganografia La steganografia si occupa dei modi in cui un messaggio, che si desidera resti segreto, possa essere incluso in un mezzo che funga da copertura. Il processo di inclusione è tipicamente parametrizzato da una chiave senza la conoscenza della quale non è possibile, per una terza parte, individuare o rimuovere il materiale incluso. A causa della loro natura invasiva, però, i sistemi steganografici lasciano spesso tracce individuabili allinterno delle caratteristiche dei mezzi usati come copertura. Sebbene il contenuto del messaggio segreto non venga rivelato, è rivelata la sua esistenza e questo fa fallire lo scopo principale della steganografia.
6 In generale il processo di information hiding consiste dei seguenti passi: Identificazione dei bit ridondanti in un COVER MEDIUM (mezzo di copertura) I bit ridondanti sono quei bit che possono essere modificati senza degradare la qualità del cover medium. Selezione dellinsieme dei bit ridondanti che possono essere rimpiazzati con i dati del messaggio segreto Lo STEGO MEDIUM è creato sostituendo i bit ridondanti selezionati con i bit del messaggio.
7 Il termine information hiding riguarda sia steganografia sia copyright-marking ma vi è una sostanziale differenza fra gli attacchi che le due tecniche possono sopportare. Un attacco di successo alla steganografia consiste nello scoprire che un cover medium è uno stego medium (contiene cioè un messaggio nascosto). Nel copyright-marking, invece, tutti i partecipanti allo schema possono essere consapevoli che il marchio è in uso, così come gli effetti che ne derivano possono essere osservabili.
8 In questo caso quindi, attaccare il sistema significa rendere inusabile il marchio. Questo può essere fatto rimuovendolo o aggiungendo altri marchi così da impedire ad una corte giudiziaria di affermare quale sia quello autentico. Bloccare un attacco di questo tipo può richiedere di includere una firma da parte del proprietario del contenuto oppure di includere un sistema di timestamping nel processo di marcatura.
9 Un sistema semplice Consideriamo un sistema per includere informazioni in unimmagine e supponiamo che tali informazioni siano testuali. Assumiamo che sia il mittente sia il destinatario condividano una chiave, con cui il testo è stato precedentemente cifrato, e che usino un generatore di chiavi casuali per ottenere una serie di chiavi. Questultima sarà usata per selezionare i pixel dellimmagine nei quali lultimo bit significativo verrà sostituito con un bit del testo cifrato.
10 Naturalmente non tutti i pixel saranno adatti: sceglierli in unampia fascia monocromatica oppure ai bordi dellimmagine può essere visibile. Per tale ragione alcuni sistemi utilizzano un algoritmo che determina se un dato pixel può essere usato, controllando che la variazione di luminosità rispetto ai pixel adiacenti non sia troppo evidente. Del pixel che passa tale test si può sostituire lultimo bit significativo con il bit del messaggio da includere nellimmagine.
11 Possibile attacco Lo schema descritto può essere distrutto da un attaccante che modifichi la stego image. Quasi qualunque semplice processo di filtraggio può cambiare il valore della maggior parte degli ultimi bit significativi nei pixel alterando, in questo modo, il messaggio incluso nellimmagine.
12 Una possibile contromisura a questo tipo di attacco è usare la ridondanza: o applicando un codice a correzione derrore o, nel caso di copyright-marking, includendo il marchio un certo numero di volte. Anche con questo accorgimento, comunque, tali sistemi possono essere attaccati smantellando la sincronizzazione di cui si ha bisogno per localizzare i campioni nei quali linformazione è nascosta.
13 Consideriamo un esempio nel caso di un segnale audio. Un semplice attacco di desincronizzazione consiste nel rimuovere, in modo casuale, una porzione di campioni di suono e di rimpiazzarla con una di pari dimensione. Questo introduce una sorta di piccolo disturbo di poche decine di microsecondi, quantità piccolissima comparata alla precisione con cui il suono è in molti casi prodotto ma sufficiente per confondere un tipico schema di copyright-marking.
14 Operare nello spazio delle trasformate Uno dei problemi che si incontra più frequentemente nei sistemi precedentemente descritti, è che i bit nei quali è possibile includere dati in modo sicuro sono, per definizione, ridondanti. Vantaggio: chi vuole attaccare il sistema sarà ignaro del fatto che tali bit sono stati alterati. Svantaggio: tali bit possono essere rimossi da un efficiente schema di compressione. Dove si conosce in anticipo il tipo di schema di compressione usato è possibile concepire metodi di inclusione dei dati in cui i risultati ottenibili siano ragionevoli.
15 esempi JPG Tale formato usa la discrete cosine transform (DCT) per trasformare blocchi consecutivi di 8x8 bit dellimmagine ognuno in 64 coefficienti della DCT. Gli ultimi bit significativi dei coefficienti della DCT sono usati come bit nei quali sarà incluso il messaggio. GIF La struttura visuale dellimmagine esiste, in un certo qual modo, a tutti i livelli dei pixel. In questo caso è possibile sostituire alcuni colori con altri simili e usare questo meccanismo per includere un messaggio.
16 Sistemi steganografici che modificano gli ultimi bit significativi del formato.GIF possono essere spesso soggetti ad attacchi visuali. Lo stesso non accade al formato.JPG. Le modifiche, in questo caso, avvengono nel dominio delle frequenze anziché in quello spaziale e tale fatto fa si che non ci siano possibili attacchi visuali contro questo formato.
17 In generale lesistenza di un copyright-mark o di materiale nascosto può essere fatta affiorare attraverso unanalisi statistica mentre resta invisibile a locchio umano. Test statistici possono rivelare che unimmagine è stata modificata da tecniche steganografiche poiché la modifica dei bit ridondanti può cambiare le proprietà statistiche del cover medium. Vediamo come questi test operano sui formati presi in esame. Analisi Statistica
18 GIF Nascondere dati in unimmagine.gif cambia listogramma delle sue frequenze di colore. Quando si applica lalgoritmo dell ultimo bit significativo per nascondere dati in unimmagine che contiene, ad esempio, il colore due più spesso del colore tre, quello che accade è che il colore due è cambiato in colore tre piuttosto che il contrario. Come conseguenza di questo si ottiene che la differenza nelle frequenze di colore tra due e tre è ridotta a causa dellinclusione.
19 JPG Quanto detto per il formato gif è altrettanto vero per le immagini.jpg dove al posto di misurare le frequenze di colore, si analizzano quelle dei coefficienti della DCT. Quello che cambia, in questo caso, e` listogramma di tali coefficienti.
20 Il modello generale di steganografia presentato richiede quindi che le informazioni siano incluse prima applicando una qualche trasformazione al cover medium e poi prendendo un sottoinsieme dei bit delloggetto trasformato che sono ridondanti. In questo contesto ridondanza significa che il sottoinsieme di bit scelto può avere il suo valore alterato senza che questo sia scopribile in modo semplice da un attaccante che non conosce quale sottoinsieme esaminare.
21 Attaccanti attivi e passivi Quanto esposto sino a questo momento mette in evidenza che, mentre un attacco alla steganografia classica consiste nellindividuare la presenza di materiale nascosto, un attacco allo schema del copyright-marking consiste nel rendere il marchio inutilizzabile. Esiste comunque una distinzione fondamentale fra: ATTACCANTI PASSIVI ( guardiani passivi), che osservano il traffico ( ed eventualmente segnalano se non è autorizzato ) ATTACCANTI ATTIVI ( guardiani attivi), che provano a rimuovere tutti i possibili messaggi nascosti.
22 Nei sistemi di steganografia classici i guardiani potrebbero essere sia attivi che passivi mentre nei sistemi di copyright-marking si è spesso coinvolti con attaccanti attivi ( come pirati del software ).
23 esempio: copyright-marking Consideriamo la marcatura di un codice eseguibile. Lapplicazione di uno schema di copyright-marking ad un software è usata da parte di un autore per provare la proprietà di un certo codice davanti ad una corte giudiziaria. Una tecnica usata è quella di alterare deliberatamente il codice. La sostituzione automatica e casuale di frammenti di codice con pezzi equivalenti è usata dallIntel per personalizzare codice in modo sicuro.
24 Si immagini una contestazione fra autori di un software e pirati per vedere chi sia in grado di alterare il codice molto in profondità senza incidere troppo sulle prestazioni. Lautore, che applicherà lalterazione migliore, sarà in grado di aggiungere delle informazioni che non potranno essere toccate dal pirata. Se, però, il pirata verrà a conoscenza delle equivalenze sfruttate dallautore nel processo di alterazione, sarà in grado di bloccare completamente il canale usato per creare lo stego medium.
25 In generale se il modello di comunicazione di un attaccante attivo è buono quanto quello delle parti in causa e le informazioni del cover medium sono nettamente separate dalla ridondanza usata, sarà possibile da parte dellattaccante sostituire tale ridondanza con del rumore. Dal punto di vista del PrisonersProblem, se Alice può aggiungere una percentuale di rumore senza danneggiare il cover medium, lo stesso può fare Willie.
26 Alice, utilizzando la serie di chiavi usata per selezionare i bit da marcare, è in grado di fermare Willie scoprendo quale percentuale di rumore extra trasporta il cover medium. In questo caso tutto quello che Willie potrà fare sarà interrompere il canale di marcatura aggiungendo in modo casuale i suoi marchi.
27 Steganografia a chiave pubblica Sino ad ora è stato assunto che, in presenza di un nemico capace e motivato, la steganografia richieda lesistenza di una serie di chiavi condivisa affinché le due parti, che vogliono comunicare, possano decidere quali bit selezionare. Il caso in cui il nemico sia un attaccante passivo va,però, distinto da quello in cui lattaccante sia attivo.
28 Attaccante passivo Supponiamo che Alice e Bob siano imprigionati e non siano stati precedentemente in grado di concordare una chiave segreta. Supponiamo inoltre che Bob possegga una chiave pubblica conosciuta da Alice. Alice può prendere il messaggio che vuole inviare,cifrarlo con la chiave pubblica di Bob e includerlo nel cover text come parità dei blocchi successivi di bit ( in cui supponiamo che il cover text sia diviso ). Tutti coloro che lo riceveranno non saranno in grado di decifrarlo fatta eccezione per Bob.
29 Attaccante attivo Il modello che verrà presentato in questo caso sarà quello del PrisonersProblem con qualche lieve modifica. Si assuma che lo stego message che Alice vuole inviare a Bob sia inviato anche ad altri destinatari ( come in una mailing list ). Si assuma inoltre che sia Alice sia Willie siano in grado di prelevare al più un bit del contenuto. Alice può scegliere una piccola one-time pad, per selezionare una permutazione dei bit del cover text e nascondere in tale permutazione un messaggio come parità delle successive k-uple di bit.
30 La cosa migliore che Willie può fare, non avendo conoscenza della one-time pad di Alice, è alterare uno dei k bit dello stego text. Questo altera la maggior parte dei bit del messaggio ma non tutti. Dato un opportuno codice a correzione derrore Alice potrà mandare un messaggio cifrato usando la chiave pubblica di Bob. Una volta che Bob lo ha ricevuto Alice comunica la sua one-time pad a tutti quelli che sono in ascolto. A questo punto Bob la applica a tutti i messaggi che ha da parte sino a che uno di questi non produce una stringa di bit che può essere decifrata con la sua chiave privata.
31 Quello che Willie può affermare, a questo punto, è che i messaggi da lui trasportati contenevano qualcosa di sospetto ma non può affermare che fossero diretti sicuramente da Alice a Bob dal momento che non possiede la sua chiave privata. Il modello di partenza è stato lievemente cambiato in quanto è stata fatta lassunzione che Alice possa mandare la one-time pad con integrità. In realtà Willie, realizzando che il breve messaggio di Alice fosse la sua one-time pad, avrebbe potuto corromperlo o rifiutarsi di trasportarlo.
32 Il metodo descritto appare più artificioso che pratico e serve più come prova esistente che come proposta di uno sviluppo pratico. Quello che si voleva evidenziare era che piccoli cambiamenti sulle assunzioni iniziali portano ad effetti rilevanti su come sia possibile nascondere informazioni.