Bezprzewodowe sieci typu ad-hoc są środowiskiem bardzo podatnym na wszelkiego rodzaju manipulacje, mogące doprowadzić do zaistnienia i wykorzystania skrytych kanałów komunikacyjnych. Ze względu na brak infrastruktury monitorującej zachowanie poszczególnych węzłów, sieci typu MANET (Mobile Ad-hoc NETwork) są szczególnie narażone na wykorzystanie skrytych kanałów komunikacyjnych. W artykule przestawiono ogólną charakterystykę skrytych kanałów komunikacji oraz omówiono skryte kanały komunikacji w sieciach MANET.
Wireless ad-hoc networks are the invironment very susceptible to all kinds of manipulations that can lead to arising and making use of hidden communication channels. Considering the lack of infrastructure that can monitor the behaviour of separate nodes, MANET (Mobile Ad-hoc NETwork) type networks are above all exposed to a danger of being sensitive to taking advantage of hidden communication channels. Presented is general characteristics of such channels and discussed are the ones occurring in MANET networks.
Wykorzystanie skrytych kanałów komunikacji (Covert Communication Channels) jest jedną z bardziej wyrafinowanych technik ataków, wymagającą znajomości budowy i mechanizmu działania protokołów stosowanych w atakowanej sieci. Dostęp do ukrytych kanałów komunikacji może całkowicie udaremnić wysiłek włożony we wdrożenie i stosowanie mechanizmów bezpieczeństwa.
Nawet przy braku autoryzacji dostępu węzła atakującego do danych strzeżonych, informacją wrażliwą przesyłaną za pomocą kanałów skrytej transmisji mogą być dane dotyczące topologii sieci i statystyk ruchu, dane protokołów routingu, rodzaj wykorzystywanych w sieci protokołów bezpieczeństwa i algorytmów kryptograficznych oraz używane klucze, a więc wszelkie dane pozyskiwane w fazie rekonesansu podczas ataku na sieć.
Ze względu na brak infrastruktury monitorującej zachowanie poszczególnych węzłów, sieci typu MANET (Mobile Ad-hoc NETwork) są środowiskiem szczególnie podatnym na wykorzystanie skrytych kanałów komunikacyjnych.
Pojęcie skrytych kanałów komunikacyjnych oznacza wszelkie metody wykorzystania protokołów komunikacyjnych do niejawnej transmisji danych; istnienie tych metod nie było pierwotnie zakładaną cechą danego protokołu. Dokument [1] zawiera odniesienia do następujących definicji skrytego kanału komunikacyjnego.
To, czy proces wymiany danych należy kwalifikować jako skrytą komunikację, zależy od polityki bezpieczeństwa ustalonej w systemie. Polityka bezpieczeństwa informacji jest zbiorem spójnych, precyzyjnych i zgodnych z obowiązującym prawem przepisów, reguł i procedur, według których dana organizacja buduje, zarządza oraz udostępnia zasoby i systemy informacyjne i informatyczne. Polityka powinna obejmować wskazanie możliwych rodzajów naruszenia bezpieczeństwa, scenariusze postępowania w takich sytuacjach i działania, które pozwolą uniknąć powtórzenia się incydentu. Polityka bezpieczeństwa definiuje ponadto poprawne i niepoprawne korzystanie z zasobów. Tylko wymiana danych ściśle zabroniona w przyjętej polityce jest uznawana za skrytą. Jeśli strony transmisji mogą, według przyjętej polityki bezpieczeństwa, dokonywać wymiany danych, a przekazują dodatkowo wrażliwe dane w sposób zaszyfrowany, mamy do czynienia ze zjawiskiem ukrywania informacji.
W praktyce niemożliwe jest całkowite wykluczenie możliwości istnienia skrytego kanału komunikacji. Najważniejszą jego cechą jest niewykrywalność.
Inne charakterystyki, jak przepustowość czy stopa błędów, w odróżnieniu od tradycyjnych kanałów komunikacyjnych, mają bardzo małe znaczenie.
Atakujący wprowadza informację w sposób niezakłócający normalnego działania mechanizmów sieciowych oraz tak, aby tylko określeni odbiorcy, znający zastosowany mechanizm steganograficzny, byli w stanie wykryć i odczytać tę informację. Wykorzystanie skrytych kanałów komunikacyjnych należy do grupy ataków aktywnych, wewnątrzsieciowych, przy czym wymaga także współdziałania drugiej strony nasłuchującej, wewnątrz lub na zewnątrz domeny bezpiecznej. Wykorzystanie skrytego kanału komunikacji wewnątrz zabezpieczonego obszaru sieci dotyczy sytuacji, kiedy istnieje ścieżka od węzła z większymi uprawnieniami do węzła nieuprawnionego do odbioru określonych informacji. W przypadku sieci bezprzewodowych nasłuch może być prowadzony poza bezpieczną domeną, z uwagi na otwarty charakter medium.
Bezprzewodowe sieci typu ad-hoc są środowiskiem bardzo podatnym na wszelkiego rodzaju manipulacje, mogące doprowadzić do zaistnienia i wykorzystania skrytych kanałów komunikacyjnych. W przeciwieństwie do sieci z infrastrukturą, w przypadku sieci ad-hoc, organizacja i utrzymanie procesów zachodzących w sieci należą do zadań wszystkich węzłów wchodzących w jej skład. Decentralizacja tych działań daje możliwość do naruszania zasad, np. związanych z wymianą informacji sygnalizacyjnej służącej odkrywaniu i utrzymywaniu tras (m. in. podczas ataków typu black hole, gray hole oraz wormhole). Niektóre z proponowanych protokołów routingowych zawierają mechanizmy wykrywania i przeciwdziałania pewnemu zakresowi szkodliwych działań, jednak żaden z nich nie był ukierunkowany na zwalczanie problemu wykorzystania skrytych kanałów komunikacji.
W publikacjach [6, 7] opisano, w jaki sposób można wykorzystać wiadomości protokołu AODV (Ad-hoc On-demand Distance Vector) [8] do przeprowadzenia skrytej komunikacji. Jest to routingowy protokół reaktywny, a więc żądania odkrycia drogi są generowane przez węzeł źródłowy, w chwili gdy zaistnieje potrzeba komunikacji z węzłem docelowym i tablica routingu węzła źródłowego nie zawiera poprawnej drogi do węzła docelowego.
Żądanie odkrycia drogi wysyłane jest w postaci wiadomości Route Request (RREQ), w trybie broadcastowym. Budowa wiadomości RREQ została przedstawiona na rysunku 1,
a funkcje poszczególnych pól wiadomości zostały opisane w tabeli 1.
Tabela 1. Opis pól wiadomości RREQ protokołu AODV
| Nazwa pola | Rozmiar | Opis |
| Typ | 1 B | Pole oznaczające typ wiadomości protokołu AODV; w przypadku wiadomości Route Request wynosi 1. |
| J | 1 b | Flaga „Join”, zarezerwowana do użytku w przypadku obsługi ruchu multicastowego. |
| R | 1 b | Flaga „Repair”, zarezerwowana do użytku w przypadku obsługi ruchu multicastowego. |
| G | 1 b | Flaga „Gratuitous Route Reply”; ustawienie 1 powoduje generację dodatkowej, unicastowej wiadomości RREP (Route Reply) do węzła docelowego przez węzeł pośredniczący, który zna do niego drogę; w przypadku ustawienia 0 węzeł pośredniczący odpowiada jedynie węzłowi źródłowemu. |
| D | 1 b | Flaga „Destination only”; ustawienie 1 powoduje, że tylko węzeł docelowy może odpowiedzieć na wiadomość RREQ |
| U | 1 b | Flaga „Unknown Sequence Number”; ustawiana przez węzeł źródłowy, kiedy nie znana jest mu wartość numeru sekwencyjnego dla węzła docelowego. |
| Ilość skoków | 1 B | Pole zawiera liczbę skoków od węzła źródłowego, do węzła aktualnie przetwarzającego wiadomość RREQ; przy generacji wiadomości przez węzeł źródłowy ustawiana jest wartość 0. |
| RREQ ID | 4 B | Numer sekwencyjny wiadomości RREQ; wraz z adresem IP węzła generującego wiadomość RREQ stanowi unikalny identyfikator tej wiadomości. |
| Adres IP węzła docelowego | 4 B (IPv4) lub 16 B (IPv6) | Adres IP węzła, do którego droga jest poszukiwana. |
| Numer sekwencyjny węzła docelowego | 4 B | Numer sekwencyjny węzła docelowego, jaki był ostatnio otrzymany przez węzeł źródłowy. |
| Adres IP węzła źródłowego | 4 B (IPv4) lub 16 B (IPv6) | Adres IP węzła, który inicjuje proces wyszukiwania drogi. |
| Numer sekwencyjny węzła źródłowego | 4 B | Aktualny numer sekwencyjny węzła źródłowego; jest powiększony o 1 przed generacją wiadomości RREQ. |
Wiadomość jest propagowana w sieci, do momentu kiedy dotrze do węzła poszukiwanego, bądź do węzła pośredniczącego, który zna drogę do węzła poszukiwanego. Wówczas do węzła źródłowego zwracana jest wiadomość Route Reply (RREP). Budowa wiadomości RREP została przedstawiona na rysunku 2.
W celu zmniejszenia ilości wiadomości RREQ propagowanych w sieci ad-hoc, używana jest technika expanding ring search (przeszukiwania w rozszerzającym się pierścieniu). Polega ona na określeniu przez węzeł źródłowy wartości czasu życia TTL (Time To Live) w nagłówku IP wiadomości RREQ i oczekiwaniu przez pewien czas na wiadomość RREP. Wartość TTL określa maksymalną ilość węzłów pośredniczących, które mogą przesłać żądanie RREQ. Jeśli czas oczekiwania na wiadomość RREP przekroczy założoną wartość, wówczas generowana jest nowa wiadomość RREQ, ze zwiększoną wartością TTL. Procedura jest powtarzana do osiągnięcia ustalonego progu wartości TTL.
W protokole AODV stosuje się numery sekwencyjne, aby zapobiec wystąpieniu pętli. Każdy węzeł utrzymuje w pamięci liczbę, zwaną numerem sekwencyjnym. Może ona ulec tylko zwiększeniu, i tylko w dwóch przypadkach: na chwilę przed generacją wiadomości RREQ (przez węzeł źródłowy) oraz na chwilę przed generacją wiadomości RREP (przez poszukiwany węzeł docelowy). W tablicy routingu każdego węzła każda droga jest powiązana z ostatnio znanym numerem sekwencyjnym, jaki został zwrócony w wiadomości RREP. Jeśli w odpowiedzi na wiadomość RREQ węzeł źródłowy otrzyma kilka poprawnych dróg, do tablicy routingu wpisuje drogę najnowszą, czyli związaną z największym numerem sekwencyjnym węzła docelowego.
Autorzy [6, 7] wskazują cztery kanały skrytej komunikacji, spośród których jeden jest poddany głębszej analizie i symulacji, ze względu na łatwość implementacji. Zaproponowane mechanizmy steganograficzne wykorzystywane do przeprowadzenia skrytej komunikacji polegają na:
Założono, iż w procesie skrytej komunikacji biorą udział dwa węzły – nadawczy CT (Covert Transmitter) i odbiorczy CR (Covert Receiver). Wprowadzają one modyfikacje do generowanych i docierających do nich jednostek danych. Reszta węzłów wchodzących w skład sieci ad-hoc generuje i przekazuje wiadomości wyłącznie w sposób zgodny z opisem działania protokołu AODV [8].
Znaczna część skrytych kanałów komunikacyjnych wykorzystuje zależności czasowe. Jeśli węzeł odbiorczy mógłby rozróżnić opóźnienia pomiędzy generacją kolejnych wiadomości RREQ przez węzeł nadawczy, wówczas dodatkowa informacja (symbol S) mogłaby być odczytana z czasu generacji kolejnych wiadomości RREQ, np.:
gdzie:
S(Δt) – symbol odczytany przez węzeł CR za przedział Δt,
RREQ(Δt) – zdarzenie polegające na odebraniu przez węzeł CR pakietu RREQ nadanego przez węzeł CT w przedziale Δt.
Interpretacja symboli oraz określenie odpowiadającym im zdarzeń, czyli definiowanie alfabetu steganograficznego, zachodzi przy tworzeniu danego systemu skrytej komunikacji.
Przy wykorzystaniu takiego mechanizmu steganograficznego, kierunek skrytej oraz jawnej komunikacji odpowiadałby przedstawionemu na rysunku 3.
Rys. 3. Schemat działania kanału skrytej komunikacji z mechanizmem steganograficznym, polegającym na nadawaniu wiadomości RREQ w odpowiednich momentach
Podstawowym ograniczeniem przy implementacji tego kanału jest konieczność synchronizacji CT i CR, która jest problematyczna w przypadku sieci bezprzewodowych typu ad-hoc. Dodatkowo, CT nie może mieć pewności, iż wiadomość RREQ dotarła do CR, ze względu na duże prawdopodobieństwo utraty bądź uszkodzenia pakietu w medium charakteryzującym się dużym udziałem szumów. Jeśli ścieżka
między CT a CR składa się z dużej liczby skoków i istnieją ścieżki alternatywne, wówczas dodatkowo wiadomości RREQ mogą docierać do CR w innej, niż przy nadawaniu, kolejności.
Przy generacji wiadomości RREQ, węzeł źródłowy wstawia aktualną wartość swojego numeru sekwencyjnego. Manipulując tą wartością można osadzić dodatkową informację. Proponowane są dwie metody ukrywania informacji:
Podobnie jak w przypadku skrytego kanału wykorzystującego nadawanie wiadomości RREQ w ustalonych
momentach, przy wykorzystaniu takiego mechanizmu steganograficznego, kierunek skrytej oraz jawnej komunikacji odpowiadałby przedstawionemu na rysunku 3.
Metoda zmian przyrostu numeru sekwencyjnego (2) nie wymaga synchronizacji między CT a CR, jednak działanie takie jest łatwe do wykrycia, ponieważ nie zostaną wygenerowane wiadomości o pośrednich numerach sekwencyjnych. Inna wada polega na możliwości szybkiego wyczerpania się puli numerów sekwencyjnych (232 możliwych wartości), co także może wzbudzić podejrzenia.
Druga metoda (3) wymaga synchronizacji między CT a CR, w celu ustalenia początku ustalonego okresu Δt, w którym zliczane będą żądania RREQ. Także jej dotyczy problem możliwości nazbyt szybkiego wyczerpania się puli numerów sekwencyjnych.
Podczas generowania wiadomości RREP, z tablicy routingowej węzła pobierana jest aktualna wartość czasu życia drogi. Wskazuje ona, jak dawno droga była używana, przez węzeł generujący wiadomość RREP. Manipulacja zawartości pola czasu życia drogi daje możliwość przesłania odbiorcy wiadomości RREP dodatkowych informacji:
gdzie:
Przy wykorzystaniu takiego mechanizmu steganograficznego, kierunek skrytej oraz jawnej komunikacji odpowiadałby przedstawionemu na rysunku 4, przy czym liczby w nawiasach oznaczają kolejność przesyłanych wiadomości.
Rys. 4. Schemat działania kanału skrytej komunikacji z mechanizmem steganograficznym, polegającym na ingerencji w zawartość pola czasu życia we wiadomościach RREP; nadawcą wiadomości RREQ jest węzeł CR
W tym skrytym kanale komunikacji, rolę CT pełni nadawca wiadomości RREP, które są wysyłane w odpowiedzi na zapytania RREQ. Jednak nie powinny one pochodzić bezpośrednio od CR, ponieważ prowadziłoby to do szybkiego ujawnienia skrytej transmisji. W takim przypadku schemat krytej komunikacji wygląda tak, jak zostało to przedstawione na rysunku 5.
Rys. 5. Schemat działania kanału skrytej komunikacji z mechanizmem steganograficznym, polegającym na ingerencji w zawartość pola czasu życia we wiadomościach RREP; nadawcą wiadomości RREQ nie jest węzeł CR
CT powinien zatem otrzymywać możliwie często wiadomości RREQ od innych węzłów. Nawet przy założeniu, że będą one występować, wiadomości RREP wysyłane są unicastowo do węzła źródłowego, więc CR może pominąć niektóre wiadomości, w szczególności gdy nie będzie znajdował się w obszarze bezpośredniej widoczności radiowej węzła CT. Przy zastosowaniu tego schematu skrytej komunikacji, węzeł CR jest niewykrywalny, ze względu na całkowicie pasywne działanie.
Dodatkowa informacja może być ukryta w adresie węzła docelowego wiadomości RREQ. W przypadku sieci składającej się z N węzłów, można przy pojedynczym żądaniu przenieść w ten sposób log2(N – 1) bitów informacji. Ten skryty kanał komunikacji nie wymaga synchronizacji między CT a CR, a dodatkowo kolejność odbioru jest zagwarantowana poprzez mechanizm numerów sekwencyjnych. Wiadomości RREQ rozsyłane są w trybie broadcastowym, więc prawdopodobieństwo ich niewychwycenia przez CR jest niskie. Węzły CT i CR współdzielą alfabet, który składa się z symboli odpowiadającym adresom wszystkich węzłów wchodzących w skład sieci, oprócz węzła CT – symbol i jest transmitowany, gdy CT generuje wiadomość RREQ z adresem węzła docelowego i. Dla przypadku pięciu węzłów tworzących sieć ad-hoc, schemat skrytej komunikacji opisuje zależność (5):
gdzie:
Przy wykorzystaniu mechanizmu steganograficznego opisanego przez (2.5), wymiana wiadomości odbywałaby się według rysunku 6.
Rys. 6. Schemat działania kanału skrytej komunikacji z mechanizmem steganograficznym, polegającym na ingerencji w zawartość pola zawierającego adres węzła docelowego
Jedynym odstępstwem od reguł ustalonych w standardzie AODV jest samokontrola zapotrzebowania na trasy przez CT, tzn. węzeł nadawczy może generować wiadomości RREQ do każdego wybranego węzła docelowego niezależnie od reguł czasowych ustanowionych w specyfikacji protokołu, nawet gdy zna już do niego trasę. W celu uniknięcia wykrycia, CT nie powinien zbyt często generować żądań RREQ o drogę do tego samego węzła docelowego. W wyniku symulacji przeprowadzonej w [6, 7] uzyskano średnią przepustowość skrytego kanału komunikacyjnego na poziomie 1- 2 [bit/s] przy prawdopodobieństwie straty ok. 0,6. Kanał ten jest bardzo trudny do wykrycia: CR jest całkowicie niewykrywalny ze względu na pasywne działanie; natomiast odkrycie działania i ustalenie tożsamości CT jest możliwe w przypadku stosowania monitoringu procedur odkrywania drogi AODV. Węzeł CT powinien uwiarygodniać swoje działania, poprzez wykorzystywanie dróg, których odkrycia żądał. W przeciwnym wypadku węzeł docelowy może nabrać podejrzeń, kiedy występuje duża liczba żądań odkrycia drogi do niego, a nie jest przeprowadzana żadna transmisja z jej użyciem.
Inne publikacje wskazują na możliwość przeprowadzenia skrytej komunikacji przy zastosowaniu protokołu routingu DSR [9], a także z wykorzystaniem protokołów warstw niższych, np. protokołów MAC bazujących na algorytmie drzewa rozpinającego [10]. W ostatnim przypadku możliwość skrytej komunikacji jest jednak ograniczona tylko do sąsiednich węzłów.
Steganografia protokołowa daje potencjalnemu atakującemu możliwość przesłania danych wrażliwych na zewnątrz domeny bezpiecznej, w sposób niezauważalny dla systemów monitorowania i filtrowania wiadomości, przy użyciu kanału o niskiej lub bardzo niskiej przepływności. Wykorzystywane są do tego odpowiednie części nagłówków protokołów działających w sieci. Atakujący modyfikuje je w taki sposób, aby zapewnić poprawne, ciągłe i niepodejrzane działanie protokołu, przy jednoczesnym zawarciu danych wrażliwych obieranych przez urządzenie nasłuchując, którym może być węzeł w niezabezpieczonej domenie, posiadający możliwość wykrywania i interpretacji skrytej transmisji.
Istnieje wiele nieopisanych technik wykorzystania skrytych kanałów komunikacyjnych. Przy projektowaniu nowych protokołów należy ograniczyć możliwość wykorzystania już opublikowanych możliwości wykorzystania skrytych kanałów komunikacji.
Możliwe jest przeprowadzenie skrytej komunikacji bez ingerencji w zawartość nagłówków wiadomości zarządczych, wymienianych podczas niezakłóconego działania sieci. Kanały skrytej komunikacji charakteryzujące się taką właściwością są najtrudniejsze do wykrycia i niemożliwe jest całkowite wykluczenie możliwości ich wykorzystania. Z kolei zbyt restrykcyjne i wrażliwe metody monitoringu i interpretacji zachowania węzłów stosowane w celu identyfikacji i eliminacji takich kanałów mogą powodować dużą ilość błędnych alarmów (typu false-positive) i wpływać niekorzystnie na właściwy proces przekazu informacji w sieci.
Dziedzina obejmująca skryte kanały komunikacji w danych zarządczych sieci ad-hoc nie była dotąd badana na szeroką skalę, a nieliczne publikacje wskazują na duży potencjał tego kierunku badań. Nowatorskie podejście może polegać na próbie wykorzystania skrytych kanałów komunikacji do wspomagania systemu zabezpieczeń sieci, np. poprzez użycie przedstawionych mechanizmów w procesie uwierzytelniania węzłów mobilnej sieci typu ad-hoc w momencie formowania się sieci lub zmian w jej topologii.
Krzysztof Parobczak
Opiekun naukowy: dr hab. inż. Grzegorz W. Różański, prof. WAT
Wojskowa Akademia Techniczna, Wydział Elektroniki
| [1] National Security Agency NCSC-TG-030: A Guide to Understanding Covert Channel Analysis of Trusted Systems, 1993 [2] Lampson B. W.: A Note on the Confinement Problem, Communications of the ACM, 16/10, 613-615, 1973 [3] Huskamp J. C.: Covert Communication Channels in Timesharing Systems, Technical Report UCB-CS-78-02, Ph.D. Thesis, University of California, Berkeley, California, 1978 [4] Kemmerer R. A.: Shared Resource Matrix Methodology: An Approach to Identifying Storage and Timing Channels, ACM Transactions on Computer Systems, 1:3, pp. 256–277, 1983 [5] Tsai C.-R., Gligor V. D., and Chandersekaran C. S.: A Formal Method for the Identification of Covert Storage Channels in Source Code, lEEE Transactions on Software Engineering, 16:6, pp. 569–580, 1990 [6] Li S., Ephremides A.: Covert channels in ad-hoc wireless networks; , Elsevier B. V. Ad Hoc Networks vol. 8, issue 2, pp. 135–147, 2010 [7] Li S.: Covert channels and anonymous communication in ad hoc networks, University of Maryland, dissertation, 2007 [8] Perkins C., E. Belding-Royer, S. Das IETF RFC 3561: Ad hoc On-Demand Distance Vector Routing, 2003 [9] Marone M.: Adaptation and Performance of Covert Channels in Dynamic Source Routing, 2003 [10] Li S., Ephremides A.: A Covert Channel in MAC Protocols Based on Splitting Algorithms; IEEE Communications Society Wireless Communications & Networking Conference, 2005 |
| REKLAMA |
| REKLAMA |