Steganografia
-
- Marcin Kosedowski,
- 28.01.2009
...ani nie słychać

Securengine jest darmowym programem służącym do szyfrowania i ukrywania plików. Bardzo ciekawą opcją jest ukrywanie wiadomości w plikach HTML.
Wydaje się, że pojemność dźwięku jest mniejsza niż obrazu, ale nie zawsze jest to prawdą. 19% to pojemność jednej próbki, których liczba wynosi zazwyczaj ponad 44 tysiące na sekundę. Pozwala to na umieszczenie 1 MB danych w audycji trwającej ledwo minutę. Sygnał dźwiękowy ma dodatkowo tę zaletę, że może być nadawany przez radio i odbierany (analogowo) przez urządzenia czulsze niż ludzki słuch, które są w stanie wychwycić niesłyszalne dla nas zmiany na niższych bitach.
Najciemniej pod latarnią

Według magazynu Wired Osama bin Laden w publikowanych jawnie przekazach ukrywał informacje o planowanych akcjach terrorystycznych.
Mało kto zdaje sobie sprawę, że nieustannie jest otaczany przez publicznie dostępne informacje, które z dużą dozą prawdopodobieństwa niosą tajny przekaz. Chodzi o emisje radiowe z tzw. stacji numerycznych. Są to audycje nadawane zwykle na falach krótkich, ale w przeciwieństwie do typowych, zawierających muzykę, wiadomości itd. składają się z ciągów liczb lub cyfr odczytywanych przez lektora lub syntezator mowy. Audycje takie nadawane są od kilkudziesięciu lat i są (lub były) wykorzystywane przez agencje wywiadowcze wielu rządów. Z oczywiśtych względów żadna z agencji nie potwierdziła istnienia stacji numerycznych mimo wykrycia wielu ich lokalizacji przez krótkofalarzy wspierających się zdjęciami satelitarnymi. Taki sposób nadawania informacji ma wiele zalet. Po pierwsze mało kto w ogóle wie o ich istnieniu, po drugie trzeba wiedzieć, gdzie zaczyna się przekaz i znać księgę kodów. Ponadto wydawać by się mogło, że w dobie powszechnego dostępu do Internetu (patrz przykład z flickrem) rozwiązanie takie jest wyjątkowo przestarzałe. Warto jednak zastanowić się, co by się stało w razie fizycznego zniszczenia Sieci i zmiany kodowania sygnałów z satelitów - np. w wypadku wojny. Odbudowa infrastruktury sieciowej zajęłaby dużo więcej czasu niż postawienie jednej anteny. W dodatku odbiorca przekazu pozostanie niezidentyfikowany. Widać więc wyraźnie, że steganografia może znajdować zastosowanie o wiele częściej niż nam się zdaje.
Oprogramowanie
Do zastosowań amatorskich bardzo dobrze nadaje się darmowy program S-Tools (http://www.spychecker.com/program/stools.html ). Umożliwia on ukrycie danych w plikach graficznych i dźwiękowych. Tajnym przekazem może być tekst, obraz i dźwięk. Dzięki temu możliwe jest np. ukrycie w pliku dźwiękowym obrazu, który z kolei zawiera tajny tekst.
Program działa na zasadzie opisanej w poprzednich akapitach, z dwoma ulepszeniami: ukrywane dane są zabezpieczane hasłem i szyfrowane, a wybrane do celów steganograficznych próbki lub piksele są rozrzucane mniej lub bardziej chaotycznie po całym pliku.
Spośród innych programów steganograficznych warto wymienić SecurEngine (http://securengine.isecurelabs.com ) i 1-2-Free Steganography (http://www.securitysoftwarezone.com ) - obydwa bezpłatne, jak też komercyjny Steganography (http://www.securekit.net ). Wszystkie mają podobne możliwości, różnice tkwią w szczegółach (np. używają różnych algorytmów szyfrujących) i wyglądzie.
Co z bezpieczeństwem?
Aby sposób zapisu danych został uznany za bezpieczny, muszą być spełnione następujące warunki: poufność, dostępność i integralność informacji. Niestety, steganografia nie spełnia tego ostatniego warunku. Dane są ukrywane w postaci niezaszyfrowanej, a to oznacza, że możliwe jest ich przechwycenie, sfałszowanie i ponowne umieszczenie w kontenerze bez pozostawienia jakiegokolwiek śladu. Innymi słowy, nie ma żadnej gwarancji, że to co odczytujesz jest tym co zostało ukryte i nie ma możliwości, żeby to sprawdzić. Oczywiście nic nie stoi na przeszkodzie, aby ukrywany tekst poddać uprzednio szyfrowaniu i tak się zwykle robi. Wymienione wyżej oprogramowanie wręcz zmusza użytkownika do zaszyfrowania przekazu jednym z kilku popularnych algorytmów.
W jedności siła
Steganografia z pewnością nie zastąpi kryptografii, ale stanowi ciekawą alternatywę. Obie technologie stosowane łącznie dają wyjątkowe poczucie bezpieczeństwa. Zanim ktoś się dowie gdzie schowałeś tajne informacje, miną wieki, a jeśli nawet, to będzie jeszcze musiał poświęcić kolejne 500 lat na złamanie szyfru. W tej sytuacji pozostaje jedynie życzyć mu cierpliwości.
W wypadku używania w charakterze kontenerów plików graficznych trzeba pamiętać o pewnym ograniczeniu. Nie można do tego celu wykorzystywać formatów bazujących na kompresji stratnej, czyli np. bardzo popularnych JPEG-ów. Nawet jeśli zapiszesz JPEG-a z maksymalną jakością, nie zapobiegniesz bezpowrotnej utracie pewnej ilości informacji. Wycinanie zbędnych informacji o obrazie, których oko i tak nie dostrzeże, leży u samych podstaw tego formatu. Co więcej, nie ma żadnych narzędzi służących do kontrolowania które partie obrazu zostaną okrojone z nadmiarowych informacji, a które nie. O tym decyduje algorytm kompresji, a ten działa różnie, w zależności od rozkładu kolorów na zdjęciu. Gdybyś więc ukrył w pliku JPEG tajne dane, to podczas zapisu algorytm kompresji zniszczyłby je nieodwracalnie, traktując jako nadmiarowe informacje o obrazie. Oczywiście konwersja JPEG-a na inny format nic tu nie pomoże.
Natomiast bez problemu można wykorzystywać w steganografii wszystkie formaty z kompresją bezstratną, np. PNG, TIFF, GIF, gdyż w tym wypadku dane nie są tracone, a jedynie gęściej upakowywane.
Interesującym zastosowaniem steganografii jest tajne znakowanie zdjęć jako alternatywa dla znaku wodnego. Tą metodą można skutecznie zabezpieczać zdjęcia przed ich bezprawnym wykorzystaniem. Nic nie stoi na przeszkodzi, aby w podobny sposób "podpisywać" nagrania muzyczne. W przeciwieństwie do zabezpieczeń DRM tajne informacje nie będą wykrywane przez odtwarzacze.

Bruce Schneier