Мужик вычислил глушилку GPS в Кремле

В течение нескольких месяцев москвичи активно жалуются в соцсетях на некорректную работу мобильных приложений, использующих GPS-сигнал. С проблемами часто сталкивались пользователи «Яндекс.Навигатора», наблюдая неправильное определение местоположения машины в программе, а массовый характер жалобы приобрели после популяризации Pokémon Go в России.

Сегодняшнее утро я потратил на то, чтобы разобраться в странной и неприятной ситуации с GPS в Москве. В районе Кремля (и некоторых других местах) иногда возникают аномалии, которые заставляют все устройства с GPS думать, что они во Внукове.
Аномалии эти возникают с июня и появляются без какой-либо системы. Есть простое объяснение: это спуфинг (попросту подмена) GPS. О гипотезах «зачем» мы поговорим чуть позднее.
Дисклеймер: я не профессионал ни в GPS, ни в спуфинге, ни в журналистике, но я регулярно страдаю от сломанного сигнала GPS. Так как об этом всё еще не написали профессионалы и мобильные аналитики, мне пришлось попытаться разобраться в происходящем самому.
Что я, собственно, сделал: я взял с собой несколько разных GPS и GLONASS приемников, анализатор частот и с этим рюкзаком приборов залез на сигвей. Результаты исследования относятся только к одной области — Кремлю, и только к этому конкретному отрезку времени — с 9 до 12 утра. Кстати, три часа рассекать по городу на сигвее при температуре порядка 2 °C — то ещё удовольствие.
Красные области на картинке — зона покрытия «ложным» сигналом (чем краснее — тем сильнее сигнал), синие — замеры на направление источника сигнала, а жёлтая звездочка — моя гипотеза о том, где же именно в момент замеров находился источник.


Вот что я выяснил: где-то внутри Кремля стоит (а возможно и передвигается) мощный передатчик. Он имитирует работу GPS и GLONASS спутника на частотах L1 и шумит на частотах L2 и L5. Частота L1 — это «гражданский» диапазон для GPS, именно он и используется большинством бытовых устройств для точной геолокации. Подробности о GPS читайте в «Википедии».
Чтобы обмануть GPS на этой частоте, нужно имитировать работу спутника, выдавая его время и положение в пространстве. Хакеры научились этому довольно давно. Есть даже готовые программно-аппаратные комплексы от именитых фирм, позволяющие манипулировать приёмниками. Скорее всего, один из таких комплексов сейчас и используется. Предполагаю, что поставщик устройства — ni.com, их решение сейчас самое целостное и по АЧХ очень похоже.
Обратите внимание: зона покрытия передатчика очень некруглая. Обычно это значит, что часть сигнала отражается и перекрывается зданиями вокруг. В силу этого «пятно зашумления» простирается от Солянки до Храма Христа Спасителя и от Охотного ряда до Овчинниковской набережной.

Я также пытался понять более точное расположение источника сигнала. Очевидно, что это не спутник! Точное расположение передатчика конечно же не было моей целью, но на картинке хорошо видно, где его можно поискать.
Интересно то, что подмененный сигнал «пересылает» в центр аэропорта «Внуково». Можно придумать много конспиративных теорий, почему именно туда. Самая популярная среди меня версия — борьба с видео-дронами DJI и им подобными. Во всех современных серийных дронах есть GPS и карта зон, где полеты запрещены. К таким зонам относятся все аэропорты мира. Не совсем понятно, зачем кому-то бороться с дронами, подменяя GPS, а не просто потребовав внести нужные зоны в запретные, но это не совсем наше дело, конечно.

Другая теория — использование дефолтных значений. Готовые аппаратно-программные комплексы для спуфинга GPS требуют указать координаты, чтобы отображать их вместо реальных данных. Эти координаты можно ввести напрямую или выбрать из списка предложенных производителем устройства. Так сложилось, что в этих списках для России значатся только центры крупных городов и Аэропорты. Как вы понимаете, «Внуково» — первый по алфавиту аэропорт в районе Москвы. И в эту версию я тоже верю, конечно.
Ещё одна загадка — почему подмена сигнала то включается, то выключается. Ответа у меня нет, единственное, что я могу придумать — систему еще только разрабатывают и внедряют. Или есть какие-то события, которые инициируют временное включение «глушилки».

Итого: где-то в районе Кремля установлено стационарное или передвижное устройство, задача которого — иногда не давать адекватно работать всем системам позиционирования для гражданских.

В силу частотных характеристик сигнал довольно быстро затухает, и для разных устройств количество искажений разное. Скажем, андроидные устройства страдают чуть меньше айфонов, так как они реже используют геолокацию по GPS. Обычно данные о GPS они получают по Wi-Fi и триангуляции базовых станций. Но, безусловно, проблемы при навигации это создает всем. Страдают пользователи всех приложений с навигацией, страдает качество прогнозов и пробок. У всех поставщиков информации о заторах в районе Кремля регулярно образуется некоторая каша.
Что можно сделать, чтобы временно не страдать? Если у вас Android — выключить GPS. Если у вас iOS — смириться. Если у вас дрон от известных производителей — летать в других местах.