Seminario per il corso di Sicurezza
A.A. 2008/2009
Gruppo 7
Guido Ravagli, Marina Caputo , Alan Tacchinelli
Information Hiding
 Mantenere la riservatezza delle informazioni è di
fondamentale importanza per enti e persone:
 Organizzazioni militari
 Organizzazioni terroristiche
 Aziende concorrenti
 Civili
 La codifica delle informazioni desta sospetti e di
conseguenza attacchi da parte del nemico
Information Hiding
Steganografia
 steganos + grajh

Steganografia

Scrivere di nascosto
stéganos + gràfein
nascondo + scrivere
 Consiste nel nascondere il vero messaggio in uno di
copertura, ingannando il nemico
Esempio: problema dei prigionieri
 Alice e Bob sono due prigionieri e intendono evadere. Le
comunicazioni tra i prigionieri vengono controllate
dall’agente Eva.
 Alice e Bob devono escogitare un modo per comunicare tra
di loro senza che Eva si accorga del loro piano di fuga
Scenari steganografici
 Protezione da parte di un nemico passivo:
 Alice deve comunicare con Bob senza che Eva scopra il vero
messaggio
 Protezione da parte in un nemico attivo:
 Alice comunica con Bob. Se Eva modifica il messaggio
originale, non conoscendo l’esatta posizione o l’esistenza del
messaggio nascosto, Bob deve comunque risalire al testo
originale
Differenze
 Crittografia
 Il mittente invia un messaggio cifrato al ricevente, il quale,
previa chiave, decodifica il messaggio e legge le vere
informazioni
 Scopo

Impedire di comprendere il messaggio segreto, ma chiunque può
vedere le informazioni
 Steganografia
 Il vero messaggio viene nascosto all’interno di un messaggio
di copertura
 Scopo

Non far sospettare la presenza di un messaggio segreto, che può
anche essere in chiaro
Storia
 La steganografia viene usata sin dai tempi dei Greci:
 Il messaggio viene nascosto sotto la cera di una tavoletta
scrittoria
 Il messaggio viene tatuato sul
cranio di una persona e si attende
la ricrescita dei capelli
 Firma col DNA di Kinkade
 Ecc.
 Questi metodi sono “deboli” poiché con un’attenta
perquisizione è possibile scoprire il trucco
Trithemius
 Johannes Trithemius (1462 – 1516) ha
scritto un libro dal titolo, appunto,
“Steganografia”
 Il libro propone 40 sistemi e 10
sottosistemi per nascondere il messaggio
in un testo
 Es. “Nelle ore notturne feroci illusioni di antichi riti tramandati in
dimenticate isole ci assalgono, ivi ora…”  “Non fidarti di Caio”
 È praticamente impossibile scoprire il messaggio se non si
conosce il sistema steganografico utilizzato
 Il destinatario deve conoscere il sistema
Steganografia oggi
“Il capo ha detto che dovremmo
far saltare il ponte a mezzanotte”
 Nel mondo di Internet suscita molto interesse
 I terroristi ne fanno gran uso
 (es. 11/09/2001)
 Le immagini sono i “messaggi di copertura” più
utilizzati, insieme ai file audio e video
 (es. Pedopornografia)
 Il messaggio steganografato viene
anche criptato (sia a chiave
pubblica che privata)
Fasi Steganografia
 Trovare i Bit ridondanti
 La loro modifica non altera il contenuto informativo.
Nel caso in cui i bit ridondanti siano pochi si può
considerare il bit meno significativo di ogni byte
 Scegliere i bit da sostituire
 Scegliere una Cover Bit. Le posizioni dei bit vengono
scelte casualmente
 Embedding
 Modifica dei Cover Bit
Criteri di segretezza
 Genericità
 Il messaggio contenitore deve
essere più generico possibile
 Diffusione
 Nessuno deve possedere il messaggio contenitore, per
evitare confronti
 Unicità
 Non si deve utilizzare sempre lo stesso messaggio
contenitore, anzi, va distrutto dopo il suo utilizzo
Modelli Steganografici (1)
Esistono diversi metodi steganografici suddivisi in
due principali categorie
 Steganografia Iniettiva
 Il messaggio segreto viene inserito all’interno del
messaggio contenitore
 Steganografia Generativa
 Partendo dal messaggio segreto viene prodotto il
messaggio contenitore
Steganografia iniettiva
 “Inietta” il messaggio segreto
all’interno di un messaggio
contenitore già esistente
 È il metodo più utilizzato dai software
 Pregi
 È facile da applicare
 Più grande è il contenitore, maggiori sono le informazioni che si
possono inserire, e le probabilità di venire scoperti diminuiscono
 Difetti
 Il mittente e il ricevente devono condividere la chiave segreta
Steganografia generativa
 Il messaggio contenitore viene creato in
funzione del messaggio segreto
 Pregi
 Il contenitore nasconde in maniera
ottimale il messaggio segreto
 Difetti
 È molto più complessa della iniettiva
 È impossibile generare un’immagine realistica
 Un’alternativa è quella di alterare il messaggio segreto
(es. sinonimi)
Modelli Steganografici (2)
Esiste un altro sistema di classificazione per le tecniche
steganografiche che possono essere divise in tre classi
 Steganografia Sostitutiva
 Sfrutta il rumore o il disturbo del canale di comunicazione
inserendovi il messaggio segreto
 Steganografia Selettiva
 È puramente teorica, ed è troppo dispendiosa
 Steganografia Costruttiva
 Stessa funzione della Sostitutiva, con la differenza che cerca di
non alterare troppo il rumore, rispettando un certo “modello”
Steganografia selettiva
 Vengono selezionati solo file che possiedono già una
proprietà, tra tutti i possibili
 Es. File di dimensione pari contengono un bit di parità 0, dispari 1
 Conviene utilizzare molti contenitori piccoli
 Pregi
1
0
1
1
 Il file contiene il messaggio segreto senza essere stato modificato
 Difetti
 La banda passante è molto bassa
 È troppo dispendiosa
Steganografia sostitutiva
 È la tecnica più diffusa, talmente
tanto che viene considerata la tecnica
steganografica per eccellenza
 Quasi tutti i messaggi contengono un
certo tipo di disturbo o rumore
 Vengono sostituiti i bit meno significativi del messaggio
 Pregi
 È difficile appurare che questa modifica dovuta una tecnica
steganografica o un da semplice rumore
 Difetti
 Le sostituzioni possono alterare le caratteristiche statistiche del
rumore
Steganografia costruttiva
 Funziona più o meno allo stesso modo della sostitutiva
 Si utilizza un modello del rumore del canale in uso
 La sostituzione dei bit avviene in modo che il messaggio risultante
presenti un “rumore” pseudo-simile al modello in analisi
 Pregi
 È difficilissimo per un nemico individuare il messaggio segreto
 Difetti
 È molto difficile “creare” un modello del rumore, soprattutto valido
 Se il modello cadesse in mani nemiche, il sistema non sarebbe più
sicuro
Sistema ideale
 Principio di Kerckhoffs (1835 – 1902)
applicato alla steganografia:
 Il nemico ha piena conoscenza
dell’algoritmo utilizzato e della sua
implementazione
 Per rendere il sistema impenetrabile il nemico non deve
conoscere la chiave segreta
 Senza la chiave il nemico non deve avere la minima
possibilità di verificare che ci sia una comunicazione
nascosta
Immagini GIF
 Formato che fa uso di palette
 I pixel sono dei puntatori ai colori della palette
 Le palette contengono al massimo 256 colori
 È un formato compresso, quindi non si può salvare un
testo segreto prima della compressione
GIF: tecniche (1)
 Si riduce il numero di colori utilizzati a un valore
inferiore a 256
 Si riempiono i rimanenti colori della palette con colori
simili a quelli utilizzati
 Ogni volta che c’è una scelta c’è possibilità di
nascondere informazione
 Se ho due alternative si può nascondere un bit, se ne
ho quattro si nascondono due bit e così via
 Difetti
 È possibile capire se nella palette l’insieme dei colori
utilizzati può essere ripartito in colori simili
GIF: tecniche (2)
 Prevede di scambiare l’ordine di due colori della palette e
corrispondentemente tutti i puntatori ad esse
 Con 256 colori esistono 256! modi diversi di scrivere la
palette
 E’ possibile codificare log(256!) = 1683 bit pari a 210 byte
indipendentemente dalle dimensioni dell’immagine
Watermarking – Cos’è?
 Dall'inglese “filigrana”
 Permette di includere un’informazione in un file
multimediale in modo da poter attestare la paternità
del documento.
Watermarking - Scopi
 Informa sul legittimo proprietario (Copyright)
 Assicura sicurezza sulla distribuzione dei dati
 Dimostra l'autenticità di un documento non
contraffatto
 Evitare la distribuzione di copie contraffatte
 Fornisce informazioni varie
 Esempi: fotografi,artisti,medici..
Watermarking vs Altre Tecniche
Watermarking – Classificazione 1
 Visibili : impresso
nell’immagine in modo
percettibile.  scoraggia il furto
 Invisibili : viene inserito un
codice difficilmente rimovibile.
 prende il ladro
Watermarking – Classificazione 2
 Fragile: facilmente attaccato.
 Robusto: resiste agli attacchi.
 Privati: occorre il documento originale per verificare il
watermark
 Pubblici: non occorre il documento originale per
verificare il watermark
Un watermarking efficiente..
Invisibile
Invisibile
statisticamente
Robusto
Efficiente
statisticamente
Complesso
Multiplo
Codificato a
chiave
Algoritmi utilizzati (WPA,WEA,WDA)
 WPA  Produce la firma
 marchio invisibile statisticamente
 WEA  Applica il marchio nell’immagine
Algoritmi utilizzati (WPA,WEA,WDA)
 WDA  Riconosce il watermark
Modalità di inserimento
 Dominio spaziale: modificano direttamente il valore
dei pixel.
 Dominio delle trasformate: trasformano prima
l'immagine sotto un altra forma, ottengono una serie di
coefficienti con cui poter rappresentare l'immagine in
modo differente.
Un semplice algoritmo: LSB
 Dominio spaziale
 Sostituisce l’ultimo bit in una sequenza di byte
}
}
}
img:
img + a
11011010
10001011
11001000
11011010
10001011
1100100(1)
“a” = 01100001
01011010
11001111
11101010
01011010
1100111(0)
11101010
01011010
11001011
10010001
01011010
1100101(0)
10010001
{
{
{
Un semplice algoritmo: LSB
Algoritmo Patchwork
N coppie: ai e bi
L livelli luminanza : {0,1,2…L-1}
Probabilità di ogni livello: 1/L
Valore atteso:
Valore atteso somma:
Nuova immagine:
Algoritmo di Rilevamento: E[S]=2xn
Algoritmo Pitas
Immagine:
Watermark:
Immagine marchiata:
k
x n ,m
minore è, più sarà impercettibile
Algoritmo di Rilevamento:
b = valore medio dei pixel in corrispondenza di Sn,m = 1 in I
c = valore medio dei pixel in corrispondenza di Sn,m = 1 in Is
w= c – b se w = 0 , nessun marchio
se w = k , immagine marchiata
Dominio delle frequenze : Immagini JPEG
 Nella compressione JPEG viene compiuta
una trasformata di Fourier dell’immagine
originaria e vengono tagliate le frequenze
più basse prima di compiere una
trasformata di Fourier inversa.
 Soluzione se si vuole nascondere un
marchio in un’immagine JPEG:
iniettare le informazioni nei coefficienti
di Fourier ottenuti nella prima fase della
compressione
Watermarking - Attacchi
Non consiste nell'individuazione del marchio, ma nel
renderlo inutilizzabile, impedendone il corretto
funzionamento in fase di rilevamento
 SWICO: viene prodotta un' immagine con due firme.
 TWICO: vengono prodotte due immagini con una firma
per immagine
 Compressione Lossy : comprimono l'immagine
(utilizzando il formato JPEG)
 Modifiche geometriche: rotazione, scala (più fragili nel
dominio spaziale)
 Aggiunta di rumore pseudo-casuale
Watermarking - Attacchi
 Stirmark: simula la
stampa e la scansione di
un immagine (stirata,
tagliata, ruotata,
ricampionata..)
Watermarking - Attacchi
 Jitter: cancella e
sostituisce colonne
di pixel
 Mosaico: divisione
in sottoimmagini
indipendenti
Tools - IceMark
Tools - IceMark
Steganografia nei file audio
 Un segnale audio è analogico, quindi
continuo; invece con un computer si
gestiscono segnali digitali, quindi
discreti
 Un segnale audio è perfetto se campionato con un
passo pari a 44100 Hz e quantizzazione dei campioni a
16 bit
 Campionare a intervalli regolari introduce dei salti,
quindi rumore e ridondanze che ben si prestano a
nascondere un messaggio
 Si sfrutta il fatto che l’orecchio umano non è perfetto, è
più sensibile alle frequenze comprese tra 2 e 4 KHz
Steganografia nei file audio
 File audio compressi secondo varie tecniche.
 Mascheramento nel dominio delle frequenze o nel
dominio del tempo
 Esistono vari modi per nascondere un messaggio in un
file audio:
 Codifica nei bit “bassi”
 Codifica delle fasi
 Spread spectrum
 Echo data hiding
Esempio file WAV
 Per nascondere informazioni si utilizza la tecnica LSB
(sostituzione dei bit meno significativi)
 I file WAV sono memorizzati usando 8 o 16 bit per ogni
valore
 Si introduce molto “rumore” di fondo facilmente
avvertile
Esempio file MP3
 Prima tecnica (forte): utilizza l’echo data hiding
 Nascondere il messaggio durante processo di
compressione da WAV a MP3
 Teoricamente impossibile da attaccare
 Scarsa capacità del contenitore
 Seconda tecnica (debole): utilizza le frequenze non
udibili
 Maggiore capacità del contenitore
 L’ascoltatore non si accorge di niente
 Facile da rilevare (es. filtro passa banda 60-20000 hz)
Esempio file MP3
 La prima tecnica può essere utilizzata anche con file
video
 La seconda tecnica è poco utilizzata
 Alcuni software per la steganografia in file audio:
 Camouflage
 StegHide
 WeavWav
 Mp3Stego
 S - Tools
Steganalisi
 La steganalisi è definita come la scienza (nonché
l’arte) del rompere la sicurezza di un sistema
steganografico
 Analogo della crittoanalisi per la crittografia
 Lo scopo della steganografia è di nascondere
l’esistenza di un messaggio segreto, quindi un attacco
con successo ad uno stegosistema consiste nello
scoprire che un determinato file contiene dati nascosti
anche senza conoscerne il loro significato
Steganalisi
 Attacchi passivi:
 Stego-only-attack
 Stego-attack
 Cover-stego-attack
 Cover-emb-stego-attack
 Attacchi attivi:
 Manipulating the stego data
 Manipulating the cover data
Steganalisi
Steganalisi
 Più in generale, si possono avere due tipi principali di
attacchi:
 Attacchi statistici
 Attacchi legati all’algoritmo usato per nascondere il
messaggio
 Una possibile definizione che guida la steganalisi:
“Ogni elemento plausibilmente accettabile come
errore, come privo di significato o come
imprevisto, se adeguatamente controllato e
definito può contenere dei dati steganografati”
Classificazione degli attacchi a un sistema
 Identificare le possibili tipologie di attacchi
 Definire le soluzioni migliori per contrastarli
 A un livello molto generale si possono avere 3 livelli di
attacchi:
 Attacchi di I livello (attaccante “curioso”)
 Attacchi di II livello (attaccante “determinato”)
 Attacchi di III livello (attaccante “disposto a tutto”)
File System Steganografico
File System Steganografico
 Idea introdotta da R. Anderson – R. Needham – A.
Shamir
 In un File System Steganografico i file sono cifrati e
nascosti in qualche modo all’interno del File System
 Può essere visto come una estensione di un File System
Cifrato
 Differenze tra File System Steganografico e File System
Cifrato
File System Steganografico
 Caratteristiche:
 Livelli di sicurezza: i file sono divisi in insiemi, detti livelli
di sicurezza, ad ognuno dei quali corrisponde una password
 Gerarchia di accesso lineare: si parte da un livello base,
livello 1, e chi accede a un livello i ha accesso anche a tutti i
livelli da i-1 a 1
 Negabilità plausibile (Plausible deniability): sia dato un
meccanismo di sicurezza con parametri {p1, p2, ..., pn}. Tale
meccanismo gode della proprietà di negabilità plausibile su pj
se e solo se è possibile mentire in maniera del tutto plausibile
sul valore di pj
Primo metodo
di Anderson, Needham e Shamir
 Inizialmente il disco è riempito con file “mascherati” a
contenuto casuale, detti cover file
 I file dati sono memorizzati modificando i cover file,
in modo che il testo in chiaro sia ottenuto come
combinazione lineare (XOR) dei cover file
 Con una password si identifica il sottoinsieme dei
cover file per ottenere i dati
Primo metodo
di Anderson, Needham e Shamir
Difetti del primo metodo
 Non supporta le directory
 Supporta solo file della stessa lunghezza
 Garantisce la negabilità plausibile solo sotto queste
assunzioni (relative all’attaccante):
 Nessuna conoscenza del nome del file nascosto
 Nessuna conoscenza della password (o parte di essa)
 Nessuna conoscenza del testo in chiaro (o parte di esso)
 Capacità di calcolo limitata
Secondo metodo
di Anderson, Needham e Shamir
 Disco inizialmente riempito di blocchi di dati casuali
 I blocchi di dati sono cifrati e memorizzati in
locazioni pseudo – casuali, ottenute tramite hash di
una password che viene utilizzata come seme per un
generatore di numeri pseudo-causali
 Blocchi dati replicati (con un fattore m) su più
locazioni per ridurre le sovrascritture dovute a
collisioni
Secondo metodo
di Anderson, Needham e Shamir
Difetti del secondo metodo
 Basso fattore di caricamento del disco
 Possibilità di collisioni e conseguenti cancellazioni di
dati
 Overhead in lettura/scrittura dei dati
Terzo metodo
di Van Schaik e Smeddle
 Ispirato a Anderson, Needham e Shamir, ma non fa
uso ne di combinazione lineare di file, ne di blocchi
replicati
 Marcare i blocchi dati con qualcosa del tipo “potrebbe
essere usato nei livelli superiori di sicurezza”
 Difetti:
 A partire da un livello si conosce se ci sono livelli
superiori, ma non il numero esatto
 Non garantisce la negabilità plausibile
Altri metodi
 Successivamente sono state proposte molte varianti di
questi metodi principali, specialmente del secondo
 Altri metodi, invece, si basano su filosofie diverse (es.
nascondere la struttura del file system in file immagine
o file mp3)
 Al momento non esiste una implementazione di File
System Steganografico che garantisca negabilità
plausibile, senza il rischio di perdita di dati
StegFS
 Implementato da A. D. McDonald
 Ispirato al secondo metodo di Anderson, Needham e
Shamir
 Blocchi dati (cifrati in modalità CBC) vengono
salvati in blocchi inutilizzati di una partizione che
contiene anche file di un normale file system
 Utilizza una tabella di allocazione dei blocchi separata
con entrate a 128 bit, cifrata
 15 livelli di sicurezza, ogni livello i ha una passphrase
che consente l’accesso ai livelli da 1 a i
StegFS
 Garantisce la negabilità plausibile su più livelli di
sicurezza
 Permette una strutturazione su livelli più complessa
 Difetti:
 Bug nella gestione della tabella dei blocchi
 Perdita di dati
 Numero di livelli prestabilito
 L’ultima versione è del 2004. Lo sviluppo è stato
interrotto
TrueCrypt
 Nasce per cifrare il contenuto dei
dischi. Software OTFE (On-thefly-Encryption)
 Disponibile anche per Windows
 File container
 Dalla versione 6 permette di
crittografare intere partizioni,
hidden disk (anche partizioni con
un altro SO) così da garantire la
negabilità plausibile (file
system steganografico)
TrueCrypt
 Algoritmi di cifratura utilizzati (anche in cascata):
 AES (256-bit key)
 Serpent (256-bit key)
 Triple DES (168-bit key)
 Twofish (256-bit key)
 Blowfish (448-bit key)
 CAST5 (128-bit key)
 Problemi con i collegamenti (.lnk), i salvataggi
automatici (MS Word) i programmi di indicizzazione
(Google Desktop)
Conclusioni
 Un programma di steganografia è un ottimo strumento
per tenere nascosto ciò cha abbiamo di più privato
dalle lettere della morosa…
…fino ai documenti aziendali più riservati
Conclusioni
 Può essere utilizzata dalle forze dell’ordine per limitare
la diffusione illegale di file
 File con copyright
 Ma può anche essere usata da malviventi per
scambiare materiale illegale nascosto in altri file,
oppure nascondere di essere in possesso di certi file
(es. File system steganografico)
Conclusioni
 Se si estrae il messaggio segreto tutti possono leggerlo.
 Si può combinare la steganografia con la crittografia
Sviluppi futuri
 Migliorare le tecniche attuali di steganografia
 Implementare efficientemente il concetto di file
system steganografico
 Attualmente si sta sviluppando la steganografia in
internet
 Nascondere informazioni negli header dei pacchetti TCP/IP
 Comunicazioni VoIP
Bibliografia (1)
 http://www.dia.uniroma3.it/~dispense/merola/critto/tesine/stega/DiIenno.pdf
 http://www.ippari.unict.it/wikippari/storage/users/81/81/images/130/steganogra
fia4.pdf
 http://www.dia.unisa.it/~ads/corso-security/www/CORSO0203/steganografia/Applicazioni%20stego.htm
 Xuan Zhou, “Steganographic File System”, Ph. D. thesis, Dept of Computer
Science, National University of Singapore, 2005.
 http://www.dia.unisa.it/~ads/corso-security/www/CORSO0001/StegFS/stegfs.html
 http://www.mcdonald.org.uk/StegFS/
 http://www.truecrypt.org/
 http://en.wikipedia.org/wiki/Steganography
 http://www.ippari.unict.it/infapp/didattica/appunti/Sicurezza%20dei%20Siste
mi%20Informatici%202/tesine/Steganografia.pdf
Bibliografia (2)
 http://www.pc-facile.com/guide/steganografia/24438.htm
 http://www.simioli.it/itc/sicurezza/Steganografia-01.pdf
 http://marcogiorgini.altervista.org/elaborati/specialistica/presentazione_stega
nografia%20_moderna.pdf
 http://laspinanelfianco.wordpress.com/2006/02/21/introduzione-al



watermarking/
http://it.wikipedia.org/wiki/Watermarking
http://www.dia.unisa.it/~ads/corso-security/www/CORSO9900/watermark/index.htm
http://www.dia.unisa.it/~ads/corso-security/www/CORSO-9900/digitalwatermark.pdf
http://www.phibit.com/icemark/
Scarica

Gruppo 7 - Steganografia