14:41
5/12/2013

Samy Kamar udostępnił instrukcje pozwalające zmienić ogólnodostępnego na rynku drona (Parrot AR.Drone) w maszynę, która wyszukuje i przechwytuje kontrolę nad innymi dronami, atakując ich kanał komunikacyjny (zwykła sieci Wi-Fi). Z tego pomysłu chyba nie ucieszy się Amazon, który niedawno ogłosił, że zamierza niebawem wprowadzić drony do dostarczania przesyłek…

Z czego składa się SkyJack

SkyJack to łatwodostępny na rynku dron dla hobbystów, o nazwie Parrot AR.Drone 2.0 (koszt ok. 1000 PLN), kontrolowany poprzez aplikację na Androida lub iOS przy pomocy sieci Wi-Fi. Samy dorzucił do niego Raspberry Pi i dwie karty Wi-Fi: Alfa AWUS036H z zewnętrzną anteną oraz Edimax EW-7811Un. Wszystko jest zasilane z 1000mAh baterii przez USB i kontrolowane poprzez odpowiedni skrypt napisany w Perlu o nazwie SkyJack.

SkyJack - dron porywający inne drony

SkyJack – dron porywający inne drony

Karta Alfa, z racji możliwości pracy w monitor mode jest używana do nasłuchu i wstrzykiwania pakietów w komunikację innych sieci Wi-Fi (bez konieczności asocjacji). Dzięki niej, SkyJack może wykrywać inne drony — a raczej ich komunikację, poprzez analizę prefiksów adresów MAC (w końcu pierwsza połowa adresu MAC, czyli OUI 00:12:1C, ujawnia producenta Parrotów).

Jak SkyJack przejmuje inne drony?

SkyJack, po wykryciu drona-ofiary korzysta ze znanego narzędzia służącego do ataków na sieci Wi-Fi o nazwie Aircrack-ng. Przy jego pomocy (a dokładnie przy pomocy aireplay-ng -0) SkyJack przeprowadza atak deauth, który zrywa asocjację innych klientów (tzn. dronów – “ofiar”) z siecią Wi-Fi służącą do ich kontroli.

Kiedy dron straci komunikację z kontrolującą go siecią, mogą nastąpić — w zależności od modelu i logiki drona — różne akcje. Próba wylądowania, próba powrotu do punktu startu (o ile dron został wyposażony w moduł GPS) lub “zawiśnięcie” w miejscu i oczekiwanie na wznowienie połączenia.

SkyJack jednak nie tylko odłącza ofiarę od macierzystej sieci, ale idzie krok dalej. Podszywa się pod oryginalnego operatora i wysyła własne komendy do przejętego drona przy pomocy pakietu node-ar-drone, czyli open-source’owej biblioteki implementującej standardy komunikacyjne drona AR Parrot.

Dlaczego atak jest możliwy i jak się przed nim zabezpieczyć?

Bolesna prawda jest taka, SkyJack działa, bo drony, które jest w stanie porwać, czyli Parroty, korzystają z nieszyfrowanej sieci Wi-Fi do komunikacji. Inne modele dronów nie będą już tak łatwym celem (o ile dalej niektóre z nich korzystają nieszyfrowanych połączeń radiowych, to protokół, którym się komunikują nie jest już udokumentowany. Oczywiście security by obscurity nie jest dobrą ochroną, ale mimo wszystko jest to przeszkoda).

Brak szyfrowania transmisji w lotnictwie to zresztą nie nowość — z pasażerskich samolotów można wykradać numery kart kredytowych, które są transmitowane do kontrolerów lotu przy pomocy nieszyfrowanego protokołu ACARS.

Dodatkowo, SkyJack w obecnej wersji nie podejmie wrogich działań, jeśli MAC ofiary nie należy do Parrota. Dlatego jeśli posiadacie tego drona, na wszelki wypadek warto zmienić mu MAC adres :-)

PS. Warto podkreślić, że drony można przejmować nie tylko z powietrza. Wystarczy sam Linuks z zainstalowanym oprogramowaniem SkyJack.

PPS. Samy nie jest też pierwszą osobą, która wpadła na taki pomysł. Oto wideo sprzed 8 miesięcy, ukazujące ataki ARP i klonowanie MAC jako metodę na przejęcie obcego drona:

Dokładnie rok temu podczas imprezy o nazwie DroneGames zaprezentowano złośliwego drona, który infekował inne drony… złośliwym oprogramowaniem (kod ataku: virus-copter). Dron łączy się na porcie 23 z innymi dronami i wgrywa na nie pliki JavaScriptowe, które służą do wyszukiwania innych dronów i klonowania złośliwego kodu. Znów jest to możliwe bo drony AR korzystają z sieci Wi-Fi ad-hoc bez szyfrowania i udostępniają shell bez uwierzytelnienia na porcie 23 oraz pozwalają się kontrolować przez pakiety UDP na porcie 5556.


Przeczytaj także:



27 komentarzy

Dodaj komentarz
  1. W sumie tak można i kogoś zabić – przejmujemy drona, np. z pizzą :> i komuś wlatujemy prosto w łeb…

    • Prędzej już skierować drona z pyszniutką pizzą na swój balkon. Mniejszy wyrok i jeszcze się człowiek naje :D

  2. To czekamy kiedy Amazon zacznie dostarczać przesyłki takimi dronami. Żeby tylko sąsiedzi zamawiali coś fajnego…

    • Amazon zrobił publicity stunt a wy wszyscy łyknęliście. Myśl logicznie, człowieku.

  3. Zastanawia mnie co skłania firmę która wypuszcza taki produkt by zrezygnować z komunikacji szyfrowanej, czas reakcji urządzenia?To nie można obrazu streamować normalnym kanałem nieszyfrowanym, a sterować szyfrowanym?

    • Szyfrowanie “na żywo” wymaga trochę więcej mocy przerobowej. Lagi, energia z baterii.. powodów może być co najmniej kilka.

    • Prawda jest taka, że 802.11 (“WiFi”) nie nadaje się do potrzeb precyzyjnej kontroli pojazdów w czasie rzeczywistym. Powodów jest kilka – bursting pakietów (buforowanie; oszczędzający prąd, ale też dużo zwiększający opóźnienia – domyślnie aktywny w większości urządzeń sieciowych), użyty protokół CSMA/CA (ponieważ 802.11 jest dostosowany do pracy w trybie multi-point, a w p-t-p mogłoby być szybciej bez tego protokołu w optymalnych warunkach).

      Poza tym, urządzenia takie jak tablety i telefony mają bardzo słabe anteny (które, ze swojej natury, nie mogą być kierunkowe, bo byśmy musieli robić dziwne wygibasy z telefonem, żeby mieć zasięg sieci).

      Bezpieczniejszym (zarówno “safer” jak i “more secure”) rozwiązaniem byłaby transmisja bezpośrednia, po radiu takim, jakiego używają większe quadcoptery z własnymi pilotami. Niby też często 2.4GHz, ale nie jest to w żadnym wypadku WiFi. Ma dobry czas odpowiedzi, działa na jednym kanale, i w miarę łatwo da się dodać szyfrowanie do protokołu (chociaż aktualnie chyba nie jest wspierane). A także trudniej dobrać się do tego kartą WiFi (trzeba raczej mieć moduł SDR, a nie zwykły interfejs 802.11, choć to akurat żadna przeszkoda dla chcącego).

      * Kiwi piszące ten tekst nie jest profesjonalnym projektantem sterowanych sieciowo pojazdów ani ptaków.

    • Maintenance dodatkowego kodu (nawet jesli jest open source’owy)

    • “Bezpieczniejszym (zarówno “safer” jak i “more secure”) rozwiązaniem byłaby transmisja bezpośrednia, po radiu takim, jakiego używają większe quadcoptery z własnymi pilotami. ”

      Ale czy w takim wypadku nie wystarczyłoby odpalić radia na tym samym kanale blisko drona żeby go przejąć?

    • @Bartosz Kolasiński
      Nie ponieważ normalne radia do kopterów binduje się z odbiornikiem i jest to możliwe tylko fizycznie. Nie da się tego zrobić zdalnie. Takie radio można co najwyżej zagłuszyć choć będzie to bardzo trudne. Brak sygnału z nadajnika zazwyczaj od razu uruchamia procedurę powrotu do miejsca startu. A tak przy okazji to ar drone to badziewna zabawka do latania po domu. Nie ma to jak normalny kopter :)

  4. Ale czepianie się Amazona chyba trochę nietrafione – przecież ich drony powinny być autonomiczne.

  5. Czyli nadeszła era znana z terminatora 3 ” Wroga maszyna przejmuje inne maszyny “

    • Hmm a ja myślałem, że to już mamy od dawien dawna i nazywa się wirus a w jego przypadku maszyna to najzwyklejszy komputer ;-)

  6. A co jeśli spotkają się 2 drony z zainstalowanym SkyJack?

    • Fight to death!

  7. Ludzki Ruch Oporu w walce ze Skynetem ;)
    Coraz częściej “najgłupsze” scenariusze filmowe okazują się nie takie dalekie od prawdy

  8. Zacząć należy od tego, że opisywany “dron” jest zwykłą zabaweczką przeznaczoną dla zabawy dla amatorów i dla dzieci. W jakichkolwiek poważniejszych zastosowaniach, choćby wykonywania zdjęć i filmowania wykorzystuje się sprzęt 30x-100x droższy.
    Robicie aferę – “uwaga, ktoś z chwilę przejmie kontrolę nad Waszymi klockami LEGO i zamiast cyrku zbuduje parking”

  9. Tylko czekać, aż się do tego dobiorą spamerzy. Spam z nieba – to by było coś :)

  10. Ten wpis to dowód, że na wszystkim znać się nie można. Zajmijcie się jednak tym co jest Waszą specjalnością, bo w tym artykule się kompromitujecie.

    Parrot to nie jest żaden dron tylko zabawka to po pierwsze.

    Amatorskie drony nie korzystają z sieci WiFi – do manualnego sterowania nimi wykorzystywane są co prawda fale radiowe, ale nawet jeśli jest to częstotliwość 2,4 GHz to niema się ta transmisja nijak do WiFi. W trybie autonomicznym te maszyny korzystają z wbudowanych mikrokontrolerów wtedy jedyna metoda na przejęcie kontroli to ingerencja w program mikrokontrolera (potencjalnie możliwa jedynie jeśli dron wyposażony jest w telemetrię opartą o fale radiowe).

    • Dobra, dobra, pokazałeś że jesteś pro. A teraz na spokojnie zechciej zauważyć, że producent Parrota nazywa go dronem i do sterowania wykorzystywana jest sieć Wi-Fi. Artykuł Niebezpiezpiecznika mówi o konkretnie tym dronie, a nie żadnym innym, więc nie sadze, że gdziekolwiek się tu skompromitowali, a wręcz przeciwnie, w przeciwieństwie do innych stron które poruszyły ten temat jako jedyni podali, że to wcale nie jest nowy atak.

    • Dron, czy też UAV to pojęcie bardzo szerokie. I te proste droniki za tysiaka i te wojskowe drony mają za przodków zdalnie sterowane zabawki.

  11. Czuję że przybędzie fanów łowiectwa

  12. To nie jest przypadkiem Kamkar, a nie Kamar?

  13. …czy mogłbym prosic o dostarczenie tej “pizzy” – na Wiejską?….na moj rachunek!!~…

  14. […] na tyle popularny, że dostępne jest już jego polskie tłumaczenie. Patrząc na to ile, także amatorskich dronów pojawia się na naszym niebie, warto przeczytać te wskazówki. Najciekawsze z nich prezentujemy […]

  15. […] na temat sieci Wi-Fi zbierały już drony, samochody Google. Zbieracie także i wy… Mało kto wie, ale każdy smartphon, czy to iPhone, […]

  16. […] że dla Androida istnieje ciekawa aplikacja wykrywająca podpięcie do fałszywego BTS-a, a drony można przechwytywać, albo ogłupiać ich zdolność do […]

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: