ROZPRAWA DOKTORSKA POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. mgr inż. Wojciech Mazurczyk. Steganografia w telefonii IP

Podobne dokumenty
Zapewnianie bezbłędności transmisji steganograficznej (Blok tematyczny S2B: Jakość sieci i usług)

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Model OSI. mgr inż. Krzysztof Szałajko

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Model sieci OSI, protokoły sieciowe, adresy IP

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Plan Prezentacji Wprowadzenie Telefonia IP a bezpieczeństwo istotne usługi ochrony informacji i komunikacji w sieci Klasyczna architektura bezpieczeńs

Krajowe Sympozjum Telekomunikacji i Teleinformatyki KSTiT Autorzy: Tomasz Piotrowski Szczepan Wójcik Mikołaj Wiśniewski Wojciech Mazurczyk

Steganografia w technologii VoIP Autor: mgr. inż. Łukasz Krajnik Opiekun pracy: dr hab. inż. Dariusz Czerwiński, prof. PL

Dr Michał Tanaś(

Dr Michał Tanaś(

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci Komputerowe Modele warstwowe sieci

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Programowanie Sieciowe 1

Protokół IPsec. Patryk Czarnik

Protokoły sieciowe - TCP/IP

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Bezpieczny system telefonii VoIP opartej na protokole SIP

Adresy w sieciach komputerowych

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Warstwy i funkcje modelu ISO/OSI

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Przesyłania danych przez protokół TCP/IP

System anonimowej i poufnej poczty elektronicznej. Jakub Piotrowski

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Internet Protocol v6 - w czym tkwi problem?

Transmisja danych multimedialnych. mgr inż. Piotr Bratoszewski

Bezpieczeństwo VoIP SIP & Asterisk. Autor: Leszek Tomaszewski ltomasze@elka.pw.edu.pl

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Sieci komputerowe - warstwa transportowa

Sieci komputerowe Warstwa transportowa

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

IPsec bezpieczeństwo sieci komputerowych

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Zadania z sieci Rozwiązanie

Uniwersalny Konwerter Protokołów

ZiMSK. VLAN, trunk, intervlan-routing 1

INFORMATYKA Pytania ogólne na egzamin dyplomowy

TCP/IP formaty ramek, datagramów, pakietów...

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Akademia Techniczno-Humanistyczna w Bielsku-Białej

1. Wprowadzenie Środowisko multimedialnych sieci IP Schemat H

Spis treści. 1 Moduł Modbus TCP 4

Magistrala LIN

Technologie informacyjne - wykład 8 -

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Programowanie współbieżne i rozproszone

Sieci komputerowe. Wstęp

Adres IP

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

SSL (Secure Socket Layer)

MASKI SIECIOWE W IPv4

MODEL OSI A INTERNET

Protokoły internetowe

ZAŁOŻENIA PROTOKOŁU RTP

Instant Messaging with SIMPLE. Michał Albrycht

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Zastosowania PKI dla wirtualnych sieci prywatnych

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

USŁUGI DODATKOWE W SIECIACH BEZPRZEWODOWYCH VoIP oraz multimedia w sieciach WiFi problemy

Protokoły wspomagające. Mikołaj Leszczuk

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Szczegółowy opis przedmiotu zamówienia:

Serwery multimedialne RealNetworks

TELEFONIA INTERNETOWA

Konfiguracja WDS na module SCALANCE W Wstęp

Wykład VII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Instrukcja 5 - Zastosowania protokołu ICMP

Przesył mowy przez internet

Telefonia Internetowa VoIP

Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone. MASH.PL Wymagania i zalecenia dla usługi głosowej w Sieci FreePhone Strona 1

The OWASP Foundation Session Management. Sławomir Rozbicki.

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Zagrożenia warstwy drugiej modelu OSI - metody zabezpieczania i przeciwdziałania Autor: Miłosz Tomaszewski Opiekun: Dr inż. Łukasz Sturgulewski

ZiMSK. Konsola, TELNET, SSH 1

Laboratorium Sieci Komputerowych - 2

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Transkrypt:

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych ROZPRAWA DOKTORSKA mgr inż. Wojciech Mazurczyk Steganografia w telefonii IP Promotor: Prof. dr hab. inż. Józef Lubacz Warszawa, 2009

A man should look for what is, and not for what he thinks should be Albert Einstein

Streszczenie W pracy dokonano systematyzującego przeglądu oraz analizy cech metod steganografii sieciowej, ze szczególnym uwzględnieniem steganografii w sieci Internet i telefonii wykorzystującej protokół IP. Przedstawiono i przeanalizowano nową metodę steganograficzną LACK (Lost Audio Packets Steganography) przeznaczoną dla szerokiej klasy usług czasu rzeczywistego, w szczególności dla telefonii IP, która została zgłoszona do Urzędu Patentowego RP jako wynalazek. Opracowana przez autora rozprawy metoda wykorzystuje celowo opóźnione w nadajniku pakiety jako metodę do prowadzenia ukrytej komunikacji. W pracy zbadano również własności metody LACK oraz zaproponowano sposoby wpisywania steganogramu oparte na przewidywanym czasie trwania połączenia i uwzględniające wpływ LACK na jakość połączenia. Pozwala to na efektywne przesyłanie steganogramu przy ograniczonym wpływie tej metody steganograficznej na jakość transmisji głosu oraz obniżonej podatności na detekcję.

Abstract This thesis presents a new steganographic method called LACK (Lost Audio Packets Steganography) which is intended mainly for IP telephony and was filed for patenting in Poland. LACK enables hidden communication by utilizing intentionally excessively delayed RTP packets at a receiver to carry steganograms. The method is presented in a broader context of network steganography and IP telephony steganography in particular. The analytical results presented in the thesis concern the influence of LACK s hidden data insertion rate on the method s steganographic bandwidth, impact on quality of voice transmission and its resistance to steganalysis.

Składam serdeczne podziękowania Panu prof. dr. hab. Józefowi Lubaczowi za cierpliwą opiekę merytoryczną, pomoc, życzliwość, poświęcony czas oraz cenne sugestie. Jestem przekonany, że włożony w tę rozprawę wysiłek oraz zdobyte umiejętności będą owocowały moim rozwojem zawodowym jeszcze przez wiele lat. Dziękuję Kolegom z Zakładu Teleinformatyki i Telekomutacji IT PW, w szczególności: dr. inż. Krzysztofowi Szczypiorskiemu, dzięki któremu rozpoczęła się moja przygoda z pracą naukową oraz prof. dr. hab. inż. Zbigniewowi Kotulskiemu. Dziękuję Robertowi Birke, Marco Melli oraz Michele Petracce z Politecnico di Torino, Dipartimento di Elettronica i Dario Rossiemu z E ST Telecom Paris za użyczenie wyników badań eksperymentalnych dla telefonii IP. Podziękowania składam także mojej rodzinie, w szczególności żonie Magdalenie za nieustającą wiarę, wsparcie oraz wyrozumiałość. Niniejszą rozprawę dedykuję pamięci mojej Mamy dr Anny Frydeckiej- Mazurczyk.

Spis treści SPIS TREŚCI... I LISTA TABEL... II LISTA RYSU KÓW... III 1. WPROWADZE IE... 1 1.1 WSTĘP... 1 1.2 CELE I TEZA ROZPRAWY... 3 1.3 UKŁAD PRACY... 4 2. STEGA OGRAFIA SIECIOWA... 5 2.1 KLASYFIKACJA METOD UKRYWANIA INFORMACJI... 5 2.2 OGÓLNY SCHEMAT STEGANOGRAFII SIECIOWEJ... 7 2.3 PRZEGLĄD METOD STEGANOGRAFII SIECIOWEJ ORAZ METOD ICH DETEKCJI... 10 2.4 KLASYFIKACJA STEGANOGRAFII W TELEFONII IP... 16 2.4.1 Metody steganograficzne oparte na modyfikacji przesyłanych pakietów (MPP)... 18 2.4.2 Metody steganograficzne oparte na modyfikacji struktury strumienia pakietów (MSP)... 26 2.4.3 LACK przykład metody hybrydowej opartej na modyfikacji pakietów oraz struktury strumienia pakietów... 27 2.5 ANALIZA CECH METOD STEGANOGRAFICZNYCH W TELEFONII IP... 28 2.5.1 Cechy metod steganograficznych opartych na modyfikacji pakietów (MPP)... 30 2.5.2 Cechy metod steganograficznych opartych na modyfikacji struktury strumienia pakietów (MSP)33 2.5.3 Cechy hybrydowych metod steganograficznych (HBD) na przykładzie metody LACK... 35 3. LACK (LOST AUDIO PACKETS STEGA OGRAPHY) DZIAŁA IE, KO TEKSTY UŻYCIA ORAZ WŁAS OŚCI... 37 3.1 ZASADA DZIAŁANIA LACK... 37 3.2 KONTEKSTY UŻYCIA LACK... 40 3.3 WŁASNOŚCI LACK... 43 3.4 STEGANALIZA LACK... 49 3.5 PRZYKŁADOWA ARCHITEKTURA REALIZACYJNA LACK... 51 4. DOBÓR I TE SYW OŚCI WPISYWA IA STEGA OGRAMU W METODZIE LACK... 53 4.1 ZALEŻNOŚCI IW(t) OD JAKOŚCI TRANSMISJI GŁOSU... 53 4.2 ZALEŻNOŚĆ IW(t) OD CZASU TRWANIA POŁĄCZENIA... 56 4.2.1 Rozkład prawdopodobieństwa czasu trwania połączeń w telefonii IP... 56 4.2.2 Dostosowanie IW(t) do oszacowania średniego pozostałego czasu trwania połączenia... 60 4.2.3 Dostosowanie IW(t) do oszacowania prawdopodobieństwa pozostałego czasu trwania połączenia 68 4.3 PORÓWNANIE METOD DOBORU IW(t) OPARTYCH NA E(D D>t) i P(D>T D> t)... 74 5. PODSUMOWA IE... 79 DODATEK 1: TELEFO IA IP PODSTAWOWE FAKTY... 81 1. TELEFONIA W SIECIACH PAKIETOWYCH... 81 2. PROTOKOŁY TELEFONII IP ORAZ GŁÓWNE WYZNACZNIKI JAKOŚCI... 82 BIBLIOGRAFIA... 91 WYKAZ SKRÓTÓW... 99 - i -

Lista tabel TABELA 2-1 ZESTAWIENIE CECH METOD STEGANOGRAFICZNYCH W TELEFONII IP... 29 TABELA 4-1 ŚREDNI CZAS ROZMOWY, ODCHYLENIE STANDARDOWE I WSPÓŁCZYNNIK ZMIENNOŚCI DLA DANYCH EKSPERYMENTALNYCH [10]... 58 TABELA 4-2 WYBRANE WARTOŚCI ROZKŁADU WEIBULLA ORAZ WYLICZONE DLA NICH WARTOŚCI C V... 59 TABELA D-1 CECHY CHARAKTERYSTYCZNE WYBRANYCH KODEKÓW (NA PODSTAWIE [20] I [97])... 89 - ii -

Lista rysunków RYS. 2-1 PODZIAŁ DZIEDZINY UKRYWANIA INFORMACJI (NA PODSTAWIE [99])... 5 RYS. 2-2 PROPONOWANY PODZIAŁ DZIEDZINY UKRYWANIA INFORMACJI... 6 RYS. 2-3 OGÓLNY SCHEMAT FUNKCJONOWANIA STEGANOGRAFII SIECIOWEJ... 7 RYS. 2-4 RELACJA MIĘDZY MIARAMI JAKOŚCI SYSTEMU STEGANOGRAFICZNEGO... 9 RYS. 2-5 KLASYFIKACJA METOD STEGANOGRAFICZNYCH W TELEFONII IP... 17 RYS. 2-6 KLASYFIKACJA I RODZAJE METOD STEGANOGRAFICZNYCH W TELEFONII IP OPARTYCH NA MODYFIKACJI PRZESYŁANYCH PAKIETÓW... 18 RYS. 2-7 PRZYKŁADOWA WIADOMOŚĆ INVITE ZABEZPIECZONA MECHANIZMEM S/MIME... 21 RYS. 2-8 ZASTOSOWANIE METODY NIEDRUKOWALNYCH ZNAKÓW DLA WIADOMOŚCI SIP... 22 RYS. 2-9 ZASADA DZIAŁANIA PRZYKŁADOWYCH METOD MSP... 27 RYS. 3-1 SPOSÓB WYBORU PAKIETÓW RTP DO CELOWEGO OPÓŹNIENIA - WARIANT 1... 38 RYS. 3-2 SPOSÓB WYBORU PAKIETÓW RTP DO CELOWEGO OPÓŹNIENIA - WARIANT 2... 39 RYS. 3-3 MOŻLIWE KOMBINACJE LOKALIZACJI SIECIOWEJ NADAWCY (NS) ORAZ ODBIORCY (OS) STEGANOGRAMÓW... 41 RYS. 3-4 SPOSOBY KOMUNIKACJI LACK... 42 RYS. 3-5 WPŁYW LACK NA CAŁKOWITY POZIOM STRAT PAKIETÓW... 44 RYS. 3-6 SKŁADOWE OPÓŹNIENIA DLA LACK... 45 RYS. 3-7 PRZYKŁADOWA ARCHITEKTURA METODY LACK... 51 RYS. 4-1 ZALEŻNOŚĆ POMIĘDZY STRATAMI PAKIETÓW I JAKOŚCIĄ GŁOSU DLA P L = 0, 0.01 I 0.05; PARAMETRY α, β i γ DLA TELEFONII SKYPE... 54 RYS. 4-2 ROZKŁAD PRAWDOPODOBIEŃSTWA JAKOŚCI ROZMOWY W MOS DLA DANYCH EKSPERYMENTALNYCH [10]... 55 RYS. 4-3 ROZKŁAD PRAWDOPODOBIEŃSTWA CZASU TRWANIA POŁĄCZEŃ TELEFONII IP DLA DANYCH EKSPERYMENTALNYCH [10] NA TLE ROZKŁADU WYKŁADNICZEGO... 57 RYS. 4-4 ROZKŁADY WEIBULLA DLA RÓŻNYCH WARTOŚCI PARAMETRÓW k, λ... 60 RYS. 4-5 OGRANICZENIA E(D D>t)... 62 RYS. 4-6 E(D D>t) DLA WYBRANYCH C V... 63 RYS. 4-7 IW(t) DLA S=1000 BITÓW STEGANOGRAMU ORAZ WYBRANYCH C V... 64 RYS. 4-8 ZALEŻNOŚĆ POMIĘDZY IW(t) ORAZ IW J... 64 RYS. 4-9 ZALEŻNOŚĆ IW(t) OD S, DLA t = 60 S ORAZ WYBRANYCH WARTOŚCI C V... 65 RYS. 4-10 ZALEŻNOŚĆ IW(t) OD S, DLA t = 180 S ORAZ WYBRANYCH WARTOŚCI C V... 66 RYS. 4-11 ZALEŻNOŚĆ IW(t) OD S DLA WYBRANYCH CHWIL POŁĄCZENIA DLA C V =2.23... 66 RYS. 4-12 EFEKT WYKORZYSTANIA PROCEDURY WYZNACZANIA IW(t) OPARTEJ NA E(D D> t). 67 RYS. 4-13 IW(t) DLA WYBRANYCH WARTOŚCI C V ORAZ ξ = 0.8... 69 RYS. 4-14 IW(t) DLA WYBRANYCH WARTOŚCI C V ORAZ ξ = 0.9... 70 RYS. 4-15 IW(t) DLA WYBRANYCH WARTOŚCI C V ORAZ ξ = 0.95... 70 RYS. 4-16 ZALEŻNOŚĆ T ξ (t) OD T DLA WYBRANYCH C V = 0.32, 1 I 2.23, ξ = 0.8... 71 RYS. 4-17 ZALEŻNOŚĆ T ξ (t) OD T DLA WYBRANYCH C V = 0.32, 1 I 2.23, ξ = 0.9... 71 RYS. 4-18 ZALEŻNOŚĆ T ξ (t) OD T DLA WYBRANYCH C V = 0.32, 1 I 2.23, ξ = 0.95... 72 RYS. 4-19 ZALEŻNOŚĆ IW(t) OD S, DLA t = 60 S ORAZ WYBRANYCH WARTOŚCI C V... 73 - iii -

RYS. 4-20 ZALEŻNOŚĆ IW(t) OD S, DLA t = 180 S ORAZ WYBRANYCH WARTOŚCI C V... 73 RYS. 4-21 ZALEŻNOŚĆ IW(t) OD S DLA WYBRANYCH CHWIL POŁĄCZENIA DLA C V = 0.32... 74 RYS. 4-22 PORÓWNANIE METOD WYZNACZANIA IW(t) DLA C V = 0.32 ORAZ S = 1000 BITÓW... 75 RYS. 4-23 PORÓWNANIE METOD WYZNACZANIA IW(t) DLA C V = 1 ORAZ S = 1000 BITÓW... 75 RYS. 4-24 PORÓWNANIE METOD WYZNACZANIA IW(t) DLA C V = 2.23 ORAZ S = 1000 BITÓW... 76 RYS. D-1 PODZIAŁ SYSTEMÓW TELEFONII IP... 82 RYS. D-2 PROTOKOŁY TELEFONII IP W ODNIESIENIU DO STOSU TCP/IP... 83 RYS. D-3 PRZYKŁADOWA WIADOMOŚĆ SIP INVITE... 85 RYS. D-4 NAGŁÓWEK PROTOKOŁU RTP... 86 RYS. D-5 RAPORTY RR I SR PROTOKOŁU RTCP... 87 RYS. D-6 PRZYKŁADOWY SPOSÓB NAWIĄZANIA POŁĄCZENIA W TELEFONII IP OPARTEJ NA SIP (NA PODSTAWIE [63])... 88 - iv -

1. Wprowadzenie 1.1 Wstęp Istotą steganografii jest przekazywanie tajnych informacji w taki sposób, by nie ujawniać osobom postronnym ich istnienia, ani samego faktu ukrytej komunikacji. Zatem steganografia jest odmienna od kryptografii, której celem jest ochrona treści przesyłanej wiadomości przed jej odczytaniem przez osoby nieuprawione, przy czym sam fakt komunikacji może być znany. Termin steganografia pochodzi z języka greckiego i w dosłownym tłumaczeniu oznacza zakryte pismo. Metody steganograficzne były stosowane od wieków. Pierwsze opisane przykłady takich technik datowane są na ok. V wiek p. n. e. Grecki historyk, Herodot z Halikarnasu, w księgach The Histories [42] opisał zastosowanie steganografii przez Histiaeusa, który ogolił głowę swojemu zaufanemu niewolnikowi, a następnie wytatuował na niej wiadomość (jej treść zapoczątkowała spisek przeciw Persom); po odrośnięciu włosów niewolnik wyruszał w drogę w celu przekazania ukrytej wiadomości jej odbiorcy (notabene ta metoda była wykorzystywana przez niemieckich szpiegów na początku XX wieku). Inną opisaną przez Herodota metodą steganograficzną było wykorzystanie przez Demaratusa tabliczek woskowych: po zdjęciu wierzchniej warstwy wosku z drewnianej tabliczki, zapisał on tajną wiadomość na drewnie, a następnie ponowne zalał ją woskiem. W ten sposób wiadomość ta stawała się niewidoczna, a sama tabliczka nie wzbudzała podejrzeń, gdyż wyglądała na nieużywaną. Inne przykłady metod steganograficznych wykorzystywanych na przestrzeni wieków, to m.in. zapisywanie steganogramu na papierze z wykorzystaniem atramentu sympatycznego [64], przenoszenie wiadomości w brzuchach upolowanej zwierzyny, umieszczanie ukrytych informacji w zapisie nutowym, czy ukrywanie tajnej wiadomości w nie budzącym podejrzeń tekście, a następnie jej odczyt poprzez przyłożenie odpowiedniego szablonu do zapisanego tekstu. Do przeprowadzenia steganograficznej wymiany danych niezbędne jest wykorzystanie nośnika, w którym ukrywa się tajne informacje. We wspomnianych przykładach historycznych, nośnikami tajnych informacji były: skóra głowy, tabliczki woskowe i zapisane kartki papieru. Aby nośnik nadawał się do prowadzenia ukrytej komunikacji, muszą zostać spełnione dwa warunki. Po pierwsze, wprowadzenie ukrytej wiadomości nie może powodować łatwo wykrywalnych zmian samego nośnika, a po drugie, nośnik powinien być powszechnie wykorzystywany. - 1 -

Metody steganograficzne ewoluują wraz z rozwojem nowych form komunikacji międzyludzkiej, a co za tym idzie, ewoluuje też rodzaj nośnika tajnych danych. Współczesne rozwiązania i prace badawcze w dziedzinie steganografii koncentrują się głównie na ukrywaniu informacji w treściach multimedialnych (cyfrowych obrazach, plikach dźwiękowych, filmach wideo, przesyłanym tekście) [7] oraz w sieciowych protokołach komunikacyjnych [131]. W pierwszym przypadku, podobnie jak w metodach historycznych, istotą rozwiązań steganograficznych jest wpisanie ukrytych danych w nośnik w taki sposób, aby były one niewykrywalne przez zmysły człowieka (wzrok, słuch). W przypadku steganografii wykorzystującej, jako nośnik, protokoły sieciowe modyfikacji podlegają określone właściwości protokołów, takie jak zawartość pól opcjonalnych, sekwencje wysyłanych wiadomości, itp. Na intensywnym rozwoju steganografii zaważyły przede wszystkim dwa czynniki. Po pierwsze, zainteresowanie biznesu metodami zapewniania praw autorskich DRM (Digital Rights Management), a po drugie, rzekome wykorzystanie metod steganograficznych przez terrorystów podczas planowania ataków na USA z 11 września 2001 roku [111]. Przedmiotem niniejszej rozprawy jest steganografia sieciowa, posiadająca obecnie liczne zastosowania, w szczególności: Administratorzy sieci wykorzystując techniki steganograficzne mogą ukrywać ruch zarządzający siecią przed intruzami. Przykład takiego rozwiązania zaproponowano wał Forte w pracy [27]. Wirusy i robaki mogą przenosić się lub wymieniać informacje wykorzystując metody steganograficzne, na przykład koordynować w ten sposób atak rozproszonej odmowy usługi DDoS (Distributed Denial of Service) [106]. Steganografię sieciową można zastosować w celu uniemożliwienia wprowadzenia usługi anonimowości; przykłady tego typu rozwiązań znajdują się w pracach Moskowitz i in. [96] i Xu i in. [126]. Techniki steganograficzne mogą być używane przez uprzywilejowanych pracowników firm do prowadzenia ukrytej komunikacji z innymi jej oddziałami, czy partnerami handlowymi, w celu ograniczenia możliwości działania tzw. szpiegów przemysłowych. Ukryte przesyłanie danych może być również wykorzystywane przez dziennikarzy do komunikacji z informatorami, bądź przez policję, do porozumiewania się ze współpracującym przestępcą, który obawia się monitorowania wszelkich innych form prowadzonej komunikacji. - 2 -

W krajach, w których rządy ograniczają możliwość korzystania z sieci Internet, użycie metod steganograficznych pozwala, mimo cenzury, na dostęp do zabronionych zasobów. Przykład takiego rozwiązania przedstawił Feamster i in. w pracy [24]. Ponadto, tam, gdzie zabronione jest używanie mocnych algorytmów kryptograficznych alternatywą bezpiecznego transportu może być wykorzystanie technik steganograficznych. 1.2 Cele i teza rozprawy Niniejsza rozprawa ma dwa podstawowe cele: Dokonanie systematyzującego przeglądu metod steganografii sieciowej, ze szczególnym uwzględnieniem steganografii w sieci Internet i telefonii wykorzystującej protokół IP. Przedstawienie i zbadanie własności nowej metody steganograficznej (LACK). Realizacja powyższych celów pozwala sformułować i obronić następującą tezę rozprawy: Teza: LACK jest skuteczną metodą steganograficzną w zastosowaniu do telefonii IP Autor niniejszej rozprawy zaproponował kilka nowych sposobów zastosowania technik ukrywania informacji dla poprawy funkcjonalności i bezpieczeństwa telefonii IP, opartych na technikach cyfrowego znakowania wodnego głosu. Zostały one zaprezentowane na konferencjach poświęconych bezpieczeństwu sieciowemu: SafeComp [83], Advanced Computer Systems [81], IBIZA [82] oraz Enigma [80]. Zaproponowane rozwiązania są cytowane [44], [119], a także analizowane w kilku ośrodkach badawczych: Otto-von- Guericke-Universität w Magdeburgu (Niemcy) [109], RWTH Lehrstuhl für Informatyk w Aachen (Niemcy) [114], Fraunhofer-Institut für Sichere Informations-Technologie Fachgebiet Sicherheit in der Informationstechnik Fachbereich Informatyk w Darmstadt (Niemcy) [43], czy Univerza v Ljubliajni (Słowenia) [129]. Opisana i przeanalizowana w niniejszej pracy metoda steganografii LACK (Lost Audio PaCKets Steganography) została zaproponowana przez autora rozprawy w pracy [91]. LACK jest rozwiązaniem przeznaczonym dla szerokiej klasy usług multimedialnych czasu rzeczywistego, w szczególności można go zastosować w telefonii IP. Istota działania LACK polega na celowym opóźnianiu pakietów w nadajniku i użyciu pola danych tych pakietów do przenoszenia steganogramu. - 3 -

Metoda LACK została zgłoszona przez Politechnikę Warszawską do Urzędu Patentowego RP, jako wynalazek pod tytułem Sposób steganograficznego ukrywania i przesyłania danych w sieci telekomunikacyjnej (zgłoszenie wynalazku nr 384940 z 15 kwietnia 2008 [88]). Po zgłoszeniu wniosku patentowego metoda LACK została przedstawiona na kilku konferencjach międzynarodowych poświęconych bezpieczeństwu sieciowemu oraz sieciom telekomunikacyjnym, m.in. 3rd International Symposium on Information Security IS'08 [91], 17th International Conference on Computing CIC 2008 [85], 5th Polish-German Teletraffic Symposium PGTS '08 [86] oraz 26th Army Science Conference ASC 2008 [84]. Zasada działania LACK została opisana również w czasopiśmie ewscientist [77]. 1.3 Układ pracy Praca składa się z pięciu rozdziałów. W rozdziale 2 zaprezentowano zagadnienia związane ze steganografią w ujęciu sieciowym, w szczególności dokonano klasyfikacji i scharakteryzowano metody steganografii sieciowej w telefonii IP. W rozdziale 3 zawarto ogólny opis działania oraz własności metody steganograficznej LACK. W rozdziale 4 przedstawiono sposoby doboru intensywności wpisywania steganogramu. W ostatnim rozdziale podsumowano pracę. - 4 -

2. Steganografia sieciowa 2.1 Klasyfikacja metod ukrywania informacji Pomimo tego, że metody ukrywania informacji znane są od wieków, to zainteresowanie środowiska naukowego steganografia zyskała dopiero pod koniec XX wieku. Pierwsza konferencja naukowa poświęcona tej tematyce (Information Hiding: First International Workshop) odbyła się w 1996 roku w Wielkiej Brytanii [3]. Zaproponowano tam podział dziedziny ukrywania informacji (information hiding), który przedstawiono na Rys. 2-1. Rys. 2-1 Podział dziedziny ukrywania informacji (na podstawie [100]) Zgodnie z podziałem z Rys. 2-1 wyróżniono: Ukryte kanały (Covert channels): są to kanały komunikacyjne, których istnienie nie jest znane osobom trzecim, a które używane są do prowadzenia tajnej komunikacji. Termin ten został po raz pierwszy wprowadzony przez Lampsona w 1973 roku [73]. Ukryte kanały są tworzone w ramach standardowej komunikacji w sieciach telekomunikacyjnych (tzw. overt channel), poprzez modyfikację pewnych cech charakterystycznych protokołu sieciowego. Wyróżnia się dwa rodzaje ukrytych kanałów: storage oraz timing ([99]). W transmisji z wykorzystaniem kanałów typu storage, do przesłania steganogramu wykorzystuje się wspólne dla wielu urządzeń sieciowych lokalizacje, na przykład nieużywane pola nagłówków sieciowych w pakietach. Natomiast komunikacja w ukrytych kanałach typu timing jest realizowana poprzez modyfikację zachowań systemu transmisyjnego, na przykład poprzez celową zmianę zależności czasowych pomiędzy przesyłanymi wiadomościami. Steganografia (Steganography): ukrywanie informacji w treściach multimedialnych, na przykład w plikach dźwiękowych, mowie, czy wideo. Anonimowość (Anonymity): ukrywanie tożsamości komunikujących się stron (zapewnianie prywatności). - 5 -

Ochrona praw autorskich (Copyright marking): wykorzystanie takich technik ukrywania informacji, jak tworzenie skrótów danych (fingerprinting) oraz znakowanie wodne (watermarking), pozwalające na unikalne oznakowanie treści multimedialnych i ich zabezpieczenie przed nieuprawnionym powielaniem. W opinii autora niniejszej rozprawy powyższy podział jest niejasny, trudno bowiem wskazać kryterium, według którego został on utworzony dwie wyróżnione grupy ukrywania informacji określają rodzaj ukrywania (ukryte kanały, steganografia), jedna zastosowanie (ochrona praw autorskich), a druga cechę i zastosowanie (anonimowość). Ponadto, pojęcia ukrytych kanałów i steganografii, w powyższym rozumieniu, są w literaturze często używane zamiennie. To, co odróżnia te dwa sposoby ukrywania informacji, to rodzaj wykorzystanego nośnika: w przypadku ukrytych kanałów nośnikiem są protokoły sieciowe, natomiast w przypadku steganografii treści multimedialne. Racjonalnym i uzasadnionym wydaje się ogólny podział dziedziny ukrywania informacji na steganografię i kryptografię. Dziedzinę steganografii, niezależnie od użytego nośnika ukrytych danych, można z kolei podzielić na sieciową i niesieciową. Niniejsza rozprawa poświęcona jest rozwiązaniom steganografii sieciowej, czyli metodom steganograficznym wykorzystującym, jako nośnik ukrytych informacji, jednostki danych i/lub sposób ich wymiany w sieciach telekomunikacyjnych. Rys. 2-2 Proponowany podział dziedziny ukrywania informacji - 6 -

Metody steganografii sieciowej możemy podzielić, ze względu na sposób ukrywania informacji, na (Rys. 2.2): ukrywanie informacji w wiadomościach użytkowych, ukrywanie informacji poprzez modyfikację protokołu komunikacyjnego, rozwiązania hybrydowe, wykorzystujące cechy obu powyższych grup metod. 2.2 Ogólny schemat steganografii sieciowej Na Rys. 2-3 zilustrowano ogólny schemat funkcjonowania steganografii sieciowej opracowany na podstawie prac [102], [112], [131]. Rys. 2-3 Ogólny schemat funkcjonowania steganografii sieciowej W nadajniku, wiadomość do tajnego przesłania M UKR, jest umieszczana w nośniku M OŚ, za pomocą przekształcenia steganograficznego F STEG. K STEG jest współdzieloną wiedzą nadajnika i odbiornika o metodzie steganograficznej. Rezultatem przekształcenia steganograficznego F STEG, wykonanym na nośniku M OŚ, jest steganogram M STEG, który jest przesyłany do odbiornika poprzez kanał komunikacyjny. Wynikiem transmisji przez kanał jest zmodyfikowany steganogram M STEG. W odbiorniku, wykorzystując steganograficzne przekształcenie odwrotne F -1 STEG, wykonywana jest ekstrakcja ukrytej wiadomości M UKR z M STEG. Ukryta komunikacja, z wykorzystaniem technik steganografii sieciowej, może być prowadzona jako transmisja punkt-punkt (unicast) lub transmisja jeden do wielu (multicast). W kanale komunikacyjnym mogą być wykonywane próby detekcji i przeciwdziałania ukrytej komunikacji, czyli steganaliza. Prowadzi się ją zazwyczaj z wykorzystaniem tzw. strażników (wardens) [26], [4] dedykowanych węzłów sieciowych wyposażonych - 7 -

w funkcjonalność monitorowania ruchu sieciowego. Craver w pracy [18] wyróżnił następujące rodzaje zachowań strażnika : Zachowanie pasywne (passive), polegające na wykonywaniu inspekcji przekazywanych wiadomości, bez ich modyfikowania. Zachowanie aktywne (active), polegające na modyfikacji przekazywanych wiadomości w sposób nie prowadzący do przerwania, zakłócenia lub ograniczenia komunikacji użytkowników nie stosujących metod steganograficznych. Zachowanie złośliwe (malicious), podobne do zachowania aktywnego, z tą różnicą, że może mieć miejsce zakłócanie komunikacji użytkowników. W szczególności może to spowodować przerwanie, zakłócenie lub ograniczenie komunikacji tych użytkowników, którzy nie wykorzystują technik steganograficznych. W kontekście powyższego ogólnego schematu funkcjonowania steganografii sieciowej wprowadza się jej trzy podstawowe cechy jakościowe. Ich związek obrazuje powszechnie używany w literaturze tzw. magiczny trójkąt (magic triangle, [62], [28], [119]) przedstawiony na Rys 2-4 (autorowi rozprawy nie udało się znaleźć w nim niczego magicznego). W wierzchołkach trójkąta umieszcza się: Przepływność steganograficzną (capacity, data rate), definiowaną jako ilość danych steganograficznych przenoszonych w jednostce czasu, z wykorzystaniem zastosowanej metody steganograficznej. iewykrywalność steganogramu (undetectability), określającą możliwość detekcji obecności steganogramu, poprzez analizę statystycznych własności przesyłanych danych i ich porównanie z typowymi własnościami dla określonego rodzaju nośnika steganogramu. Odporność steganogramu na modyfikacje (robustness) w wyniku typowych operacji przeprowadzanych na nośniku w trakcie transmisji, przykładowo w wyniku kompresji danych, konwersji D/A (Digital to Analog) i A/D (Analog to Digital) lub przekodowania. Powyższe cechy jakościowe są współzależne. Przykładowo, im większy założony akceptowalny poziom niewykrywalności, tym trudniejsze osiągnięcie wysokiej przepływności steganograficznej, przy jednoczesnym zapewnieniu wysokiej odporności na modyfikację. - 8 -

A zatem, dla każdej techniki steganograficznej niezbędne jest określenie kompromisu pomiędzy wymienionymi cechami. W szczególności, cecha określająca odporność steganogramu na modyfikacje ma znaczenie jedynie w przypadku cyfrowego znakowania wodnego (digital watermarking), natomiast z punktu widzenia innych metod steganografii sieciowej jest nieistotna. Wynika to z celu zastosowania cyfrowego znakowania wodnego do ochrony praw autorskich. Wpisany w nośnik znak wodny ma być możliwy do odczytania nawet wtedy, gdy nośnik uległ typowym modyfikacjom podczas transmisji. W przypadku pozostałych metod steganograficznych: Działanie metody steganograficznej zakłada brak możliwości zmian nośnika na przykład dla metod opartych na modyfikacji nieużywanych/opcjonalnych pól nagłówka pakietu. Modyfikacja nośnika powoduje całkowite usunięcie ukrytych danych na przykład dla metod steganograficznych opartych na zmianie kolejności przesyłanych pakietów. Kompromis zatem, w takim przypadku, dotyczy cech niewykrywalności i przepływności steganograficznej. W zależności od zastosowania metody steganograficznej, przepływność steganograficzna nie musi być uznawana za kluczową cechę jakościową. W szczególności jest tak, gdy stronom komunikującym się zależy jedynie na przesłaniu pojedynczej ukrytej informacji binarnej zera lub jedynki [95]. Rys. 2-4 Relacja między miarami jakości systemu steganograficznego Do wymienionych powyżej cech jakościowych Szczypiorski w pracy [118] zaproponował dodanie kosztu zastosowania metody steganograficznej. W niniejszej rozprawie jest on - 9 -

jednak inaczej definiowany niż w cytowanej pracy, a mianowicie, jako utrata części funkcjonalności nośnika w wyniku przenoszenia steganogramu. W zależności od nośnika, może on być wyrażony przez spadek jakości prowadzonej rozmowy, zwiększoną stopę błędów w kanale transmisyjnym, bądź utratę części funkcjonalności komunikacyjnej. Powyżej przedstawione cechy będą analizowane w Rozdz. 2.4 w odniesieniu do metod steganograficznych w telefonii IP. 2.3 Przegląd metod steganografii sieciowej oraz metod ich detekcji Steganografia sieciowa może być realizowana w każdej z warstw modelu odniesienia OSI RM (Open Systems Interconnection Reference Model) ([38]). Dotychczas zaproponowane metody dotyczą głównie warstwy sieciowej i transportowej, w szczególności protokołów IP, TCP i UDP. Poniżej zaprezentowano przegląd metod steganograficznych oraz metody ich detekcji, ze szczególnym uwzględnieniem tych, które są istotne z punktu widzenia niniejszej rozprawy. Warstwa fizyczna i warstwa łącza danych W niższych warstwach OSI RM ukrywanie informacji jest trudniejsze do przeprowadzenia, niż w warstwach wyższych, ale jednocześnie trudniejsze do detekcji. Główną cechą metod steganograficznych w tych warstwach, jest ich ograniczony zasięg działania do jednego łącza w ścieżce komunikacyjnej lub do sieci LAN, gdyż przy transmisji poza pojedyncze łącze punkt-punkt lub sieć lokalną następuje zmiana informacji sterujących, znajdujących się w ramkach. Do detekcji konieczny jest niskopoziomowy dostęp do elementów urządzeń sieciowych (na przykład do karty sieciowej). Przykładem metody steganograficznej realizowanej w warstwie fizycznej jest wykorzystanie nietypowych wartości kodu transmisyjnego AMI, opisanej przez Chmielewskiego [14]. W [68], Kho dla standardu 802.15.4, zaproponował do przenoszenia steganogramu użycie informacji nadmiarowych kodów korekcyjnych. Steganografię w warstwie łącza danych realizuje zaproponowana przez Szczypiorskiego metoda HICCUPS [117], wykorzystująca do przesyłania steganogramu ramki z celowo tworzonymi nieprawidłowymi sumami kontrolnymi. Padlipsky i in. [100] zaproponowali celowe modulowanie długości ramki w celu przenoszenia ukrytych informacji. Natomiast steganograficzne wykorzystanie mechanizmu dopełniania danych (padding) w ramkach Ethernet opisał Wolf w pracy [125]. - 10 -

Warstwa sieciowa Dla protokołu IPv4 Rowland [104] zaproponował metodę steganograficzną opartą na wykorzystaniu pola identyfikacji (IP Identification) nagłówka tego protokołu. Dla IPv4 istnieje również możliwość steganograficznego wykorzystania pola sumy kontrolnej, jak zaproponował Abad [1]. Handel i in. w pracy [38] zaproponowali wykorzystanie, jako nośnika tajnych informacji, nieużywanych bitów pola ToS (Type of Service) nagłówka IPv4. Qu i in. [103] zaproponowali również wykorzystanie pola TTL (Time To Live). Metoda ta została zweryfikowana eksperymentalnie, a następnie ulepszona przez Zander i in. [130]. Kundur i Ahsan [71] zaproponowali wykorzystanie bitu flagi DF (Don t Fragment) nagłówka IP. Praca Murdoch i in. [97] podsumowuje możliwości wykorzystania poszczególnych pól nagłówków protokołów IPv4 oraz TCP. Lucena i in. zidentyfikowali kanały steganograficzne w protokole IPv6 [74], oparte na wykorzystaniu rozszerzeń nagłówków, m.in. Hop-by-Hop, Routing, Fragment oraz pól służących mechanizmom bezpieczeństwa: Authentication oraz Encapsulating Security Payload. Ahsan i Kundur [2] zaproponowali dwie metody steganografii sieciowej oparte na modyfikacji nagłówków i zmianie kolejności wysyłania pakietów przez mechanizm IPSec zabezpieczający pakiety IP. Warstwa transportowa Dla protokołu TCP, we wspomnianej powyżej pracy [104], Rowland opisuje dwie techniki steganograficzne. Pierwsza z nich została oparta na modyfikacji pola zawierającego wartość inicjującą numer kolejny ISN (Initial Sequence umber), natomiast druga oparta jest na polach związanych z potwierdzeniami. Giffin i in. [32] zaproponowali metodę wykorzystującą losowy charakter najmłodszych bitów znaczników czasowych (Timestamps) protokołu TCP. Handel i Sandford [38] opisali możliwość steganograficznego wykorzystania flag nagłówka protokołu TCP. Dla protokołu UDP, Fisk i in. [26] zaproponowali wykorzystanie opcjonalnego pola sumy kontrolnej datagramu UDP jako nośnika steganogramu, poprzez celowe wyzerowanie tego pola, co umożliwia transmisję pojedynczego bitu. W tej samej pracy wskazano również na możliwość wykorzystania, do celów steganograficznych, segmentów TCP z ustawioną flagą RST oraz pól dopełnienia (padding) protokołów TCP oraz IP. Metody steganograficzne wykorzystujące celowe modyfikacje sekwencji pakietów, zostały zaproponowane dla protokołów TCP i IPSec; opisano je w pracach Ashana i Kundura [2] oraz Chakinala i in. [12]. Metody ukrywania informacji oparte na modyfikacji odstępów pomiędzy przesyłanymi pakietami opisano w pracach Berk i in. [8] oraz Girling i in. [35]. - 11 -

Metoda steganograficzna wykorzystująca celową utratę pakietów w nadajniku została zaproponowana przez Servetto i in. [110]. Realizacja tego rozwiązania odbywa się poprzez pominięcie jednego numeru sekwencyjnego wysyłanych pakietów (phantom packets). Warstwa aplikacji Pomysł wykorzystania pól protokołu HTTP do celów steganograficznych zawierają prace: Kwecki [72], Dylatov i in. [22] oraz Van Horenbeeck [121]. Lucena i in. [75] przedstawili metodę steganografii sieciowej w warstwie aplikacji na bazie protokołu SSH (Secure Shell), wykorzystującą nagłówek MAC (Message Auhtentication Code). Zou i in. [134] zaprezentowali dwa sposoby wykorzystania protokołu FTP (File Transfer Protocol) do transmisji steganograficznej pierwszy ukrywa steganogram bezpośrednio w komendach protokołu FTP, natomiast drugi jest oparty na modyfikacji numerów komend FTP NOOP ( o Operation). Dla protokołu DNS (Domain ame System) Kaminsky [65] oraz Gil [33] zaimplementowali metodę steganograficzną, polegającą na tunelowaniu pakietów IP w wiadomościach DNS w komunikacji między klientem, a podstawionym serwerem DNS. Przykładem metody steganograficznej opartej na modyfikacji scenariusza wymiany wiadomości protokołu jest rozwiązanie zaproponowane przez Esser i in. [23], wykorzystujące serwer WWW; serwer przesyła stan logiczny 1, gdy odpowiedź na żądanie klienta prześle z ustalonym opóźnieniem, lub stan logiczny 0, gdy zostanie to wykonane niezwłocznie. Innym przykładem tego typu metody steganograficznej jest rozwiązanie oparte na różnicowaniu czasu przesyłania wiadomości CTS (Clear To Send) / RTS (Request To Send). Pierwotnie zostało ono zaproponowane przez Handela i in. [38], dla transmisji poprzez port szeregowy, ale może być również zastosowane w przypadku, gdy zachodzi wymiana wiadomości CTS / RTS, na przykład w sieciach WLAN (Wireless Local Area etwork). Kolejnym przykładem grupy metod steganografii sieciowej w warstwie aplikacji, są rozwiązania wykorzystujące techniki znakowania wodnego audio (audio watermarking). Steganogram jest, w tym przypadku, przenoszony w postaci niewykrywalnych dla zmysłów ludzkich znaków wodnych, wbudowanych w przesyłany głos, obrazki czy video. Najprostszą metodą, zarówno do zaimplementowania jak i do detekcji, jest metoda LSB (Least Significant Bit) opisana m.in. przez Yeh i in. [128] oraz przez Cedric i in. [11]. Zasada działania LSB oparta jest na modyfikacji najmniej znaczących bitów próbek głosowych, bądź pikseli. Inne znane metody znakowania wodnego to QIM (Quantization Index Modulation), - 12 -

zaproponowana przez Chena i Wornella [13], echo hiding, wprowadzona przez Bender i in. [7] oraz DSSS (Direct Sequence Spread Spectrum) i FHSS (Frequency Hopping Spread Spectrum), opisane przez Coxa i in. [17]. Metody steganalizy Sposoby wykrywania ukrytej transmisji prowadzonej z wykorzystaniem metod steganograficznych określa się mianem steganalizy. W przypadku metod steganografii sieciowej liczy się nie tylko fakt wykrycia ukrytej transmisji (z ewentualnym odczytaniem steganogramu), ale również możliwość jej wyeliminowania lub znaczącego ograniczenia przepływności steganograficznej. W ogólnym schemacie funkcjonowania steganografii sieciowej przedstawionym na Rys. 2-3, elementem przeprowadzającym inspekcję przesyłanego ruchu i próbującym wykryć ukrytą transmisję jest tzw. strażnik (warden). Strażnik może być również odpowiedzialny za próbę wyeliminowania lub ograniczenia ukrytej komunikacji. Większość rozwiązań steganalizy skupia się na wykryciu faktu obecności ukrytej komunikacji, a następnie na próbie ograniczenia jej możliwości transmisyjnych, gdyż jak twierdzą autorzy prac [131], [61] i [94], całkowite wyeliminowanie możliwości ukrywania informacji z wykorzystaniem metod steganografii sieciowej jest praktycznie niemożliwe. Obecnie, znaczną część metod steganalizy charakteryzuje duża złożoność obliczeniowa i czasochłonność, co utrudnia ich praktyczne wykorzystanie przy analizie ruchu sieciowego. Metody detekcji steganografii sieciowej, ze względu na sposób działania, można podzielić na [21]: Steganalizę statystyczną przykładami tego rodzaju rozwiązań są metody wykorzystujące regresję liniową, SVM (Support Vector Machines) i teorię informacji. Steganalizę opartą na CI (Computational Intelligence) przykładami tego rodzaju rozwiązań są metody wykorzystujące sieci neuronowe, logikę rozmytą i algorytmy genetyczne. Rozwiązania hybrydowe, łączące w sobie funkcjonalność metod obu powyższych grup. Metody steganalizy statystycznej mogą być oparte, przykładowo, na prostych regułach utworzonych na podstawie prawdopodobieństwa zajścia pewnych zdarzeń, np. wypełnienia danymi rzadko lub w ogóle nieużywanych pól nagłówków pakietów, czy częstotliwości - 13 -

wystąpienia predefiniowanych zdarzeń. Przykład prostej metody steganalizy statystycznej dla protokołu IPv4 zaproponowali Murdoch i in. w pracy [97]. Wskazując prawdopodobny zakres wartości, który może wystąpić w polu IP Identification, autorzy zademonstrowali sposób wykrywania steganogramu, oparty na naiwnym wpisywaniu w to pole ukrytych informacji. W Hintz [45] zaproponował podobną metodę wykrywania steganogramu, poprzez modyfikację pola Timestamp protokołu TCP. Detekcja metod wykorzystujących protokół HTTP, w podobny sposób do wspomnianych powyżej, została opisana w pracach Kwecka [72] i Schear i in. [105]. Sohn i in. [116] opracowali sposób na detekcję metod opartych na modyfikacjach pól IP Identification (IPv4) oraz ISN (TCP) z wykorzystaniem SVM, osiągając przy tym wykrywalność ok. 99%. Venkatraman i in. [122] zaproponowali wykrywanie metod wykorzystujących celowe zmiany szybkości nadawania pakietów, poprzez monitorowanie tych zmian w czasie. Przekroczenie określonego progu zmian szybkości nadawania pakietów wskazuje na potencjalne zastosowanie steganografii. Berk i in. [8] zademonstrowali, w jaki sposób można wykrywać metody oparte na modyfikowaniu odstępów pomiędzy pakietami. Przykład rozwiązania steganalizy opartej na CI zawiera praca Tumoian i in. [120]. Autorzy użyli sieci neuronowych do wykrycia metody steganograficznej opartej na polu ISN protokołu TCP, osiągając wykrywalność bliską 99%. Praca Fu i in. [30] opisuje zastosowanie sieci neuronowych wykorzystujących analizę falkową opartą na PCA (Principal Component Analysis), do wykrywania znakowania wodnego LSB oraz QIM. Uzyskane w wyniku symulacji rezultaty wykazały wykrywalność na poziomie 92%. Zeng i in. [132] zaproponowali wykorzystanie klasyfikatora Bayesa, do detekcji metody cyfrowego znakowania wodnego w audio echo hiding osiągając wykrywalność ok. 80%. Steganaliza metody DSSS wykorzystująca algorytm genetyczny została zaproponowana przez Sedghi i in. w pracy [108]. Przykładem hybrydowej steganalizy jest metoda łącząca w sobie zastosowanie SVM oraz algorytmu genetycznego, którą przedstawili Knapik i in. w pracy [70]. Wykrycie metody steganograficznej jest pierwszym krokiem do ograniczenia lub wyeliminowania prowadzenia ukrytej komunikacji. Jak wspomniano powyżej, elementem w którym implementowane są funkcje steganalizy jest strażnik (por. Rozdz. 2.2). Rolę strażnika, którego cechuje zachowanie aktywne wykorzystywane do ograniczania i eliminowania metod steganografii sieciowej, pełni węzeł, który przez Luo i in. w pracy [76] - 14 -

został określony ogólnym terminem ANI (Active etwork Intermediary). Zasada działania ANI polega na wprowadzaniu nieznacznych modyfikacji zawartości lub relacji czasowych pakietów podejrzanych o zawieranie ukrytych informacji. Dla przykładu, jeśli w nagłówku pakietu wypełnione zostaną pola, które statystycznie dla większości prowadzonych transmisji nie są wykorzystywane, wtedy na podstawie zdefiniowanej wcześniej reguły, ANI zmodyfikuje zawartość tego pola, na przykład ustawiając same zera. Można wyróżnić następujące rodzaje ANI: ANI modyfikujące zawartość podejrzanych pakietów. Przykładami realizacji tego rodzaju ANI są protocol scrubbers zaproponowane przez Watsona [124], zmieniające nieznacznie zawartość nagłówków pakietów. Innym rozwiązaniem są normalizatory ruchu (traffic normalizers), opracowane przez Handley i in. [40], modyfikujące wartości początkowe niektórych pól nagłówków i numery sekwencyjne, a także aktywni strażnicy (active wardens) Fisk i in. [26], łączący w sobie funkcjonalność obu powyższych rozwiązań. ANI modyfikujące relacje czasowe pomiędzy podejrzanymi o przenoszenie ukrytych informacji pakietami. Przykładami realizacji tego rodzaju ANI są timing jammers [34], fuzzy time [48] lub network pump [66] i [67], które celowo zmieniają kolejność przesyłanych pakietów, wprowadzają dodatkowe opóźnienia, straty pakietów, bądź efekt jitter. Ponadto, w niektórych rozwiązaniach, wykorzystuje się również celowe wstrzykiwanie tzw. dummy packets, czyli pakietów nieistotnych z punktu widzenia prowadzonej transmisji, ale przesyłanych w celu utrudnienia prowadzenia ukrytej komunikacji. Dla niektórych zastosowań sieciowych, na przykład dla usług multimedialnych czasu rzeczywistego, celowe, nadmierne zmienianie kolejności pakietów, ich opóźnianie, bądź wprowadzanie innych modyfikacji relacji czasowych, może doprowadzić do znacznego pogorszenia jakości prowadzonej transmisji lub, w skrajnym przypadku, doprowadzić do jej przerwania. Ponadto, dobór zbyt restrykcyjnych reguł detekujących podejrzany ruch, może doprowadzić do wpływania na ruch użytkowników nie wykorzystujących metod steganografii sieciowej. Metody steganograficzne, dla których opracowano skuteczne sposoby steganalizy, w większości przypadków można zmodyfikować tak, aby utrudnić steganalizę. Przykładowo, można obniżyć przepływność steganograficzną, wprowadzić szyfrowanie steganogramu, co powoduje ulosowienie wyglądu ukrytych danych, czy mapować bity ukrywanych danych - 15 -

na sekwencje bitów typowo występujących w określonych polach pakietów. Zastosowanie takich zabiegów wymusza odpowiednią modyfikację metod steganalizy. 2.4 Klasyfikacja steganografii w telefonii IP Informacje opisujące podstawowe zagadnienia związane z telefonią IP, które są istotne z punktu widzenia dalszej części rozprawy przedstawiono w Dodatku 1. W niniejszej rozprawie zaprezentowane zostaną rozwiązania steganograficzne dla telefonii IP, opartej na protokole sygnalizacyjnym SIP (Session Initiation Protocol) [41], ze względu na jego największą popularność. Wiadomości sygnalizacyjne SIP są przesyłane z wykorzystaniem protokołu TCP. Do transportu pakietów przenoszących głos rozmówców wykorzystywana jest para protokołów UDP i RTP (Real-Time Transport Protocol) [107]. Metody steganograficzne w telefonii IP były dotychczas stosunkowo rzadko przedmiotem zainteresowania, a proponowane rozwiązania to najczęściej algorytmy polegające na przesyłaniu tajnych informacji w postaci znaku wodnego wpisanego w głos rozmówców. Jednak próbki głosowe to nie jedyne miejsca, w których mogą być przesyłane bity steganogramu. Inne możliwości ukrywania informacji opisano w Rozdz. 2.3. Techniki steganograficzne, które można zastosować w telefonii IP, zostały nazwane zbiorczo terminem steganofonii (po raz pierwszy termin został użyty przez autora rozprawy w pracy [84]). Autor niniejszej rozprawy proponuje następującą klasyfikację metod steganograficznych w telefonii IP (Rys. 2-5): (MPP) Metody polegające na modyfikacji przesyłanych pakietów (jednostek danych). W ramach tej grupy metod możemy wyróżnić trzy podgrupy metod stosujących modyfikację: Pól nagłówków pakietów. Metody tej podgrupy są obecnie najpopularniejszą formą ukrywania informacji. W telefonii IP mogą być one wykorzystywane dla protokołów różnych warstw stosu TCP/IP: SIP z SDP (Session Description Protocol) [39], RTP z RTCP (Real-Time Control Protocol) [107] oraz protokołów IP, UDP bądź TCP. Pól danych pakietów. W tej podgrupie rozwiązania opierają się na modyfikacji próbek głosu. Modyfikacja ta może być realizowana z wykorzystaniem technik znakowania cyfrowego audio, bądź wykorzystywać - 16 -

ramki SID (Silence Insertion Descriptor) kodeka użytego do połączenia głosowego. Pól nagłówków i pól danych pakietów. Przykładem tego rodzaju metody jest HICCUPS [117], która opiera się na celowym generowaniu ramek z nieprawidłowymi sumami kontrolnymi (modyfikacja pola ramki zawierającej sumę kontrolną) i wykorzystaniu pola danych ramki jako nośnika steganogramu. (MSP) Metody polegające na modyfikacji struktury strumienia pakietów (jednostek danych). Przykładami są metody celowo zmieniające odstępy pomiędzy pakietami, modyfikujące ich kolejność, bądź wprowadzające celowe straty pakietów. W telefonii IP do zastosowania takich rozwiązań najlepiej nadaje się protokół RTP, ponieważ charakteryzuje się dużą liczbą pakietów w jednostce czasu oraz tym, że każdy pakiet posiada swój numer sekwencyjny. (HBD) Metody hybrydowe, polegające na modyfikacji pakietów i struktury strumienia pakietów. Przykładem takiego rozwiązania jest analizowana w niniejszej rozprawie metoda steganograficzna LACK. Rys. 2-5 Klasyfikacja metod steganograficznych w telefonii IP - 17 -

W dalszych podrozdziałach scharakteryzowano dokładniej metody steganograficzne dla telefonii IP z uwzględnieniem powyższego podziału, wykorzystując wyniki wcześniejszych prac autora niniejszej rozprawy [84], [89] oraz [91]. 2.4.1 Metody steganograficzne oparte na modyfikacji przesyłanych pakietów (MPP) Podział metod steganograficznych z grupy MPP, wraz z protokołami, dla których mogą być wykorzystane w telefonii IP oraz z wyróżnieniem fazy połączenia, został przedstawiony na Rys. 2-6. Rys. 2-6 Klasyfikacja i rodzaje metod steganograficznych w telefonii IP opartych na modyfikacji przesyłanych pakietów Modyfikacja pól nagłówków pakietów Protokoły SIP i SDP Liczba wiadomości sygnalizacyjnych protokołu SIP, wymienianych w trakcie nawiązywania i trwania połączenia, nie jest duża, niemniej wiadomości te mogą być wykorzystane jako nośnik ukrytych informacji, jeśli wymagana jest mała przepływność steganograficzna. Elementami, które mogą zostać wykorzystane do celów steganograficznych w nagłówkach wiadomości sygnalizacyjnych SIP są tokeny oraz pola. Na Rys D-3 w Dodatku 1, w wierszach 2 i 4 znajdują się tokeny branch (identyfikator dialogu SIP) oraz tag (identyfikator transakcji). Ich wartości są generowane losowo, w aplikacji końcowej użytkownika podczas inicjacji połączenia. Także losowo ustalane są wartości pola Call-ID - 18 -

(linia 6), którego wartość identyfikuje nawiązane połączenie oraz pierwsza część pola CSeq (linia 7) zawierająca numer sekwencyjny wiadomości. Wartości wymienionych tokenów i pól mogą zostać wykorzystane do celów steganograficznych ich wartości w pierwszej przesyłanej wiadomości sygnalizacyjnej mogą przenosić ukryte informacje. Standard protokołu SIP wymaga jednak, żeby wartości tych elementów spełniały określone wymagania oraz podlegały ograniczeniom, w szczególności: Wartość tokenu tag musi być wybierana losowo i globalnie unikalna. Wartość tokenu branch musi zawierać na początku ciąg z9hg4bk (tzw. magic cookie), co daje pewność, że implementacje oparte na starszej wersji protokołu SIP nie wygenerują takiej samej wartości. Pozostały ciąg znaków jest zależny od implementacji. Wartość pola Call-ID jest tworzona poprzez połączenie losowego ciągu znaków i adresu IP hosta (losowy_ciąg@adres_ip_hosta) w standardzie SIP nie określono wymagań co do zawartości losowego ciągu znaków (w tym również jego długości). Wartość pola CSeq zawierająca numer sekwencyjny, ze względów bezpieczeństwa, musi być losowana oraz wyrażona w postaci 32-bitowej liczby całkowitej (unsigned integer) o wartości mniejszej niż 2 31. Dla wszystkich, wymienionych powyżej elementów nagłówka wiadomości SIP, z wyjątkiem pola CSeq, nie ma wymagań co do długości generowanego ciągu znaków. Zatem możliwe jest celowe zwiększanie długości umieszczanych tam ciągów, co pozwoli na ukrycie dodatkowych bitów steganogramu. Nadmierne wydłużenie wartości tych pól i tokenów może jednak ułatwić steganalizę. Analogicznie do powyższych elementów nagłówka wiadomości sygnalizacyjnych SIP, do celów steganograficznych, można modyfikować zawartość pola Max-Forwards (linia 3) wykorzystywanego do detekcji pętli podczas wymiany wiadomości sygnalizacyjnych. Proponowana wartość tego pola to 70, ale standard zezwala na wykorzystanie innej, dowolnie wybranej wartości. Do ukrywania informacji możliwe jest też użycie innych pól znajdujących się w wiadomościach sygnalizacyjnych SIP, przykładowo pola Contact (linia 8, ciąg znaków AliceM). Zmiana części informacji zawartych w tym polu, nie ma bezpośredniego wpływu na przebieg komunikacji, zatem może posłużyć do przenoszenia steganogramu (aczkolwiek - 19 -

będzie to łatwe do wykrycia). Pola, które mogą zostać wykorzystane w analogiczny sposób to: Subject, Call-Info, Organization, Reply-To, Timestamp oraz User-Agent. W podobny sposób można umieszczać steganogram w ciele wiadomości, którego format jest opisywany zgodnie z protokołem SDP. Na Rys. D-6 w Dodatku 1, ciało wiadomości zawarte jest w dwóch przesłanych wiadomościach SIP. Pierwszą z nich jest INVITE (pomiędzy SIP UA A oraz SIP UA B) w ciele tej wiadomości zawarta jest informacja o cechach charakterystycznych punktu końcowego (np. rodzaju kodeków). Drugie ciało wiadomości znajduje się w odpowiedzi 200 OK, przesłanej do użytkownika inicjującego połączenie, w której określa się uzgodnione parametry połączenia. Do celów steganograficznych można wykorzystać ciała wspomnianych wiadomości, ponieważ część znajdujących się w nich pól nie zawiera, z punktu widzenia negocjacji parametrów połączenia, istotnych informacji i jest ignorowana. Pola te zostały pogrubione na Rys. D-3 w Dodatku 1: Pole v (version) jest ignorowane przez SIP; Pole o (owner/creator) zawierające losowo wygenerowany identyfikator sesji SIP (2890844526) oraz nazwę właściciela/tworzącego; Pole s (session name) jest ignorowane przez SIP; Pole t (time session) jest ignorowane przez SIP; Pole k (key) zawierające klucz, który może zostać opcjonalnie wykorzystany do szyfrowania. Wymienione powyżej pola SDP mogą być wypełniane steganogramem; można celowo sterować długością wpisywanych w nie ciągów znaków, aby zwiększyć ilość ukrytych danych. Inne możliwości daje wykorzystanie pól w wiadomościach sygnalizacyjnych SIP, pierwotnie przewidzianych do przenoszenia danych służących zapewnianiu usług bezpieczeństwa uwierzytelnienia i poufności. Ze względu na sposób ich działania, mechanizmy zabezpieczeń dla protokołu SIP możemy podzielić na ([78], [79]): End-to-end, w których usługa bezpieczeństwa jest realizowana bezpośrednio pomiędzy węzłami końcowymi połączenia telefonii IP. Hop-by-hop, w których w realizacji usług bezpieczeństwa biorą udział również węzły pośredniczące, na przykład serwery proxy. Wykorzystanie pól, przeznaczonych do realizacji usług bezpieczeństwa do przenoszenia steganogramów, jest możliwe jedynie dla mechanizmów zabezpieczeń typu end-to-end, - 20 -

w których dane steganograficzne umieszczone w nadajniku nie ulegają zmianie w trakcie transmisji do odbiornika. W przypadku mechanizmów zabezpieczeń typu hop-by-hop, zawartość pól przeznaczonych do realizacji usług bezpieczeństwa jest zmieniana na każdym odcinku drogi komunikacyjnej pomiędzy nadajnikiem a odbiornikiem. Poniżej zaprezentowano sposoby ukrywania informacji dla jednego z mechanizmów zabezpieczeń SIP mechanizmu S/MIME (Secure / Multipurpose Internet Mail Extensions) [31]. Rys. 2-7 przedstawia przykładową wiadomość INVITE zabezpieczoną mechanizmem S/MIME. Ciało tej wiadomości jest zaszyfrowane oraz podpisane cyfrowo. Zabezpieczone części wiadomości są oddzielone wartością graniczną (boundary value, linie 13 i 19). Wartość tego pola może być użyta do celów steganograficznych analogicznie jak to było w przypadku protokołów SIP i SDP (ciąg znaków tego pola może być celowo wydłużany). Pomiędzy pierwszym i drugim wystąpieniem wartości granicznej (992d915fef419824) znajduje się zaszyfrowana zawartość ciała wiadomości. Natomiast pomiędzy drugim i trzecim jej wystąpieniem znajduje się podpis cyfrowy (linie 25-28). Inny sposób ukrywania informacji jest oparty na możliwości zastąpienia znaków podpisu cyfrowego steganogramem. Ilość ukrytych danych, którą w ten sposób można przesłać, zależy od wykorzystanej w mechanizmie S/MIME funkcji skrótu. (1) (2) (3) (4) (5) (6) (7) (8) (9) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) INVITE sip: bob@biloxi.example.com SIP/2.0 Via: SIP/2.0/UDP 160.85.170.139:5060;branch=z9hG4bK4129d28b8904 To: Bob <sip: bob@biloxi.example.com> From: Alice <sip: alice@atlanta.example.com>;tag=daa21162 Call-ID: 392c3f2b568e92a8eb37d448886edd1a @ 160.85.170.139 CSeq: 1 INVITE Max-Forwards: 70 Contact: <sip:alice@client.atlanta.example.com:5060> Content-Type: multipart/signed;boundary = 992d915fef419824; micalg=sha1;protocol=application/pkcs7-signature Content-Length: 3088 --992d915fef419824 Content-Type: application/pkcs7-mime; smime-type=envelopeddata; name=smime.p7m Content-Disposition: attachment;handling=required;filename=smime.p7m Content-Transfer-Encoding: binary <envelopeddata object encapsulating encrypted SDP attachment not shown> --992d915fef419824 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s; handling=required ghyhhhuujhjhjh77n8hhgtrfvbnj756tbb9hg4vqpfyf467ghigfhfyt6 QpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj n8hhgtrfvhjhjh776tbb9hg4vqbnj7567ghigfhfyt6ghyhhhuujpfyf4 7GhIGfHfYT64VQbnj756 --992d915fef419824-- Rys. 2-7 Przykładowa wiadomość I VITE zabezpieczona mechanizmem S/MIME - 21 -