Sommario Steganografia: l arte della comunicazione nascosta cenni storici motivazioni La steganografia nell era digitale steganografia e steganalisi Formalizzazione il problema del prigioniero Classificazione delle tecniche steganografiche La steganalisi Per approfondimenti: Jessica Fridrich, Steganography in Digital Media: principles, algorithms and applications, Cambridge University Press, 2010
Steganografia = scrittura nascosta La steganografia è la scienza (arte) di comunicare senza essere osservati A differenza della crittografia, dove l avversario sa dell esistenza della comunicazione, l obiettivo della steganografia è nascondere l esistenza stessa della comunicazione nascondendo il vero messaggio all interno di un messaggio dal significato innocuo.
Crittografia chiave: f=v, i=e, t=d Bob Vediamoci stasera alle otto cifratura Alice fiteonagezto ziloorriadda decifratura Vediamoci Non capisco ma è sospetto stasera alle otto In certi scenari l esistenza stessa di un messaggio cifrato può destare sospetti e non essere ammessa.
Steganografia chiave: 6-1, 1-2, 3-1, 5-2, 0, 2-7 Bob Vediamoci stasera alle otto Steg Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura ché la diritta via era smarrita Bob e Alice amano Dante decodifca Alice Vediamoci stasera alle otto Nella steganografia l esistenza stessa di una comunicazione nascosta rimane segreta
In maniera più flessibile My friend Bob: Until yesterday I was using binoculars for stargazing. Today I decided to try my new telescope. The galaxies in Leo and Ursa Major were unbelievable! Next, I plan to check out some nebulas and then prepare to take a few snapshots of the new comet. Although I am satisfied with the telescope, I think I need to purchase light pollution filters to block the xenon lights from a nearby highway to improve the quality of my pictures. Cheers, Alice. Prendi le lettere iniziali: mfbuyiwubfstidttmnttgilaumwuniptcosnatpttafsotncaiaswttitintplpftbtxlfan htitqompca Filltra con π = 3.141592653689793 -> buubdlupnpsspx Prendi la lettera precendente dell alfabeto: ATTACK TOMORROW
Cenni storici Arte antica quanto l uomo Erodoto: tatuaggio sulla testa di uno schiavo scrittura su tavolette di legno ricoperte di cera Boccaccio: Amorosa visione (esempio di acrostico) Microfotografia: messaggi nascosti nei punti del testo (I e II guerra mondiale) Capt. Denton progioniero dei vietnamiti alla TV Korchnoi vs Karpov Inchiostro invisibile
La steganografia nell era digitale Rinnovato interesse a partire dagli anni 90 Tecnologie abilitanti grande disponibilità di canali di comunicazione a banda larga diffusione di contenuti multimediali possibilità di automatizzare le tecniche steganografiche con payload potenzialmente molto elevati Motivazioni spionaggio, terrorismo movimenti dissedenti, desiderio di libertà (censura) protezione della privacy - desiderio di evitare scenari da grande fratello
Steganografia e steganalisi Motivazioni complementari a quelle della steganografia motivano lo studio delle tecniche di steganalisi tecniche di analisi per la rivelazione di messaggi nascosti (anche senza decifrarli) Motivazioni contro-spionaggio, anti-terrorismo controllo dell opinione pubblica in regimi totalitari raccolta di dati (anche sensibili) per motivazioni commerciali o per fini illeciti Indipendentemente dalle motivazioni lo sviluppo di tecniche di steganalisi è indispensabile allo studio delle stesse tecniche di steganografia
Un interesse crescente Numero di articoli pubblicati riguardanti steganografia o steganalisi 2006: 100 2007: 135 2008: 205 Software per steganografia messo in circolazione ogni anno (inclusi gli aggiornamenti) 2003: 420; 2004: 485; 2005: 390 2006: 410; 2007:495 Immagini: media preferito software disponibile: 56% immagini, 15% audio, 8.5% testo, spazio su disco 14%
Problema del prigioniero (Simmons 1983) Sorgente di immagini 00101 1 Compressione cifratura Immagine ospite (cover) Alice Chiave di cifratura stego-chiave Un guardiano osserva la comunicazione e vuole capire se Alice sta inviando dei messaggi nascosti nelle immagini 00101 1 Decifratura decodifica Bob
Requisiti opposti In una qualsiasi applicazione di data-hiding si devono fare i conti con tre requisiti in contrasto tra loro Invisibilità (steganografia) Robustezza (watermarking) Capacità (etichettatura)
Invisibilità percettiva Il messaggio nascosto deve essere invisibile anche in presenza di processing apposito messaggio Immagine cover LSB del canale verde (originale) LSB del canale verde (stegoimmagine)
Il requisito di invisibilità Invisibilità percettiva, ma soprattutto invisibilità statistica Assunzioni sul comportamento del guardiano Guardiani attivi, maliziosi e passivi Principio di Kerckhoff: Il guardiano conosce l algoritmo steganografico Il guardiano conosce le proprietà statistiche del database di immagini usato da Alice L invisibilità da sola non è sufficiente Gli scenari reali sono sempre più complessi dei modelli matematici (la crittografia insegna)
Prima di andare avanti è necessario sapere come le immagini vengono memorizzate e trasmesse in rete Immagini raw: matrici di valori interi compresi tra 0 e 255 e rappresentati in forma binaria 100 102 104 156 157 190 201 201 100 102 130 120 123 191 199 199 103 105 127 118 125 190 190 188 110 112 112 116 123 131 190 189 101 102 106 102 120 130 191 199 101 104 107 109 134 135 199 220
Prima di andare avanti La maggior parte delle immagini è memorizzata e trasmessa in formato JPEG In questo caso il file contiene i coefficienti DCT quantizzati a gruppi 8x8-16 90 37-17 -1-2 -2-1 63 10-46 -14 12 0 0 2-2 -9-5 12 4-5 -2 1 1-3 -2 0-3 -1 1 1 0-2 -1-1 0 1 1-1 0 0 0 0-1 0 0 0 0-1 0 0 0 0 0 0 0-1 0 1 0 0 0 0
Scelta del dominio di inserimento Steganografia nel dominio spaziale Semplicità d uso Capacità elevata Analisi dell invisibilità percettiva semplificata Steganografia nel dominio compresso (JPEG) Inserimento del messaggio nei coefficienti DCT (ma non solo) Diffusione delle immagini JPEG Sicurezza minore (modelli statistici dei coefficienti DCT) Es.pio: F5, OutGuess, Jsteg (http://zooid.org/~paul/crypto/ jsteg)
Steganografia by cover selection Alice ha un database di immagini tra cui sceglie quella corrispondente al messaggio giusto contenuto semantico dell immagine valore degli LSB di alcuni pixel hash dell immagine o di un sottoinsieme Vantaggio: sicurezza molto elevata (quasi perfetta) Svantaggio: permette solo payload molto bassi Es.pio: un messaggio di 8 caratteri (64 bit) richiede almeno 2 64 (10 19 ) immagini
Steganografia by cover synthesis Alice crea sul momento un immagine che contiene il messaggio da trasmettere La creazione dell immagine non è banale un modo di procedere potrebbe essere il seguente Alice si procura tanti scatti della stessa scena Alice divide le immagine a blocchi. Il messaggi portato da ogni blocco sono alcuni LSB o un hash del blocco Alice compone l immagine finale assemblando blocchi con i sottomessaggi giusti Vantaggio: buona sicurezza (problemi con le dipendenze tra i pixel lungo i confini) Svantaggio: poco adatto per messaggi lunghi
Steganografia by cover modification Di gran lunga l approccio più comune Permette payload anche molto elevati ma la sicurezza va analizzata attentamente key k key k cover x Emb(x, m, k) stego-object y Ext(y, k) m message m Payload = log 2 ( M ) / sizeof(x); Distorsione = d(x,y) = x(i) y(i) n i=1 ( ) 2
Un esempio dettagliato: LSB I bit meno significativi (LSB) dell immagine (o dei coefficienti DCT quantizzati) vengono sostituiti col messaggio (capacità = 1bpp o 1bpnzc) Immagine cover b y t e mess. mess. Stego Immagine
Università di Siena Impercettibilità visiva LSB sembra perfetto: il piano LSB di un immagine è molto simile al rumore LSB Messaggio MSB Immagine cover 5 Maggio, 2011 Milano Stegoimmagine Mauro Barni, Dip. Ingegneria dell Informazione, VIPP group
Attacco all LSB In realtà scoprire la steganografia LSB (per alti payload) è molto facile
Attacco all LSB se x(i) è pari abbiamo 01100000 che rimane com è o aumenta di 1 -> 01100001 se x(i) è dispari abbiamo 01100001 che rimane com è o diminuisce di uno -> 01100000 Consideriamo la coppia (0,1): (00000000, 00000001) Circa metà dei pixel uguali a 0 passeranno a 1 e circa metà dei pixel uguali a 1 passeranno a 0 Alla fine avremo circa lo stesso numero di pixel = 0 e pixel = 1, cioè h stego (0) = h stego (1)
Attacco all LSB L istogramma dell immagine stego assume un andamento molto caratteristico Istogramma originale Istogramma della stego-immagine
Contromisure Per una steganografia perfettamente sicura è necessario preservare completamente tutte le statistiche dell immagine impossibilità di sviluppare modelli statistici adeguati per le immagini (un po meglio in DCT) e poi sarebbero troppo complicati Quattro approcci empirici usati in pratica steganografia model preserving modulazione stocastica steganalysis-based steganography minimizzazione delle distorsione
4 approcci empirici Steganografia model-based Si identifica un modello della sorgente Si opera in maniera tale da non modificare il modello Esempio: restauro statistico Il messaggio viene inserito in un sottoinsieme dei pixel (coefficienti) Gli altri vengono modificati per restaurare il modello (es.pio istogramma) OutGuess -> dominio DCT Sicurezza perfetta finché si resta nell ambito del modello (in pratica non basta)
4 approcci empirici Modulazione stocastica Viene simulato il rumore introdotto in fase di acquisizione Si sovrappone un rumore che assomiglia al rumore di acquisizione rumore termico rumore di quantizzazione PRNU Si ottengono payload abbastanza elevati (0.8 bpp)
4 approcci empirici Steganalysis-based steganography Si opera in maniera tale da eliminare (ridurre) gli artefatti su cui si basa un particolare steganalizzatore Ese.pio: ±1-steg Se l LSB è quello giusto non si fa niente Se l LSB va cambiato si somma o sottrae 1 a caso OSS: la variazione non è più limitata all LSB 01111111+1=10000000 La sicurezza aumenta moltissimo perché si modifica meno l istogramma (a parte gli overflow) F5 utilizza ±1-steg nel dominio della frequenza
4 approcci empirici Minimizzazione della distorsione (impatto) Definizione di una funzione di costo quanto costa modificare un certo pixel ρ(i) costo totale = n i=1 ρ(i)[x(i) y(i)] 2 Identificazione di una regola di inserimento che minimizza il costo F5 ottimo da questo punto di vista (Dominio DCT) Filone di ricerca attivo (matrix embedding)
Alcuni ordini di grandezza Payload da 0.1 fino a 0.5 bpp nel dominio dei pixel immagine 1000x1000 => ~ 80Kbyte fino a 0.8 bpnzc nel dominio DCT la capacità effettiva dipende dal contenuto. Per un immagine 1000x1000 => 40Kbyte
Steganalisi Importanza dello scenario e delle informazioni a disposizione del guardiano steganalisi cieca (blind) o mirata (targeted) conoscenza delle immagini cover (la loro statistica) conoscenza del payload Due casi estremi monitoraggio del traffico Internet analisi di un hard disk
Steganalisi = test delle ipotesi Formulazione come un test delle ipotesi Osservazioni: y = {y 1, y 2 y N } i pixel delle immagini, i campioni di un segnale audio etc Spesso si ricorre a delle funzioni di y (talvolta dette feature o statistiche) per semplificare il problema Due ipotesi alternative H 0 : y non contiene un messaggio nascosto H 1 : y contiene un messaggio nascosto Criterio di decisione ottimo rispetto a un qualche criterio
Invisibilità statistica Criterio di Bayes minimizzazione della probabilità di errore non è applicabile perché non sono note le probabilità a priori Criterio di Neyman-Pearson Probabilità di falso allarme decidiamo per H 1 quando è vera H 0 Probabilità di mancata rivelazione decidiamo per H 0 quando è vera H 1 N-P: minimizzare P m per una fissata P f In fase di steganalisi va decisa la P f e poi va capito cosa fare del risultato del test
Esempio Supponiamo che il criterio di decisione si basi su una sola statistica con ddp note (Gaussiane) sia nel caso H 0 che H 1 P f stego immagini P m immagini originali T
Curva ROC P d Per ogni valore di P f troviamo una P m. Il grafico della P d = 1-P m in funzione della P f si chiama curva ROC La bontà di uno steganalizzatore si valuta in base alla sua curva ROC o globalmente mediante l AUC L invisibilità perfetta richiederebbe che il migliore steganalizzatore non possa far meglio di una scelta casuale (diagonale, AUC = 1/2) P f
Esempio Nel caso di una sorgente (senza memoria) con ddp nota si può usare il test Chi Quadro Dividiamo la ddp in tanti intervalli (bin) Contiamo quante volte i campioni osservati cadono in ogni intervallo: n i Date probabilità che si verifichino valori all interno di un bin calcoliamo: p i χ 2 = N i=1 ( n i Np i ) 2 Np i Valori troppo alti sono presi come evidenza dell ipotesi H 1
Scelta della statistica da analizzare Nella steganalisi mirata si usano poche statistiche studiate ad hoc Es.pio attacco all LSB Data un immagine e il suo istogramma possiamo impostare un test Chi-quadro in cui la dpp presunta è h Hp 0 (2k) = h Hp 0 (2k +1) = h(2k) + h(2k +1) 2 L LSB (con 1 bpp) viene identificato con estrema facilità. Ovviamente per payload minori le cose diventano più complicate.
Scelta della statistica da analizzare Nella steganalisi cieca è tutto più difficile Se si conosce la statistica della sorgente si possono usare ancora feature mirate Altrimenti si calcolano molte feature (> 100) possibilmente indipendenti dal contenuto delle immagini (rumore) si addestra un classificatore mediante esempi reti neurali, SVM importanza del training set Si misurano le curve ROC empiricamente su un test set
BOSS challenge (2010) Competizione per steganalisti http://www.agents.cz/boss/bossfinal/ steganografia allineata allo stato dell arte maggiori esperti mondiali Scenario abbastanza favorevole all analisi Tempi molto lunghi: 4 mesi di ricerca e sviluppo
BOSS challenge (2010) Warming Ranking phase (4 (2 mesi) A The training Ranking database phase will of 512x512 start with greyscale the disclosure Cover of a test database of 1000 images. Each Stego image will contain a fixed embedded A payload training of database the same of size 512x512 as in the greyscale Warming Stego phase. The Objective: implementation to distinguish of the stego embedding and cover algorithm images for Unix and Windows One trial will be possible per three day per participant. The paper describing the embedding and detection algorithm Randomized answer
BOSS challenge (2010) Risultati Hugo breaker, Binghamton University Accuracy = 80.3% Guel & Kurugollu, Queens University Accuracy = 76.8% Andreas Westfeld, HTW Dresden Accuracy = 67% BossTeam Czech Tech. Univ. Accuracy = 65% Nonostante le condizioni favorevoli i risultati non sono eccelsi
Conclusioni Esistono numerose tecniche steganografiche e una gran quantità di software (di validità dubbia e non documentata) sicurezza sembra banale ma non lo è conoscenza di principi base occhio agli attacchi di sistema Steganalisi possibile e affidabile in certi casi molto difficile in altri dipendente dallo scenario Lavori in corso