mercoledì 24 novembre 2010

Steganografia: di che si tratta?

A volte si incontrano parole apparentemente "difficili", che nascondono concetti abbastanza comprensibili. E' il caso della "steganografia": in breve, è una tecnica che permette di nascondere un contenuto (informatico, quindi "binario") dentro un contenitore di altro genere (sempre informatico, quindi sempre di sequenze di bit stiamo parlando), assai meno sospettabile.

Un esempio semplice semplice per tutti: quando visualizziamo un'immagine in formato JPEG (il più diffuso fra quelli usati per pubblicare o trasmettere immagini sulla rete), in realtà il nostro computer ricostruisce l'immagine a partire da una sequenza di bit (il file in formato JPEG, appunto); quello che molti non sanno, è che fra questi bit ce ne sono alcuni assolutamente inutili per la ricostruzione dell'immagine: sono "commenti" o altre informazioni che possono essere aggiunte da chi crea l'immagine, o dai programmi usati per manipolare il formato JPEG (le fotocamere, per esempio, inseriscono marca e modello e altre informazioni relative al setting della macchina al momento dello scatto).

Finché si tratta di informazioni innocue o comunque pertinenti l'oggetto che stiamo manipolando, tutto bene. Le problematiche di sicurezza (e le tecniche di steganografia) entrano in gioco quando questi "spazi quasi inutili" vengono riempiti con informazioni che nulla hanno a che vedere con l'oggetto originario (che per esempio potrebbe essere una foto scattata al mare), ma riguardano invece informazioni "sensibili" o riservate, catturate magari da uno dei tanti programmi "trojan" che si installano silenziosamente sui computer. Insomma, ritrovarsi i codici di accesso al conto bancario "a bordo" di una foto delle vacanze pubblicata su Facebook (questo è solo un esempio!) non farebbe piacere a nessuno. Ovviamente, bisogna essere in possesso di tecniche steganografiche per estrarre tali informazioni dai file "innocui". Ma i pirati della rete ne hanno certamente a disposizione.

Nota bene: il formato JPEG citato nell'esempio non è l'unico che prevede "spazio a disposizione" in cui si possano inserire informazioni aggiuntive (e quindi utilizzabile per operazioni di steganografia); la maggior parte dei formati di memorizzazione delle informazioni prevedono tali spazi aggiuntivi, senza contare che in steganografia si possono utilizzare anche formati che prevedano soltanto dati "puliti" (senza aggiunte), semplicemente alterando ad arte qualche bit qua e là (ma di questo, se interessa, parleremo eventualmente un'altra volta).

Una frontiera illecita ma remunerativa (e vecchia come lo spionaggio) nell'uso della steganografia è quella della trasmissione "coperta" di informazioni segrete o riservate (a volte di estrema di rilevanza economica o politica), oppure il controllo a distanza di computer "zombie" appartenenti a BotNet (ne abbiamo parlato in un altro articolo).

Sviluppi recenti nell'uso della steganografia, indicano un'evoluzione verso l'utilizzo "distribuito" delle informazioni "coperte", come ad esempio con la tecnologia "Collage" (per ulteriori informazioni cercare "collage steganography" su un motore di ricerca).