Е.В. Дмитриева, А. В. Красов, О. Б. Филиппов Санкт-Петербургский государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича
В данной работе рассматривается возможность и практическое применение обратного инжиниринга протокола передачи данных, между пультом дистанционного управления и квадрокоптером от компании WLtoys модели V686. Также, исследование радиочастотных каналов, потенциальные возможности атаки на отказ в управлении дрона, удаленный перехват контроля. Обратному инжинирингу подвергнется и приложение для Android устройств от производителя, с описанием обнаруженных уязвимостей, перехватом видеопотока, управления дроном.
беспилотники, RTL-SDR HackRF, риверс-инжиниринг, GNU Radio, Nmap.
Основная проблема заключается не только в операторах БПЛА, которые используются повсеместно, а еще в отсутствии защиты в канале передачи данных. Производители часто не уделяют должного внимания этому аспекту. В данной работе будет использован квадрокоптер производства компании WLtoys модели V686 (рис. 1), являющийся одним из примеров недостаточной защищенности канала передачи данных. В статье будут проведены исследования методом ручного анализа канала, реверсивного инжиниринга данных на предмет наличия уязвимостей, защит от атак на повтор, возможность перехвата управления. После анализа и описания этих данных, будут приведены примеры атак на перехват контроля и отказа в управлении, а также приведен алгоритм анализа радиочастотного канала, т. к. протокол передачи данных является закрытым [1].
Наибольший интерес представляет первые две функции. Реверс инжиниринг проводился с помощью RTL-SDR HackRF и комплекта открытого программного обеспечения GNU Radio [2]. Алгоритм реверс-инжиниринга представлен ниже:
- подключаем HackRF и запускаем граф исследования 2,4 ГГц диапазона;
- запускаем квадрокоптер и пульт ДУ;
- взаимодействует с любой функциональной кнопкой на пульте, записывая в блокнот время нажатия и кнопку;
- составляем описание сигнала, модуляцию и последовательность данных, записываем в блокнот пример сигнала для действия; - повторяем действия для всех кнопок на пульте.
Рис. 1. Рисунок квадрокоптера (изображение)
Анализ полученных данных показал, что передача данных идет на частотах от 2,412 ГГц до 2,484 ГГц, что соответствует Wi-Fi сетям. Основываясь на том, что данные передаются с помощью сети стандарта 802.11 в установленных выше диапазонах, можно сделать частотное распределение по функциям управления (табл.).
ТАБЛИЦА. Результат риверс-инжиниринга радио-протокола
Центральная частота, ГГц |
Номер канала Wi-Fi |
Действие |
2,412 |
CH 1 |
Крен по горизонтали |
2,417 |
CH 2 |
Крен по вертикали |
2,422 |
CH 3 |
Скорость вращения лопастей |
2,427 |
CH 4 |
Рыскание
|
Использование Wi-Fi в качестве средства передачи данных между оператором и устройством не удивительно, т. к. поддержка такого метода проста, а реализация не составляет труда. В интернете можно найти множество моделей на радиоуправлении, которые использует такой вариант. Однако, здесь появляются и крупные недостатки, связанные с уязвимостями точек доступа и их настройкой. В случае исследуемого дрона, то шифрование трафика внутри сети полностью отсутствует, а точка не запрашивает авторизацию при подключении, позволяя злоумышленнику удаленно подключится к квадрокоптеру и использовать атаки на отключение пульта ДУ (дистанционное управление) оператора, методом отправки на MAC адрес, специально сформированный пакетов типа deAUTH. Это приводит к полному отказу (к разрыву канала между пультом дистанционного управления и дрона) контроле за объектом и зависание в воздухе дрона на несколько секунд. По прошествии этого промежутка времени, дрон попытается вернутся к месту взлета, параллельно находясь в режиме поиска контролирующего пакета с данными для восстановления управления. Атакующий может в этот момент отправить пакет с данными на порт шлюза дрона, на котором запущен обработчик событий, и если полученные данные пройдут необходимую проверку, то возможно выполнение произвольной команды на целевом устройстве – дроне. Данный метом является приоритетным для перехвата управления, так как в момент принятия пакетов, не обрабатываются запросы с пульта оператора [3, 4].
В момент запуска дрона, на 6-ом канале Wi-Fi создается открытая точка доступа, без шифрования. Она позволяет подключать к себе до четырех клиентов, однако, она не маршрутизирует трафик внутри себя, и клиенты не могут друг друга видеть. То есть пакеты могут посылаться только от клиента к точке (Gateway). Это понижает коэффициент успешных попыток перехвата управления методом атаки типа человек посредине. С помощью утилиты Nmap были обнаружены два открытых порта на дроне: 80 и 8080. На 80 порту запущен Веб сервер, через который можно конфигурировать точку доступа, выполнять удаленную перезагрузку устройства. На другом – обработчик, отвечающий за обработку TCP пакетов и передачу их по шине – в контроллер дрона. Который, в свою очередь, передаст команды на винты, светодиоды и т. д. Недостатком является то, что на обоих портах отсутствует аутентификация, что в купе с отсутствием таковой на точке доступа, позволяет атакующему посылать произвольный пакеты обработчику, что способно вызвать перехват контроля. Еще большую опасность представляет 80 порт, т. к. он позволяет перезагрузить устройство [5]. Перед моментом перезагрузки системы не происходит проверка на то, что находится ли устройство в воздухе, и позволяет атакующему вывести устройство из строя, путем отключения его в процессе полета и физическому повреждению последнего об ударе о землю, либо о любой другой предмет.
В качестве рекомендации предлагается проделать следующие операции. Для перехвата управления, необходимо послать по TCP протоколу на порт 8080 специально сформированную последовательность, однако, это коммерческий продукт с закрытым исходным кодом и протоколы передачи недоступны для публичного доступа. Но у компании производителя квадрокоптера существует мобильное приложение, благодаря которому существует возможность удаленного управления полетом. Проведя обратную разработку файла, была получена библиотека с описанием протокола данных для отправки на порт 8080. Так же, была замечена особенность, что после запуска приложения, пульт ДУ оператора, не участвовал в процессе полета.
Рис. 2. Демонстрация работы программно-аппаратного комплекса
На основе проведенного исследования, можно сделать вывод о том, что контроллер отдавал приоритет на управление обработчику команд на порту 8080 (рис. 2). На основании всего вышеизложенного, был разработан комплекс ПО и направленных Wi-Fi антенн, позволяющий отключать, перехватывать управление за тестовым дроном. Что и являлось целью данной работы.
Список используемых источников
1. Штеренберг С. И. Методика применения в адаптивно системе локальных вычислительных сетей стеговложения в исполнимые файлы на основе самомодифицирующегося кода // Системы управления и информационные технологии. 2016. Т. 63. № 1. С. 51–54.
2. Андрианов В. И., Романов Г. Г., Штеренберг С. И. Экспертные системы в области информационной безопасности // Актуальные проблемы инфотелекоммуникаций в науке и образовании. IV Международной научно-технической и научно-методической конференции: cб. науч. ст. в 2 томах. 2015. С. 193–197.
3. Андрианов В. И., Красов А. В., Липатников В. А. Инновационное управление рисками информационной безопасности: учебное пособие. Федеральное агентство связи, Федеральное гос. образовательное бюджетное учреждение высш. проф. образования «Санкт-Петербургский гос. ун-т телекоммуникаций им. проф. М. А. Бонч-Бруевича». СПб., 2012.
4. Душин С. Е., Красов А. В., Кузьмин Н. Н. Моделирование систем управления: учебное пособие для студентов высших учебных заведений, обучающихся по направлению 220400 «Управление в технических системах» / под ред. С. Е. Душина. М., 2012.
5. Жадан О. П., Стахеев И. Г., Штеренберг И. Г. Алгоритм формирования архитектуры системы технологического управления полевой транспортной сети связи специального назначения // Актуальные проблемы инфотелекоммуникаций в науке и образовании. III Международная научно-техническая и научно-методическая конференция: сб. науч. ст. 2014. С. 808–811.