Bezpieczeństwo dronów

Beata Marek Drony Leave a Comment

Dzisiaj pierwszy artykuł z zapowiadanej serii o dronach. Dotyczy on bezpieczeństwa i został napisany przez Wojtka Janusza (testera bezpieczeństwa) z teamu LogicalTrust, który jest odpowiedzialny w Cyberlaw za techniczną działkę cyberbezpieczeństwa. Zapraszam do ciekawej lektury.

Drony w natarciu

Mało słów ostatnimi czasy zyskało taką popularność jak “dron”, nagłówki w stylu: “dron dostarczy przesyłkę!”, “unikatowe zdjęcia z drona!”, “dron obserwuje Ciebie i Twojego sąsiada” towarzyszą nam niemal codziennie. Jakie możliwości daje nam rozwój tej technologii, jakie zagrożenia temu towarzyszą? Odpowiedzi na te pytania zdają się nie interesować autorów wspomnianych doniesień, postarajmy się więc wypełnić tę lukę w tym artykule.

Na samym początku spróbujmy zdefiniować “drona”. Czym różni się “dron” od chociażby zdalnie sterowanego modelu wyposażonego w system FPV (First Person View)? Okazuje się, że w odniesieniu do obiektów których dotyczą wspomniane artykuły nie różni się w zasadzie niczym. Słowa dron początkowo używano mając na myśli duży, bezzałogowy statek powietrzny przeznaczony do wykonywania misji wojskowych (np. obserwacyjnych lub uderzeniowych), po pewnym czasie zostało jednak zaadoptowane celem opisu wszystkiego co lata i nie posiada pilota na pokładzie. Na potrzeby tego artykułu będziemy się często posługiwać skrótem BPL (Bezzałogowa Platforma Latająca), który jest ściślejszy i pozbawiony cech towarzyszących sensacyjnym doniesieniom. Warto odnotować, że w ostatnim czasie popularność zyskuje określenie RPAS (z ang. Remotely Piloted Aircraft Systems) które najdokładniej opisuje typ obiektów potocznie zwanych dronami.

Drony trochę historii …

Droga, która prowadzi do współczesnych BPL rozpoczyna się jeszcze przed I wojną światową. Pierwsze doniesienie o BPL dotyczy wojny austiracko-piemonckiej. Wenecja, której mieszkańcy postanowili się zbuntować przeciwko austriackiemu panowaniu stała się ofiarą pierwszego znanego w historii ataku przeprowadzonego z użyciem ówczesnych odpowiedników “dronów”. Austriaccy inżynierowie na przestrzeni paru miesięcy opracowali balony z zamontowanym kilkunasto-kilogramowymi bombami, w odpowiednich warunkach uwolnione balony miały nadlecieć nad Wenecję po czym odpowiedni mechanizm miał doprowadzić do zrzucenia bomby. Na skutek niesprzyjającego wiatru, wydarzenie to przeszło do historii nie tylko jako pierwsze użycie BPL ale również jako pierwszy wypadek towarzyszący BPL (większość zrzuconych bomb spadła po stronie linii wojsk austriackich).

Od tego czasu technika lotnicza, a wraz z nią drony, przebyła niesamowitą drogę, przechodząc od konstrukcji wręcz prymitywnych do całych systemów złożonych z wielu maszyn działających w rojach gdzie każda jego część posiada wysoki stopień autonomii. Zakres ich zastosowań wychodzi poza aplikacje na potrzeby wojskowości. Można powiedzieć, że “drony trafiły pod strzechy” co zmusza do pochylenia się nad pytaniami odnośnie zagrożeń, które niesie ze sobą ta technologia.

Technikalia

Zanim przejdziemy do zagrożeń towarzyszących wykorzystaniu BPL, musimy sobie uświadomić, że sama platforma latająca często jest jedynie częścią większego systemu. Na system bezzałogowy prócz BPL składa się interfejs łączący operatora (człowieka obsługującego maszynę) z BPL, w najprostszym przypadku jest to zwykła aparatura modelarska, w przypadku bardziej złożonym może to być komputer z dedykowanym oprogramowaniem (rolę komputera mogą również odgrywać urządzenia przenośne jak tablety czy smartfony). Urządzenie pełniące rolę takiego interfejsu będziemy nazywać stacją bazową (po ang. GCS od Ground Control Station). Architektura systemu bezzałogowego może również obejmować podłączenie którejś z jego części do internetu (np. celem archiwizowania zbieranych danych na zdalnych serwerze), powoduje to, iż prócz awarii typowych dla samej BPL, istotności nabierają kwestie dotychczas kojarzone jedynie z bezpieczeństwem IT.

Kolejną kwestią wymagającą omówienia jest odpowiedź na pozór proste pytanie, “Jak to się dzieje, że dron nie spada na ziemię?”. O ile w przypadku platform w konfiguracji płatowca (posiadających skrzydło generujące siłę nośną) utrata kontroli nad BPL nie musi oznaczać bezładnego zderzenia z ziemią, to w przypadku najpopularniejszych obecnie platform wielowirnikowych (popularnych quadrotorów) do czynienia mamy z obiektem strukturalnie niestabilnym. Fakt ten wymusza konieczność istnienia układu regulacji (w formie autopilota). W zależności od stopnia autonomii, autopilot wspiera pilota podczas sterowania BPL lub nawet umożliwia autonomiczne wykonanie  misji bez udziału operatora (np. przelotu nad zdefiniowanym obszarem, wykonaniem zdjęć w trakcie a następnie wylądowanie we wskazanym miejscu). Elementem bez którego działanie autopilota jest niemożliwe jest układ pomiarowy, algorytm sterowania zaszyty w autopilocie by poprawnie oddziaływać (za pośrednictwem jednostek napędowych: silników z śmigłami) na platformę musi posiadać informację o aktualnym stanie maszyny (jej położeniu, orientacji, prędkościach kątowych itd.). Zadanie postawione układowi sterowania w przypadku gdy awarii uległ system pomiarowy, można by przyrównać do jeżdżenia po mieście autem mając zamknięte oczy.

Przejdźmy do meritum, mianowicie zadajmy sobie pytanie “Co może pójść źle?”. W tym miejscu należy rozróżnić dwie sytuacje: awarię oraz atak wymierzony w system bezzałogowy. Awaria może dotyczyć któregokolwiek z podzespołów tworzących system bezzałogowy t.j.: mechanika platformy, elektronika, część sofware’owa, może być ona również skutkiem np. utraty łączności z BPL. Atak natomiast może przybrać formę próby przejęcia kontroli nad BPL, podsłuchania jej komunikacji ze stacją naziemną lub innego złośliwego działania.

Awaria

Awarie i błędy są czymś nieuniknionym, problem pojawia się jednak wtedy gdy twórcy danego rozwiązania nie są świadomi istniejących problemów. Dlatego też, tak istotną rolę powinny odgrywać wszelkie testy oprogramowania oraz części sprzętowej. Testy systemu jako całości powinny udzielić odpowiedzi na takie pytania jak:

– Jak zachowuje się układ sterowania podczas długiej pracy w nominalnych warunkach?

– Czy układ regulacji zapewnia stabilność BPL w przewidzianym zakresie warunków?

– Czy logika autopilota nie posiada wad? (np. czy istnieje możliwość wyłączenia silników gdy BPL znajduje się na znacznej wysokości?)

– Jak zachowa się autopilot w sytuacjach awaryjnych? (np. utraty łączności ze stacją kontroli naziemnej)

– Jak zachowa się autopilot gdy nastąpi awaria któregoś z czujników lub czujnik dostarczy nieprawidłowe dane? (czy np. możliwa jest sytuacja gdy w programie propagować się będzie wartość NaN?)

– Czy dane pochodzące od GCSa są w jakikolwiek sposób weryfikowane?

Postawione powyżej pytania odnoszą się jedynie do części testów jakie powinien przejść system bezzałogowy, ale już na ich podstawie można zobaczyć jak szeroki powinien być ich zakres. Testy powinny obejmować zarówno samą część programową, poprawność interakcji części programowej ze sprzętem itd.

Atak

Jak wspomniano we wstępie, system bezzałogowy może osiągnąć znaczny stopień skomplikowania. Wraz z jego wzrostem zwiększa się liczba potencjalnych wektorów ataku. Okazuje się, że część zagrożeń występujących powszechnie w IT dotyczy również systemów bezzałogowych. Wśród ataków które na dzień dzisiejszy wydają się najbardziej realne należy wymienić:

– bezpośrednie próby wysyłania złośliwych komend do BPL,

– zakłócenie komunikacji z BPL,

– podsłuchanie nieszyfrowanej komunikacji z BPL,

– próba zainfekowania jednej z części systemu złośliwym oprogramowaniem.

W przypadku gdy protokół komunikacyjny pomiędzy BPL a GCS jest znany atakującemu oraz gdy protokół ten nie implementuje mechanizmów uwierzytelnienia nadawcy, atakujący byłby w stanie bezpośrednio wysłać komendę do BPL, która zostałaby wykonana.

Kolejnym zagrożeniem jest zakłócenie komunikacji przez atakującego, w skrajnej sytuacji (braku zaimplementowanych zabezpieczeń) może to doprowadzić do rozbicia platformy. Z uwagi na fakt, że większość zastosowań BPL dotyczy wykonywania zdjęć z powietrza, w przypadku przesyłania sygnału wideo do operatora w nieszyfrowanej formie mógłby on być przechwycony przez atakującego.

Wreszcie ze względu na częste wykorzystanie w formie GCSa komputera PC lub urządzenia przenośnego, można rozpatrywać sytuację w której urządzenie to zostaje zainfekowane złośliwym oprogramowaniem. Atakiem trudniejszym do przeprowadzenia jest tzw. GPS spoofing, jest to działanie polegające na  nadawaniu w pobliżu BPL sygnału GPS spreparowanego w ten sposób by sprowokować przemieszczenie BPL w pożądanym kierunku. Warto przy tym zauważyć, że atak typu GPS spoofing skutecznie zaprezentowano przez zespół z Uniwersytetu w Austin.

Warto pamiętać …

Wzrost popularności dronów jaki możemy zaobserwować ostatnimi czasy powinien iść w parze ze wzrostem bezpieczeństwa ich używania. Systemy bezzałogowe stają się na tyle skomplikowane, że obecnie są w stanie padać ofiarami ataków analogicznych do tych jakie spotykają użytkowników sieci, otwartym pytaniem zostaje czy producenci tego typu rozwiązań są tego świadomi.

Jeśli spodobał Ci się ten temat zapraszamy do prezentacji


Autor grafiki promującej wpis: James Provost