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/