Steganografie

Steganografie je vědní disciplína (podobor kryptografie) zabývající se utajením komunikace prostřednictvím ukrytí zprávy.

Zpráva je ukryta tak, aby si pozorovatel neuvědomil, že komunikace vůbec probíhá. Síla této komunikace tedy stojí a padá na jejím utajení (jedná se o takzvanou bezpečnost skrze utajení – security through obscurity), a proto zachycení skryté zprávy tak prakticky znamená její prolomení.

Aby ani v tom případě nedošlo k prozrazení obsahu zprávy, zpravidla se kombinuje s dalšími metodami šifrování. Patří sem různé neviditelné inkousty, vyrývání zprávy do dřevěné tabulky, která se zalije voskem apod. V moderní době lze tajné texty ukrývat například do souborů s hudbou či obrázky.

Cvičení: Steganografie

Příprava prostředí

Provedeme aktualizaci souborů:

$ cd eduxo
$ git pull

Po dokončení aktualizace máme připravené potřebné soubory pro toto cvičení.

Pro toto cvičení budeme potřebovat balíček steghide.

$ sudo apt install -y steghide

Pracovní postup

Jako zdrojový obrázek použijeme tento obrázek (cyber.png), který najdeme ve složce /home/sysadmin/eduxo/resources/cryptography/

Ve stejné složce také najdeme soubor tajna_informace.txt

Obecně se může jednat o libovolná data, nemusí jít o textový soubor. Stejně tak to může být třeba obrázek v obrázku.

Pár rad na začátek: Ukrývaný soubor musí být menší než ten, ve kterém ukrýváme. Čím větší je rozdíl, tím složitější je v souboru objevit nižší entropii a získat podezření na utajená data. Pokud si chcete být jisti, že se k datům nikdo nedostane, určitě je ještě (před procesem nebo během něho) nechejte zašifrovat.

Steghide

Steghide je řádková utilita, která sice není pro běžného uživatele nejpříjemnější, ale hodí se při dávkovém zpracování souborů. Pokud potřebujete ukrýt větší množství souborů, je poměrně jednoduché napsat skript, který vše provede dávkově.

Ukryjme nyní do souboru cyber.jpg obsah souboru tajna_informace.txt.

$ steghide embed -cf cyber.jpg -ef tajna_informace.txt

Program se ještě zeptá na passhphrase, která bude použita pro rozprostření tajných dat a jejich zamíchání do krycího souboru. Bez tohoto hesla není možné informace ze souboru získat.

Enter passphrase:
Re-Enter passphrase:
embedding "tajna_informace.txt" in "cyber.jpg"... done

O obrázku si můžeme nechat zjistit nějaké informace:

$ steghide info cyber.jpg

Výstup:

"cyber.jpg":
	  format: jpeg
	  capacity: 61,1 KB
	Try to get information about embedded data ? (y/n) y
	Enter passphrase: 
	  embedded file "tajna_informace.txt":
	    size: 611,0 Byte
	    encrypted: rijndael-128, cbc
	    compressed: yes

Nyní smažeme soubor tajna_informace.txt:

$ rm tajna_informace.txt

Poté se můžeme pokusit získat data zpět:

$ steghide extract -sf cyber.jpg 
	Enter passphrase: 
	wrote extracted data to "tajna_informace.txt".

Zobrazíme si získaný soubor:

$ cat tajna_informace.txt

Výstup:

1) Klasifikace informací dle zákona 412/2005 Sb., o ochraně utajovaných informací a
o bezpečnostní způsobilosti:
- Přísně tajné (Top secret) - neoprávněné nakládání s informacemi by mohlo způsobit mimořádně vážnou újmu zájmům České republiky.
- Tajné (Secret) - neoprávněné nakládání s informacemi by mohlo způsobit vážnou újmu zájmům České republiky.
- Důvěrné (Confidential) - neoprávněné nakládání s informacemi by mohlo způsobit prostou újmu zájmům České republiky.
- Vyhrazené (Restricted) - neoprávněné nakládání s informacemi by mohlo být nevýhodné pro zájmy České republiky.

2) Klasifikace informací využívaná v komerční sféře:
- Chráněné - neoprávněné nakládání s informacemi by mohlo způsobit závažné poškození či zničení organizace (např. únik strategických informací, zdrojových kódů, schémat zabezpečení, hesel aj.).
- Interní - neoprávněné nakládání s informacemi by mohlo způsobit poškození organizace (např. únik osobních údajů, smluv aj.).
- Citlivé - neoprávněné nakládání s informacemi by mohlo mít negativní dopad na společnost (např. dosud nezveřejněné informace o projektech, plánovaných akcích aj.).
- Veřejné - neoprávněné nakládání s informacemi by nemělo nikoho poškodit a nemělo by mít jakýkoliv dopad na společnost (např. veřejně dostupné kontakty, prezentace projektů aj.).

ÚKOL: Pokuste se ukrýt do obrázku nějaký jiný obrázek stažený z internetu.

ÚKOL: Ukryjte do libovolného obrázku staženého z internetu libovolnou tajnou zprávu. Tento obrázek poté odešlete svému spolužákovi. Z obrázku, který obdržíte od spolužáka získejte tajnou zprávu. Jako Passphrase použijte "security"

Použité zdroje