La Steganalisi è il processo inverso della Steganografia. L’obiettivo della steganalisi è determinare se un mezzo o file contiene un messaggio e nel caso l’esito sia positivo, trovare quali sono le informazioni nascoste. Prendendo spunto dalla lezione del prof. Battiato, si hanno diversi tipi di attacchi:
Il cover è quindi il mezzo con cui viene nascosto il messaggio segreto; i più utilizzati e interessanti da analizzare sono le immagini, i file audio e video.
Le tecniche più comuni per nascondere i messaggi sono:
I metodi principali per trovare un file steganografato sono quindi:
La rilevazione strutturale cerca quindi di scoprire se in un file immagine sono presenti informazioni nascoste e prova ad estrarle. In rete ci sono molto software per verificarlo e anche distribuzioni linux specifiche per l’analisi forense (come Deft Linux, Cyborg o Caine).
Steganografia: Con StegoSuite inserisco il messaggio nascosto in un immagine Jpeg. Per farlo basta cliccare su File->Open, inserire il messaggio che si vuole, proteggerlo opzionalmente con password e cliccare su Embed
Steganalisi: Ovviamente per estrarre il messaggio si può utilizzare lo stesso software, ma questo è possibile solo se l’attaccante sa quale è. Nel caso non si sapesse, è molto più difficile trovare l’informazione nascosta.
Per prima cosa, confronto le due immagini per vedere le differenze
I comandi che ho eseguito sono:
Come si può ovviamente notare le due immagini sono cambiate, soprattutto nel peso: mentre la prima pesa 80Kb, quella steganografata pesa circa la metà.
Un software che può venirci incontro per verificare se un immagine è steganografata è stegdetected (nel link trovate le informazioni su come installarlo su kali linux). Funziona solo con Jpeg, quindi nel nostro caso va benissimo:
root@kali:~/Desktop# stegdetect steganografata.jpg
steganografata.jpg : f5(***)
E come si può vedere è riuscito a capire con che tecnica steganografica il file è stato creato. “Rompere” questo algoritmo non penso sia nelle mie capacità, ma vi lascio un paper nel quale viene spiegato come farlo teoricamente.
Per trovare le informazioni nascoste bisogna riuscire a trovare il software con cui è stata steganografato il file, in modo da riuscire poi ad utilizzarlo per effettuare l’operazione inversa. Con molti file si potrebbe trovare un pattern simile o una firma del programma ed utilizzarlo in modo inverso. Ammetto di non aver mai approfondito l’argomento, ma dopo questo articolo penso che cercherò di compiere analisi complete con immagini e file audio e pubblicarle. Per chi volesse già approfondire ho trovato questo sito contenente alcune importati pubblicazioni in merito, mentre una lista dei principali software steganografici si può trovare qui.