Analiza metod wykrywania przekazów steganograficznych Magdalena Pejas Wydział EiTI PW magdap7@gazeta.pl
Plan prezentacji Wprowadzenie Cel pracy Tezy pracy Koncepcja systemu Typy i wyniki testów Optymalizacja parametrów systemu Implementacja systemu Podsumowanie 2
Steganografia i steganoanaliza E Dane do ukrycia Funkcja steganograficzna M Dane z ukrytą wiadomością C Dane nośne Klucz steganograficzny Kanał Komunikacyjny Opcjonalne E1 Wiadomość oryginalna Odwrotna funkcja steganograficzna M1 Dane z ukrytą wiadomością Decyzja Funkcja steganoalityczna 3
Cel pracy Opracowanie możliwie skutecznego zintegrowanego systemu testów wykrywających przekazy steganograficzne umożliwiającego: Wykrywanie nowych technik ukrywania przekazów steganograficznych, Konstrukcję nowych testów wykrywających zastosowanie poznanych technik ukrywania danych, Systematyczne testowanie danych cyfrowych na obecność przekazów steganograficznych. 4
Teza pracy Możliwa jest budowa zintegrowanego systemu steganoanalitycznego oraz jego optymalizacja pod względem poziomu błędów pierwszego i drugiego rodzaju, szybkości działania oraz wielkości użytych zasobów komputera poprzez: Odpowiedni wybór testów wykrywających przekazy steganograficzne oraz kolejności ich wykonywania, Opracowanie koncepcji systemu testowania, Wykorzystanie informacji o dotychczasowej częstości pojawiania się przekazów steganograficznych. 5
Koncepcja systemu Plik Import danych Obiekt cyfrowy Ekstrakcja cech Baza wiedzy Klasyfikacja i Tak Nie 6
Faza testowania Plik Import danych i ekstrakcja cech Sygnatury Znajdź sygnatury Tak Nie Anomalie Znajdź anomalie Tak Progi decyzyjne Nie Testy gładkości 7
Części składowe systemu Rozpoznawcza podgląd graficzny interaktywność Trenująca wszystkie testy tryb wsadowy Testowa wybrane testy optymalizacja klasyfikatora 8
Typy testów Statyczne sygnatury Lokalne anomalie w strukturze danych Efekty dwukrotnego kodowania Efekty pojemnościowe Klasa Nazwa (programu) Opis Zmienna decyzyjna Wartość progowa Warunek decyzyjny Implementacja (Matlab) Klasa, do której dany test należy Nazwa programu, którego dotyczy test Opis testu Wartość testowana Wartość progowa Opis formalny warunku testu Implementacja warunku Jakość P = { P, P, P, P } 10 11 00 01 Wielkość błędu klasyfikacji Złożoność On ( ) Szacowana złożoność obliczeniowa testu 9
Przykład deskryptora testów Klasa Nazwa (programu) Opis Zmienna decyzyjna Wartość progowa Warunek decyzyjny Implementacja (Matlab) Jakość Złożoność P= { P, P, P, P} On () 10 11 00 01 Sygnatura Courier 1.0 Znajduje określony ciąg bitów w drugim wierszu obrazu. v(c)=bitand(1,m(2,:,c)),c = 1..3 * s g n = [10] 0, x np x < 1, width ( m ) >, c { r, g, b } lsb(m(2,x,c)== 1, x P s1(c)=sum(lsb(2,1:2:y,c)==0); s2(c)=sum(lsb(2,2:2:y,c)==1); test(c)=(abs(s1+s2-y )<=2); P ={0,1,1,0} O( width( image)) 10
Przykład deskryptora testów Klasa Nazwa (programu) Opis Zmienna decyzyjna Wartość progowa Warunek decyzyjny Implementacja (Matlab) Anomalie Stealth Files Znajduje ciąg liter na końcu pliku. d=dataload(filename);l=length(d);d(l-7:l) λ thr =< 97,122> <65,90> min( s) = int(' a') s = f( x: length( f)), max( s) = int(' z') thr=[97,122]; sum(d(l-7:l)>=thr(1) & d(l-7:l)<=thr(2))==8 Jakość Złożoność P= { PPPP,,, } On () 10 11 00 01 2*26 1 P10 ( n) = P( bi [ a.. Z]) = ~ ( ) i= 1.. n 256 5 O( width( image)) n n 11
Jakość testów korelacyjnych 12
Wybrane testy Symbol Opis Wzór Smt1 Smt2 Smt3 Smt4 Blc Gładkość wektora Gładkość macierzy Kontrast 2D - 1 Kontrast 2D - 2 Blokowość N i= 2 MN i= 2, j= 1 X X / N i X X /( M N) ( M 1) ( N 1) i= 2, j= 2 ( M 1)( N 1) i= 2, j= 2 i, j i 1, j i 1 4 X X X X X i, j i, j 1 i, j+ 1 i 1, j i+ 1, j 4 X X X X X i, j i 1, j 1 i 1, j+ 1 i+ 1, j 1 i+ 1, j+ 1 M /8 N M N/8 ( X X ) + ( X X ) 8 k+ 1, j 8 k+ 1, j 1 i,8 l+ 1 i 1,8 l+ 1 k= 1 j= 1 i= 1 l= 1 13
Kryterium Fishera Wybór najlepszych testów Lepsze jest kryterium Bayesa Rozkłady nie są Gaussowskie Utrata informacji przy redukcji wymiaru uur W 2 1 0 2 X 2 1 0 ( X X ) :max ( X ) + ( ) 14
Kryterium Bayesa 15
Podstawowe parametry systemu P = { h, h} d 0 1 P = { P( H ), P( H )} h 0 1 P = { P, P P, P } e 10 00, 11 01, c = { c, c c, c } = { c, c } λ thr 10 00, 11 01, 1 2 PH ( ) ( Ph, c) = 1 PH ( ) c 0 1 c 0 2 16
Poprawienie jakości klasyfikacji P( E ) = P ( x) dx dx dx, x R ij j r g b x R x G x B r i g i b i 3 P( E ) = P ( x) dx dx dx, x R 10 0 x R x G x B r 1 g 1 b 1 r g b 3 P( E ) = P ( x) dx dx dx, x R 01 1 x R x G x B r 0 g 0 b 0 r g b 3 17
Poprawienie fazy testowania Uaktualnianie parametrów systemu N P H + N + 1 P'( H0 ) = N P( H0), N + 1 N' = N + 1 ( 0) 1, ' ' ' ' ' dist λ = dist λ err hyp P ( P, ) P ( P, ( C, P )) err thr err thr for D for D 0 1 in :{ c, P, P P, D} P λ P ' hyp ' thr ' err hyp dist, err ( D) ' hyp ' hyp (, cp, P ) ( P λ ) dist, out :{ P, P } Warunek konieczny na optymalizację ' err ' thr dist P : P <= 0.1 P <= 0.1 e 10 01 18
Heurystyka wyboru testów Kolejno wykonywane testy wg klas Sygnatury Anomalie Gładkość obszaru Kolejność w klasach według prawdopodobieństwa pojawiania się pozytywnego wyniku testu c c i i sygn anom glad Ord( T ) P( H ), c C = { C, C, C } 19
Moduł fazy rozpoznawczej 20
Implementacja parametrów systemu Opis Rozkład prawdopodobieństwa Próg decyzyjny Prawdopodobieństwo błędu decyzji D i, kiedy jest słuszna hipoteza Prawdopodobieństwo błędu fałszywego alarmu Prawdopodobieństwo błędu przeoczenia przekazu Prawdopodobieństwo błędu przeoczenia w dziedzinie trójwymiarowej H j Opis formalny P( x) Implementacja - Matlab uuuur uur ur PH ( 0) c1 λthr indi = find( hj < hi δ); δ = 1 PH ( 0) c2 P( Eij ) = Pj ( x) dx R PE ( 10 ) = P0 ( xdx ) i x X PE ( 01) = P1 ( xdx ) 1 x X P( E ) P( x) dx 01 1 0 x R x G x B r 0 g 0 b 0 ur uur uur h = hist( X )/ length( X ); i i i uuuur uur ur indi = find( hj < hi); uur uuuur P = sum( h ( ind )); ij j i uuuur uur uur ind1 = find( h0 < h1); uur uuuur P = sum( h ( ind )); 10 0 1 uuuur uur uur ind0 = find( h0 > h1); uur uuuur P = sum( h ( ind )); 01 1 0 uuuur uur uur ( ); uur uuuur P = sum( h ( ind )); = ind0 = find h0 > h1 01 1 0 21
Podsumowanie Opracowanie nowych testów wykrywających przekazy steganograficzne Opis i implementacja wybranych testów oraz ocena ich jakości pod kątem poziomu błędów klasyfikacji Konstrukcja zintegrowanego systemu do wykrywania przekazów steganograficznych Optymalizacja parametrów programu wykrywającego przekazy steganograficzne klasyfikator Bayesa heurystyka wyboru kolejności testów wykorzystanie częstości pozytywnych wyników testów wykorzystanie reprezentacji graficznej danych statystyczna metoda wykrywania nowych sygnatur 22
Wnioski System generuje fałszywe alarmy w przypadku obrazów cyfrowych nieznanego pochodzenia W przypadku zawężonym do obrazów wykonanych aparatem cyfrowym i zmodyfikowanym wyłącznie jednym z wybranych programów poziom błędów jest pomijalny Problem jest dynamiczny i zmienia się wraz z oprogramowaniem do steganografii 23
Plan dalszych prac Zbadanie nowych programów steganograficznych Opracowanie nowych testów Testowanie zawartości Internetu Wykorzystanie teorii sieci neuronowych Zastosowanie algorytmów genetycznych 24