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/