GPS/ГНСС спуфинг больше не проблема.
Бортовой блок обнаружения спуфинга собирает метрики по отслеживаемым сигналам из последовательного процесса обработки сигналов ГНСС и при обнаружении спуфинговой атаки немедленно информирует о возникшей угрозе.
В статье приведены результаты тестирования нескольких сценариев спуфинга с использованием оборудования, моделирующего ГНСС-сигналы, ретрансляторов и программно настраиваемых радиоустройств в различных условиях, как стационарных, так и кинематических, при открытом небе и в условиях повышенной многолучевости.
Описывается широкий спектр сценариев спуфинговых атак, их особенности, а также результаты тестирования обнаружения спуфинга для этих сценариев. Это может быть изменение относительной мощности сигнала, синхронизация поддельных сигналов с подлинными, а также использование подлинных сигналов.
Для борьбы со спуфингом разрабатываются различные методы его обнаружения с применением собранных метрик на разных этапах обработки сигнала в одноантенном ГНСС приемнике. Эти блоки обнаружения тестировались при различных сценариях спуфинга и без спуфинга для оценки вероятности их обнаружения и ошибочных определений.
Для оценки эффективности обнаружения использовался спуфинг с аппаратной симуляцией сигналов, а также подмена сигналов на основе программного обеспечения HackRF. Несколько тестов были проведены в статике и в движении при различных условиях открытости неба для оценки вероятности ложного срабатывания. Результаты обработки показали, насколько эффективны эти методы для идентификации спуфинговых сигналов.
Классификация спуфинговых атак
Независимо от источника спуфинговые атаки можно классифицировать следующим образом: без перекрытия, перекрывающие, а также по их относительной мощности.
Без перекрытия.
В этом случае код и фаза несущей подменных сигналов не синхронизируются с подлинными сигналами. Пики корреляции ложного и подлинного сигналов не перекрываются. Если во время холодного запуска мощность спуфингового сигнала выше, чем у подлинного, входной тракт поиска и идентификации сигналов навигационных спутников приемника может быть обманут.
Когда же спутниковые сигналы уже отслеживаются приемником (выполнена инициализация), приемник игнорирует все несинхронизированные сигналы. Следовательно, спуфинговый сигнал более высокой мощности не повлияет на отслеживание подлинных спутниковых сигналов, если задержки или доплеровские частоты не выровнены.
Перекрывающая.
Более сложный тип спуфинговой атаки, источник ложного сигнала может синхронизировать свою фазу, код и доплеровскую частоту с фазой, кодом и доплеровской частотой подлинного сигнала. При перекрывающем типе спуфинговой атаки пики корреляции спуфинговых и подлинных сигналов объединяются, чтобы конструктивно или деструктивно изменить форму пика корреляции.
Этот тип спуфинговой атаки может быть сформирован генератором спуфинга на основе приемника, где спуфер знает текущее время, наблюдаемые спутники, местоположение и параметры работы атакуемого приемника. Правильное обнаружение спуфинговой атаки с перекрытием является сложной задачей, поскольку искажения, вызванные спуфинговыми сигналами, похожи на ошибки, вызванные многолучевостью.
По относительной мощности.
Мощность сигнала спуфинговой атаки является важной составляющей при обмане ГНСС приемника. Относительный уровень мощности сигналов спуфинга по сравнению с уровнем подлинных сигналов может сильно повлиять на эффективность и возможность спуфинговой помехи.
Выявление спуфинговой атаки на основе их относительной мощности затруднено, поскольку для этого требуется информация о канале распространения спуфинга, диаграмме усиления антенны и ее ориентации.
Метрики обнаружения
Каждая метрика использует определенную функцию атаки, как описано ранее.
Анализ входной мощности.
Один из методов спуфинга — сначала заглушить приемник, а затем подать ложные сигналы. Пользователи должны контролировать входную мощность, чтобы обнаружить этот вид атаки, связанный с увеличением мощности, так как сигналы помех имеют более высокую мощность. Это можно сделать, отслеживая коэффициент усиления модуля автоматической регулировки усиления (AGC).
Структурный анализ мощности.
Этот метод использует свойство циклостационарности сигналов ГНСС для обнаружения чрезмерного увеличения мощности структурированного сигнала (например, коды расширения) в полученном наборе выборок. Полученные выборки основной полосы частот сначала фильтруются в пределах полосы пропускания ГНСС-сигнала, а затем умножаются на их версию с задержкой для устранения эффекта Доплера.
В результате умножения циклостационарных составляющих спектр у результирующего сигнала становится линейным. На следующем этапе спектры сигнала и шума фильтруются гребневыми фильтрами соответствующей формы. Статистика теста обнаружения рассчитывается на основе сравнения выходных данных фильтра с пороговым значением обнаружения атаки.
Оценка сигнал/шум (C/N0).
Эта общая метрика мониторинга ГНСС-сигналов доступна в большинстве коммерческих приемников. Верхний уровень мощности ГНСС-сигнала известен для заданных тестовых настроек. Для каждого приемника может быть определен верхний предел значения C/N0. Аномально высокое значение C/N0 может указывать на спуфинговую атаку. Однако важно отметить, что сигналы глушения также могут влиять на эффективные значения C/N0, увеличивая минимальный уровень шума.
Мониторинг качества сигнала (SQM).
Интерференция между подлинными и ложными сигналами во время атак с перекрытием вызывает искажение формы пика корреляции. Мониторинг качества сигнала сосредотачивается на этом моменте с целью обнаружения любых асимметричных, аномально резких или повышенных пиков корреляции.
Метрики SQM изначально были разработаны для мониторинга качества корреляции пиков, так как это позволяло идентифицировать многолучевые сигналы. Эти метрики нашли широкое применение в приложениях, требующих высокой степени целостности. Применяя эти методы, разработчики добились больших успехов при выявлении спуфинговых атак.
Мониторинг часов.
Эта метрика обнаруживает ложные сигналы от спуфингового источника с одной антенной на основе решения о местоположении движущегося приемника. В сценарии спуфинга с одной антенной все поддельные PRN передаются с одной и той же антенны. В результате у всех сигналов одинаковая задержка, которая связана с расстоянием между антенной спуфера и атакуемой антенной/приемником. Изменение расстояния между антеннами спуфера и атакуемого приемника создает переменное смещение часов приемника, которое можно использовать для идентификации спуфинговой атаки.
Блок обнаружения спуфинга в режиме реального времени
Блок обнаружения спуфинга в режиме реального времени, использующий набор наиболее эффективных метрик, был реализован в высокоточных приемниках. В представленном тестировании блок обнаружения отслеживает сигналы GPS L1 C/A. Метрики обнаружения подаются на бортовой центральный блок обнаружения спуфинга, который каждые две секунды принимает решение о том, подвергается ли приемник спуфинговой атаке.
Основная особенность блока обнаружения спуфинга заключается в уменьшении вероятности ложного обнаружения из-за наличия помех и сигналов многолучевого распространения, а также в уверенном обнаружении спуфинговой атаки. Пороговые значения обнаружения для отдельных показателей основаны на приемлемой вероятности ложной тревоги при различных сценариях.
Результаты экспериментов
Блок обнаружения спуфинга выдает либо ноль, либо единицу, где единица указывает на обнаружение атаки.
Тест с использованием симулятора.
В этом тесте использовался аппаратный симулятор, который генерировал два радиочастотных выходных сигнала GPS L1 C/A в двух разных местах. Моделировались подлинный и ложный сигналы. Выходы RF output1 и RF output2 были предназначены для подлинных и ложных сигналов, соответственно. Для данного теста приемник был настроен на отслеживание только GPS L1 C/A. Блок-схема сценария представлена на рис. 1.
Рис. 1. Схема теста атаки с подменой времени и позиционирования на основе аппаратного симулятора.
Подлинные сигналы напрямую подключались к смесителю на RF-входе приемника, в то время как спуфинговые сигналы, генерируемые симулятором, проходили через малошумящий усилитель и регулируемый аттенюатор, регулирующий уровень мощности относительно подлинного. Оба выхода RF генерировали одинаковые PRN.
С помощью этого симулятора пользователь может регулировать смещение тактовой частоты и дрейф тактовой частоты каждого RF-выхода, что позволяет генерировать два синхронизированных сигнала, относящихся к одному и тому же положению, с разным смещением полосы и дрейфом. Смещение полосы и дрейф для всех PRN каждого RF-выхода одинаковы.
Это позволило сгенерировать атаки, как без перекрытия, так и с перекрытием. Для случая без перекрытия (подмена местоположения) смещение тактовой частоты сигналов спуфинга было установлено на 6 мкс. Пики корреляции подлинных сигналов и сигналов спуфинга были разделены примерно 6 чипами GPS L1 C/A и не перекрывались.
Смещение часов и дрейф сигналов спуфинга были изменены, чтобы имитировать атаку спуфинга (атака с подменой времени и позиции). Для простоты сравнения статические и динамические позиции были отнесены к подлинным случаям и случаям спуфинга, соответственно. Поддельная позиция перемещалась по кругу, а подлинное местоположение было установлено в центре круга.
Тест с перекрытием.
Этот тест включал атаку согласованной мощности, при которой мощность спуфингового сигнала превышала мощность подлинного в пределах двух дБ. В течение первых 50 секунд приемник отслеживал только подлинные сигналы. Затем к сценарию были добавлены спуфинговые сигналы с немного большей мощностью. Величина смещения тактового сигнала спуфинга относительно подлинных сигналов была задана в 6 мкс, а его дрейф — 0,007 мкс.
Пики корреляции вначале не перекрывались. Однако дрейф часов привел к тому, что все подмены PRN прошли через подлинные сигналы и захватили корреляторы отслеживания приемника и, в конечном итоге, подделали положение приемника. Напомним, что в данном тесте приемник отслеживал только сигналы GPS L1 C/A.
На рис. 2b показана относительная входная мощность (относительно подлинного сигнала), относительное среднее C/N0 (относительно C/N0 в начале теста) и количество отслеживаемых сигналов для этого теста. На рис. 2a показаны результаты обнаружения спуфинга по мере развития атаки.
Рис. 2. Метрики обнаружения и мониторинга для теста с помощью аппаратного симулятора.
Спустя 50 секунд после начала сценария была запущена спуфинговая атака. Атака обнаруживается сразу после появления спуфинговых сигналов (50 с). Атака вызвала скачок входной мощности на 3 дБ и, как следствие, снижение среднего отношения C/N0 (рис. 2b). Между 50 и 450 секундами спуфинговая атака действовала как широкополосный глушитель. В этот период приемник отслеживал подлинные сигналы, и вычисленное положение было подлинным.
По относительным C/N0 и количеству отслеживаемых PRN на рис. 2b видно, что подлинные и ложные сигналы начали взаимодействовать на отметке времени 450–550 секунд. Во время интерференции спуфинга и подлинного сигнала (470–530 с) флаг обнаружения включался и выключался. В это время отслеживание сигналов приемником было потеряно и количество наблюдений стало недостаточным для обнаружения спуфинга, хотя оно оставалось включенным до конца теста (рис. 2a).
На рис. 3 показано пространственное (восток, север, высота) и плановое (горизонтальное) положение приемника при проведении теста. Примерно через 500 секунд после начала теста позиция приемника была искажена, и он начал двигаться по кругу. В результате атака спуфинга, во время которой мощность сигнала спуфинга была выше мощности подлинного сигнала на несколько дБ, была надежно обнаружена.
Рис. 3. Результаты позиционирования для теста с помощью аппаратного симулятора.
Спуфинг с переменной мощностью (Jam/Spoof).
В следующем тесте симулятор заставил приемник прекратить отслеживание подлинных сигналов. Этот вариант моделирует сценарий мощного спуфера. Смещение тактовой частоты сигналов спуфинга было установлено на 6 мкс, а дрейф тактовой частоты — на 0. Это гарантирует, что пики корреляции не перекрываются, так что единственный способ атаковать приемник — сначала заглушить его, а затем атаковать спуфингом.
На рис. 4с показаны относительная входная мощность, относительное среднее C/N0 и количество отслеживаемых сигналов во время теста.
На рис. 4b показан флаг обнаружения спуфинга для этого сценария.
Атака спуфинга была обнаружена, как только мощность спуфинга начала оказывать влияние на уровень шума, примерно через 500 секунд, до того, как позиция приемника была искажена через 750 секунд, и продолжалась, пока приемник не перестал отслеживать сигналы спуфинга.
Рис. 4. Метрики обнаружения и мониторинга для теста с помощью аппаратного симулятора.
Напомним, что в этом тесте использовались только сигналы GPS L1 C/A. Приемник начал отслеживать подлинные сигналы, в то время как мощность спуфинга постепенно увеличивалась примерно на 30 дБ, а затем уменьшалась. Спуфинговая атака начала оказывать заметное влияние на отношение C/N0 и входную мощность через 500 секунд.
С 500 до 750 секунд мощность спуфинга была увеличена примерно на 20 дБ и в конечном итоге замаскировала подлинные сигналы. В этот период спуфер действовал как широкополосный глушитель. Примерно через 770 секунд приемник перестал отслеживать все подлинные PRN и вскоре начал отслеживать сигналы спуфинга, в то время как мощность спуфинга увеличивалась.
Как показано на рис. 4a, позиция приемника изменилась примерно через 780 секунд, когда он начал двигаться по кругу с радиусом 100 м. Между 780 и 1250 секундами мощность спуфинга увеличивалась и уменьшалась, но среднее значение C/N0 оставалось постоянным. Эта картина продолжалась примерно до 1250 секунд, когда среднее значение C/N0 начало падать.
В этот момент мощность подлинного сигнала начинала влиять на уровень шума приемника. С 1250 до 1450 секунд приемник отслеживал сигналы спуфинга, в то время как мощность спуфинга была уменьшена. Примерно через 1450 секунд приемник потерял ложные сигналы и снова начал отслеживать подлинные сигналы.
Ретрансляторы спуфинга (Jam/Spoof).
В этом разделе представлены результаты атаки ретранслятора помех. Для этой цели на крыше здания были установлены две антенны на расстоянии примерно 30 м друг от друга, которые использовались в качестве источников подлинных и ложных сигналов. Тестовая конфигурация показана на рис. 5.
Антенна с подлинным сигналом была напрямую подключена к RF-смесителю. Сигналы спуфинга проходили через активный модуль, в котором происходила задержка и фильтр сигналов. Спуфинг использует только сигналы GPS L1/L2 и задерживает их примерно на 150 мкс. Затем сигналы поступают на малошумящий усилитель 40 дБ, а затем на регулируемый аттенюатор, после чего подаются на смеситель.
Рис. 5. Схема атаки с подменой репитера.
К выходу смесителя было подключено два приемника: один с конфигурацией GPS L1 C/A, а другой — мультичастотный и мультисистемный, отслеживающий все доступные сигналы со спутников GPS, ГЛОНАСС, Galileo и BeiDou. Этот вариант был разработан для проверки возможностей мультисистемности и мультичастотности в отражении спуфинговых атак.
Приемник GPS L1 C/A.
На рис. 6 показаны результаты работы приемника GPS L1 C/A. В течение примерно 180 секунд на приемник подавались подлинные сигналы, а затем подключили спуфинг, постепенно увеличивая его мощность. Относительная входная мощность, отношение C/N0 и количество отслеживаемых сигналов GPS L1 C/A показаны на рис. 6c.
Мощность сигнала спуфинга постепенно увеличивалась, что привело к увеличению уровня шума примерно на 35 дБ, а затем шум уменьшился. На рис. 6b показан флаг обнаружения спуфинга. Модуль обнаружения спуфинга распознал активность спуфинга примерно через 190 секунд, как только начал меняться минимальный уровень шума (до того, как положение приемника было искажено), и оставался включенным до окончания атаки примерно в течение 600 секунд.
Приемник перестал отслеживать все каналы примерно через 280 секунд и начал отслеживать спуфинговые сигналы примерно через 300 секунд. Во время отсутствия сигнала (280–300 с), когда данных наблюдения было недостаточно для решения навигационной задачи, приемник непрерывно выдавал последнее расчетное время и местоположение.
Через 300 секунд положение приемника было искажено (рис. 6a), до тех пор, пока через 600 секунд приемник не перестал отслеживать спуфинговые сигналы и не начал отслеживать подлинные сигналы, примерно через 610 секунд. Результаты смещения в восточном направлении показаны на рис. 6a.
Рис. 6. Работа приемника GPS L1 C/A при атаке ретранслятора помех: а) смещение позиции в восточном направлении; b) метрики обнаружения воздействия спуфинга; c) мониторинг атак в конфигурации репитера GPS L1 C/A.
Мультисистемный мультичастотный приемник.
На рис. 7 показаны результаты аналогичного теста с мультичастотным мультисистемным приемником NovAtel OEM7. Мощность сигнала спуфинга начала влиять на уровень шума приемника примерно через 120 секунд. Через 300 секунд приемник перестал отслеживать все подлинные сигналы GPS L1 C/A (также были заглушены другие сигналы в полосе частот GPS L1, включая Galileo E1), а минимальный уровень шума был увеличен на 20 дБ.
Во время атаки приемник постоянно отслеживал подлинные сигналы на других частотах и созвездий, включая GPS L5 и Galileo E5. Таким образом, отслеживание подлинных сигналов других спутниковых систем и частот сработало как проверка целостности и позволило приемнику заблокировать спуфинговые сигналы.
Следовательно, как показано на рис. 7c, во время спуфинговой атаки (300–500 с) измерений и расчетов по GPS L1 C/A не проводилось, т. е. атака вызвала блокировку сигналов GPS L1 C/A. Во время атаки положение приемника не было искажено, и он обеспечивал непрерывное подлинное решение навигационной задачи (рис. 7a). На рис. 7b показан флаг обнаружения атаки.
Блок обнаружения активен в течение 180–280 секунд и 500–560 секунд, когда были доступны измерения GPS L1 C/A, и успешно обнаруживает атаку, так как доступны сигналы других навигационных систем и других частот.
Запуск приемника во время спуфинга (высокая мощность).
Этот тест был разработан для определения эффективности обнаружения спуфинга, в случае, когда при включении приемника атака уже запущена. Приемник подвергался атаке спуфинга сразу после переключения питания. Использовался тот же сценарий воздействия сигналов спуфинга, что и при повторной атаке (рис. 7).
Приемник в конфигурации GPS L1 C/A был включен во время спуфинговой атаки мощностью примерно на 20 дБ выше, чем у подлинных сигналов.
Рис. 7. Работа мультисистемного мультичастотного приемника при атаке ретранслятора помех: a) искажение позиции в восточном направлении; b) метрики обнаружения воздействия спуфинга; c) мониторинг атак с репитера приемника.
Относительная входная мощность и отношение C/N0 по сравнению с подлинным сценарием приведена на рис. 8c. В течение первых 120 секунд мощность сигнала спуфинга оставалась постоянной и была на 20 дБ выше мощности подлинного сигнала. Затем мощность постепенно уменьшалась.
Примерно через 280 секунд приемник перестал отслеживать ложные сигналы. Через 300 секунд приемник начал отслеживать подлинные PRN. Флаг обнаружения спуфинга показан на рис. 8b. Атака была успешно обнаружена и отслежена на протяжении всего теста.
На рис. 8a показано смещение приемника во время атаки в восточном направлении. Видно, что позиция приемника сначала была искажена, затем приемник определил подлинную позицию, когда через 300 секунд атака спуфинга прекратилась.
Рис. 8. Запуск приемника в конфигурации GPS L1 C/A во время спуфинговой атаки: a) смещение позиции приемника в восточном направлении; b) метрики обнаружения спуфинга; c) мониторинг атаки спуфинга при запуске приемника.
Тест HackRF.
В этом разделе показаны результаты атаки спуфингом с использованием HackRF. Сигналы GPS L1 C/A были сгенерированы с помощью HackRF, ширина полосы пропускания 6 МГц. Для генерации ложных сигналов спуфер использовал актуальные данные эфемерид.
На рис. 9 показан флаг обнаружения (как 0 и 10, а не 0 и 1) и количество отслеживаемых PRN. В течение первых 90 секунд приемник принимал подлинные сигналы от стационарной антенны, а затем был атакован широкополосным глушителем в течение примерно 90 секунд. Спуфинговая атака началась через 170 секунд.
На рис. 9 видно, что флаг обнаружения спуфинга появился сразу после начала спуфинговой атаки.
Рис. 9. Флаг обнаружения и количество отслеживаемых PRN при атаке HackRF.
Тест на глушение.
Установленная на крыше подлинная антенна была совмещена с генератором помех AWGN 4 МГц с центральной частотой GPS L1 C/A. Входная мощность и среднее относительное отношение C/N0 приведены на рис. 10b. Мощность сигнала глушения постепенно увеличивалась примерно на 30 дБ. Приемник потерял отслеживание примерно через 350 секунд.
Затем заглушающий сигнал включался и выключался, чтобы продемонстрировать эффективность обнаружения спуфинга при наличии прерывистого глушения. После этого мощность помех постепенно уменьшалась. Результаты обнаружения спуфинга показаны на рис. 10a. Для этого сценария не было случаев обнаружения спуфингового сигнала.
Рис. 10. Результаты обнаружения воздействия атаки спуфинга с использованием помех AWGN с центральной частотой GPS L1 C/A: a) флаг обнаружения спуфинга; b) мониторинг метрик при атаке спуфинга с использованием помех AWGN.
Тесты в статике и динамике.
Чтобы исследовать вероятность ложного обнаружения спуфинга, было получено несколько наборов данных в различных условиях: в статике при большой многолучевости и в динамике, как в условиях городской застройки Калгари, так и в пригороде. Уровень C/N0 принятого сигнала определяет надежность беспроводного канала передачи.
В условиях многолучевого распространения сигнала и затухания мощности, вызванных отражением, преломлением и блокировкой сигналов, нарушаются функции приемника по отслеживанию сигналов ГНСС и их измерениям.
На рис. 11a показаны измерения C/N0 в статике в условиях большой многолучевости. Для сравнения на рис. 11b показаны C/N0, измеренные при открытом небе (антенна приемника была расположена поблизости, на крыше здания).
На рис. 11c сравнивается C/N0 и PRN 29 в обоих местах. Очевидно, что большая многолучевость влияет на измерения C/N0. Для этого теста спуфинг не был обнаружен (рис. 11d).
Рис. 11. Статические измерения C/N0 в условиях большой многолучевости и без нее, флаг обнаружения спуфинга.
Как видно из результатов измерений C/N0 для GPS L1 C/A, полученных во время движения по маршруту через пригород и в городской среде Калгари, приведенных на рис. 12, антенна приемника принимала переотраженные сигналы из-за условий высокой многолучевости.
Сигнал также блокировался из-за препятствий для ГНСС-сигналов, таких как дорожные знаки, подземные переходы, деревья и здания — от одноэтажных жилых домов до многоэтажных офисных башен. Эти препяствия вызвали колебания мощности сигнала и несколько случаев потери синхронизации слежения.
Во время этого теста модуль обнаружения спуфинга не обнаружил никаких воздействий. Флаг обнаружения спуфинга показан на рис. 12b.
Рис. 12. Результаты измерения C/N0 в динамике и флаг обнаружения спуфинга.
Резюме и выводы
Результаты обработки показывают:
— насколько эффективны метрики обнаружения воздействия спуфинга при идентификации спуфинговых сигналов с различными сценариями;
— атака может быть идентифицирована сразу после появления спуфинговых сигналов и, даже до того, как будет подменена позиция приемника;
— атаки на частоты L1 и L2 GPS с использованием различных конфигураций приемника показали, что определение положения и время мультичастотного и мультисистемного приемника невосприимчиво к атаке, тогда как положение приемника GPS L1 уязвимо при воздействии спуфинга. Тем не менее, в обоих случаях блок обнаружения смог успешно идентифицировать атаку.
Экспериментальные результаты в условиях помех, высокой многолучевости, при статических и кинематических измерениях были использованы для анализа вероятности ложной тревоги блока обнаружения. Во время тестов в условиях отсутствия воздействия спуфинга ложных обнаружений не наблюдалось.
Надежное и своевременное обнаружение спуфинга — это первый шаг к безопасному и эффективному противодействию угрозам, будь это действия пользователя или программа приемника.
Оборудование
Для описанных тестов использовались приемники NovAtel OEM7 с реализованным в них блоком обнаружения спуфинга в режиме реального времени, а также симулятор Spirent GSS 7700.
Оригинал статьи под названием «Nobody’s Fool. Spoofing Detection in a High-Precision Receiver» размещен в журнале Inside GNSS, July/August 2020 (https://insidegnss.com/nobodys-fool-spoofing-detection-in-a-high-precision-receiver).
Перевод статьи осуществлен ООО «ГНСС плюс» — официальным дилером компании NovAtel на территории РФ.