Предисловие
Спуфинг GPS (подмена навигации) — это фальсификация данных спутниковой навигации с использованием поддельных сигналов, которые имитируют спутниковые, но имеют более высокую мощность, благодаря чему "перебивают" подлинные сигналы спутниковых навигационных систем. В последнее время, "в связи с напряжённой международной обстановкой" (как выражаются политические комментаторы), спуфинг GPS стал использоваться всё чаще и на больших территориях.
Термин «спуфинг GPS» появился в то время, когда GPS была единственной спутниковой навигационной системой. Сейчас правильнее говорить «спуфинг навигации», но, следуя исторически сложившемуся названию, в тексте будет использоваться термин «спуфинг GPS» или просто «спуфинг».
Спуфинг не стоит путать с простым подавлением сигнала GPS мощными помехами. В случае подавления устройство навигации не может определить своё местоположение, в то время как при спуфинге местоположение определяется, но является ложным.
В зависимости от уровня технической сложности, спуфинг GPS можно разделить на два типа.
Первый тип — это простой спуфинг, который охватывает большую территорию, создавая помехи для всех объектов в этой области. Это наиболее распространённый вид спуфинга.
Второй тип — это прицельный спуфинг, который направлен на конкретный объект. В этом случае спутниковые сигналы сначала подменяются на похожие, но исходящие от спуфинг-передатчика, а затем координаты постепенно изменяются, чтобы привести объект в определённую точку или заставить его совершать бессмысленные перемещения. Я даже не могу себе представить, какие такие "заслуги" должен иметь "объект" перед спецслужбами, чтобы они на него так охотились. :)
Спуфинг — это явление, при котором происходит подмена данных. Оно встречается не только в сфере навигации, но и в области электронных писем, IP-адресов и других сферах. Однако эти вопросы требуют отдельного детального рассмотрения, поэтому мы не будем их затрагивать.
В этой статье мы рассмотрим практический пример спуфинга GPS и предложим один из простых способов защиты от него, хотя и не гарантирующий полную защиту от него.
Реальный тест навигации в условиях спуфинга на двух устройствах во время велопрогулки
В ходе эксперимента по изучению эффекта спуфинга была организована поездка на велосипеде по живописному маршруту, который проходит вдоль Химкинского водохранилища в Москве. Путь начинался в парке Покровское-Стрешнево и заканчивался на станции Левобережная, откуда отправляются поезда Московских центральных диаметров.
Условно маршрут можно представить следующим образом (обозначен серой линией с точками):
Запись маршрута была сделана на двух устройствах: старом смартфоне Samsung S4 mini с операционной системой Android 4 и относительно новом Samsung A22 с Android 12.
Почему именно эти модели были выбраны?
Samsung S4 mini был выпущен в то время, когда в мире были полнофункционально работоспособными только две системы спутниковой навигации — американская GPS и российская ГЛОНАСС, и не было внедрено других способов улучшить точность определения местоположения.
У нового Samsung A22 возможностей для навигации гораздо больше. Он поддерживает четыре спутниковые системы: американскую GPS, российскую ГЛОНАСС, китайскую BeiDou и европейскую Galileo. Кроме того, он имеет дополнительные функции для улучшения точности определения местоположения: по уровню сигнала от сотовых вышек (эта опция обычно не указывается в технических характеристиках, и её влияние неизвестно), а также по видимости точек доступа Wi-Fi и Bluetooth, расположенных рядом со смартфоном. Подробности о том, как это работает, можно найти в этой статье (ссылка на сторонний ресурс).
Было интересно сравнить результаты работы навигации на двух устройствах — старом и новом.
Начнём с Samsung S4 mini.
Вот как выглядит трек, записанный в приложении Навител:
Как можно заметить, в условиях спуфинга я без труда смог проехать по всем взлётно-посадочным полосам аэропорта Шереметьево имени А. С. Пушкина. :)
Та же картинка, но в увеличенном масштабе:
Любопытно, почему GPS-спуфинг предпочитает перенаправлять навигационные устройства в аэропорты? Кстати, меня он иногда направлял не только в Шереметьево, но и в новосибирский аэропорт Толмачёво и даже в киевский Борисполь!
Вот так я обнаружил себя в Толмачёво, находясь реально в одном из окраинных "спальных" районов востока Москвы (моё положение обозначено зелёным кружком):
При этом уровень сигналов от большинства "спутников" был высоким:
Вернёмся к вопросу, почему спуфинг перебрасывает навигационные устройства в аэропорты.
Всё дело в том, что зоны вблизи аэропортов являются запретными для полётов беспилотных квадрокоптеров. Эти ограничения встроены в прошивку квадрокоптеров, поэтому они либо отказываются взлетать, либо владелец получает предупреждение о запрете полёта (в зависимости от политики производителя).
Вот карта запретных зон и зон предупреждений с сайта одного из крупнейших производителей квадрокоптеров DJI:
Из-за того, что квадрокоптеры подвергаются спуфингу, который перемещает их в зоны с ограничениями, они не смогут летать не только в районе аэропортов, но и на всех территориях, где это происходит. Разумеется, военные беспилотники не подчиняются никаким запретам; но искажение навигации будут действовать и для них: они окажутся вовсе не там, куда их направили.
На последнем изображении показаны только основные запретные зоны с точки зрения производителя квадрокоптеров, но на самом деле их гораздо больше. Например, полёты квадрокоптеров сейчас запрещены полностью на всей территории Москвы (PDF).
Теперь рассмотрим второй смартфон, который записывал трек поездки — Samsung A22.
Перед началом поездки в нём были настроены параметры, которые улучшают определение местоположения с учётом точек доступа Wi-Fi и устройств Bluetooth. Для этого нужно зайти в настройки, далее Настройки - Локация - Местоположение, включить два нижних "переключателя":
И вот трек велопохода, лишь на короткое время "отправивший" меня в Шереметьево (использовалось приложение Osmand):
Удивительно, но реальный трек оказался прерван ложными сигналами всего на один километр! Просто не сравнить с треком на "древнем" смартфоне.
Благодарить за это нужно не только вышеупомянутые волшебные настройки, но и то, что смартфон работает сразу с четырьмя системами спутниковой навигации, а также ориентируется по вышкам сотовой связи.
Стоит отметить, что работа навигации смартфона была облегчена благодаря тому, что в течение поездки мобильный интернет работал стабильно, что позволяло смартфону получать дополнительную информацию с внешних серверов для ориентации. В случае отсутствия мобильного интернета (что сейчас часто случается) результат мог бы быть хуже.
Конечно, современные технологии навигации значительно улучшили её точность, но и они не являются панацеей.
Например, в центре Москвы действуют такие сильные GPS-помехи, что даже эти продвинутые технологии не позволяют определить местоположение с точностью лучше нескольких десятков метров. А иногда бывает так, что ты стоишь на месте, а навигация показывает, что ты двигаешься (чаще всего скачками).
Как улучшить точность навигации в смартфонах всех прочих производителей, не скажу, но в смартфонах Oppo / Realme делается по методике, близкой к Samsung: Настройки - Местоположение - Поиск сетей Wi-Fi и устройств Bluetooth - включить "Поиск Wi-Fi" и "Поиск Bluetooth".
В дополнение к вышесказанному, в ситуациях, когда требуется «серьёзная» навигация, используются и более надёжные методы защиты от спуфинга GPS в условиях помех. Но это уже - не для смартфонов.
Для этого применяются инерциальные системы навигации, которые определяют местоположение объекта по направлению движения и пройденному пути. Также используются радиомаяки, сравнение окружающего ландшафта с картой местности и её снимками, а также другие методы.
Беспилотные автомобили оснащены камерами, которые позволяют им «видеть», где они находятся и куда движутся.
Итоги
Главный итог проведённого исследования состоит в том, что в более современных смартфонах на ОС Android и точность навигации в условиях помех значительно выше, чем в старых аппаратах. Если этот фактор для пользователя важен, а имеющийся у него смартфон имеет версию Android ниже 10, то ему стоит задуматься о приобретении более свежей модели. Как минимум, надо обращать внимание на количество поддерживаемых систем навигации - их должно быть не менее 4-х, перечисленных выше. Это, опять же, не панацея, но положительный эффект будет заметен.
И не забывайте скачивать автономные версии карт - очень поможет при отключениях мобильного интернета!
Всем спасибо за внимание!
Подписывайтесь на этот Дзен-канал, а также заходите на сайт Smartpuls.ru - интересно о технике!