Группа специалистов по информационной безопасности shellntel разработала рабочую схему перехвата управления квадрокоптерами с использованием уязвимости в протоколе телеметрии. С подробностями можно ознакомиться в соответствующей записи в блоге разработчиков, видеозапись с демонстрацией работы устройства опубликована на YouTube.
Протокол передачи телеметрии для малых беспилотников MAVLink передает данные в незашифрованном виде. При этом для каждой пары пульт-беспилотник используется простой цифровой идентификатор. Специалисты собрали простую схему из компьютера Raspberry Pi и модуля радиосвязи, который используется в качестве сниффера. Поскольку шифрование в протоколе отсутствует, для перехвата управления беспилотником достаточно всего одного пакета.
В опубликованном видео разработчики демонстрируют простое отключение квадрокоптера после перехвата его идентификатора для радиосвязи, однако с таким же успехом можно перехватить управление беспилотником и угнать его. Кроме того, теоретически при помощи MAVLink можно задать GPS-координаты для возврата беспилотника, таким образом собрав автономную станцию для угона квадрокоптеров.
По словам разработчиков, угнать чужой дрон оказалось неожиданно простой задачей. MAVLink используют в своих беспилотниках многие компании, поэтому уязвимости подвержены как известные серийные модели (например, AR.Drone), так и популярные системы управления беспилотными машинами, (ArduPilot, PX4FMU) на базе которых энтузиасты собирают самостоятельные коптеры.
Ранее специалист по компьютерной безопасности Сами Камкар создал дрон SkyJack, способный перехватывать сигнал управления беспилотниками Parrot, после чего захваченный беспилотник переходил под контроль оператора SkyJack. Программное обеспечение проекта доступно всем желающим и опубликовано в репозитории GitHub.