Помехи ГНСС можно разделить на следующие две категории:
- Глушение
- Спуфинг
Атаки с использованием глушения включают в себя передачу мощных радиосигналов в том же диапазоне частот, что и ГНСС, что может заглушить относительно более слабые сигналы, передаваемые спутниками ГНСС. Это может помешать приёмникам ГНСС, включая телефоны, определить своё местоположение.
Спуфинг — это более сложная атака, при которой передаются поддельные сигналы, выдаваемые за настоящие сигналы ГНСС. Эти поддельные сигналы могут обмануть ГНСС-приёмник, заставив его вычислить местоположение или время, сильно отличающиеся от реальных, что может сбить с толку картографические и навигационные приложения и выдать пользователям неверную информацию.
О спуфинге или глушении сигналов ГНСС
Уровень сигнала или отношение несущей к шуму (C/N0) сигнала, а также автоматическая регулировка усиления (АРУ) радиоприемника GNSS в телефоне могут быть хорошими индикаторами помех.
АРУ имеет тенденцию к снижению при обнаружении спуфинга или глушения. При приёме сильных радиоволн радиостанция уменьшает усиление усилителя (АРУ), чтобы отрегулировать мощность принимаемого сигнала.

Однако поведение C/N0 меняется при глушении и спуфинге. При глушении уровень шума, наблюдаемый радиостанцией, значительно выше обычного, поэтому знаменатель отношения несущей к шуму увеличивается, а значение C/N0 падает. При спуфинге происходит обратное: поскольку передаётся ложный сигнал, достаточно громкий, чтобы заглушить реальный сигнал со спутника, общая мощность сигнала становится высокой, и, следовательно, C/N0 увеличивается.
Проверьте наличие спуфинга или глушения сигналов GNSS
Вы можете использовать вкладку «Spoof/Jam» в приложении GnssLogger , чтобы исследовать влияние окружающей среды на C/N0 и AGC в режиме реального времени.
Графики АРУ и C/N0 в реальном времени
На вкладке «Подмена/Глушение» отображается график AGC и C/N0 в реальном времени для каждого созвездия и диапазона GNSS (например, «GPS L1» или «G:L1:», «Galileo E5a» или «E:E5A:»).

Проверка в режиме реального времени на наличие спуфинга и глушения
Под графиком AGC и C/N0 в реальном времени приложение отображает ряд автоматизированных проверок данных, которые выявляют условия, связанные с помехами GNSS.

В разделе «Проверка глушения» приложение проверяет, изменилось ли среднее значение C/N0 и AGC за последние 10 эпох по сравнению с предыдущими 50 эпохами. Одновременное снижение C/N0 и AGC может быть признаком глушения сигналов ГНСС. При обнаружении такой ситуации на карте отображается сообщение FAIL (Сбой) с дополнительной информацией:

Первая карта в разделе проверок подмены также проверяет C/N0 и AGC, но ищет одновременное увеличение C/N0 и падение AGC.
Вторая проверка, связанная со спуфингом, ищет разницу более чем в одну секунду между временем GNSS, вычисленным на устройстве, и временем, полученным через интернет с сервера протокола сетевого времени (NTP) (сетевое время - время GNSS). Большая разница может указывать на недействительность вычисленного времени GNSS.
Советы, рекомендации и предостережения
Вот несколько моментов, которые следует учитывать при использовании функции Spoof/Jam в GnssLogger:
- Это экспериментальная функция — по мере того, как мы узнаем больше о характеристиках AGC на различных устройствах Android, точные алгоритмы, используемые для подмены и глушения, могут обновляться.
- Эта функция не отслеживает все случаи спуфинга и глушения — проверки графиков и данных в реальном времени упрощают обнаружение свойств данных в реальном времени, но недостаточно надежны для обнаружения каждого примера спуфинга или глушения.
- Эта функция предназначена для обнаружения изменений в C/N0 и AGC — если вы открываете приложение в условиях спуфинга или глушения, а C/N0 и AGC остаются постоянными, спуфинг и глушение не обнаруживаются.
- Серверы NTP не обязательно безопасны — сетевое время также может быть подделано.
Оставьте отзыв о функции Spoof/Jam, используя нашу публичную систему отслеживания ошибок .