Steganografia: Cos’è e come funziona

Overview

Introduzione alla Digital Forensics da un altro mio articolo: Introduction to Digital Forensics

La steganografia è una tecnica utilizzata per nascondere i dati all’interno di un file digitale. È uno strumento potente per nascondere informazioni sensibili da occhi indiscreti. I dati possono essere nascosti in vari tipi di supporti, come immagini, file audio o video.

La steganografia è utilizzata in diverse applicazioni, come la protezione del copyright, la comunicazione sicura e l’archiviazione dei dati. Viene anche utilizzata nella scienza forense digitale per scoprire prove nascoste.

Distinguendo i concetti di steganografia possiamo evidenziare i tre elementi chiave in: Segreto, Vettore e Vettore”.

Secret: è l’elemento che deve essere nascosto nel supporto. Il segreto può essere qualsiasi cosa (stringa, immagine, audio, pdf, ecc.), l’unico vincolo è che deve essere più corto (in termini di byte) del vettore.

Carrier: Questo elemento è quello in cui verrà memorizzato il nostro segreto. Potrebbe essere un’immagine o un file audio nello scenario più semplice. Il Carrier deve essere (in termini di byte) più lungo del Segreto.

Carrier’: Il Carrier’ è il Carrier con il Segreto codificato all’interno.

Image by Wikimedia

Utilizzi della Steganografia

Attacco

La steganografia è una tecnica potente che eventuali aggressori possono utilizzare per trasmettere dati e messaggi da un server all’altro. Questa tecnica è particolarmente utile per gestire le botnet da un centro di comando e controllo Command and Control (C&C/C2): nascondendo i comandi in vari dati come immagini, file audio e altre forme di dati, un attaccante può facilmente comunicare con altri server senza essere individuato.

Inoltre, la steganografia è uno strumento versatile che può essere utilizzato per una vasta gamma di scopi, dallo spionaggio alla criminalità informatica.

Ad esempio, la steganografia può essere utilizzata per nascondere informazioni sensibili, come password (anche se personalmente lo sconsiglio) e dati finanziari, da occhi indiscreti. Le tecniche di steganografia possono anche essere utilizzate per eludere il rilevamento da parte dei sistemi di sicurezza, rendendole così una scelta popolare tra i criminali informatici.

Difesa

La steganografia non viene utilizzata solo per scopi offensivi, ma anche per scopi difensivi. Una tecnica sempre più utilizzata per proteggere le informazioni sensibili è la cosiddetta steganografia difensiva. Si tratta di incorporare informazioni false nei file digitali, per ingannare gli aggressori che potrebbero cercare di estrarre informazioni preziose. La steganografia difensiva può essere utilizzata per creare informazioni “esca” progettate per confondere gli attaccanti, mantenendo la sicurezza delle informazioni reali.

Va notato, tuttavia, che se l’obiettivo è quello di nascondere qualcosa, le informazioni nascoste nella steganografia dovrebbero anche essere crittografate per garantirne la confidenzialità.

Un altro utilizzo potrebbe essere il digital watermarking, una tecnica utilizzata per proteggere la proprietà dei supporti digitali. Incorporando un identificatore univoco nei media digitali, come immagini o video, il proprietario può dimostrarne la proprietà e proteggersi dalle violazioni del copyright. Il watermarking digitale è comunemente usato nell’industria musicale e cinematografica per proteggersi dalla pirateria e dalla distribuzione non autorizzata. L’uso della steganografia nel watermarking digitale garantisce che l’identificatore sia nascosto e non possa essere facilmente rimosso senza danneggiare il contenuto.

Riferimenti storici

2018 – Twitter malware botnet

Nel 2018 è stato diffuso un malware la cui tecnica si basa fondamentalmente su un servizio legittimo, come Twitter, per diffondere i comandi alla botnet. L’aggressore ha creato immagini particolari con il comando codificato nell’immagine e poi l’immagine è stata diffusa tramite l’account Twitter.

https://www.trendmicro.com/en_us/research/18/l/cybercriminals-use-malicious-memes-that-communicate-with-malware.html

La steganografia è stata utilizzata in ambito militare, diplomatico e di intelligence; la questione è strettamente correlata alla crittografia, che è sempre stata in uso da molto tempo, perché fornisce sicurezza alle comunicazioni che potrebbero cadere nelle mani sbagliate.

Whitening

Image by Wikimedia

This is a data obfuscation layer and enhance the security.
Si tratta di un livello di offuscamento dei dati che aumenta la sicurezza.

The technique of whitening is used to better disperse the message to be hidden, this enhance the security adding a “noisy” layer. Basically this technique uses a white noise, that could be random bits or white noise audio (or any information that add entrophy to the secret data), to better hide messages.

As you can see in the image above, the first row of information HJKN is spread within two rows and often there is one or two “white-noise charater” between the original chars, and the HJKN become H-JK — N.

La tecnica del whitening viene utilizzata per disperdere meglio il messaggio da nascondere, migliorando così la sicurezza con l’aggiunta di un livello di “rumore”. In pratica, questa tecnica utilizza un rumore bianco, che può essere costituito da bit casuali o da rumore audio (o da qualsiasi informazione che aggiunga entropia ai dati segreti), per nascondere meglio i messaggi.

Come si può vedere nell’immagine qui sopra, la prima riga di informazioni HJKN viene distribuita su due righe e spesso ci sono uno o due “caratteri di rumore bianco” tra i caratteri originali, e l’HJKN diventa H#JK##N, dove # indica il rumore.

Tools

In questo articolo non tratteremo un software o una tecnologia specifica perché volevo affrontare l’argomento da un punto di vista strettamente teorico.

Se volete leggere di steghide, un strumento di steganografia, potete fare riferimento a questo articolo di Matt Kmety: Steganography on Kali Using Steghide

Riferimenti utili

Hack the Box:

In Hack the Box è possibile trovare una moltitudine di vm per allenarsi con le tecniche di steganografia, questo articolo è un walkthrough della macchina “Da Vinci”: Da Vinci Stenography Challenge Solution!

Altre macchine su Hack the Box per allenarvi sulla steganografia sono:

  • Beatles
  • Forest

Steghide

Dal manuale steghide manual:

Steghide è un programma di steganografia in grado di nascondere dati in vari tipi di immagini e file audio. Le frequenze dei colori e dei campioni non vengono modificate, rendendo così l’incorporazione resistente ai test statistici del primo ordine.

Le caratteristiche includono la compressione dei dati incorporati, la crittografia dei dati incorporati e il controllo automatico dell’integrità mediante una somma di controllo. I formati di file JPEG, BMP e WAV sono supportati per l’uso come file di copertina. Non ci sono restrizioni sul formato dei dati segreti.

Steghide utilizza un approccio alla steganografia basato sulla teoria dei grafi. Non è necessario conoscere la teoria dei grafi per utilizzare steghide e si può tranquillamente saltare il resto di questo paragrafo se non si è interessati ai dettagli tecnici.

Approccio teorico:

L’algoritmo di embedding funziona grosso modo come segue: In un primo momento, i dati segreti vengono compressi e crittografati, poi viene creata una sequenza di posizioni di pixel nel file di copertura sulla base di un generatore di numeri pseudocasuali inizializzato con la passphrase (i dati segreti saranno incorporati nei pixel in queste posizioni). Tra queste posizioni vengono selezionate quelle che non devono essere modificate (perché contengono già casualmente il valore corretto). Quindi un algoritmo di corrispondenza grafo-teorica trova coppie di posizioni tali che lo scambio dei loro valori ha l’effetto di incorporare la parte corrispondente dei dati segreti.

Lascia un commento