...

Seminario di Sicurezza dei Sistemi Informatici Steganografia

by user

on
Category: Documents
23

views

Report

Comments

Transcript

Seminario di Sicurezza dei Sistemi Informatici Steganografia
Seminario di Sicurezza dei Sistemi Informatici
Steganografia
Simone Buoncompagni
Università di Bologna (sede di Cesena)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Laurea Magistrale in Scienze e Tecnologie Informatiche
Anno Accademico 2009 - 2010
20 Maggio 2010
Indice della presentazione
1
Introduzione
2
Storia
3
Tecniche odierne di steganografia
4
Steganalisi
5
Conclusioni e sviluppi futuri
2 / 30
Significato della parola steganografia
Steganografia ⇒ Steganòs (coperto, nascosto) + Gràfein (scrivere)
Tecnica per nascondere l’esistenza di una comunicazione in corso
tra due o più soggetti agli occhi di eventuali osservatori
Il messaggio sensibile (cifrato o meno) viene inserito in un
’contenitore’ (o messaggio di copertura) con l’obiettivo di rendere
impossibile anche il semplice rilevamento della sua esistenza
3 / 30
Problema dei prigionieri (Simmons, 1983)
Alice e Bob sono due prigionieri sorvegliati dal guardiano Willie. I due
prigionieri devono comunicare per concordare il piano di fuga
Non possono scambiarsi messaggi cifrati, perchè Willie può
intercettare i messaggi e accorgersi della comunicazione segreta in
atto
Come possono scambiarsi informazioni sensibili Alice e Bob senza che
Willie lo scopra ?
4 / 30
Problema dei prigionieri: varianti
Prima osservazione: non è sempre possibile che Alice e Bob possano
scambiarsi una chiave segreta K
√
Steganografia pura
√
Steganografia a chiave pubblica
Seconda osservazione: Willie potrebbe non limitarsi ad osservare la
comunicazione (atteggiamento passivo) ma potrebbe compiere delle
modifiche sul contenitore per alterare anche il messaggio sensibile
eventualmente contenuto all’interno (atteggiamento attivo)
√
Alice deve essere ’furba’ nel nascondere il messaggio segreto
5 / 30
Storia della steganografia
Primi utilizzi della steganografia risalenti al V secolo a.C. nella guerre
tra Grecia e Impero Persiano (aneddoti di Erodoto)
Tavoletta scrittoria di legno e cera, messaggio scritto su testa rasata,
scitala spartana, inchiostro invisibile, ecc.
6 / 30
Giovanni Tritemio (1462 - 1516)
Tritemio fa diventare la steganografia un concetto a sè stante
Intorno al 1500 scrive un trattato denominato ’Steganographia’
Idea: nascondere un testo segreto all’interno di un messaggio di
copertura
Semplice esempio
Nonostante oggi non faccia irrimediabilmente, drasticamente ancora
ribrezzo trasformarsi in docile iena, un giorno osservai...
⇓
NON FIDARTI DI UGO
Mittente e destinatario devono possedere il libro di Tritemio per poter
comunicare
7 / 30
Al Qaeda e gli attentati dell’11/09
Scarso interesse nei confronti delle comunicazioni steganografiche
Idea: utilizzo di immagini sportive e pornografiche dentro cui
nascondere messaggi sensibili
Facile confondersi e passare inosservati
Particolari dell’immagine non vengono notati
8 / 30
Classificazione delle tecniche steganografiche
Oggi, fare steganografia, significa lavorare con file digitali (sequenze
di bit) sia a livello di contenitori sia a livello di messaggi sensibili
Classificazione in base all’origine del file contenitore
INIETTIVA
GENERATIVA
Classificazione in base alla metodologia di inserimento del messaggio
nel file contenitore
SOSTITUTIVA
SELETTIVA
COSTRUTTIVA
9 / 30
Steganografia e multimedialità
Utilizzo di media digitali come contenitori
Al variare del tipo di media contenitore variano gli aspetti tecnici
legati all’inclusione del messaggio sensibile
Indipendentemente dal tipo di media, è importante fare in modo che
il contenitore:
abbia significato disgiunto da quello del messaggio sensibile
abbia significato non rilevante per gli eventuali controllori
sia molto generico e al tempo stesso non troppo diffuso
non venga riutilizzato più volte
10 / 30
Steganografia nei file di testo
Utilizzare il testo come contenitore è un’idea antica (Tritemio)
Con l’avvento di software di scrittura digitale, si sono aperti nuovi
orizzonti
Possibili idee: codificare dati binari manipolando spaziature tra linee e
parole, modificando forma e aspetto dei caratteri, sfruttando
ambiguità semantiche e sintattiche del linguaggio naturale
OPEN SPACE
METODI SEMANTICI
METODI SINTATTICI
Spazi di fine periodo
Codifica feature
Spazi di fine linea
Codifica line - shift
Codifica word - shift
11 / 30
Alcuni esempi
Modifica degli spazi di fine linea
Codifica word - shift
Metodi sintattici: pane, burro e latte invece di pane, burro, e latte
Metodi semantici: utilizzo dei sinonimi big e large
12 / 30
Steganografia in immagini e suoni
Utilizzo di immagini e suoni digitali come contenitori
Molte tecniche attuabili e svariati software steganografici
Due classi di formati: non compressi e compressi
Due classi di tecniche: nel dominio spaziale (temporale) e nel dominio
delle frequenze
Obiettivo: inserire informazioni all’interno di immagini e suoni senza
modificarne la percezione da parte dell’uomo
13 / 30
Steganografia Bitmap: modifiche LSB
Tecnica steganografica applicata su immagini Bitmap a 24 bit:
sostituzione del bit meno significativo
Quantità di byte occultabili: (height * width * 3) / 8
Nulla vieta di sostituire anche i due o tre bit meno significativi, con la
conseguenza però di poter ottenere una sensibile variazione della
qualità dell’immagine e destare sospetti
14 / 30
Palette - based image (GIF)
Palette: sottoinsieme prestabilito di colori rappresentati in RGB
I pixel dell’immagine sono dei puntatori alle locazioni della palette
Con un’immagine a 256 colori, per ogni pixel bastano 8 bit di
puntatore
15 / 30
Steganografia GIF: prima idea
Riduzione del numero di colori dell’immagine ad un valore inferiore a
256
Riempimento della palette con colori simili (modifiche LSB)
Scelta opportuna del colore dei pixel per nascondere l’informazione
16 / 30
Steganografia GIF: seconda idea
La tecnica precedente può essere facilmente scoperta analizzando le
relazioni tra i colori della palette
Soluzione alternativa: scambio dell’ordine dei 256 colori e
aggiornamento dei puntatori
Ci sono 256! permutazioni della palette e quindi 256! modi diversi di
rappresentare la stessa immagine
Possibilità di codificare in tutto log(256!) = 1683 bit, cioè 210 byte
La tecnica è valida per qualsiasi immagine e non compie alcuna
modifica sull’immagine stessa, ma solo sulla palette
GIF è un formato compresso ! Prima si comprime e poi si nasconde,
mai viceversa
17 / 30
JPEG (Baseline)
Utilizzo del formato compresso JPEG con perdita per nascondere
informazioni
18 / 30
Steganografia JPEG: prima idea
Con le modifiche LSB andavamo a distorcere uniformemente tutta
l’immagine
In realtà, ci sono zone dell’immagine più adatte a contenere
informazioni rispetto ad altre; trovarle manualmente è una perdita di
tempo
Utilizzare l’algoritmo di compressione per valutare la complessità
dell’immagine e localizzare zone strategiche in cui nascondere
informazioni segrete
Procedimento su un’immagine f a 24 bit:
Calcolo JPEG (f ) e ottengo fc
′
Calcolo JPEG −1 (fc ) e ottengo f
′
Confronto f e f : i bit diversi (a livello di componenti RGB) sono quelli
che posso modificare per nascondere informazione
Mittente e destinatario devono possedere una copia dell’immagine
originale
19 / 30
Steganografia JPEG: seconda idea
Modificare i bit meno significativi delle componenti frequenziali
calcolate con la trasformata DCT
L’occhio umano non ha una percezione uniforme delle varie
componenti frequenziali
Le modifiche danneggiano la qualità dell’immagine, ma è difficile
distinguerne gli effetti
Nota: prendendo un file JPEG con informazioni nascoste,
decomprimendolo e poi comprimendolo di nuovo le informazioni
vengono perse
20 / 30
Steganografia su file WAV
WAV è un formato non compresso per file audio
I file WAV sono costituiti da una successione di campioni digitali ad
un determinata frequenza (tipicamente 44100 Hz), codificati a 8 o 16
bit, stereo o mono
La tecnica di steganografia applicabile su questi file è simile a quella
per le immagini Bitmap: modifiche LSB
21 / 30
Steganografia su file MP3: prima idea
MP3 è il più classico tra i formati audio compressi
La compressione MP3 prende in input un file WAV e ne elimina le
informazioni sonore che per vari motivi non possono essere udite
dall’orecchio umano
Per inserire informazioni nascoste, si può utilizzare la tecnica
dell’echo data hiding
All’atto della compressione, si inseriscono pause all’interno del file
audio
Le pause possono avere due diverse lunghezze, pur rimanendo
impercettibili:
Pausa ’corta’ = 0
Pausa ’lunga’ = 1
Il messaggio segreto può essere difficilmente scoperto, ma ci sono
problemi legati alla scarsa capacità del file audio
22 / 30
Steganografia su file MP3: seconda idea
L’orecchio umano non può percepire suoni con frequenza superiore ad
una certa soglia (banda udibile dai 16 Hz ai 16 KHz)
Codifica di messaggi segreti su frequenze non udibili
É praticamente impossibile che una persona possa sentire il messaggio
É facile violare la comunicazione segreta con un filtro passa banda
che taglia frequenze ’sospette’
23 / 30
Sistema steganografico ideale
Principio di Kerckoffs
Il nemico che osserva il canale di comunicazione non deve avere neanche la
più piccola possibilità di verificare che è in corso una comunicazione nascosta
senza il possesso della chiave K, pur avendo piena conoscenza dei dettagli
di progetto e implementativi del sistema steganografico
Sistema steganografico ideale:
Messaggio
segreto
Cifratura
Eliminazione
ridondanze
Inserimento
nel
contenitore
Obiettivo: trasformare il messaggio segreto in una sequenza di simboli
casuali in modo da renderlo difficilmente distinguibile dal rumore
Nei sistemi visti fino ad ora non sono mai emersi i concetti di chiave e
cifratura: tutto da buttare ?
24 / 30
Software di steganografia
Quanto visto costituisce il cuore del funzionamento di gran parte dei
software di steganografia
Tali software includono anche l’utilizzo di chiavi e algoritmi di
cifratura
Software
Steganos Privacy Suite 8
S-Tools 4
Jsteg shell 2.0
Mp3Stego
Gif-it-up 1.0
Steghide
Snow
Formati
WAV, BMP
WAV, BMP, GIF
JPEG
MP3
GIF
BMP, JPEG, WAV
Testo
Cifratura
AES 256 bit
IDEA, DES, 3DES
RC4-40
3-DES
AES 128 bit
ICE
25 / 30
Steganalisi
La steganalisi studia come capire se un contenitore sta veicolando o
meno un messaggio segreto
Per violare una comunicazione steganografica è sufficiente scoprire
l’esistenza del messaggio segreto
26 / 30
Attacco con modello statistico del rumore
Come già detto, il messaggio cambia le caratteristiche del rumore
(intrinseco al media contenitore) sostituendosi ad esso
Chi possieda un modello statistico del rumore può condurre un attacco
27 / 30
Conclusioni e sviluppi futuri
Forte legame con la crittografia, pur essendo da essa distinta
Strumento molto potente e dagli innumerevoli risvolti applicativi
Può essere usata per nascondere informazioni in comunicazioni
segrete, ma anche per limitare la diffusione illegale di file
Digital Watermarking: tecnica steganografica che consente di
creare marchi invisibili contenenti informazioni di copyright da inserire
all’interno di svariati tipi di file
Forte dipendenza dalla ’tecnologia’ disponibile: continua evoluzione di
tecniche e algoritmi steganografici
28 / 30
Bibliografia e sitografia (1)
Nicola Amato
La steganografia da Erodoto a Bin laden
Italian University Press, 2009
http://users.dimi.uniud.it/~claudio.piciarelli/teach/
sicurezza2010/lezione-01.pdf
http://www.fi.muni.cz/usr/gruska/crypto04/CHAPTER%2013
%20-%20Steganography%20and%20Watermarking.ppt
http://www.dia.uniroma3.it/~dispense/merola
/critto/tesine/stega/stega2.pdf
ftp://ftp.disi.unige.it/person/ChiolaG
/sic03-04/s0312168.pdf
http://www.dia.uniroma3.it/~dispense/merola
/critto/tesine/stega/DiIenno.pdf
29 / 30
Bibliografia e sitografia (2)
http://www.elettronica.ingegneria.unige.it/CdS
/Dati/TesiVO/T1825057.PDF
http://www.simioli.it/itc/sicurezza/Steganografia-01.pdf
http://marcogiorgini.altervista.org/elaborati
/specialistica/presentazione_steganografia%20_moderna.pdf
http://www3.csr.unibo.it/personale/damiana.lazzaro
/Elaborazione%20di%20Immagini%20e%20Laboratorio
%20I%202009-2010/Watermarking.pdf
http://www.dia.unisa.it/~ads/corso-security/www
/CORSO-0001/Steganografia.htm
http://www.dia.unisa.it/~ads/corso-security/www
/CORSO-0203/steganografia/Applicazioni%20stego.htm
http://it.wikipedia.org/wiki/Steganografia
30 / 30
Fly UP