Ataki na bezprzewodowe sieci sensoryczne

Celem dokumentu jest wyjaśnienie idei ataków na protokoły routingu w sieciach sensorycznych. Zadaniem artykułu będzie wprowadzenie Czytelników w świat nowoczesnych technologii bezprzewodowych sieci mobilnych, zarówno ad-hoc jak i sieci sensorycznych.

Artykuł rozpocznę od wprowadzenia pojęcia sieci mobilnej ad-hoc. Pojęcie to oznacza nic innego jak sieć bezprzewodowych routerów (rys. 1)

rys. mały prostopadłościan z trzema palcami

Sieci ad-hoc są sieciami znacząco różniącymi się od bezprzewodowych sieci sensorycznych (BSS). Sieci BSS posiadają zdecydowanie większą liczbę gęsto rozmieszczonych węzłów, które nie są odporne na awarie. Topologia sieci BSS – z definicji – może nieustannie się zmieniać. W bezprzewodowych sieciach sensorycznych podstawową metodą komunikacji jest metoda rozsiewcza, tzw. broadcast. Węzły sieci sensorów nie potrzebują globalnych identyfikatorów, węzły wysyłają odpowiednie wiadomości w celu zidentyfikowania pozycji swoich węzłów-sąsiadów. Rysunek poniżej ma poniekąd uświadomić, że w praktyce na co dzień wszędzie widzimy sensory, tylko trzeba potrafić to wykorzystać (w sposób inny niż ten przedstawiony na rysunku)

Rys. człowiek sensorem – technologia przeciw ludzkości?

Atakujących sieci sensorów zwykło się dzielić na dwie grupy: takich, którzy mają dostęp do mocno ograniczonych środków technicznych oraz na takich, którzy stanowią znacznie większe zagrożenie ze względu na swoje możliwości (laptop, nadajnik radiowy wysokiej mocy, czuła antena,..). Napastników możemy podzielić także na tych, którzy działają z wewnątrz, jak i z zewnątrz sieci – działający wewnątrz sieci często mają dużo większe możliwości ataku. Warto zdać sobie sprawę z tego, że (w nawiązaniu do ataków na sieci komputerowe) większość ataków na sieci dużych organizacji ma chociażby częściowo podłoże wewnątrz tychże organizacji, zwykło się także mówić, że najsłabszym ogniwem jest w wielu przypadkach człowiek. Człowiek potrafi często nieświadomie ujawnić poufne dane. W obecnych czasach szybkość rozwoju technologii wpłynęła na to, że coraz łatwiej jest potencjalnemu napastnikowi wykorzystać niewiedzę i naiwność chociażby pracowników potężnych konsorcjów. Człowiek nie odbiega bardzo od tego węzła-sensora, jest bowiem – tak jak sensor – częścią większego planu. Zarówno ludzie, jak i sensory, mają swoje wady. W artykule postaram się wprowadzić Państwa w zagadnienia bezpieczeństwa sieci sensorycznych, które w najbliższym czasie – w połączeniu z usługami kontekstowymi – zaczną z impetem wkraczać w nasze życia.

Bezpieczeństwo - podstawy

Dane i poufne informacje nie powinny zostać ujawnione niepowołanym podmiotom. Poprzez spoofing, odpowiednią manipulację informacjami protokołu routingu bezprzewodowej sieci sensorycznej, można osiągnąć pętle w routingu, kierować ruch w konkretne miejsce, manipulować długościami konkretnych tras. Wykorzystanie techniki selektywnego przesyłania informacji, nasz „zły” węzeł sieci, mógłby np. nie przesyłać dalej żadnego otrzymanego pakietu, to mogłoby spowodować powstanie „czarnej dziury” w sieci. Tak agresywne zachowanie może zostać odpowiednio zrozumiane i zinterpretowane przez sieć (jako próba ataku)– inna droga przekazu zostanie wybrana. Jakkolwiek, możemy blokować przesyłanie pakietów ostrożniej, poprzez odpowiedni dobór pakietów do dalszego przesłania, nazywamy to selektywnym przesyłaniem pakietów. W celu wykonania ataku polegającego na selektywnym forwardingu, warto wcześniej rozważyć także atak typu sinkhole. Polega on na celowym skierowaniu ruchu poprzez konkretny węzeł w sieci. Aby tego dokonać musimy uczynić powyższy węzeł atrakcyjnym w ujęciu algorytmu routingu w sieci. Znanym jest także atak typu Sybil, który polega na tym, że konkretny węzeł w sieci identyfikuje się przy pomocy wielu wizytówek (często nieistniejących węzłów, nasz węzeł chce być w wielu miejscach jednocześnie) innym węzłom w sieci, dzięki czemu ataki na algorytmu routingu oparte na położeniu geograficznym mogą w niepoprawny sposób zinterpretować otrzymane informacje i w sposób pozwolić napastnikowi na przechwycenie poufnych danych. Ciekawą metodą ataku na sieci sensoryczne jest tzn atak HELLO. W wielu protokołach przewidziano, że węzeł powinien ogłaszać przy pomocy broadcastu HELLO swoją obecność swoim sąsiadom. Przy pomocy potężnego nadajnika można oszukać wiele węzłów, że jesteśmy sąsiadem. Okaże się wtedy, że nasza ścieżka (bardzo atrakcyjna) będzie często wykorzystywana, natomiast pakiety przesyłane przez węzły znajdujące się daleko od nas będą przepadały.

Metody zapobiegania atakom

Patrząc poglądowo, atakom z zewnątrz możemy zapobiegać poprzez stosowanie szyfrowania przesyłanych danych oraz używanie mechanizmów autoryzacji(węzły znajdujące się w konkretnej sieci powinny być identyfikowalne i prawdopodobieństwo podszycia się pod węzeł w sieci powinno być minimalizowane). Pakiety przesyłane w obrębie sieci powinny być specjalnie znakowane. Obecność odpowiedniego oznaczenia pakietu oznacza, że pochodzi on od przyjaznego węzła (kolejna możliwość ataku – polegająca na próbie przeanalizowania metody oznaczania pakietow, a nastęnie użycia złowrogich pakietów z napisem „Przyjazny pakiet”). Węzły mogą także zapamiętywać ostatnio otrzymane pakiety, co może zapobiec analizie powtórzonych pakietów. Jakkolwiek, warto także zwrócić uwagę na bufor i ilość zapamiętywanych wiadomości. Warto także zwrócić uwagę na metodę(funkcję), przy pomocy której zapamiętujemy konkretne węzły i sprawdzamy, czy wiadomość nie została powtórzona. Wadliwa implementacja takich funkcji może mieć nieprzyjemne w skutkach konsekwencje.

Wymagania wobec kodu

Bezpieczeństwo sieci jest bardzo istotnym problemem, który nie może zostać pominięty podczas projektowania sieci. W przypadku sieci sensorycznych sytuacja wymaga jednak zastosowania specyficznych metod ochrony, chociażby ze względu na ograniczoną ilość dostępnej pamięci lub znacznie ograniczoną moc urządzeń. W sieciach sensorycznych często stosowana jest kryptografia symetryczna właśnie ze względu na mniejsze możliwości technologiczne sieci sensorycznych. Planowane jest wprowadzanie identyfikacji węzłów przy użyciu architektury asymetrycznej.

Tagi RFiD

Tagi RFiD są to małe urządzenia elektroniczne, dzięki którym możemy odbierać drogą radiową informacje o stanie konkretnego obiektu. Czytnik za pomocą nadajnika wytwarza zmienne pole elektromagnetyczne wokół anteny i dekoduje odpowiedzi znaczników. (dla dociekliwych, patrz: prawa Maxwella).

Rys. ręka z wszczepionym tagiem – implant

Rys. pierwszy RFiD z wirusem

Jak widzicie, tagi RFiD, często stosowane w układach kontekstowych, w tym układach mobilnych i kontekstowych, są narażone na działanie wirusów. Dzięki grupie naukowców: prof. Tanenbaum, Melanie Rieback and Bruno Crispo, wiemy:

"Everyone working on RFID technology has tacitly assumed that the mere act of scanning an RFID tag cannot modify back-end software and certainly not in a malicious way. Unfortunately, they are wrong,"

Sieci sensoryczne, w tym sieci mobilne, systemy bazujące na układach kontekstowych często wykorzystują właśnie tagi RFiD. Ataki na sieci sensoryczne z wykorzystaniem wadliwego middleware’u wykorzystywały SQL injection, były przypadki wykorzystania BO (buffer overflow). Tagi RFiD są narażone na sniffing (skanowanie tagów), w przyszłości z wykorzystaniem tagów będzie można analizować położenie wybranego celu. Warto także wiedzieć o możliwości spoofingu tagów RFiD czy o atakach typu Denial of Service na tagi RFiD.

Bezpieczeństwo sieci, która używa RFiD?

Ano właśnie, warto pomyśleć o bezpieczeństwie naszej sieci sensorycznej. Dostęp do serwera middleware RFiD nie powinien dawać dostępu do całej sieci. Nasz kod powinien zawierać: dobrze zanalizowane dane wejściowe, nie powinno być możliwości wykorzystania techniki buffer overlow, warto używać techniki parameter binding (http://www.netlegger.net/help/sqlxp/tutparambind.html)., należy pamiętać o dobrej administracji bazą danych (segregacja userów, odpowiednie prawa i… dużo, dużo więcej). Kod nie powinien uruchamiać żadnych skryptów, których uruchomienia mógłby chcieć napastnik.

Koniec?

Dokładnie, w tym momencie kończę artykuł z serii bezpieczeństwa sieci mobilnych, sensorycznych, wykorzystujących układy kontekstowe. Ten krótki artykuł został napisany w celu przybliżeniu Wam bezpieczeństwa sieci sensorycznych (poniekąd też niektórych układów kontekstowych), jakkolwiek warto zdać sobie sprawę, że jest to tylko wprowadzenie. Zainteresowanych zachęcam do dalszej lektury.

--
Materiały użyte w dokumencie zostały zaczerpnięte z sieci z wielu różnych lokalizacji, stąd też nie zostały podane źródła. W razie jakichkolwiek wątpliwości, prosimy o kontakt z autorem materiału.

Realizacja: SIPLEX Studio