5 dei migliori strumenti di steganografia in Linux

Una fotografia di una donna che lavora nervosamente davanti a un laptop.

La steganografia è l’arte e il processo di inserire un tipo di informazione all’interno di un’altra nel tentativo di nasconderla. Questo viene spesso fatto in situazioni in cui un individuo desidera preservare informazioni segrete all’interno di oggetti comuni.

Questa guida mostra cinque dei migliori strumenti di steganografia attualmente disponibili in Linux. Mostra anche come puoi nascondere il tuo primo messaggio utilizzando queste utilità.

Indice

  • Che cos’è la steganografia e perché dovresti usarla
    1. Steghide
    1. Stegoshare
    1. Wavsteg
    1. Snow
    1. Steganoroute
  • Domande frequenti

Che cos’è la steganografia e perché dovresti usarla

La steganografia non è una nuova innovazione. Sin dai tempi degli antichi greci, gli storici hanno scritto su come le culture usassero la steganografia per nascondere informazioni in bella vista. A tal proposito, un resoconto famoso è la storia di Histiaeus raccontata da Erodoto, in cui tatuò un breve messaggio sul cuoio capelluto di un servitore.

Da allora, i progressi della tecnologia hanno permesso agli individui di utilizzare la steganografia all’interno di oggetti digitali. Ad esempio, ora è possibile inserire un intero libro all’interno di una semplice fotografia JPEG.

Una finestra che mostra un'immagine contenente un messaggio nascosto.

Uno dei maggiori vantaggi dell’uso degli strumenti steganografici è che sono semplici e facili da usare. Nella maggior parte dei casi, questi programmi sono semplici utilità da riga di comando che prendono il tuo messaggio e un file fittizio.

Un terminale che mostra le opzioni di steghide.

Un altro vantaggio degli strumenti steganografici è che puoi ottenerli gratis. La maggior parte degli sviluppatori oggigiorno licenzia le proprie utilità come Software Libero e Open Source (FOSS). Ti basta avere un computer e una connessione a Internet per iniziare con la steganografia.

Buono a sapersi: il FOSS include anche innumerevoli programmi oltre alla steganografia. Scopri come puoi installare una distribuzione FOSS con Linux-libre.

1. Steghide

Steghide è uno degli strumenti steganografici più popolari oggi. È un programma semplice da riga di comando che codifica testo all’interno di immagini. Steghide funziona creando un elenco casuale di bit all’interno del tuo file fittizio e inserendo i tuoi dati segreti tra quei bit.

Questo approccio significa che i tuoi dati si fonderanno perfettamente con il tuo file fittizio. Inoltre, steghide include anche algoritmi di compressione e crittografia solidi per default. Questo assicura difficoltà nell’estrazione delle tue informazioni, anche se un attore malevolo sa che il tuo file contiene dati segreti.

Puoi installare steghide in Ubuntu e Debian eseguendo il seguente comando:

sudo apt install steghide

Esegui questo comando per creare il tuo primo file steganografico:

steghide embed -ef ./my-secret-data.txt -cf ./my-plain-image.jpg -sf ./steg-image.jpg

Una finestra del terminale che mostra steghide in azione.

Pro

  • Veloce e facile da usare
  • Usa checksum per verificare l’integrità dei dati

Contro

  • L’output è visibilmente più grande dell’originale
  • Modifica piccoli bit del file fittizio originale

Consiglio: se preferisci avere maggiore riservatezza, scopri come crittografare i file utilizzando Tomb in Linux.

2. Stegoshare

Stegoshare è uno strumento steganografico grafico che fornisce agli utenti un’interfaccia intuitiva per nascondere dati all’interno di file immagine. A differenza di steghide, stegoshare si distingue per la capacità di codificare grandi binari all’interno di più file.

Una finestra che mostra l'interfaccia di base per stegoshare.

Un altro vantaggio chiave di stegoshare rispetto ad altri strumenti è che è altamente portatile. Puoi distribuire il programma ad altri utenti indipendentemente dal sistema operativo che utilizzano. Ad esempio, puoi codificare in Linux e ancora decodificarlo su Windows.

  1. Per utilizzare stegoshare, installa prima le sue dipendenze:
sudo apt install wget openjdk-8-jdk openjdk-8-jre

Una finestra del terminale che mostra il processo di installazione delle dipendenze per stegoshare.

  1. Scarica i binari di stegoshare dal sito web dello sviluppatore:
wget http://downloads.sourceforge.net/stegoshare/StegoShare.jar
  1. Esegui il programma e fai clic su “Sfoglia”.

Una finestra che mostra il pulsante di sfogliatura per stegoshare.

  1. Seleziona la tua cartella di immagini fittizie.

Una finestra che mostra il selettore di file per stegoshare.

  1. Fai clic sul pulsante “Seleziona” sotto “Sfoglia”.

Una finestra che mostra il pulsante di selezione in stegoshare.

  1. Seleziona il file che desideri nascondere.

Una finestra che mostra il selettore di dati per stegoshare.

  1. Fai clic sul pulsante “Nascondi” per codificare i tuoi dati segreti nel tuo file fittizio.

Una finestra che mostra il pulsante di nascondi in stegoshare.

Pro

  • Semplice e facile da usare
  • Funziona su qualsiasi piattaforma che esegue Java

Contro

  • Produce file di grandi dimensioni
  • Gli strumenti di analisi delle immagini possono rilevare l’algoritmo di stegoshare

Buono a sapersi: scopri come ridimensionare e ottimizzare la tua immagine dal Terminale Linux.

3. Wavsteg

Oltre a inserire informazioni all’interno delle immagini, puoi anche nascondere le tue informazioni utilizzando i file audio. Wavsteg è uno strumento semplice ma efficace che ti consente di mescolare i dati segreti tra i bit di un file audio digitale.

Uno screenshot del confronto tra un file audio pulito e uno riempito di dati.

Wavsteg legge un intero file audio e cerca i suoi “Least Significant Bits”. Queste sono le parti di un file che non eliminano né modificano i dati al suo interno. Un file audio che contiene dati segreti non avrà alcuna differenza udibile rispetto a un file “pulito”.

  1. Installa le sue dipendenze:
sudo apt install python3 python3-pip  
PATH=$PATH:/home/$USER/.local/bin/
  1. Installa il programma usando pip:
pip install stego-lsb

Una finestra del terminale che mostra il processo di installazione per wavsteg.

  1. Una volta installato, puoi iniziare a codificare i dati all’interno dei tuoi file audio con il seguente comando:
stegolsb wavsteg -h -i my-plain-music.wav -s my-secret-data.txt -o steg-audio.wav

Una finestra del terminale che mostra la codifica per wavsteg.

Pro

  • Leggero e semplice da usare
  • Non c’è differenza udibile tra altri file audio

Contro

  • Funziona solo con file di testo
  • Può produrre file di grandi dimensioni

4. Snow

Snow è uno strumento leggero che utilizza spazi bianchi e tabulazioni per nascondere informazioni all’interno di file di testo. A differenza di altri strumenti steganografici, snow non dipende da formati binari per codificare dati segreti. Questo può essere estremamente utile nei casi in cui non sia possibile condividere file binari di grandi dimensioni.

Una finestra del terminale che mostra la manpage per snow.

Poiché snow si basa solo su testo semplice, è comunque possibile comprimere e crittografare i tuoi file, in modo simile a un file binario. Snow può produrre file estremamente piccoli che possono fondersi con altri dati di testo.

  1. Installa snow con il seguente comando:
sudo apt install stegsnow
  1. Usa il seguente comando per nascondere la frase “MakeTechEasier” all’interno del file “hello.txt.”
stegsnow -C -m "MakeTechEasier" -p asecurepassword hello.txt steg-hello.txt

Una finestra del terminale che mostra snow in azione.

Pro

  • Produce file piccoli
  • Il testo di output può essere utilizzato su qualsiasi programma che accetta testo semplice

Contro

  • Lo spazio dati può essere estremamente limitato
  • L’algoritmo di crittografia è relativamente obsoleto

Consiglio: preferisci ancora più privacy? Passa a questi servizi email sicuri.

5. Steganoroute

La steganografia digitale tradizionalmente nasconde informazioni all’interno di un file. Tuttavia, è anche possibile utilizzare la steganografia senza utilizzare file fittizi.

Steganoroute è uno strumento innovativo di rete che ti consente di nascondere informazioni utilizzando TCP. Il programma crea pacchetti ICMP falsi che contengono il messaggio che desideri inviare. Un host può quindi ascoltare il server per i suoi pacchetti falsi e decodificare le sue informazioni utilizzando uno strumento di analisi della rete.

  1. Installa le dipendenze di steganoroute:
sudo apt install git mtr python3 python-scapy
  1. Clona il codice sorgente del programma dal suo repository:
git clone https://github.com/stratosphereips/steganoroute.git
  1. Trasmetti i tuoi messaggi steganorute eseguendo il seguente comando:
cd ./steganoroute  
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP  
sudo python3 ./steganoroute.py -i lo -m "MakeTechEasier" -l

Una finestra del terminale che mostra steganoroute che trasmette un messaggio.

  1. Verifica se il programma sta trasmettendo correttamente utilizzando lo strumento di analisi mtr:
mtr -t your.local.lan.ip

Una volta in esecuzione, è anche necessario premere D per stampare il messaggio.

Una finestra del terminale che mostra il messaggio trasmesso per steganoroute.

Pro

  • Non dipende dalla creazione di file fittizi
  • È necessario solo trasmettere per condividere messaggi

Contro

  • Si basa sulla falsificazione di pacchetti ICMP
  • Attori malintenzionati possono intercettare i pacchetti e ricostruire il tuo messaggio

Consiglio: la rete può sembrare scoraggiante per un utente novizio. Scopri come i pacchetti DNS viaggiano sulla rete utilizzando dig.

Domande frequenti

La steganografia cambierà il comportamento del mio file?

No. Di default, gli strumenti steganografici mirano a mantenere il più possibile i dati originali. Puoi condividere il tuo file con altri e essi sarebbero ancora in grado di utilizzare e accedere al file originale.

Ho inviato un’immagine steganografica. Perché ha perso il suo messaggio?

Questo è molto probabilmente dovuto a un problema con il tuo fornitore di servizi di hosting di immagini. La maggior parte dei siti web di condivisione immagini tende a comprimere le immagini non appena arrivano sui loro server. Questo è un problema per gli strumenti steganografici, poiché si basano sulla struttura esatta dei dati del file immagine originale.

Assicurati che il tuo fornitore di hosting immagini non stia comprimendo nessuna immagine che invii tramite il loro server.

Ci sono svantaggi nel nascondere dati utilizzando la steganografia?

Dipende. Per la maggior parte, strumenti come steghide si basano sul nascondere dati all’interno di file digitali normali. Anche se la steganografia non cambierà il comportamento di un file, lascerà comunque un’impronta evidente su un file digitale. Questo può essere un problema se un attore malevolo è a conoscenza dell’uso della steganografia.

Perché il mio destinatario di steganoroute non riceve i miei pacchetti ICMP?

Questo è molto probabilmente dovuto al fatto che il tuo server steganoroute sta inviando i suoi pacchetti ICMP con l’interfaccia sbagliata. Per risolvere questo problema, trova l’interfaccia di rete desiderata utilizzando ip addr.

Quindi, aggiungi l’opzione -i, seguita dalla tua interfaccia di rete. Ad esempio, il seguente comando esegue steganoroute attraverso la mia porta Ethernet: sudo ./steganoroute.py -i enp3s0 -m "MakeTechEasier" -l.

Crediti immagine: Unsplash. Tutte le modifiche e gli screenshot sono di Ramces Red.