Zastosowanie testowania wielu hipotez do steganalizy Magdalena Pejas Prof. Andrzej DąbrowskiD
Plan prezentacji Cele i tezy pracy Steganografia i steganoanaliza Uporządkowanie metod ukrywania danych Metody odkrywania wiedzy Poznane metody steganoanalizy Odkryte nowe metody steganoanalizy Propozycja systemu Plan przyszłych ych prac
Główne tezy pracy Możliwe jest poprawienie efektywności wykrywania przekazów steganograficznych Do tego celu można stworzyć hybrydowy system do wykrywania przekazów Polega on na pewnym uszeregowaniu składowych metod wykrywania tak, aby zmniejszyć złożoność,, czas testów w i poziom błęb łędów
Składniki pracy Usystematyzowanie metod ukrywania danych Zaproponowanie modelu reprezentacji danych cyfrowych Wypracowanie uniwersalnej metody wykrywania przekazów w steganograficznych Opracowanie kilku nowych pod metod szybkiego wykrywania przekazów
Steganografia i steganoanaliza Steganografia Dział wiedzy zajmujący się utajnianiem wiadomości poprzez ukrycie jej w pewnych danych (ang. covered writing) Steganoanaliza Dział wiedzy zajmujący się analizą danych pod kątem k wykrycia obecności ci ukrytych przekazów w i ewentualnego ich odczytania.
Schemat ukrycia danych ťęëľgďęiäzď#43še3ľ qîwkř4«öç ˇ<ŚîU d ei Ö_l Ć}/łűÎł Ş]$ Ň ő\ ŚC łőż n ÍńęšAß»lő ŤJŰV-[ Obiekt czysty Obiekt z ukrytymi danymi
Steganographic system M Przekaz do ukrycia C Dane nośne Opcjonalnie M Zdekodowany przekaz F steg Funkcja steganograficzna k steg Klucz F steg Odwrotna funkcja steganograficzna S Dane z ukrytym przekazem Kanał transmisyjny S Dane z ukrytym przekazem
Obszary ukrywania danych A format pliku nośnego nego B typ danych nośnych nych w strukturze pliku C dziedzina ukrycia przekazu D tryb wybierania bajtów w nośnych nych E tryb modyfikacji bajtów w nośnych nych A B C D E
Przestrzeń dziedzin ukrywania danych E E E n A x B x C x D x E D D D n
Przestrzeń dziedzin ukrywania ' Ds n danych E E 2 E n A x B x C x D x E D D 2 ' D k ' Dn D n + D k Class Class k Class m Class m+
Formaty plików Tekst {*.txt txt,, *.html html,, *.bat, *.c, *.java java} Edytowane {*.wri wri,, *.doc doc,, *.rtf rtf, *.pdf} Obraz {*.bmp bmp, *.jpg,, *.gif gif} Dźwiękowe {*.wav,*.au wav,*.au,, *.mid mid} Multimedialne {*.mpeg, *.avi avi} Wykonywalne {*.exe exe}
Typ danych nośnych nych Zawartość pliku {piksele, próbki} Struktura pliku {nagłówki, deskryptory} Wolne lub swobodne segmenty danych Kodowanie {kompresja, fraktale}
Dziedzina ukrycia przekazu Przestrzenna {próbki, piksele} Czas {sekwencja wideo} Częstotliwo stotliwość {transformaty FFT, DCT} Czas i częstotliwo stotliwość {transformata Falkowa} Indeksowanie {paleta}
Transforms Dyskretna Transformata Fouriera n DFT ( X ) = Y : Y[( k] = X[ j]* e j = 0 2π i j* k n Dyskretna Transformata Kosinusowa n j= 0 2π i j* k n DCT ( X ) = Y : Y[ k] = X[ j]*cos( )
Tryb wyboru bajtów w nośnych nych Sekwencyjny Rozproszony Rozproszony pseudo-losowy Adaptacyjny {kontrast, szum}
Tryby modyfikacji Zastąpienie XOR Zamiana Dodanie szumu bit s = bit m bits = bitc bitm swap ( bit, best _ neigbour( bit )) c X s = Xc + Xn c
Reprezentacja szumu Rozkład Gaussa Rozkład normalny Px ( ) = e σ 2π P( x) = 2π 2 2 ( x µ ) /2σ e 2 ( x ) / 2
Steganoanaliza Dane cyfrowe Typy wartości danych Metody odkrywania wiedzy a steganoanaliza Odkrywanie wiedzy Obiekt Atrybuty Przykłady Plik graficzny Wartości pikseli Funkcje na cechach danych Cechy statystyczne Obecność ukrytej wiadomości Nie ma ukrytej wiadomości Pary: nośnik, nik, steganogram Pojedyncze steganogramy Ekstrakcja cech Cechy Kategoria Hipoteza zerowa Zbiór r trenujący Zbiór r testowy Kontrasty,, transformaty Odchylenie standardowe Obecność ukrytego przekazu
Ekstrakcja cech Plik Wczytanie pliku Ekstrakcja cech Obiekt cyfrowy
Obiekt cyfrowy Uniwersalna reprezentacja danych cyfrowych Konwersja danych do postaci wektorów w cech Każda cecha jest wielowymiarowym punktem Obiekt jest wielowymiarową macierzą
Reprezentacja obiektu cyfrowego M=[x, y, c] - macierz pikseli S=[s, ch] - wektor próbek S=[b,b 2,,b n ] - surowe bajty z pliku M(x :x 2,y :y 2,c) - wybór r danych 2 n,2 n - - maski bitowe
Ekstrakcja cech Transformaty Kontrasty Gładkość obszaru Poziom szumu
Analiza histogramu Histogram jest funkcją rozkładu probabilistycznego danego wektora wartości Przykład histogramu rozkładu barw obrazu
Miary gładkog adkości Symbol Description Formula Smt Smt2 ( M NMxN /8 ) N x ( N ) M N/8 X i ( Xi, X 4* 8* j ki +, X ji, Xj i, j 8* X k+ i,, j, j j ) + X Xi, ji+, ( j X + i ix,8*, jil +, jxx i +, i Xj,8* i+ l, + ) j+ i k= = 2, 2 i= j2, = j= j= 2 i= l= 4* N aa i i= 2 Gładkość wektora Gładkość macierzy MN i= 2, j= X X / N X X /( M N) ij, i, j i Ctr Ctr2 Blc Kontrast 2D - Kontrast 2D - 2 Blokowość ( M ) ( N ) i= 2, j= 2 ( M )( N ) i= 2, j= 2 4 X X X X X i, j i, j i, j+ i, j i+, j 4 X X X X X i, j i, j i, j+ i+, j i+, j+ M /8 N M N/8 ( X X ) + ( X X ) 8 k+, j 8 k+, j i,8 l+ i,8 l+ k= j= i= l=
Miary korelacji wzorców Korelacja XOR Odległość wektorowa Korelacja logiczna Auto korelacja logiczna cor( X, Y ) = X Y / n n i= n cor( X, Y ) = true( X Y )/ n i= n i= dist( x, y) = abs( X Y )/ n n q cor( X ) = true( X X )/ n i= i i i i i i i i+ q gdzie {~ ==,,,,,}
Podstawowe statystyki Symbol E L p AD MSE SNR NC CQ Opis N N 2 N p p ( 2 NN X -E /N X E i -E ) //N) N 2 / ( X 2 i iyi/ i/ YiY i Yi) i = i= ii = i= Average value L p norm Standard deviation (L p for p=) Mean square error Signal to Signal 2 ratio Normalized cross correlation Correlation quality Wzór N i = X i / N N p p ( X i -E /N) i = N i = X -E /N i N 2 ( i ) / i = X E N N N 2 2 X i / ( Xi Yi) i= i= N N 2 XY i i/ Yi i= i= N XY/ N Y i i i i= i=
Wartości decyzyjne Odległość L p Odległość punktu L p Odległość średniokwadratowa Odległość punktu średniokwadratowa N p (, ) = p ( X i- Yi /N) i= dist X Y N p (, ) = p ( X i - x /N) i= dist X x N 2 (, ) = ( i i) / i= dist X Y X Y N ( N, ) = ( i 2 ) / i= dist X x X x N
Klasyfikatory Model regresyjny Predykator linearny
Model regresyjny X wektor m - elementowy n liczba przetestowanych obiektów y = β x + β 2 x2 +... + β m xm + ε y = β x + β x +... + β x + ε... y = β x + β x +... + β x + ε 2 2 2 22 m 2 m 2 n n 2 n 2 m nm n ur r Y = βx + ε ur uur uur uur β = [ β... β ], = [... ], < > = [... ], = [,... ] T m X X X n Xi, n Xi Xim Y y yn
Zastosowanie kryterium Bayesa Próg g decyzyjny Koszty Błędy typu I i II Testowanie wielu hipotez Kryteria wielu parametrów
Testowanie dwóch hipotez H 0 nie ma ukrytego przekazu H istnieje ukryty przekaz PH ( ) + PH ( ) = 0 P (H i x) prawdopodobieństwo, że zachodzi i-ta hipoteza dla zadanego wektora danych x P (x H i ) rozkład losowy wektora x dla i-tej hipotezy P( H xpx ) ( ) = Px ( H) PH ( ) i i i i PH ( 0 x) Px ( H0) PH ( 0) P0( xph ) ( 0) = PH ( x) Px ( H) PH ( ) P( xph ) ( )
Próg g decyzyjny Próg - λ th PH ( x) P( xph ) ( ) P( x) PH ( 0) > > > λ( x) > PH ( x) P( xph ) ( ) P( x) PH ( ) 0 0 0 0 λ th Próg g z uwzględnieniem kosztów λ th = PH ( )( C C ) 0 0 00 P( H )( C C ) 0 0
Kryterium Bayes a zastosowane do steganoanalizy c ij - koszt decyzji D i gdy zachodzi H j c 0 koszt fałszywego alarmu c 0 koszt błęb łędu przeoczenia c i c 2 powyższe koszty odpowiednio C = C = 0, C = c, C = c 00 0 0 2
Próg g decyzyjny i koszt Próg g decyzyjny PH ( ) c λ ( x) > PH ( ) c Całkowity koszt decyzji 2 2 C P( D H ) P( H ) C = 0 0 2 total i j j i j i= j= C = PD ( H) PH ( ) c+ PD ( H) PH ( ) c total 0 0 0 2
Błędy typu I i II Koszty całkowite błęb łędnych decyzji PD ( H0) = P0( xdx ) λ th PD ( 0 H) = P( xdx ) λ th Ctotal = P( H ) c P ( x) dx+ [ P( H )] c P( x) dx 0 0 0 2 R R 0
Aktywne Ataki na przekazy podmiana przekazu zniszczenie Pasywne wykrycie obecności ci zidentyfikowanie programu steganograficznego Oszacowanie długod ugości przekazu
Cześć ucząca ca Ataki na przekazy Wybrany algorytm, dane nośnik nik i przekaz Zbiór r uczący: cy: pary (Cover(,Stego) Cześć testowa Podejrzany obiekt cyfrowy Postawienie hipotezy
Programy steganograficzne Program name Cover data Embedded files Encryption Courier.0 *.bmp text YES Image Hide *.bmp, *.jpg, *. gif, *.tif *.* Internal key JPHS for Windows 0.5 *.jpg *.* NO Hide In Picture 2.0 *.bmp *.* Blowfish, Rijndael Steganography.6 *.* *.* Access password WbStego 4.2 bmp,pdf, htm, txt *.* YES Stealth Files 4.0 *.* *.* Access password
Miary dla steganoanalizy Korelacja wzoru Kompatybilność formatu danych Miary jakości plików w multimedialnych Gładkość,, złożonoz oność obszaru danych Poziom szumu, poziom entropii Pseudo - losowość
Poznane metody steganalizy RQP testy par kolorów PoV-Chi2 Testy podobieństwa binarnego Testy kompatybilności z JPEG Metoda dodawanego szumu
Nowe metody Flagi i odciski palców Lokalne anomalia struktury plików Atak przez powtórne kodowanie
Atak przez powtórne kodowanie File 0 File File 2 F steg F steg Import danych & ekstrakcja cech C S S 2
Testowanie File F process Import Chosen feature extraction C S F dist Decision Yes S 2 No
Wykryte flagi Nr Program Flag Size [b] Courier.0 [000000 ] Image width 2 Image Hide [0000000000bbb00000000] 2 3 WbStego 4.2 [bb000000] 8 Wartość decyzyjna : obecność określonego ciągu bitów
Anomalia formatu Nr Program Effect Size [b] Steganography.65 Noise string after EOF Flexible 2 Stealth files Alphabetical after EOF Flexible 3 Win Hip for Win 0.5 File size change Restrained Wartość decyzyjna : Odchylenie standardowe ciągu bajtów Amplituda ciągu bajtów
Podwójne kodowanie Nr Program Amp(Cov - Steg) Amp(Steg-Steg2) Hide In Picture 2.0 2 2 Cloak 0.5 2 Wartość decyzyjna: amplituda(steg-steg)
Proponowany system Część samoucząca ca i testująca Baza wiedzy zawiera: progi decyzyjne kolejność uszeregowania testów Modyfikacja bazy na bieżą żąco zależy y od: często stość występowania przekazów prostota danego testu O(f(n)) poziom błęb łędów w testu: fałszywy alarm błąd d przeoczenia
System uczący cy ze sprzęż ężeniem Plik Import danych Ekstrakcja cech Statystyki Baza wiedzy Klasyfikacja Tak s Nie
Zagregowane testowanie hipotez Plik Import danych Ekstrakcja cech Statystyki Flagi Znajdź flagi Yes No Anomalia Znajdź anomalia Yes No Dalsza analiza
Agregacja hipotez Klasyfikacja i Test... Tak Test M Tak
Formalny opis Hipoteza odpowiada testowi, który należy y do klasy class H test Suma prawdopodobieństw hipotez testów równa się prawdopodobieństwu hipotezy klasy N( class) class class PH ( ) = PH ( i ) i= Suma prawdopodobieństw dla wszystkich klas class PH ( ) + PH ( ) = 0 Class class=
Ogólne etapy testowania danych Testy zgrubne Testy proste i obarczone znikomymi błędami klasyfikacji Testy obarczone znaczącymi cymi błęb łędami klasyfikacji
Kolejne etapy testowania sprawdzenie rozszerzenia pliku zgodność rozszerzenia z zawartości cią ogólne anomalia formatu ekstrakcja treści pliku specyficzne anomalia treści ekstrakcja LSB ekstrakcja miar jakości treści multimediów ataki przez podwójne kodowanie
Faza uczenia z etapem podglądu du Zbiór r trenujący Pary(C,S) - pojedyncza modyfikacja Pary(S,S) - podwójn jną modyfikacja Obliczenie różnicy r binarnej Podgląd d wizualny treści Znalezienie kryteriów w decyzyjnych Uzupełnienie bazy wiedzy
Porównanie danych i podgląd C S S2 F comp F comp F comp F comp (S,S 2 ) F comp (C,S 2 ) F comp (C,S ) Wizualizacja
Kolejność testów Ord() t ; PH ( ) O ( n) Err( t) t t Proporcjonalna do prawdopodobieństwa wystąpienia hipotezy odpowiadającej testowi t Odwrotnie proporcjonalna do złożoności testowania hipotezy oraz do wielkości błędów pierwszego i drugiego rodzaju
Plan dalszych prac Implementacja i rozbudowa proponowanego systemu Udowodnienie istnienia na Internecie podejrzanych kanałów w informacyjnych Poprawienie zastosowania nowych dziedzin do steganoanalizy Logika rozmyta Algorytmy genetyczne Sieci neuronowe