Все статьи

Виды спуфинга и джамминга GNSS и их воздействие на популярные платформы дронов

Практическое руководство по угрозам для: DJI Mavic, Autel, ArduPilot, iNav, Betaflight


Введение

Не все дроны одинаково уязвимы к электронному противодействию. Платформа определяет архитектуру навигации, возможности защиты и сценарии отказа. В этой статье мы рассматриваем пять конкретных экосистем, популярных среди операторов БПЛА:

ПлатформаТипЦелевая аудиторияОткрытость
DJI MavicПроприетарнаяПотребители, коммерция❌ Закрытая
Autel RoboticsПроприетарнаяПотребители, про-сегмент❌ Закрытая
ArduPilotOpen-sourceПрофи, исследования, военные✅ Полная
iNavOpen-sourceFPV, fixed-wing, long-range✅ Полная
BetaflightOpen-sourceRacing, freestyle, акробатика✅ Полная

⚠️ Важно: Закрытые платформы (DJI, Autel) скрывают детали реализации, что затрудняет независимую оценку уязвимостей. Открытые платформы (ArduPilot, iNav, Betaflight) позволяют настраивать защиту, но требуют глубоких знаний.


Классификация угроз (кратко)

Джамминг (подавление)

  • Цель: «Заглушить» слабые спутниковые сигналы (~-130 дБм) мощной помехой
  • Результат: Потеря позиции, переход на резервные сенсоры или аварийное поведение

Спуфинг (обман)

  • Цель: Подменить легитимные сигналы на поддельные
  • Результат: Дрон «верит» в неверное местоположение, время или скорость

Типы атак по сложности:

ТипСложностьОборудованиеОбнаружение
Асинхронный спуфингНизкая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 на предмет аномалий

2. Autel Robotics (EVO II, Nano, Alpha)

Архитектура GNSS

  • Аналогична DJI: проприетарный стек, мультисистемный прием (GPS+GLONASS+Galileo)
  • Система 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 ViewerDJIАнализ логов, поиск аномалий
Autel Flight Log AnalyzerAutelДекодирование телеметрии
Mission Planner / QGroundControlArduPilot, iNavНастройка, мониторинг в реальном времени
Betaflight Configurator + Blackbox ExplorerBetaflight, iNavНастройка и анализ логов
GNSS-сканеры (HackRF + gps-sdr-sim)ВсеОбнаружение помех в эфире
UAV Log Viewer (веб)ArduPilot, iNavВизуализация и анализ полетных данных

💡 Заключение

Ключевые выводы:

  1. Закрытые платформы (DJI, Autel) удобны, но ограничивают возможности защиты. Вы зависите от производителя в вопросах безопасности.
  2. Открытые платформы (ArduPilot, iNav, Betaflight) дают полный контроль, но требуют глубоких знаний. Правильная настройка может значительно повысить устойчивость к атакам.
  3. Betaflight — наименее уязвима к спуфингу, потому что не полагается на GNSS для полета. Но это же делает её непригодной для автономных миссий.
  4. ArduPilot — наиболее гибкая платформа для защиты: поддержка антиджамминг-модулей, мониторинг инноваций, интеграция с внешними сенсорами.
  5. Ни одна платформа не защищена на 100%. Многослойный подход (аппаратный + программный + операционный) — единственный эффективный путь.

⚠️ Финальное предупреждение: Технологии спуфинга становятся доступнее (оборудование от $300), а атаки — изощреннее. Регулярно обновляйте знания, тестируйте failsafe и не полагайтесь только на автоматические системы. Безопасность — это процесс, а не настройка.


Статья актуальна на 2026 год. Рекомендуется регулярно проверять обновления прошивок и документацию производителей, так как ландшафт угроз быстро меняется.

Прокрутить вверх