Zakład ochrony informacji



Pobieranie 0.78 Mb.
Strona5/12
Data28.04.2016
Rozmiar0.78 Mb.
1   2   3   4   5   6   7   8   9   ...   12

A7. Metoda kompresji RL.
Matsui i Tanaka opracowali technikę steganograficzną wykorzystującą istniejący wcześniej algorytm kompresji bezstratnej RL (ang. Run Length) [51]. Kompresja RL stosowana jest m. in. do obrazu binarnego przesyłanego faksem i polega na wykorzystaniu spostrzeżenia, że z dużym prawdopodobieństwem punkty obrazu występują w grupach o tym samym kolorze. Wynika z tego, że zamiast zapisywać wartości kolorów poszczególnych punktów w linii obrazu można zapisać położenie granic gi pomiędzy obszarami o różnych kolorach oraz długość tych obszarów, czyli pary (gi, RL), np. (g1, 3), (g2, 5), (g3, 2), itd.

Informacja może zostać ukryta podczas kompresji RL poprzez modyfikację wartości długości obszarów. Jeżeli długość jest liczbą nieparzystą oznacza to bit wiadomości równy „0”, jeżeli jest parzysta równy „1”. Podczas procesu ukrywania danych dodaje się lub odejmuje od długości obszaru wartość równą „1”. Problem może stanowić obszar o długości jednego punktu ponieważ podczas procesu kodowania mogłoby dojść do utraty danych, więc przed dołączeniem danych eliminuje się z nośnika elementy składające się z jednego punktu.


A8. Ukrywanie danych w pakietach IP.
Metody steganograficzne można podzielić także ze względu
na podejście do danych nośnika informacji na: modyfikujące nośnik, np. LSB i nie zmieniające danych nośnika. Metody nie modyfikujące nośnika wykorzystują wolne lub zarezerwowane i niewykorzystane miejsca definiowane przez format informacji nośnej. Do tego rodzaju metod steganograficznych możemy zaliczyć te, które wykorzystują właściwości modelu sieci OSI i stosowanych w sieciach komputerowych protokółów komunikacyjnych.

Wiele metod ukrywania danych proponuje wykorzystanie protokołu TCP/IP. Handel i Sandford [14] zaproponowali wykorzystanie nieużywanych pól nagłówków pakietów TCP i IP (rys.3.6). Nagłówek TCP posiada sześć nieużywanych bitów, a nagłówek IP dwa. Bity te można wykorzystać do przesłania wiadomości poufnej w naturalny sposób, tzn. bez ingerencji w protokoły, czy urządzenia sieciowe.


Rozwinięciem metody wykorzystania nieużywanego miejsca
w nagłówkach pakietów są prace Ashana i Kundura [31]. Autorzy zaproponowali wykorzystanie jednej z flag oraz pola identyfikacji w nagłówku pakietu IP. Metoda pierwsza opiera się na wykorzystaniu flagi DF (ang. Don't Fragment). Ustawienie flagi DF na „1” oznacza bezwzględny zakaz fragmentacji datagramu. Jeżeli datagram nie może być przesłany w całości datagram zostaje odrzucony i sygnalizowany jest błąd [14]. Dzielenie datagramu występuje w sytuacji kiedy jego wielkość jest większa od maksymalnej jednostki przesyłowej sieci
– MTU (ang. maximum transmission unit). W takim przypadku flaga MF (ang. more fragments) ustawiona jest na „1” i pole Offset fragmentu zawiera niezerową wartość wskazującą na położenie (przesuniecie) danego fragmentu w datagramie.

Znając dokładną wartość MTU sieci można przesyłać datagramy


o wielkości równej lub mniejszej MTU. W takim przypadku datagramy nigdy nie będą dzielone, a flaga DF będzie ignorowana i może zostać wykorzystania do przenoszenia bitu sekretnej wiadomości.

Rys. 3.6. Nagłówek protokołu IP [17].
Innym polem nagłówka IP, które może posłużyć do ukrycia danych jest pole Identyfikacja. Pole to zawiera unikalny 16-bitowy numer datagramu, którego część lub całość przesyłana jest w danym pakiecie IP. Numer ten jest unikalny tylko w obrębie danego nadawcy i odbiorcy oraz dopóki datagram istnieje w sieci i nie został prawidłowo przesłany.
W związku z tym nie jest konieczne używanie aż szesnastu bitów na numerację. Ashan i Kundur zaproponowali wykorzystanie ośmiu bitów na przesłanie sekwencji odpowiadającej znakowi z określonego alfabetu. Przygotowanie sekwencji układów bitowych oraz przypo-rządkowanie do każdego z nich konkretnego znaku z alfabetu możliwe jest dzięki odpowiednim kluczom i algorytmom mieszającym.

Druga metoda proponowana przez Ashana i Kundura polega


na wykorzystaniu sortowania pakietów. Sortowanie pakietów odbywa się poprzez algorytm steganograficzny, który układając pakiety według określonego klucza modyfikuje numery sekwencji w ich nagłówkach.

Do odczytania informacji konieczna jest referencja wiążąca numery posortowanych pakietów z oryginalną sekwencją.

Taka referencja jest dostępna dzięki zastosowaniu po obu stronach uczestniczących w komunikacji środowiska IPSec.

IPSec posiada 32 bitowy numer sekwencji wykorzystywany zwykle do zabezpieczania przed atakami typu „replay” polegającymi


na przesyłaniu duplikatów pakietów.
A9. Steganograficzne systemy plików.
Plik lub cały system plików może zostać ukryty poprzez wykorzystanie nieużywanego miejsca na dysku komputera. Systemy operacyjne przechowują pliki z wykorzystaniem jednostek alokacji. Wielkość obszaru alokowanego dla pliku jest różna, np. partycje FAT16 mają klastry wielkości 32 kB. Jeżeli plik ma 1 kB to 31 kB klastra pozostaje nieuzupełniona i może zostać dowolnie zagospodarowane. Inną możliwością jest umieszczenie poufnych danych w wolnych miejscach nagłówków plików. Metoda ta jest bardzo podobna do metody stosowanej w przypadku pakietów IP.

Najwięcej miejsca do wykorzystania oferuje niezapisana część dysku. Dysponując tak dużą przestrzenią można stworzyć całą ukrytą partycję. Plik zapisywane w takiej partycji nie są widoczne dla systemu operacyjnego, ale dostępne dzięki specjalnemu oprogramowaniu, które poprzez bezpośrednie adresowanie będzie potrafiło zapisać i odczytać dane z tego obszaru. Zastosowanie takiej metody ma pewno ograniczenie. Występuje tu problem „dnia urodzenia” znany z teorii prawdopodobieństwa.

Po zapisie ponad bloków danych (gdzie N ilość bloków na dysku) zaczynają występować kolizje, czyli bloki danych zaczynają się nadpisywać.

Rozwiązaniem problemu „dnia urodzenia” może być sposób zapisu opisany przez Andersona, Needhama i Shamira [28, 52]. Metoda polega na powieleniu każdego bloku w ukrytej partycji. Przy czterokrotnym zapisie każdego bloku i przy ilości dostępnych do zapisu bloków N w granicach od 20 000 do 1 000 000 oraz przy założeniu, że bloki nie mogą się nadpisać uzyskano wskaźnik pojemności dla ukrywanych bloków rzędu 7% dostępnego obszaru. Po przyzwoleniu na nadpisanie 10% bloków wskaźnik pojemności wzrósł do 20%.

Innym sposobem ukrywania plików zaproponowanym przez tych samych autorów jest dołączanie ich zawartości do innych plików poprzez wykonywanie bitowej operacji nierównoważności – XOR
(ang. exclusive or). Metoda ukrywa tajny plik F użytkownika za pomocą k jednakowej długości plików jawnych C0, C1, ... , Ck-1 (kdługość hasła P wykorzystywanego do ukrycia danych). Na podstawie hasła wybierane są takie pliki Cj, dla których j-ty bit hasła wynosi „1”. Następnie wykonywana jest operacja XOR na tych plikach. Wynik służy do kolejnej operacji XOR tym razem z plikiem F. Ostatnim krokiem jest wykonanie operacji XOR pomiędzy poprzednim wynikiem i jednym
z plików Cj. Metoda ta daje mniejszą pojemność steganograficzną niż ta dotycząca pustego miejsca na dysku, ale ma zasadniczą zaletę: umożliwia ukrywanie wielu plików w tym samym zestawie plików nośnych wykonując wyżej opisane kroki. Stosując różne hasła można wprowadzić wielopoziomowy system bezpieczeństwa (do posz-czególnych plików będą miały dostęp osoby o określonych uprawnieniach znające poszczególne hasła) dzięki liniowej hierarchii dostępu.

Steganograficzny system plików StegFS opracowany przez McDonalda i Kuhna [53] opiera się z kolei na rozszerzeniu możliwości sterownika partycji typu EXT2 w jądrze systemu Linux. Po modyfikacji sterownik posiada osobne tablice alokacji boków danych dla każdego poziomu bezpieczeństwa. Efekt działania jest zbliżony do tego który oferuje poprzednio opisana metoda.

Bez znajomości hasła nie można stwierdzić ile jest poziomów bezpieczeństwa i do jakich zasobów dają one dostęp.
B. Metody transformacyjne
Metody substytucji umożliwiają łatwe ukrycie informacji w sposób niezauważalny dla człowieka lub dla systemu komputerowego. Jednak metody te mają zasadniczą wadę: dane ukryte za ich pomocą są mało odporne na zniszczenie nawet przy niewielkich modyfikacjach nośnika. W przypadku metody LSB wystarczy obraz przefiltrować, przekształcić geometryczne lub zmienić kolorystykę aby uszkodzić ukrytą informację, a nawet doprowadzić do tego, że nie będzie możliwości jej odczytania. Wyraźna utrata danych widoczna jest zwłaszcza przy stratnej kompresji obrazu, np. JPEG. Jeżeli z wykorzystaniem metody LSB ukryje się
w obrazie nośnika inny obraz przy wykorzystaniu czterech bitów
w każdej składowej koloru, to już przy niewielkim stopniu kompresji, wyrażonej przez współczynnik jakości obrazu JPEG równy 90%, następuje zniszczenie 75% punktów obrazu ukrytego [14,28,55].

Najnowsze metody steganograficzne nie koncentrują się


na rozpatrywaniu sygnału nośnego w funkcji czasu w przypadku sygnału dźwiękowego czy reprezentacji geometrycznej w przypadku obrazu, ale rozpatrują je w dziedzinie częstotliwościowej. Reprezentacja częstotliwościowa sygnału, zwana także spektralną lub falową, jest aproksymacją funkcyjną zbioru cyfrowych danych, np. próbek dźwięku czy wartości barwy punktów obrazu. Aproksymacja funkcyjna uzyskiwana jest poprzez wykonanie przekształcenia transformującego, np. transformacji Fouriera lub transformacji kosinusowej.

Dane ukryte metodami transformacyjnymi są bardziej odporne


na zniszczenie niż dane ukryte poprzez metody substytucji. Wynika to
z faktu, że metody substytucji wykorzystują najmniej znaczące części danych lub puste miejsce, a metody transformacyjne ukrywają dane
na przestrzeni całego nośnika i w znaczących jego częściach, a te części informacji nośnej nie są usuwane przez kompresję i proste zniekształcenia.

Dołączanie poufnej informacji w przestrzeni transformowanej polega na modyfikacji wartości podzbioru współczynników transformaty całego nośnika lub jego wybranych obszarów. W przypadku obrazu ukrycie danych w przestrzeni transformacjnej powoduje równomierne rozłożenie informacji w przestrzeni geometrycznej.

Wynikiem całej operacji jest modyfikacja układu bitów obrazu w taki sposób, że dane są odporne na zniszczenie, a jednocześnie ich istnienie trudne jest do wykrycia.

Odczyt informacji ukrytej może nastąpić przez: porównanie nośnika przed i po przetworzeniu (co wykorzystuje się w znakowaniu wodnym) lub użycia stego-klucza, który wskazuje obszar lub sposób ukrycia danych. Podstawowe transformacje stosowane w steganografii przedstawione są poniżej.


B1. Transformacja Fouriera.
Dyskretna transformacja Fouriera DFT (ang. Discrete Fourier Transform) polega na przybliżeniu wartości N próbek sygnału
za pomocą złożenia wielu funkcji okresowych sinus i cosinus. Przekształcenie transformujące może być stosowane do funkcji dyskretnej jednej zmiennej, np. sygnału dźwiękowego (15) lub obszaru dwuwymiarowego, czyli obrazu (16).

(15),
(16),
gdzie:
I(m, n) – funkcja, określona na obszarze dwuwymiarowym M na N, reprezentująca wartości punktów obrazu,

u, v – częstotliwość pozioma i pionowa fali.
Wynikiem transformacji dwuwymiarowego obrazu jest funkcja dwóch zmiennych reprezentujących częstotliwość poziomą i pionową. Reprezentację geometryczną obrazu można z powrotem przywrócić wykonując odwrotną transformację Fouriera:
(17).

W wyniku przeprowadzenia transformacji Fouriera powstaje zbiór liczb zespolonych. Na potrzeby przetwarzania obrazu wykorzystuje się przeważnie zbiór modułów tych liczb |F(u, v)| czyli amplitud funkcji sinus i cosinus (tzw. widmo).

Przykładowe wykresy widmowe przedstawia Rys.3.7.

Osłabiając lub wzmacniając amplitudy dla różnych częstotliwości można skutecznie przetwarzać obrazy, np. usuwać okresowe zakłócenia powstające przy skanowaniu obrazu lub wykonać filtrację górno oraz dolnoprzepustową.

Zbiór amplitud (widmo) reprezentowany jest w postaci wykresu funkcji intensywności (im wyższa amplituda sygnału tym większa intensywność punktu na wykresie).

Wymiary wykresu odpowiadają wymiarom transformowanego obrazu. Początek układu współrzędnych reprezentujący wartość średnią obrazu znajduje się po środku płaszczyzny wykresu ((u, v) = (0, 0)).

W okolicy środka znajdują się moduły fal o małych częstotliwościach. Im większa częstotliwość fali, tym większa odległość amplitudy od środka płaszczyzny.

Najwyższe częstotliwości, które odpowiadają najmniejszej możliwej długości periodycznego sygnału czyli dwóch punktów obrazu rozmieszczone są na brzegach płaszczyzny wykresu, tj. u = ± M/2


i  v = ± N/2.

Linia łącząca konkretny punkt wykresu reprezentujący pewną amplitudę fali i środek układu współrzędnych określa kierunek przebiegu danej fali w obrazie.

Wykres jest symetryczny względem środka układu współrzędnych. Więcej na ten temat można przeczytać w pozycjach [14, 28, 54].
Niewielkie modyfikacje wartości amplitud fal aproksymujących nie powodują widocznych zniekształceń w obrazie otrzymanym po przeprowadzeniu transformacji odwrotnej.

Oznacza to, że modyfikacja składników widma może posłużyć do bezpiecznego ukrycia poufnych danych w obrazie, bez obawy


o powstanie widocznych zmian obrazu.

Oprócz modyfikacji widma amplitudowego możliwa jest również zmiana wartości faz składników częstotliwościowych, co wykorzys-tywane jest w steganografii dźwiękowej.

Transformacja Fouriera ma ciekawe właściwości, które powodują że dobrze nadaje się do znakowania wodnego. Dane ukryte w widmie odporne są na zniszczenia w wyniku przekształceń geometrycznych nośnika [14].
W przypadku translacji obrazu o dowolny wektor widmo nie ulega zniekształceniu, co przedstawiają następujące zależności:
(18),

(19).


Jeżeli nośnik zostanie obrócony o pewien kąt 0 widmo też zostanie obrócone o ten sam kąt:




(20)
Modyfikacja obrazu poprzez skalowanie powoduje przeskalowanie widma wg zależności:




(21).



a



b




c



d)




Rys. 3.7 . Wykresy widma powstałego w wyniku transformacji Fouriera,

a) i c) – obrazy przed transformacją; b) i d) – widma obrazów a) i c).


Dzięki zastosowaniu transformacji DFT można uzyskać doskonały opis częstotliwościowy sygnału, ale nie da się uzyskać informacji o tym gdzie konkretne komponenty częstotliwościowe występują w czasie lub przestrzeni obrazu. Odpowiedzią na tą potrzebę jest analiza „krótkiego czasu” STFT (ang. Short-time Fourier Transform). Metoda polega na podziale sygnału na interwały o określonej długości za pomocą przesuwanego okna i wykonaniu transformacji Fouriera na każdym odcinku osobno.


B2. Transformacja kosinusowa.
Dyskretna transformacja kosinusowa DCT (ang. Discrete Cosine Transform) stanowi matematyczną podstawę kompresji JPEG. DCT jest ulepszoną transformacją w stosunku do DFT ponieważ eliminuje wysokoczęstotliwościowe składniki powstające w wyniku występowania gwałtownych nieciągłości na granicy periodycznego sygnału lub na brzegach obrazu. Nieciągłości takie w przypadku transformacji DFT reprezentowane są poprzez niezerowe składniki wysoko-częstotliwościowe. Podczas kompresji te składniki są eliminowane co może doprowadzić do zniekształcenia obrazu. Aby wyeliminować wcześniej te niepożądane składniki wykonywane jest połączenie jednego okresu sygnału ze zwierciadlanym obrazem sygnału z okresu sąsiedniego. Nowy przedział zawiera dwa razy więcej punktów, ale nie ma gwałtownych zmian na granicy. Tak wygładzona funkcja umożliwia zastosowanie przekształceń na liczbach rzeczywistych. Skutkuje to znacznym wzrostem wydajności obliczeniowej w stosunku do DFT [14], gdzie współczynniki transformaty są liczbami zespolonymi.

Dwuwymiarową dyskretną transformacje kosinusową dla macierzy zawierającej wartości punktów obrazu przedstawia równanie:



(22),


gdzie:

Transformacja odwrotna przekształcająca obraz do postaci geometrycznej wygląda następująco:


(23).

W przypadku kompresji JPEG transformacja DCT wykonywana jest nie na całym obrazie, a na blokach 8x8 punktów, na które wcześniej jest on dzielony.


B3. Transformacja falkowa.
Dyskretna transformacja falkowa DWT (ang. Discrete Wavelet Transform) wykorzystywana jest w kompresji obrazu JPEG2000 [14, 41]. Zastosowanie tej transformacji poprawia stopień kompresji
i zwiększa rozdzielczość częstotliwościową w stosunku do wcześniej opisywanych transformacji [14].

Transformacje falkowe konstruują model danych w ten sam sposób co transformacja Fouriera czy kosinusowa, tzn. wyliczają współczynniki wyrażające w jakim stopniu konkretna funkcja opisuje dane sygnału. Jednak analiza z ich zastosowaniem rozszerzona jest o dwa zasadnicze czynniki: wybór funkcji bazowej opisującej sygnał oraz wybór okna


- interwału sygnału poddawanego analizie (interwału, w którym funkcja bazowa jest niezerowa).

Transformacja Fouriera wykorzystuje funkcje sinus i kosinus jako funkcje bazowe, a interwał w którym funkcja jest niezerowa to przedział (-∞, ∞), nie opisuje więc tak dobrze lokalnych zmian częstotliwościowych sygnału. Metoda STFT wprawdzie rozwiązuje


w pewnym stopniu ten problem dzięki temu, że dzieli sygnał na ustalone przedziały, ale posiada zasadniczą wadę mianowicie nie uwzględnia w opisie sygnału wpływu fal o okresie większym niż długość ustalonego interwału. Najlepszy opis sygnału dają metody falkowe ponieważ biorą pod uwagę różne funkcje bazowe, które w najlepszy sposób opisują sygnał w danym oknie, które może mieć różną długość. Funkcje bazowe dobierane są różnie.
Funkcją bazową (falką) może być każda funkcja o wartości średniej równej zero i skończonej energii. Często stosowaną funkcją bazową jest funkcja Meyera [14, 55].

Cały zbiór funkcji bazowych jest wzajemnie ortonormalny (tak jak w przypadku baz sinusoidalnych) i wygenerowany z jednej bazowej funkcji zwanej falką macierzystą (ang. mother wavelet) poprzez skalowanie i translację [55].

Funkcja bazowa jest stosowana lokalnie do określonej części sygnału dzięki technice okna. Rozmiar okna oznaczający rozdzielczość nie jest stały. W przypadku funkcji o dużych okresach stosowane jest duże okno, a w przypadku funkcji o małych okresach – małe. Bardziej skomplikowane okna używają wielu funkcji zdefiniowanych na wielu poziomach częstotliwości.

Proces tego typu zwany jest analizą wielorozdzielczą (ang. multiresolution analysis) [28,55].

Analiza DWT sygnału polega na dekompozycji i próbkowaniu eliminującemu (ang. downsampling). Dekompozycja separuje składniki nisko i wysokoczęstotliwościowe sygnału poprzez filtrowanie dolnoprzepustowe i górnoprzepustowe w wielu skalach (z różnymi rozdzielczościami). Funkcjami filtra górnoprzepustowego są funkcje bazowe, a funkcje filtra dolnoprzepustowego to uzupełniające funkcje wskaźnikowe. Etap eliminacji usuwa z sygnału dane niepotrzebne
do dalszej rekonstrukcji. Powrót do reprezentacji czasowej sygnału wymaga wykonania próbkowania uzupełniającego (ang. up-sampling)
i rekombinacji danych z dwóch pasm powstałych w wyniku filtrowania [14].

Jest wiele funkcji mogących być funkcjami bazowymi dla przekształcenia falkowego. W zależności od samego sygnału jedne funkcje mogą być lepsze od innych. Wybór odpowiedniej funkcji może stanowić klucz steganograficzny jeżeli tylko nadawca i odbiorca znają określoną falkę zastosowaną w transformacji.



B4. Metody różnic wartości współczynników DCT
Metoda opisana w publikacji [14, 28] opiera się na relatywnej modyfikacji wartości dwóch lub większej ilości współczynników transformacji DCT obrazu. Metoda wykorzystuje podział obrazu
na obszary o rozmiarze 8x8 punktów, na których wykonywane są transformacje, tak jak podczas kompresji JPEG. Nadawca kodując informację dzieli obraz na takie obszary, a następnie wybiera je pseudolosowo. Każdy z obszarów bi będzie przechowywał jeden (i-ty) bit informacji.

Przed rozpoczęciem komunikacji nadawca i odbiorca ustalają położenie w bloku dwóch współczynników, które będą przechowywały informację. Współczynniki powinny odpowiadać funkcjom kosinus


o średnich częstotliwościach. Wynika to z tego, że modyfikacje niskich częstotliwości wprowadzają znaczne zniekształcenia do obrazu,
a wysokie częstotliwości, odpowiadające szumowi, są eliminowane podczas kompresji. Aby zapewnić odporność na zniszczenie ukrytej informacji podczas kompresji JPEG powinno się wybierać współczynniki DCT, którym odpowiadają te same wartości kwantyzacji (oba współczynniki podczas kompresji będą dzielone przez tą samą wartość), np. 22 dla częstotliwości (u1, v1) = (3, 2) i (u2, v2) = (4, 1).

W przypadku gdy wartości współczynników transformacji spełniają nierówność w(u1, v1) > w(u2, v2) to blok odpowiada bitowi wiadomości równemu „1”, jeżeli nie - bitowi równemu „0”. Jeżeli różnica wartości nie odpowiada kolejnemu bitowi ukrywanej wiadomości wartości obu współczynników są zamieniane miejscami. Różnica wartości współczynników powinna być odpowiednio duża, aby nie została zniwelowana w procesie kwantyzacji danych obrazu. Można to uzyskać dodając losowe wartości do obu współczynników. Po dodaniu informacji wykonywana jest transformacja odwrotna. Odbiorca w celu odczytania danych musi wykonać transformację prostą DCT i porównać wartości modyfikowanych współczynników.

Podobna metoda, ale bardziej odporna na zniszczenie poufnych danych, została zaproponowana przez Zhao i Kocha [50]. Bit poufnej wiadomości ukrywany jest poprzez modyfikację różnic trzech współczynników transformacji DCT zlokalizowanych w obszarze średnich częstotliwości. Dodatkowo przed dodaniem danych wykonywana jest kwantyzacja.

Odporność na zniszczenie ukrytej informacji zależy od wartości różnicy D. Jeżeli dany blok nie może spełnić powyższych zależności bez wprowadzania znaczących zmian, które mogłyby skutkować dużymi zniekształceniami obrazu, oznaczany jest jako nieprawidłowy.

Dodawanie informacji po wcześniejszym wykonaniu kwantyzacji umożliwia wybór współczynników w bardziej dowolny sposób
w stosunku do wcześniej opisywanej metody, co przyczynia się również do zwiększenia jej bezpieczeństwa.

1   2   3   4   5   6   7   8   9   ...   12


©absta.pl 2016
wyślij wiadomość

    Strona główna