Виды спуфинга и джамминга GNSS и их воздействие на популярные платформы дронов
Практическое руководство по угрозам для: DJI Mavic, Autel, ArduPilot, iNav, Betaflight
Введение
Не все дроны одинаково уязвимы к электронному противодействию. Платформа определяет архитектуру навигации, возможности защиты и сценарии отказа. В этой статье мы рассматриваем пять конкретных экосистем, популярных среди операторов БПЛА:
Платформа
Тип
Целевая аудитория
Открытость
DJI Mavic
Проприетарная
Потребители, коммерция
❌ Закрытая
Autel Robotics
Проприетарная
Потребители, про-сегмент
❌ Закрытая
ArduPilot
Open-source
Профи, исследования, военные
✅ Полная
iNav
Open-source
FPV, fixed-wing, long-range
✅ Полная
Betaflight
Open-source
Racing, freestyle, акробатика
✅ Полная
⚠️ Важно: Закрытые платформы (DJI, Autel) скрывают детали реализации, что затрудняет независимую оценку уязвимостей. Открытые платформы (ArduPilot, iNav, Betaflight) позволяют настраивать защиту, но требуют глубоких знаний.
Результат: Потеря позиции, переход на резервные сенсоры или аварийное поведение
Спуфинг (обман)
Цель: Подменить легитимные сигналы на поддельные
Результат: Дрон «верит» в неверное местоположение, время или скорость
Типы атак по сложности:
Тип
Сложность
Оборудование
Обнаружение
Асинхронный спуфинг
Низкая
SDR от $300
✅ Легко (скачки SNR)
Синхронный спуфинг
Высокая
Профессиональное
❌ Сложно
Широкополосный джамминг
Низкая
Генератор помех
✅ По потере всех спутников
Chirp-джамминг
Очень высокая
Спец. оборудование
❌ Только премиум-приемники
Анализ по платформам
1. DJI Mavic (Air, Pro, Enterprise)
Архитектура GNSS
Проприетарный GNSS-приемник (обычно u-blox или аналог)
Глубокая интеграция с IMU, барометром, компьютерным зрением
Система APAS (Advanced Pilot Assistance Systems) для обхода препятствий
Визуальная одометрия + ИК-сенсоры для посадки
Уязвимости к джаммингу
Сценарий
Поведение
Риск
Потеря всех спутников
Переход в ATTI-режим (стабилизация только по гироскопам)
🟡 Средний
Частичная потеря (1-2 созвездия)
Ухудшение точности, но полет продолжается
🟢 Низкий
Джамминг + потеря видеосвязи
Активация Return-to-Home по последним известным координатам
🟡 Средний
Особенности:
✅ Встроенный мониторинг качества сигнала
✅ Автоматический возврат при потере навигации
❌ Нет возможности настроить пороги срабатывания
❌ Нет доступа к сырым данным для анализа
Уязвимости к спуфингу
Тип атаки
Эффективность
Последствия
Асинхронный спуфинг
🟡 Средняя
Резкий «прыжок» позиции, дрон может начать дрейфовать
Синхронный спуфинг
🔴 Высокая
Незаметный увод с маршрута, возможная кража
Временной спуфинг
🟡 Средняя
Нарушение синхронизации, сбои в логировании
Известные инциденты:
В зонах конфликтов зафиксированы случаи «перенаправления» Mavic на чужие площадки
Исследования показывают возможность обмана визуальной одометрии в помещении
Защита «из коробки»
✅ Мониторинг количества спутников и HDOP
✅ Визуальная одометрия как резерв
✅ Geofencing (запретные зоны)
✅ Шифрование телеметрии (Enterprise-версии)
❌ Нет аутентификации сигналов (OSNMA и др.)
❌ Нет возможности подключить внешнюю антиджамминг-антенну
❌ Нет доступа к параметрам EKF для тонкой настройки
Практические рекомендации
# Перед полетом:
1. Проверить количество спутников (>12) и HDOP (<1.5)
2. Убедиться, что точка «Дом» зафиксирована корректно
3. В настройках: включить «Advanced RTH», установить безопасную высоту
# В зоне риска:
- Использовать визуальные ориентиры, не полагаться только на карту
- Следить за поведением дрона: неожиданный дрейф — признак спуфинга
- Иметь план ручной посадки в ATTI-режиме
# После полета:
- Анализировать логи в DJI Flight Log Viewer на предмет аномалий
Система Dynamic Track 2.0 для слежения за объектами
Визуальные сенсоры для навигации в помещении
Уязвимости к джаммингу
Сценарий
Поведение
Риск
Полная потеря GNSS
Переход в режим стабилизации, предупреждение пилота
🟡 Средний
Потеря + потеря видео
Попытка возврата по последним координатам
🟡 Средний
Частичная потеря
Деградация точности позиционирования
🟢 Низкий
Особенности:
✅ В некоторых моделях — возможность выбора созвездий
✅ Предупреждения о низком качестве сигнала в приложении
❌ Меньше публичных исследований уязвимостей, чем у DJI
Уязвимости к спуфингу
Тип атаки
Эффективность
Последствия
Асинхронный спуфинг
🟡 Средняя
Дрейф позиции, возможные конфликты с системой избегания препятствий
Синхронный спуфинг
🔴 Высокая
Скрытый увод, особенно критично для миссий с автономным полетом
Защита «из коробки»
✅ Мониторинг спутников и качества сигнала
✅ Визуальная навигация как резерв
✅ Настраиваемые геозоны
❌ Нет доступа к низкоуровневым параметрам
❌ Ограниченная кастомизация failsafe
Практические рекомендации
Аналогичны DJI, но с учетом меньшей экосистемы:
Регулярно обновлять прошивку (Autel выпускает патчи безопасности)
Тестировать поведение в ATTI-режиме на безопасной высоте
Использовать внешние мониторы сигнала (например, GNSS-сканеры)
3. ArduPilot (Copter, Plane, Rover, Sub)
Архитектура GNSS
Поддержка широкого спектра приемников: u-blox, Unicore, Septentrio, Quectel
EKF3 (Extended Kalman Filter) для слияния данных: GNSS + IMU + барометр + оптический поток + внешняя навигация
Гибкая система источников (EK3_SRC*) и переключения между ними
Поддержка RAW-данных, постобработки, внешнего EKF
Уязвимости к джаммингу
Сценарий
Поведение
Риск
Потеря основного источника
Автоматическое переключение на резервный (если настроено)
🟢 Низкий
Потеря всех источников
Переход в режим стабилизации или RTL (зависит от настроек)
🟡 Средний
Частичная потеря
Ухудшение точности, но полет продолжается
🟢 Низкий
Особенности:
✅ Можно настроить несколько наборов источников (EK3_SRC1/2/3) и переключаться между ними
✅ Мониторинг инноваций в EKF для обнаружения аномалий
✅ Поддержка внешних антиджамминг-модулей (через UART/CAN)
✅ Доступ к сырым данным для анализа и постобработки
🔹 Уязвимости к спуфингу
Тип атаки
Эффективность
Обнаружение в ArduPilot
Асинхронный спуфинг
🟡 Средняя
✅ По скачкам инноваций (EKF:VI, EKF:SP)
Синхронный спуфинг
🔴 Высокая
⚠️ Только при наличии INS или визуальной одометрии
Временной спуфинг
🟡 Средняя
✅ По расхождению с системным временем
Защита: настройки и инструменты
# Базовая защита от помех
GPS_GNSS_MODE = 3 # Использовать все доступные созвездия
GPS_AUTO_CONFIG = 1 # Автонастройка приемника
GPS_BLEND_MASK = 3 # Мониторинг позиции и скорости
# Настройка EKF3 для обнаружения аномалий
EK3_ENABLE = 1
EK3_SRC1_POSXY = 1 # GPS для горизонтальной позиции
EK3_SRC1_VELXY = 1 # GPS для скорости
EK3_GPS_CHECK = 31 # Все проверки: HDOP, SNR, скорость, позиция
EK3_GPS_VPOS_P = 0.5 # Умеренное доверие к вертикальной позиции от GPS
EK3_GPS_VPOS_I = 0.1 # Плавная коррекция
# Мониторинг инноваций (обнаружение спуфинга)
EK3_VELNE_INNOV_LIM = 2.0 # Порог инноваций скорости (м/с)
EK3_POSNE_INNOV_LIM = 5.0 # Порог инноваций позиции (м)
# Failsafe при потере/аномалии GNSS
FS_GPS_ENABLE = 1 # Включить failsafe
FS_GPS_DELAY = 10 # Задержка 10 секунд перед активацией
RTL_ALT = 1000 # Безопасная высота возврата (см)
Продвинутые методы защиты
# Интеграция с визуальной одометрией (например, Intel Realsense)
EKF3_SRC1_POSXY = 6 # ExternalNAV как резерв
EKF3_SRC_OPTIONS = 2 # Плавный переход между источниками
# Использование двух антенн для обнаружения спуфинга (Unicore UM982)
GPS_TYPE = 18 # Unicore driver
GPS_UNICORE_HEADING = 1 # Включить расчёт курса по двум антеннам
# Поддельные сигналы с одного направления будут отклонены
# Мониторинг в реальном времени через MAVLink
# Параметры для логирования:
LOG_BITMASK = 65535 # Максимальное логирование
# Анализировать: GPS.Status, EKF.VI, EKF.SP, NKF1 innovations
Практические рекомендации
# Перед полетом:
1. Проверить конфигурацию: `param show GPS_`, `param show EK3_`
2. Убедиться, что настроены резервные источники
3. Протестировать failsafe на земле (симуляция потери сигнала)
# В полете:
- Мониторить в Mission Planner: HDOP, SatCount, EKF innovations
- При резком росте инноваций (>3σ) — вручную переключить источник или активировать RTL
# После полета:
- Анализ логов в Flight Review или UAV Log Viewer
- Искать аномалии: скачки позиции, несогласованность сенсоров
4. iNav (для FPV, fixed-wing, long-range)
Архитектура GNSS
Упрощенный фильтр (по сравнению с ArduPilot), оптимизированный для малых платформ
Поддержка u-blox, MTK, Unicore (через UART)
Интеграция с барометром, компасом, оптическим потоком (опционально)
Акцент на автономные миссии и возврат домой
Уязвимости к джаммингу
Сценарий
Поведение
Риск
Потеря GNSS
Переход в режим стабилизации (ANGLE/ACRO), предупреждение
🟡 Средний
Потеря + включен RTH
Попытка возврата по последним координатам
🟡 Средний
Частичная потеря
Ухудшение точности, но миссия продолжается
🟢 Низкий
Особенности:
✅ Простая настройка через Betaflight Configurator или CLI
✅ Поддержка резервных источников (барометр, компас)
❌ Меньше возможностей мониторинга, чем в ArduPilot
❌ Нет встроенного анализа инноваций фильтра
Уязвимости к спуфингу
Тип атаки
Эффективность
Обнаружение в iNav
Асинхронный спуфинг
🟡 Средняя
⚠️ По резким изменениям позиции (если включен мониторинг)
Синхронный спуфинг
🔴 Высокая
❌ Практически невозможно без внешних сенсоров
Защита: настройки CLI
# Базовая настройка GNSS
set gps_provider = UBLOX # Или UNICORE, MTK
set gps_ubx_sbas = 3 # Включить SBAS для коррекции
set gps_min_sats = 6 # Мин. спутников для фиксации
set gps_hdop_good = 200 # Порог хорошего HDOP (умножить на 100)
# Возврат домой и failsafe
set nav_rth_alt_mode = 1 # Фиксированная высота RTH
set failsafe_gps_loss = 1 # Включить RTH при потере GPS
set gps_rescue_angle = 200 # Угол подъема при RTH (градусы ×10)
set gps_rescue_throttle = 1500 # Тяга при RTH
# Мониторинг (ограниченный)
set blackbox_mode = 1 # Включить логирование
# Анализировать: GPS.numSat, GPS.hdop, GPS.speed
Практические рекомендации
# Для long-range миссий:
1. Использовать приемник с поддержкой нескольких частот (L1+L5)
2. Настроить «двойной» RTH: по GNSS + по компасу/барометру
3. Тестировать потерю сигнала в безопасной зоне
# Для FPV-гонок (где GNSS вторичен):
- Можно отключить мониторинг, чтобы избежать ложных срабатываний
- Но оставить базовый failsafe для экстренных случаев
# После полета:
- Просматривать blackbox-логи в iNav Blackbox Explorer
- Искать аномалии в `GPS.*` и `NAV.*` полях
5. Betaflight (racing, freestyle, акробатика)
Архитектура GNSS
GNSS — опциональный модуль, не является основным для навигации
Основной упор на ручной пилотинг: акселерометры + гироскопы
Поддержка u-blox, MTK (через UART) для функций: возврат домой, геозоны, телеметрия
🔹 Уязвимости к джаммингу
Сценарий
Поведение
Риск
Потеря GNSS
Никакого влияния на полет (если не активированы авто-функции)
🟢 Минимальный
Активирован RTH + потеря
Попытка возврата по последним координатам
🟡 Средний
Джамминг видеосвязи + потеря GNSS
Пилот теряет ориентиры, риск потери аппарата
🔴 Высокий
Особенности:
✅ Полет не зависит от GNSS — можно летать в помещении, под мостами, в лесу
✅ Минимальная задержка, максимальная отзывчивость
❌ Нет продвинутых фильтров или слияния сенсоров для навигации
❌ Ограниченные возможности failsafe
Уязвимости к спуфингу
Тип атаки
Эффективность
Обнаружение в Betaflight
Любой спуфинг
🟢 Низкая (если не используется)
❌ Нет встроенных механизмов
Ключевой момент: В большинстве сценариев использования Betaflight спуфинг не представляет угрозы, потому что:
Пилот управляет вручную
Позиция используется только для телеметрии или простых авто-функций
Нет сложных миссий, зависящих от точной навигации
Защита: настройки CLI
# Если GNSS используется (для RTH или телеметрии):
set gps_provider = UBLOX
set gps_ubx_sbas = 3
set gps_min_sats = 6
# Failsafe при потере связи (включая потерю видео)
set failsafe_switch_mode = STAGE2
set failsafe_throttle = 1000 # Отключить моторы или снизить тягу
set failsafe_off_delay = 200 # Задержка перед отключением (0.1с)
# Для функций возврата:
set gps_rescue_angle = 200
set gps_rescue_throttle = 1500
set gps_rescue_min_sats = 8 # Требовать больше спутников для активации
# Мониторинг (базовый):
set blackbox_mode = 1
# Анализировать: GPS.numSat, GPS.hdop в логах
Практические рекомендации
# Для гонок и фристайла:
1. Не полагаться на GNSS для критичных функций
2. Использовать «умные» батареи с телеметрией напряжения
3. Тренировать ручную посадку без видеосвязи
# Если используете RTH:
- Убедиться, что точка «Дом» зафиксирована до взлета
- Проверить количество спутников (>8) и отсутствие предупреждений
- Иметь план ручной посадки на случай сбоя
# После полета:
- Просматривать логи на предмет аномалий в `GPS.*`
- Но помнить: в Betaflight основное — это стабильность полета, а не навигация
Сравнительная таблица уязвимостей
Платформа
Джамминг
Асинхронный спуфинг
Синхронный спуфинг
Возможность защиты
DJI Mavic
🟡 Средний (ATTI-режим)
🟡 Средняя (дрейф)
🔴 Высокая (скрытый увод)
❌ Ограниченная
Autel
🟡 Средний
🟡 Средняя
🔴 Высокая
❌ Ограниченная
ArduPilot
🟢 Низкий (переключение источников)
🟡 Средняя (мониторинг инноваций)
🟡 Средняя (с INS)
✅ Полная настройка
iNav
🟡 Средний
🟡 Средняя
🔴 Высокая
⚠️ Базовая
Betaflight
🟢 Минимальный (полет не зависит)
🟢 Низкая
🟢 Низкая
⚠️ Только базовый failsafe
Общие рекомендации по защите
Для всех платформ:
✅ Перед полетом:
- Проверить количество спутников (>10) и качество сигнала (HDOP < 1.5)
- Убедиться, что точка «Дом» зафиксирована корректно
- Протестировать failsafe на земле (если возможно)
✅ В зоне риска:
- Не полагаться только на GNSS: использовать визуальные ориентиры
- Следить за поведением дрона: неожиданный дрейф — признак спуфинга
- Иметь план ручной посадки/возврата
✅ После полета:
- Анализировать логи на предмет аномалий
- Обновлять прошивку до последней версии
- Документировать инциденты для улучшения тактики
Специфично для открытых платформ (ArduPilot/iNav):
✅ Использовать приемники с антиджамминг-защитой (Unicore UM982, Septentrio)
✅ Настроить несколько источников данных и переключение между ними
✅ Включить мониторинг инноваций EKF для обнаружения аномалий
✅ Интегрировать визуальную одометрию или INS для резервирования
✅ Регулярно тестировать failsafe в контролируемых условиях
Для закрытых платформ (DJI/Autel):
✅ Использовать Enterprise-версии с расширенными функциями безопасности
✅ Следить за обновлениями прошивок (патчи уязвимостей)
✅ Не летать в зонах с известными помехами без необходимости
✅ Иметь «запасной» дрон или план миссии без автономных функций
🔧 Инструменты для мониторинга и анализа
Инструмент
Платформы
Назначение
DJI Flight Log Viewer
DJI
Анализ логов, поиск аномалий
Autel Flight Log Analyzer
Autel
Декодирование телеметрии
Mission Planner / QGroundControl
ArduPilot, iNav
Настройка, мониторинг в реальном времени
Betaflight Configurator + Blackbox Explorer
Betaflight, iNav
Настройка и анализ логов
GNSS-сканеры (HackRF + gps-sdr-sim)
Все
Обнаружение помех в эфире
UAV Log Viewer (веб)
ArduPilot, iNav
Визуализация и анализ полетных данных
💡 Заключение
Ключевые выводы:
Закрытые платформы (DJI, Autel) удобны, но ограничивают возможности защиты. Вы зависите от производителя в вопросах безопасности.
Открытые платформы (ArduPilot, iNav, Betaflight) дают полный контроль, но требуют глубоких знаний. Правильная настройка может значительно повысить устойчивость к атакам.
Betaflight — наименее уязвима к спуфингу, потому что не полагается на GNSS для полета. Но это же делает её непригодной для автономных миссий.
ArduPilot — наиболее гибкая платформа для защиты: поддержка антиджамминг-модулей, мониторинг инноваций, интеграция с внешними сенсорами.
Ни одна платформа не защищена на 100%. Многослойный подход (аппаратный + программный + операционный) — единственный эффективный путь.
⚠️ Финальное предупреждение: Технологии спуфинга становятся доступнее (оборудование от $300), а атаки — изощреннее. Регулярно обновляйте знания, тестируйте failsafe и не полагайтесь только на автоматические системы. Безопасность — это процесс, а не настройка.
Статья актуальна на 2026 год. Рекомендуется регулярно проверять обновления прошивок и документацию производителей, так как ландшафт угроз быстро меняется.