Tecniche e classificazione della Steganografia

Tempo di lettura: 8 minuti

La Steganografia è definita come l’arte di nascondere dati all’interno di altri dati senza essere scoperti da fonti esterne. Vengono rimpiazzati bit inutili e non utilizzati all’interno di file immagini, video o audio con bit precisi e scelti da noi. L’obbiettivo è lo stesso della crittografia, ossia inviare file senza che enti o persone esterne possano scoprire ciò che stiamo inviando.

Le applicazioni sono diverse, tra le quali:

  • Steganografia del File System;
  • Steganografia nei media: vengono nascoste delle stringhe di testo in file immagini, video o audio.
  • Nascondere i metadati: i metadati possono essere utilizzati per tracciare un file. In un esempio pratico, se compro un Ebook online, è possibile che oltre al DRM, ci siano informazioni sulla transazione, in modo che se duplico il file e lo pubblico online posso essere riconosciuto.

Classificazione

La Steganografia viene classificata in due aree principali, basate su altrettante tecniche (steganografia tecnica e steganografia linguistica).

http://www.au.af.mil/au/awc/awcgate/fbi/2004_03_research01.htm)
http://www.au.af.mil/au/awc/awcgate/fbi/2004_03_research01.htm)

Steganografia tecnica

La steganografia tecnica consiste nel nascondere messaggi di testo con l’aiuto di metodi fisici o chimici.  Alcuni di questi sono:

  1. Inchiostro invisibile;
  2. Microdot: è un testo o un immagine che viene considerevolmente ridotta per non essere rinosciuta (tradotto infatti in micropunti);
  3. Steganografia digitale: avvalendosi quindi di un computer per nascondere il testo.

Steganografia linguistica

Viene nascosto il messaggio in vettori o stringhe di testo. Si divide a sua volta in:

  1. Semagrammi (ndb: semagram in inglese): vengono utilizzati simboli o simboli differenti per nascondere il messaggio. Si compone da:
    • visuali: si utilizzano oggetti fisici per trasmettere il messaggio;
    • testuali: nel testo stesso viene nascosto un messaggio con stringhe particolari (ad esempio lettere rimpicciolite o più spazio tra le due).
  2. Codici aperti: il messaggio sembra innocente, mentre viene nascosto all’interno di esso. Si compone da:
    • codice jargon: è un linguaggio che un gruppo ristretto di persone può capire ma è senza significato per altre. Questo codice è composto da segnali, terminologie e conversazioni che hanno un preciso significato solo per un gruppo di persone;
    • cifrari nascosti: il messaggio è nascosto in un vettore di stringhe, in modo che solo chi conosce la regola può decifrare il testo (ad esempio, leggi ogni 50 parole). Si divide a sua volta in:
      • cifrario a griglia;
      • cifrario nullo.

Tecniche

Le principali tecniche di steganografia sono classificate in sei gruppi principali. Essi sono:

  1. Tecniche di sostituzione: in questa tecnica vengono sostituiti i bit non utilizzati con bit composti dal messaggio segreto. Se il destinatario conosce la posizione di questi bit può estrarre il messaggio;
  2. Tecnica di trasformazione: l’informazione viene nascosta mediante trasformazioni dell’immagine (o video, audio) tagliando, comprimendo o applicando altri processi di modifica. Si può effettuare su un’intera immagine o solo su blocchi specifici;
  3. Tecnica dello spettro espanso: questa tecnica è principalmente utilizzata nelle comunicazioni radio militari, proprio per la sua robustezza e difficoltà di estrazione. Può essere descritto come un metodo nel quale un segnale rilasciato a una determinata frequenza di banda viene trasformato poi utilizzando una larghezza di banda più alta (e quindi reso irriconoscibile).
  4. Tecnica statistica: utilizza l’esistenza dello schema 1-bit (pagina 6), nel quale viene nascosto 1 bit nel file digitale;
  5. Tecnica della distorsione: vengono effettuate una serie di modifiche al file. Il destinatario può confrontare il file originario con quello ricevuto, in modo da ricostruire la sequenza di modifiche;
  6. Generazione di una copertura: in questo caso viene generata una copertura ad-hoc per nascondere il messaggio, un caso pratico è Spammimic.

Esempi pratici e una spiegazione più esaustiva delle diverse tecniche la potete trovare qui.

Funzionamento pratico e tipologie di Steganografia

La Steganografia nasconde informazioni importanti all’interno di testi, immagini, audio, video e qualsiasi file digitale.

imagesteg
imagesteg

Esistono molteplici tipi di file con cui si può effettuare una steganografia, alcuni sono:

  • immagini;
  • documenti;
  • video;
  • audio;
  • siti web;
  • email;

Steganografia di Immagini

Le immagini sono uno dei file più utilizzati per nascondere testi nascosti, poichè l’alterazione di bit non è semplice da rilevare. Le tecniche utilizzate sono principalmente due:

  1. inserimento del messaggio nell’immagine, modificando i bit direttamente;
  2. modifica dell’immagine e successivamente inserimento del messaggio.

La tecnica probabilmente più frequente è la cosiddetta LSB (Least Significant Bit) e consiste appunto nel rimpiazzare l’ultimo bit di ogni pixel con una parte del messaggio.

Alcuni tools utilizzabili per le immagini sono:

Steganografia di documenti

Processo molto simile a quello delle immagini, alcuni software sono:

  • Wbstego (Linux & Windows, supporta immagini, file txt, Pdf e HTML);
  • Office XML (Windows);

Steganografia Audio

La steganografia audio permette di nascondere un messaggio all’interno di un file audio senza comprometterlo. L’informazione può essere nascosta utilizzando la tecnica LSB o creando un file con frequenza >20.000 Hz (in modo che non sia udibile all’orecchio umano), un esempio è lo spettro espanso. Software disponibili:

Steganografia Video

Tutte le tecniche applicate prima possono essere utilizzate nei video (che sono un’insieme dei due). Nei video non vengono nascosti messaggi di poche parole, ma solitamente un gran numero di informazioni. Software:

Non ne ho trovati per linux gratuiti, se doveste conoscerne altri, fatemi sapere che aggiungo!

Conclusioni

Non ho testato alcun software poichè sono molto semplici e intuitive, ognuno con una propria interfaccia grafica e guide approfondite. Più avanti farò sicuramente un articolo sulla steganalysis, ossia l’analisi di file in cui è nascosto un messaggio (il contrario di tutto ciò che ho introdotto oggi). Per chi volesse approfondire, c’è questo video sulle basi della steganografia.