Web Analytics Made Easy - Statcounter


https://www.amazon.it/dp/B0CT9YL557

We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
a2 --- Steganografia

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 243.   Steganografia

La steganografia è un metodo per nascondere delle informazioni all'interno di qualcosa. Nel concetto di steganografia rientra per esempio l'uso dell'inchiostro simpatico. Nel campo delle informazioni digitali, la steganografia avviene frequentemente attraverso la modifica delle immagini, in modo tale da rendere impercettibile la differenza apportata dall'inserimento dell'informazione addizionale.

L'informazione nascosta attraverso la steganografia richiede spazio; evidentemente, rispetto all'informazione apparente che veicola il messaggio nascosto, l'informazione addizionale può essere solo di entità minore. In questo caso si parla di portante per individuare l'informazione apparente che nasconde quella steganografata.

Nel campo delle immagini digitali, la steganografia si utilizza anche per marchiare i file, con informazioni che contengono i dati sul diritto di autore; in tal caso si parla di filigrana (watermark). Si osservi comunque che l'inserimento di una filigrana all'interno di un file contenente un'immagine, non dimostra la paternità dell'opera; al massimo può dimostrare chi ha eseguito il marchio. Pertanto, di fatto, la filigrana «protegge» l'opera in quanto toglierla comporta normalmente una riduzione della qualità, così che probabilmente solo il suo autore o chi ne possiede i diritti è in grado di fornire un'immagine della qualità originale.

243.1   Tecniche steganografiche

Le tecniche attraverso cui si realizza la steganografia sono varie e possibilmente sconosciute. Quando la tecnica steganografica è nota, ma soprattutto è noto l'algoritmo usato per inserire le informazioni nella portante, di solito i dati da nascondere sono cifrati, salvo il caso della filigrana in cui l'intento può essere proprio quello di rendere evidente l'informazione.

Nel caso delle immagini, se la portante è costituita da un file in formato grezzo, o comunque non compresso (come può essere il formato PNM o il TIFF), l'informazione può avvenire modificando alcuni bit meno significativi che descrivono il colore di ogni punto grafico (pixel). Quando invece l'immagine è costituita da un file in un formato compresso (con perdita di informazioni), la steganografia può sfruttare le caratteristiche dell'algoritmo di compressione stesso per celare le proprie informazioni (la scelta di comprimere in un modo rispetto a un altro determina l'informazione aggiuntiva).

Si possono nascondere delle informazioni anche in un programma eseguibile, quando esiste la possibilità di sostituire delle istruzioni con altre equivalenti, sfruttando così queste variazioni per inserire delle informazioni. Naturalmente ci possono essere anche altre possibilità, in base alle caratteristiche del formato eseguibile da utilizzare; quello che conta è che le modifiche al file per introdurre le informazioni steganografiche non interferiscano con il funzionamento del programma stesso.

È possibile usare anche un file di testo puro per inserire un'informazione addizionale «invisibile», modificando la spaziatura ed eventualmente la punteggiatura. Si può arrivare anche alla sostituzione di parole, attraverso un vocabolario di sinonimi.

Qualunque sia il metodo usato per la steganografia, spesso si richiede che l'informazione aggiunta sia ridondante in qualche modo, per poterla ricostruire anche in caso di un danneggiamento parziale.

243.2   Outguess

Outguess (1) è un programma per la steganografia elettronica in generale, per il quale possono essere scritte delle estensioni per diversi tipi di informazioni. Tuttavia, inizialmente è possibile utilizzare soltanto alcuni formati di immagini per inserire informazioni steganografate:

outguess [opzioni] file_portante_originale file_steganografato
outguess -r [opzioni] file_steganografato file_informazione_segreta

Il modello sintattico da un'idea di massima dell'utilizzo dell'eseguibile outguess: in condizioni normali si inserisce un'informazione segreta, creando così un file steganografato; se si usa l'opzione -r, si estrae l'informazione segreta da un file già steganografato in precedenza.

Outguess ha la capacità di inserire due informazioni steganografiche sovrapposte; inoltre, dal momento che l'algoritmo steganografico è noto, le informazioni possono essere cifrate.

Tabella 243.1. Alcune opzioni.

Opzione Descrizione
-k chiave
-Kchiave
Specifica la chiave (la parola d'ordine) da usare per cifrare o decifrare l'informazione segreta. Nel secondo caso si fa riferimento alla seconda informazione incorporata o da incorporare.
-d file
-D file
Specifica il file contenente i dati da nascondere all'interno di un altro. Nel secondo caso, si tratta del secondo file da inserire.
-e
-E
Con questa opzione si richiede di aggiungere delle ridondanze all'informazione nascosta, in modo da poterla recuperare anche in presenza di qualche piccolo errore nell'informazione portante. Nel secondo caso, si fa riferimento al secondo file da nascondere.
-r
Richiede l'estrazione delle informazioni nascoste.

Segue la descrizione di alcuni esempi.

  • outguess -d foglio.xls danza.jpg danza-steg.jpg[Invio]

    Con questo comando si vuole utilizzare il file danza.jpg per nascondere il file foglio.xls, ottenendo così il file danza-steg.jpg. Purtroppo, il file portante non ha lo spazio sufficiente per questo:

    Reading danza.jpg....
    JPEG compression quality set to 75
    Extracting usable bits:   17882 bits
    Correctable message size: 7983 bits, 44.64%
    Encoded 'foglio.xls': 45056 bits, 5632 bytes
    steg_embed: message larger than correctable size 45056 > 7983
    
  • outguess -d messaggio.txt danza.jpg danza-steg.jpg[Invio]

    Questo comando è una variante di quello precedente, in cui il file da nascondere è costituito da messaggio.txt. Questa volta, l'incorporazione ha successo e il file danza-steg.jpg viene generato:

    Reading danza.jpg....
    JPEG compression quality set to 75
    Extracting usable bits:   17882 bits
    Correctable message size: 7983 bits, 44.64%
    Encoded 'messaggio.txt': 440 bits, 55 bytes
    Finding best embedding...
        0:   205(43.4%)[46.6%], bias   197(0.96), saved:     1, total:  1.15%
    0, 402: Embedding data: 440 in 17882
    Bits embedded: 472, changed: 205(43.4%)[46.6%], bias: 197, tot: 17887, skip: 17415
    Foiling statistics: corrections: 93, failed: 0, offset: 30.333333 +- 71.419389
    Total bits changed: 402 (change 205 + bias 197)
    Storing bitmap into data...
    Writing danza-steg.jpg....
    

    Si osservi che il file messaggio.txt è stato steganografato in chiaro, pertanto chiunque può estrarre l'informazione contenuta nel file danza-steg.jpg.

  • outguess -d messaggio.txt -k "ciao a tutti" danza.jpg danza-steg.jpg[Invio]

    Questo comando è una variante di quello precedente, in cui il file da nascondere viene cifrato usando la parola d'ordine «ciao a tutti»:

    Reading danza.jpg....
    JPEG compression quality set to 75
    Extracting usable bits:   17882 bits
    Correctable message size: 7983 bits, 44.64%
    Encoded 'messaggio.txt': 440 bits, 55 bytes
    Finding best embedding...
        0:   247(52.3%)[56.1%], bias   218(0.88), saved:    -3, total:  1.38%
        3:   236(50.0%)[53.6%], bias   202(0.86), saved:    -2, total:  1.32%
       79:   214(45.3%)[48.6%], bias   217(1.01), saved:     0, total:  1.20%
       87:   225(47.7%)[51.1%], bias   193(0.86), saved:     0, total:  1.26%
      136:   215(45.6%)[48.9%], bias   187(0.87), saved:     0, total:  1.20%
    136, 402: Embedding data: 440 in 17882
    Bits embedded: 472, changed: 215(45.6%)[48.9%], bias: 187, tot: 17819, skip: 17347
    Foiling statistics: corrections: 117, failed: 0, offset: 43.580000 +- 68.673760
    Total bits changed: 402 (change 215 + bias 187)
    Storing bitmap into data...
    Writing danza-steg.jpg....
    
  • outguess -d messaggio.txt -k "ciao a tutti" -D messaggio-bis.txt -K "viva le donne" danza.jpg danza-steg.jpg[Invio]

    Questo comando è una variante di quello precedente, in cui ci sono due file da nascondere, cifrati con parola d'ordine differenti:

    Reading danza.jpg....
    JPEG compression quality set to 75
    Extracting usable bits:   17882 bits
    Correctable message size: 7983 bits, 44.64%
    Encoded 'messaggio.txt': 440 bits, 55 bytes
    Finding best embedding...
        0:   247(52.3%)[56.1%], bias   218(0.88), saved:    -3, total:  1.38%
        3:   236(50.0%)[53.6%], bias   202(0.86), saved:    -2, total:  1.32%
       79:   214(45.3%)[48.6%], bias   217(1.01), saved:     0, total:  1.20%
       87:   225(47.7%)[51.1%], bias   193(0.86), saved:     0, total:  1.26%
      136:   215(45.6%)[48.9%], bias   187(0.87), saved:     0, total:  1.20%
    136, 402: Embedding data: 440 in 17882
    Bits embedded: 472, changed: 215(45.6%)[48.9%], bias: 187, tot: 17819, skip: 17347
    Encoded 'messaggio-bis.txt': 440 bits, 55 bytes
    Finding best embedding...
      111:   248(52.5%)[56.4%], bias   280(1.13), saved:    -3, total:  1.39%
    111, 528: Embedding data: 440 in 17882
    Bits embedded: 472, changed: 248(52.5%)[56.4%], bias: 280, tot: 17924, skip: 17452
    Foiling statistics: corrections: 239, failed: 0, offset: 46.980892 +- 108.044297
    Total bits changed: 930 (change 463 + bias 467)
    Storing bitmap into data...
    Writing danza-steg.jpg....
    
  • outguess -r -k "ciao a tutti" danza-steg.jpg testo.txt[Invio]

    Questo comando si riferisce all'esempio precedente e si mostra l'estrazione del primo file di informazioni (generando il file testo.txt). Si osservi che la selezione si ottiene solo in base alla scelta della parola d'ordine corretta:

    Reading danza-steg.jpg....
    Extracting usable bits:   17882 bits
    Steg retrieve: seed: 136, len: 55
    
  • outguess -r -k "viva le donne" danza-steg.jpg testo-bis.txt[Invio]

    Questo comando si riferisce ai due esempi precedenti e si mostra l'estrazione del secondo file di informazioni (generando il file testo-bis.txt). Si osservi che la selezione si ottiene solo in base alla scelta della parola d'ordine corretta e l'opzione -k rimane in forma minuscola:

    Reading danza-steg.jpg....
    Extracting usable bits:   17882 bits
    Steg retrieve: seed: 111, len: 55
    

243.3   Stegdetect

Stegdetect (2) è un programma realizzato dallo stesso autore di Outguess, con lo scopo di cercare di individuare la presenza di informazioni steganografiche all'interno di file che apparentemente contengono solo un'immagine.

Il programma è in grado, teoricamente, di individuare la presenza di diversi tipi di algoritmi steganografici, ma non si può contare che l'analisi sia attendibile; soprattutto, non si può contare sul fatto che sia rivelato alcunché, anche quando l'informazione nascosta esiste veramente.

stegdetect [opzioni] [file]...

Il programma stegdetect, viene usato normalmente senza opzioni, indicando nella riga di comando l'elenco dei file da controllare; se questa indicazione manca, stegdetect attende il nome dei file da controllare dallo standard input. Ecco un esempio molto semplice di utilizzo:

stegdetect *.jpg[Invio]

...
000001.jpg : negative
000002.jpg : jphide(*)
000003.jpg : skipped (false positive likely)
000004.jpg : jphide(***)
000005.jpg : outguess(**)
000007.jpg : negative
...

Come si può intuire, gli asterischi vengono usati per indicare la probabilità con la quale è da ritenere che esista effettivamente un'informazione steganografata con l'algoritmo indicato.

Il pacchetto di Stegdetect include anche il programma stegbreak, con il quale si può tentare di estrarre l'informazione contenuta nella portante, tentando di scoprire la parola d'ordine usata per cifrare i dati:

stegbreak [opzioni] [file]...

L'utilizzo del programma avviene nello stesso modo di stegdetect, con la differenza che, se l'analisi ha successo, il rapporto generato restituisce, con il nome del file, la parola d'ordine scoperta.

Per ulteriori dettagli, si vedano le pagine di manuale stegdetect(1) e stegbreak(1).

243.4   Steghide

Steghide (3) è un programma per la steganografia, utilizzando formati grafici (JPEG e BMP) e formati audio non compressi (WAV-RIFF e AU). La sintassi per l'uso del programma prevede un argomento iniziale che dichiara l'azione, seguito dalle opzioni relative:

steghide azione [opzioni]

L'azione viene dichiarata attraverso un nome, che eventualmente può essere preceduto da due trattini (--).

Tabella 243.9. Alcune azioni.

Azione Descrizione
embed
--embed
Richiede l'inserimento di un'informazione all'interno di un file portante che si vuole steganografare.
extract
--extract
Richiede l'estrazione di un'informazione da un file steganografato in precedenza.
info
--info
Richiede informazioni su un file da steganografare o già steganografato.

Segue la descrizione di alcune opzioni. Si osservi che le opzioni utilizzabili effettivamente dipendono dall'azione dichiarata all'inizio della riga di comando.

Tabella 243.10. Alcune opzioni.

Opzione Descrizione
-ef file
--embedfile file
Specifica un file da inserire all'interno di un altro, attraverso la steganografia (quando si usa l'azione embed).
-cf file
--coverfile file
Specifica un file portante, da steganografare.
-sf file
--stegofile file
Specifica il nome del file steganografato da generare (quando si usa l'azione embed).
-xf file
--extractfile file
Specifica il nome del file da generare con il contenuto di quanto inserito in precedenza in un file steganografato (si usa con l'azione extract).
-p parola_d'ordine
--passphrase parola_d'ordine
Specifica, già nella riga di comando, la parola d'ordine da usare per cifrare o per decifrare un'informazione segreta.

In condizioni normali, Steghide comprime e cifra le informazioni prima di procedere alla steganografia; attraverso delle opzioni che non sono state elencate, è possibile specificare il livello di compressione e l'algoritmo da usare per la cifratura. Il sistema crittografico è simmetrico, ovvero a chiave segreta, costituita da una parola d'ordine. Segue la descrizione di alcuni esempi.

  • steghide info prova.jpg[Invio]

    Richiede informazioni sul file prova.jpg, che in questo caso consente di inserire circa 2,9 Kibyte:

    "prova.jpg":
      format: jpeg
      capacity: 2.9 KB
    

    Il programma propone di verificare l'esistenza di un contenuto steganografico, ma in questo caso si rinuncia:

    Try to get information about embedded data? (y/n) n[Invio]

  • steghide embed -ef messaggio.txt -cf prova.jpg -sf prova-steg.jpg[Invio]

    Si richiede di utilizzare il file prova.jpg per incorporare il contenuto del file messaggio.txt, generando il file steganografato prova-steg.jpg. Mancando l'opzione -p, viene richiesto di specificare la parola d'ordine:

    Enter passphrase: digitazione_all'oscuro[Invio]

    Re-Enter passphrase: digitazione_all'oscuro[Invio]

    embedding "messaggio.txt" in "prova.jpg"... done
    writing stego file "prova-steg.jpg"... done
    
  • steghide extract -sf prova-steg.jpg[Invio]

    Si richiede di estrarre il contenuto di prova-steg.jpg:

    Enter passphrase: digitazione_all'oscuro[Invio]

    wrote extracted data to "messaggio.txt".
    
  • steghide extract -sf prova-steg.jpg -xf segreto.txt[Invio]

    Si richiede di estrarre il contenuto di prova-steg.jpg, specificando che il nome da usare per il file da creare deve essere segreto.txt:

    Enter passphrase: digitazione_all'oscuro[Invio]

    wrote extracted data to "segreto.txt".
    

243.5   Altri programmi affini

  • xsteg(1) (4)

    Si tratta di un programma frontale per l'uso di Stegdetect, che però è di scarsa utilità.

Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


1) Outguess   licenza speciale BSD

2) Stegdetect   licenza speciale BSD

3) Steghide   GNU GPL

4) Xsteg   licenza speciale BSD


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome steganografia.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com