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.
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.
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).
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.
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
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.
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 :)
Ale czepianie się Amazona chyba trochę nietrafione – przecież ich drony powinny być autonomiczne.
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 ;-)
A co jeśli spotkają się 2 drony z zainstalowanym SkyJack?
Fight to death!
Ludzki Ruch Oporu w walce ze Skynetem ;)
Coraz częściej “najgłupsze” scenariusze filmowe okazują się nie takie dalekie od prawdy
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”
Tylko czekać, aż się do tego dobiorą spamerzy. Spam z nieba – to by było coś :)
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.
Czuję że przybędzie fanów łowiectwa
To nie jest przypadkiem Kamkar, a nie Kamar?
…czy mogłbym prosic o dostarczenie tej “pizzy” – na Wiejską?….na moj rachunek!!~…
[…] 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 […]
[…] 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, […]
[…] ż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 […]