Tym razem z tematów o hakowaniu w „korpo” przeskoczymy na temat bardziej „lekki” i związany z „chmurą”, a raczej z chmurami. Nie z tymi chmurami, w których przechowujemy nasze dane, ale takimi w których lata się dronem. Latanie dronem w chmurach należy do przyjemnych i prostych czynności to już hackowanie go, proste nie jest. No to piszemy więc o hackowaniu dronów.
Fakt, że drony mogą być wykorzystywane do hackowania infrastruktury IT wiemy nie od dziś. Wystarczy zamontować na dronie takie urządzenie i możemy mieć całkiem ciekawą platformę latająco-hakującą sieci Wifi.
Lecz czy kiedykolwiek zastanawialiście się co się stanie, jeśli zhackujemy drona?
Czy kiedykolwiek przyszło Wam do głowy, że ktoś mógłby uzyskać dostęp do Waszych danych wysyłanych z drona do Internetu?
Jeśli nie, to z pewnością musisz przeczytać poniższy artykuł.
Dlaczego drony DJI?
Ciężko byłoby znaleźć dzisiaj osobę, która nie wiedziałaby co to jest dron. Drony zdominowały rynek konsumencki, mediów, przemysł, a także służby mundurowe, ochroniarskie i wiele innych. Znalazły też złe zastosowanie np. do bombardowań przez terrorystów lub przemytu narkotyków przez granice.
Jedno jest pewne – pojawiło się ich na rynku bardzo dużo i zrobiło się wokół nich głośno.
Dlaczego piszemy na Kapitanie Hacku o hackowaniu dronów? Ponieważ oprócz tego, że większość z nas prywatnie używa drony, używają je także firmy. A tam, gdzie problem może dotyczyć firm, tam Kapitan Hack rusza na łowy.
Firmy wykorzystują drony do wspomagania ich działań operacyjnych w takich sektorach jak:
- Przemysł (np. inspekcja wiatraków, masztów wysokiego napięcia itp.)
- Infrastruktura krytyczna (monitorowanie budynków, elektrowni, rafinerii)
- Rynek budowlany (np. przeprowadzanie inspekcji budynków, geodezja)
- Ratownictwo i poszukiwania
- Służby mundurowe
- Agroturystyka (np. monitorowanie wzrostu plonów)
- i wiele innych
Współczesne drony do pilotowania przez operatorów wykorzystują najczęściej urządzenia mobilne i komunikują się z Internetem. Liderem na rynku dronów jest chiński potentat, wręcz monopolista w tej branży – firma D.J.I. lub w skrócie DJI.
Dlaczego piszemy o dronach DJI? Ponieważ DJI jako pierwszy zbudował w chmurze platformę pozwalającą na wymianę informacji z jej dronami. Powstał duży ekosystem z różnego typu usługami dla klientów. Wszystko wyglądało wspaniale, usługa się rozwijała ale w ostatnim czasie pojawiły się niepochlebne dla firmy DJI informacje, że Chińczycy za pomocą swoich dronów szpiegują amerykańską infrastrukturę link. Wiadomość ta, choć niepotwierdzona i uważana za spekulację przyczyniła się do wycofania z użycia chińskich dronów marki DJI ze służb mundurowych w USA.
Czy coś w tym było, czy może Amerykanie wolą wspierać własna gospodarkę i używać własnych dronów? To już pozostawiamy Tobie Czytelniku do oceny.
Ostatnie badania wykazały, że drony DJI są podatne na cyberataki
Informacje dostarczone przez agencję ICA, że drony mogły być wykorzystywane do szpiegowania mogły być spekulacją, nad która nie będziemy się tutaj rozwodzić. Natomiast bardziej zainteresowała nas informacja, która pojawiła się kilka miesięcy po tym skandalu. Mianowicie analitycy bezpieczeństwa z firmy CheckPoint odkryli, że można było w łatwy sposób włamać się na konta użytkowników dronów DJI i wykraść lub podejrzeć ich dane. To już nie była spekulacja tylko doniesienie poparte dowodami. Poniżej prezentujemy szczegóły ataku i film obrazujący atak:
Jak działa proces przepływu danych do infrastruktury DJI?
Przy każdej aktywacji nowego drona DJI jego użytkownik musi utworzyć konto, zalogować się nim w aplikacji łącząc się z systemem w Internecie. Z Internetem także musi się połączyć w celu pobrania aktualizacji oprogramowania, bazy danych stref zabronionego lotu (NFZ) i co ciekawsze – w celu synchronizacji danych (zdjęć, filmów i informacji o lotach). DJI wprowadził dla swoich użytkowników także specjalne ograniczenia (restrykcje) dotyczące wprowadzenia limitów parametrów lotu, jeśli użytkownik przed startem drona nie połączy się z Internetem i nie zsynchronizuje danych (m.in. położenia i stref lotu). Wniosek jest jeden- bez Internetu ciężko będzie nam latać dronem DJI.
Również za pomocą jednego konta DJI użytkownik może korzystać z wielu aplikacji udostępnianych przez producenta włączając w to fora dyskusyjne, sklep i inne systemy platformy DJI. No dobrze, ale gdzie znaleziono lukę i jak się włamano do drona?
Tak jak w większości systemów informatycznych, tak i w platformie DJI analitycy bezpieczeństwa znaleźli słaby punkt. A gdzie najlepiej szukać dziury? W zabezpieczeniach systemów logowania. To właśnie dziury w zabezpieczeniach logowania sprawiły, że można było się włamać do konta użytkownika i tym samym na bieżąco podglądać informacje wysyłane z drona do urządzenia i do Internetu.
W przeprowadzonym dochodzeniu przez analityków bezpieczeństwa CheckPoint wykryto lukę bezpieczeństwa pozwalającą cyberprzestępcom na dostęp do konta użytkownika DJI i to bez jego wiedzy. W konsekwencji jej użycia cyberprzestepca mógł uzyskać dostęp do:
- Dzienników lotów, zdjęć i filmów wygenerowanych podczas lotów dronem, jeśli użytkownik DJI zsynchronizował je z serwerami chmurowymi DJI (dzienniki lotów wskazują dokładną lokalizację drona podczas całego lotu, a także zdjęcia i filmy wykonane podczas lotu).
- Widoku z kamery na żywo i widoku na mapie podczas lotów dronem, jeśli użytkownik DJI korzystał z oprogramowania do zarządzania lotem – DJI FlightHub.
- Informacji związanych z kontem użytkownika DJI, w tym informacji o profilu użytkownika.
Atak rozpoczynał się od forum internetowego DJI, na którym użytkownicy prowadzą dyskusje na temat swoich produktów. Użytkownik, który zalogował się na forum DJI, a następnie kliknął na specjalnie zamieszczony tam złośliwy link, mógł udostępnić cyberprzestępcom swoje dane logowania i w konsekwencji umożliwić dostęp do innych zasobów online DJI takich jak:
- Platformy internetowej DJI (konto, sklep, forum)
- Danych serwera w chmurze, które zostały zsynchronizowane z aplikacji GO lub GO 4 DJI do pilotowania dronów
- DJI’s FlightHub (scentralizowanej platformy do zarządzania dronami)
Szczegóły wykrytych luk (podatności) DJI
Poniżej opisujemy dwie luki(błędy) jakie wykryli specjaliści Checkpoint w systemie DJI.
Pierwsza luka w systemie DJI została zauważona w procesie identyfikacji posiadaczy kont. W swoich badaniach specjaliści CheckPoint opisali, że: “DJI używał plików cookie (ciasteczek), do których cyberprzestępca mógł uzyskać dostęp, a następnie z nich zidentyfikować użytkownika i utworzyć tokeny lub bilety, w celu uzyskania dostęp do jego wszystkich aplikacji, do których mógł się łączyć. Za pomocą takiego pliku cookie osoba atakująca mogła po prostu przejąć dowolne konto użytkownika i przejąć nad nim pełną kontrolę w aplikacjach DJI Mobile Apps, kontem internetowym lub kontem DJI FlightHub.”
Druga luka w architekturze uwierzytelniania DJI pozwoliła naukowcom zdobyć plik cookie wymagany do identyfikacji podczas ataku na konto.
W celu pozyskania wymaganego pliku cookie, zespół badaczy przeprowadził atak XSS (cross-site scripting attack) w wywołaniu funkcji GET w określonej sekcji na stronie forum DJI.
Skonstruowany złośliwy kod XSS wstrzyknięty do wywołania funkcji GET:
\ ‘Alert (document.cookie); function updateDownImageList (data) {}
Naukowcy zauważyli również, że: “Cyberprzestępca mógłby następnie utworzyć złośliwy kod, który wysłałby ten plik cookie z meta-kluczem do jego witryny. Ten rodzaj ataku XSS nie zostałby zablokowany przez żadną aplikacją do audytu XSS, ponieważ znajdowałby się w samym kodzie JavaScript, a nie skrypcie lub zdarzeniu.”
Jak wyglądał proces hackowania drona DJI?
W celu udanego przeprowadzenia ataku cyberprzestępca musiał najpierw opublikować na forum DJI wiadomość zawierającą link do złośliwego kodu.
“Ponieważ nasz XSS znajduje się na forum, mogliśmy ominąć ograniczenie łącza. Ponadto, ponieważ setki tysięcy użytkowników komunikują się na forum DJI, osoba atakująca nie musi nawet udostępniać złośliwego linku, ponieważ będą to robić sami użytkownicy, którzy przesyłają wiadomość dalej i link“- powiedział zespół CheckPoint.
Od tego momentu dzieliło specjalistów CheckPoint kilka kroków, zanim mogli uzyskać dostęp do kont użytkowników na stronie DJI. Stąd mogli zsynchronizować swoje urządzenia, aby otrzymywać wszystkie rejestry lotów i dzienniki wideo lotów dronów obsługiwanych przez klientów DJI.
Kluczowym czynnikiem w ataku hakerskim było to, że administrator lub posiadacz konta nie otrzymywali żadnych powiadomień lub oznak, że cyberprzestepca ma pełny dostęp do ich konta.
Jak zauważyli badacze CheckPoint, “Atakujący miałby nieograniczony dostęp do logowania i oglądania kamery drona podczas lotu na żywo każdego aktualnie wykonywanego lotu lub pobierania zapisów z wcześniej zarejestrowanych lotów, które zostały przesłane na platformę FlightHub“.
Szczegóły odnośnie potencjalnego ataku zostały przedstawione w oficjalnym raporcie.
Jak DJI poradził sobie z problemem?
Mario Rebello, wiceprezes i Country Manager w Ameryce Północnej w DJI, tak skomentował problemy z bezpieczeństwem platformy:
„Cieszymy się, że analitycy CheckPoint wykazali się profesjonalizmem poprzez odpowiedzialne ujawnienie potencjalnej podatności na zagrożenia. To jest właśnie powód, dla którego DJI stawia program Bug Bounty Program na pierwszym miejscu. Wszystkie firmy technologiczne rozumieją, że wzmacnianie bezpieczeństwa cybernetycznego jest procesem ciągłym, który nigdy się nie kończy. Ochrona integralności informacji naszych użytkowników jest dla DJI najwyższym priorytetem i jesteśmy zaangażowani w dalszą współpracę z analitykami bezpieczeństwa.”
Na całe szczęście luka została już naprawiona. DJI zaklasyfikował ją do luk wysokiego ryzyko, ale z małym prawdopodobieństwem i wskazał, że nie ma dowodów na to, że luka ta była kiedykolwiek wykorzystywana przez kogokolwiek innego niż naukowcy CheckPoint.
Lekcja na przyszłość
Każdy system, tak jak w przypadku platformy DJI, może mieć swój słaby punkt. Jak się okazało w opisywanym wyżej przypadku słabym punktem był mechanizm uwierzytelnienia, którego złamanie skutkowało dostępem przez cyberprzestępców do wrażliwych informacji użytkowników. Jest on mechanizmem, który jest jednym z najbardziej podatnych na wysokie ryzyko. Nieodpowiednie zabezpieczenie mechanizmów logowania może skutkować łatwym ich przejęciem i w konsekwencji kradzieżą danych. Podobna sytuacja dotyczy wszelkich innych systemów do uwierzytelnienia takich jak opisywana przez Kapitana Hacka usługa katalogowa Microsoft Active Directory. O tym jak ją hakować pisaliśmy tutaj.
Firmy powinny zrozumieć, że poufne informacje klientów mogą być używane pomiędzy wszystkimi platformami w ich ekosystemie, a jeśli zostaną ujawnione na jednej z nich, mogą doprowadzić do zagrożenia w globalnej infrastrukturze. Powinny implementować bardziej bezpieczne mechanizmy zabezpieczania logowania np. wieloskładnikowe zabezpieczenie logowania oraz systemy powiadamiania, jeśli nastąpiło wielokrotne użycie naszego loginu lub użyto go z innej lokalizacji niż zwykle.
Również jako użytkownicy takich systemów, jeśli sam system na nas tego nie wymusza, powinniśmy częściej zmieniać nasze hasła, po to, aby nikt inny, kto uzyska do nich dostęp nie mógł z nich korzystać w nieskończoność. Powinniśmy się też zastanowić jako użytkownicy, których danych nie chcemy synchronizować z chmurą i może warto je wyłączyć w aplikacji.
Pomimo opisanych powyższych słabości, które załatał producent DJI nie zmienia to faktu, że loty dronem należą do jednych z przyjemniejszych aktywności spędzanych na świeżym powietrzu. Polecamy fajna zabawa.
Kapitan Hack.