Seminario di Sicurezza dei Sistemi Informatici Steganografia
by user
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