|
Il termine steganografia deriva
dai due vocaboli greci stego
(rendo occulto, nascondo) e grajh
(la
scrittura). Steganografia è dunque "la scrittura
nascosta" o meglio ancora l'insieme delle tecniche
che consente a due o più persone di comunicare in modo
tale da nascondere non tanto il contenuto (come nel caso
della crittografia), ma la stessa esistenza della
comunicazione agli occhi di un eventuale osservatore. L'uso
della steganografia nasce perchè in molte situazioni
l'uso della crittografia non è sufficiente ed inoltre
le restrizioni applicate dai vari governi ai sistemi
crittografici hanno indotto a studiare metodi alternativi
per lo scambio di messaggi privati, tra cui la stessa
steganografia.
La
steganografia può esserea utilizzata come una tecnica
integrativa alla criptazione, anche se a volte le due cose
vengono confuse.
Le
differenze tra questi due concetti è che, mentre nel caso
della crittografia è consentito al nemico di rilevare,
intercettare e modificare i messaggi senza però avere la
possibilità di violare le misure di sicurezza garantite
dallo specifico sistema crittografico (cioè senza poter
accedere all'informazione vera e propria e quindi leggerne
il contenuto), l'obiettivo della steganografia è invece
quello di nascondere un messaggio dentro un
altro messaggio, dall'aspetto innocuo, in modo che il
nemico non possa neppure rilevare l'esistenza del primo
messaggio. Quindi lo scopo della crittografia
è quello di nascondere il contenuto di un messaggio,
mentre la steganografia si
prefigge di nasconderne l’esistenza.
Possiamo
classificare le tecniche steganografiche in tre modelli: steganografia
sostitutiva, steganografia selettiva e steganografia
costruttiva.
Steganografia
sostitutiva: la maggior parte dei canali di
comunicazione (linee telefoniche, trasmissioni radio,
ecc.) trasmettono segnali che sono sempre accompagnati da
qualche tipo di rumore. Questo rumore può essere
sostituito da un segnale - il
messaggio segreto - che è stato trasformato in
modo tale che, a meno di conoscere una chiave segreta, è
indistinguibile dal rumore vero e proprio, e quindi può
essere trasmesso senza destare sospetti. La maggior parte
dei tools presenti sul mercato si basano su questa idea.
Quello che viene ritenuto il
principale difetto di queste tecniche è che in genere la
sostituzione operata può alterare le caratteristiche
statistiche del rumore presente nel media utilizzato. La
steganografia selettiva e quella costruttiva hanno proprio
lo scopo di eliminare questo difetto della steganografia
sostitutiva.
Steganografia
selettiva: modello teorico che non trova riscontri
pratici al momento.
Steganografia
costruttiva: La steganografia
costruttiva affronta lo stesso problema nel modo più
diretto, tentando di sostituire il rumore presente nel
medium utilizzato con l'informazione segreta
opportunamente modificata in modo da imitare le
caratteristiche statistiche del rumore originale. Questo
approccio è senza dubbio valido, ma presenta anche alcuni
svantaggi. Innanzitutto non è facile costruire un modello
del rumore: la costruzione di un modello del genere
richiede grossi sforzi ed è probabile che qualcuno, in
grado di disporre di maggior tempo e di risorse migliori,
riesca a costruire un modello più accurato, riuscendo
ancora a distinguere tra il r umore originale e un
sostituto. Inoltre, se il modello del rumore utilizzato
dal metodo steganografico dovesse cadere nelle mani del
nemico, egli lo potrebbe analizzare per cercarne possibili
difetti e quindi utilizzare proprio il modello stesso per
controllare che un messaggio sia conforme a esso. Così,
il modello, che è parte integrante del sistema
steganografico, fornirebbe involontariamente un metodo di
attacco particolarmente efficace proprio contro lo stesso
sistema.
A
causa dei suddetti problemi, la tecnica
iniettiva rimane la più conveniente da usare.
Se si hanno particolari esigenze di sicurezza, si
può pensare di usare contenitori molto più grandi
rispetto al messaggio segreto. In questo modo il messaggio
contenitore verrà modificato sono lievemente in modo da
rendere impossibile la rilevazione di un messaggio
nascosto.
Tuttavia
rimane un problema ancora da risolvere. In ambito
crittografico il principio di Kerckhoff recita così: la
sicurezza del sistema deve basarsi sull'ipotesi che il
nemico abbia piena conoscenza dei dettagli di progetto e
implementazione del sistema stesso; la sola informazione
di cui il nemico non può disporre è una sequenza (corta)
di numeri casuali - la chiave segreta - senza la quale,
osservando un canale di comunicazione, non deve avere
neanche la più piccola possibilità di verificare che è
in corso una comunicazione nascosta.
È
facile capire che, volendo aderire a questo principio, le
tecniche esposte sono insufficienti. Infatti se i dettagli
dell’algoritmo utilizzato sono resi pubblici, chiunque
è in grado di accedere ad eventuali informazioni
nascoste, semplicemente applicando il procedimento
inverso. Ecco
perché si rende necessaria una fase di preelaborazione
del messaggio segreto. La soluzione più ovvia è quella
di crittografare il messaggio segreto prima di iniettarlo.
Così facendo il problema però non è del tutto risolto,
poiché il file cifrato può comunque essere estratto da
chiunque e si presume che un crittoanalista esperto possa
riconoscere un file prodotto da un programma di
crittografia convenzionale. A questo punto il sistema
steganografico fallisce. Mentre il fallimento di un
sistema crittografico è decretato dalla lettura del
messaggio cifrato da parte del nemico, un sistema
steganografico si può decretare fallito quando ci si
accorge della sola presenza di un messaggio nascosto. La
soluzione, quindi, è quella di camuffare il messaggio
cifrato prima di iniettarlo in modo che risulti
indistinguibile da semplice rumore. Per esempio, se un
messaggio è stato cifrato con PGP, il file cifrato
rispetterà un particolare formato contenente, oltre al
blocco di dati cifrati, altri dati per lo più ridondanti
che facilitano la gestione del file da parte di PGP.
Esistono programmi come Stealth capaci di eliminare (e di
reinserire nella fase di ricostruzione) tutte le
informazioni diverse dal blocco di dati cifrati. In questo
modo il file nascosto appare come una sequenza di bit
apparentemente casuale, che è molto difficile distinguere
da rumore. L’attacco a questo punto sarà molto più
complesso perché seppure verrà estratto il file nascosto
sarà difficile capire che quei caratteri costituiscono un
blocco di dati cifrati. Quindi soltanto disponendo della
chiave giusta si potrà accedere al messaggio in chiaro.
In caso contrario non si potrà neppure capire se il
fallimento è dovuto al fatto di non disporre della chiave
giusta o al fatto che il file contenitore non contiene
alcun messaggio segreto.
Un
metodo alternativo all'uso congiunto di PGP
e Stealth è dato dall'uso di programmi
espressamente progettati per trasfor mare un file in
rumore apparente (per esempio, Wnstorm,
White Noise Storm). Riassumendo, un sistema
steganografico completo deve comprendere due fasi
fondamentali: trasformazione del messaggio in chiaro in
rumore apparente. Questa fase prevede l'uso di un sistema
di crittografia convenzionale e quindi di un qualche tipo
di chiave; iniezione nel (o generazione del) messaggio
contenitore.
Come fare per ...
In pratica viene
utilizzato un file comune (ad esempio una immagine in
formato .bmp o un file musicale .mp3) per introdurvi
all'interno un altro file normalmente criptato
contenente informazioni del tutto estranee alla natura del
file principale che lo ospita. In pratica il file .mp3 può
contenere anche un testo, un immagine, una registrazione
vocale in formato diverso dall'mp3 o altro ancora.
Ovviamente la caratteristica comune a tutti i programmi di
steganografia è che consentono al file principale di
continuare a svolgere correttamente il suo compito: quindi
ad esempio una immagine con la foto della fidanzata potrà
essere correttamente visualizzabile anche se al suo
interno è contenuta anche la lista delle nostre password.
Inoltre, senza lo stesso software steganografico che è
servito per introdurre il file secondario all'interno del
file principale, risulterà quasi impossibile accorgersi
dell'intruso. Non verranno infatti visualizzate estensioni
anomale o errori. Non si avranno problemi con software
antivirus o durante le compressioni ad esempio .zip o
.rar. Anche ipotizzando di disporre del software
steganografico adatto, e quindi di vedere segnalato il
corpo estraneo all'interno del file, si dovrà conoscere
la necessaria chiave di decriptazione.
TOOLS
| Steganos
3 Security Suite |
Il
programma è stato sviluppato dalla DEMCOM di Francoforte
(Germania) in collaborazione con CenturionSoft di
Washington (USA). La versione 3 è stata rilasciata nei
primi mesi del 2001 per piattaforma Intel con sistema
operativo Windows 95, 98, ME, NT 4.0 e 2000. I requisiti
minimi richiesti dal programma sono un processore Pentium,
32 MB di ram, circa 15 Mb di spazio libero su hard-disk.
Il programma può essere scaricato gratuitamente dal sito http://www.steganos.com/
in versione shareware. Dopo 30 giorni di utilizzo è
possibile continuare ad utilizzare il programma, ma in
versione light, cioè con alcune funzionalità
disattivate, oppure si può scegliere di registrarsi per
continuare ad usarlo normalmente. Più
che un software steganografico, Steganos 3 è una suite di
strumenti per la sicurezza |
| Encrypt
Pic |
|
| S-Tools
4 |
S-Tools 4,
scritto da Andy Brown, è un programma steganografico tra
i più diffusi, facilmente reperibile in rete presso i più
comuni siti di software freeware. L’uso del
programma, infatti, è completamente gratuito ed
illimitato nel tempo |
| Jsteg
Shell 2.0
|
Jsteg
shell, scritto da Derek Upham e John Korejwa
funziona su tutte le versioni di Windows esclusa
la 2000.
è specifico per il formato JPG |
| Gif-it-up
1.0 |
Questo
software è dedicato alla steganografia con file GIF come
contenitori.
|
| Stego |
|
| Psteg |
|
| Mp3stego |
Questo
programma si occupa di steganografia con file MP3 come
contenitori.
|
| BMPStego |
|
| Texto |
Texto
is a text steganography program which transforms
uuencoded or PGP ascii-armoured ascii data into
English sentences |
| Contraband |
|
| Hide
and Seek |
|
| Invisible
Encryption |
|
| PGPn123 |
|
| wbStego |
|
| Scytale |
Windows
PGP interface that includes an option to hide data
in .PCX files |
| Steganos |
Nasconde
i dati in files BMP, VOC, WAV e ASCII |
| Digital
Picture Envelope |
|
| Hide
4 PGP |
Nasconde
i dati in files
BMP, WAV, e VOC |
| jpeg-jsteg |
|
| PGE
- Pretty Good Envelope |
Nascondei
dati in
files GIF o JPG di qualunque dimensioneo
risoluzione |
| Stealth |
A
PGP tool for steganography which strips any
standard headers off of a PGP encrypted message to
make the result look like random noise. |
| Wnstorm |
Wnstorm
(White Noise Storm) is a cryptography and
steganography software package which you can use
to encrypt and hide files within PCX images. |
| Invisible
Secrets 3 |
Questo
tools ti offre la possibilità di criptare e
nascondere files in altri files. |
| Blindside |
Ti
permette di concatenare file e nasconderli in un
immagine |
| NiceText |
Converte
qualunque file in linguaggio testo pseudo-naturale |
| Snow |
Concatena
messaggi ascii |
| Stash-It |
Stash-It
will allow you to hide (and extract) any data file
inside a perfectly normal BMP, TIFF, PNG or PCX
file. |
| TextHide |
TextHide
can be used for texts of any area |
| wbStego |
wbStego
is a tool that hides any type of file in bitmap
images, text files, HTML files or Adobe PDF files |
Strumenti
per rilevare immagini steganografate
StegDetect
|