La steganografia, termine composto dalle parole greche steganos (coperto) e grafia (scrittura) ha origini antiche (tracce di tale tecnica sono state ritrovate nell’antica Grecia ai tempi di Erodoto) ed è volta a nascondere la comunicazione tra due interlocutori, celando il messaggio all’interno di contenuti in apparenza normali (articoli, immagini, testi…): solo chi conosce la chiave per decifrare il messaggio nascosto è in grado di ricostruirlo e comprenderne davvero il senso. Data la sua efficacia e, più in generale, considerate le sue velleità complottistiche e cospirazioniste, si è tramandata sino ai giorni nostri, declinandosi inevitabilmente in chiave digitale. Quando scorrete le pagine di un blog underground o di un sito Web tendenzialmente borderline, siete davvero sicuri che ciò che vedete a schermo non contenga in realtà un PDF, un TXT o un “video proclama” con un piano segreto per sovvertire l’ordine mondiale o boicottare il governo?
Conoscere spermentando
Per capire come si fa a creare un file steganografato, non è necessario digitare complesse righe di comando: è possibile utilizzare dei tool con interfaccia grafica che semplificano al massimo tutta l’operazione. Tra questi abbiamo provato SilentEye, un software Open Source, scritto in Qt, disponibile per piattaforma Windows, macOS e Linux. Mettetelo subito alla prova.
Alcune dritte per massimizzare il risultato
Come si vedrà, lo “spazio” per nascondere un messaggio/file dentro a un altro è strettamente legato agli “octets” disponibili. Per far sì che questi siano sufficienti è necessario utilizzare immagini contenitore particolarmente grandi (in termini di Megapixel e quindi di spazio occupato). Per crittare i dati in maniera sicura e renderli visibili in chiaro solo tramite inserimento di una password robusta, in fase di codifica, prima di premere Encode, cliccate Enable encryption: lasciate la crittografia AES256 e digitate due volte la parola chiave nei campi Key. In fase di decodifica, per visualizzare il messaggio o file nascosto, sarà ovviamente necessario utilizzare (oltre alle opzioni di codifica) anche la chiave AES256.
Messaggi in bottiglia? No, in un file!
- Installate SilentEye sul PC ed eseguitelo. Da File > Open caricate l’immagine (BMP o JPEG) o il file audio (WAV) che fungerà da contenitore per il messaggio che andrete a nascondere (PDF, TXT, DOC, immagine ecc.). In alternativa potete trascinare il file direttamente nell’area drag and drop e cliccare Encode.
- In Options potete intervenire sulla compressione del file (JPEG quality) e su una serie di parametri necessari a codificare il “messaggio”. Questi sono relativi alla posizione dell’Header del file occultato, all’intervallo di luminanza coinvolto (Luminance interval) e alla parola chiave (Passphrare) che è personalizzabile.
- Nel box in basso a sinistra potete digitare il messaggio da nascondere. In alternativa potete occultare un file caricandolo con il pulsante in basso a destra. Tenete d’occhio il valore degli octets disponibili: se li superate, il file di output non sarà generato. Cliccando Encode generate il file nel percorso indicato in Destination.
Estrazione del contenuto segreto
- Ipotizzate di aver pubblicato l’immagine appena generata sul vostro sito Web e di aver comunicato ai lettori/seguaci (ovviamente con altri strumenti) le informazioni necessarie per la decodifica. Ebbene, questi non devono fare altro che installare SilentEye, scaricare l’immagine e trascinarla nel software.
- Cliccando Decode, in basso a sinistra, si aprirà la schermata per l’inserimento dei parametri. Rispettando quanto fatto in sede di codifica, impostate Luminance interval (k) su 16, dal menu a tendina Header position selezionate top e in Passphrase digitate la parola chiave utilizzata: segreto_1@.
- Non vi resta che cliccare su Decode in basso a destra e attendere che il messaggio segreto appaia in chiaro sullo schermo. Qualora le opzioni inserite non dovessero corrispondere a quelle utilizzate in fase di decodifica verrà visualizzato l’errore This media don’t seem to have an hidden message.