Steganografia - elektroniczne znaki wodne

Steganosaurusy i mandelstegi

Paleta programów steganograficznych jest bogata, a ich fantazyjne nazwy często zawierają frazę "stego", "steg" czy choćby literkę "s", jak jest w przypadku pakietu Andy Browna S-Tools. Warto przyjrzeć się temu narzędziu, gdyż jest ono reprezentatywne dla oprogramowania steganograficznego. Mamy tu trzy zasadnicze opcje ukrywania danych:

a) na dyskietkach

b) w plikach dźwiękowych (WAV)

c) w plikach graficznych (BMP, GIF).

W pierwszym przypadku program ukrywa informacje, korzystając z wolnych sektorów na nośniku danych, wybieranych nie kolejno, ale w sposób pseudolosowy. W podobny sposób można wypełniać niepotrzebne sektory przypadkowymi danymi w celu zmylenia potencjalnego przeciwnika.

Jak wszystko w informatyce, tak i dźwięki zapamiętane w komputerowych „trzewiach” to nic innego jak zbiory bitów i bajtów. Przyjmijmy, że nasza melodyjka zaczyna się następującym ciągiem nut, czyli bajtów - w postaci dziesiętnej i obok dwójkowej:

164 10100100

143 10001111

168 10101000

157 10011101

227 11100011

224 11100000

151 10010111

189 10111101

Powiedzmy, że nasza tajna informacja, którą chcemy wmontować w muzykę, to bajt o postaci (niezależnie od tego, co ma on oznaczać): 141 10001101. Tych 8 bitów "wsadzamy" teraz na ostatnie pozycje bitowe (LSB) poprzednich 8 bajtów, które przyjmują w związku z tym następujący wygląd binarny i decymalny:

10100101 165

10001110 142

10101000 168

10011100 156

11100011 227

11100001 225

10010110 150

10111101 189

Widać, że niektóre wartości uległy zmianie, co jest oczywiste, a skoro udało nam się w ten sposób ukryć jeden bajt, to można to zrobić z dowolną ich liczbą, tyle że potrzeba na wejściu 8 razy więcej informacji bazowej (redundancja 1B/1b). No dobrze, ale co z naszą muzyczką? Czy zamiast Grzegorza Turnaua usłyszymy jakieś „discopolo”? Moglibyśmy się umówić, że jest to bez znaczenia, grunt to steganograficzny przekaz ukryty w muzycznej wacie. Dowcip polega jednak również na tym, iż taka ofiara wcale nie jest potrzebna. Modyfikacje (maksymalnie o jeden) są na tyle dla naszego ucha niewielkie, że pozostaną nie zauważone.

Podobnie dzieje się z grafiką - komputerowy obrazek, w którym zmodyfikowano wartości LSB kolorów RGB (Red Green Blue) dla poszczególnych pikseli, nie rzuca cienia podejrzenia, że coś w nim jeszcze ukryto. Tu ilości danych są większe, więc schować też można więcej. Wykonajmy teraz proste mnożenie dla grafiki o rozdzielczości 480 x 640 z paletą 256 kolorów, czyli 8 bitów na piksel, a przekonamy się, że mamy 300 KB danych bazowych, co daje 37,5 KB do utajnienia. Sporo? Wystarczyłoby, aby uczynić niewidzialnym np. cały tekst tego artykułu. Jeżeli teraz prowadzimy wideokonferencję z naszym partnerem, to wystarczą sekundy, aby (bez przerywania telerozmowy!) dyskretnie przesłać dane, na których bezpieczeństwie szczególnie nam zależy.


TOP 200