
Всего в исследовании приняли участие три модели дронов DJI: DJI Mini 2, Mavic Air 2 и Mavic 2 Pro. Ученые также проанализировали две модели пультов управления, которые идут в комплекте с этими квадрокоптерами. Позднее выяснилось, что все найденные проблемы также актуальны и для более свежей модели Mavic 3. В рамках работы энтузиасты изучили все способы взаимодействия с устройствами, включая USB, UART, беспроводную связь (Bluetooth, Wi-Fi и проприетарный стандарт Ocusync), приложения для смартфона, а также собственный протокол коммуникации DJI Universal Markup Language.
Прежде всего исследователи рассмотрели работу фичи, которая публично не задокументирована и ранее не изучалась. Помимо коммуникаций с оператором (через пульт или приложение для телефона), квадрокоптеры DJI на отдельной частоте передают так называемый DroneID. С помощью этих данных правоохранительные органы могут идентифицировать дроны там, где их использование запрещено. Чтобы проанализировать этот метод коммуникации и определить формат передаваемых пакетов данных, пришлось изучить прошивку устройства. Как выяснилось, DroneID передается в незашифрованном виде и раскрывает локацию как самого устройства, так и его оператора. Ученые также рассмотрели сценарий, при котором оператор дрона пытается скрыть как минимум собственное местоположение. В этом случае работают традиционные методы подмены геоданных на смартфоне: фейковые координаты, судя по всему, передаются через приложение DJI на квадрокоптер и дальше транслируются в составе пакетов DroneID.
Исследователи также построили оригинальную инфраструктуру для поиска уязвимостей в ПО квадрокоптера методом фаззинга. Чтобы ускорить процесс тестирования, на устройство одним пакетом отправляли 130 тысяч команд. Фаззер адаптировали для работы с проприетарным протоколом коммуникации DJI Universal Markup Language. Чтобы проверить, работает ли дрон после такого блока команд, ученые придумали особую схему: если устройство «падало», большой блок команд делили на более мелкие. Несколько итераций таких последовательных проверок помогали найти точное число запросов, которое вызвало повреждение данных на устройстве или отказ в обслуживании.
Фаззинг помог выявить 15 уязвимостей, большинство из которых вызывают исключительно отказ в обслуживании. Но в двух случаях авторы работы нашли способ выполнить произвольный код на устройстве. Примечательно, что часть обнаруженных уязвимостей можно было эксплуатировать удаленно, в процессе коммуникации между дроном, пультом дистанционного управления и смартфоном. Одна из уязвимостей также позволяет менять серийный номер устройства, что противоречит модели безопасности, заявленной производителем.
К сожалению, на момент подготовки материала компания DJI не выпустила никаких бюллетеней с подробным описанием уязвимостей и их квалификацией. О том, что проблемы решены, мы знаем только из
Что еще произошло:
Свежий отчет «Лаборатории Касперского»
Разработчики менеджера паролей LastPass раскрыли еще одну любопытную деталь прошлогоднего взлома инфраструктуры компании (официальное
В сообщении компании ESET говорится о распространении буткита, способного обходить ограничения системы Secure Boot. Буткит распространяется в составе вредоносного ПО BlackLotus и, по данным компании, способен атаковать даже полностью пропатченные компьютеры под управлением Windows 11. Буткит эксплуатирует уязвимость