Изображение: 2Tales, Flickr
Сейчас приемник GPS/ГЛОНАСС есть не только в каждом смартфоне, но даже в тех устройствах, которые не особенно перемещаются — в промышленных установках, в датчиках телеметрии, в банкоматах. Кроме того, такие приемники обеспечивают навигацию в автоматически управляемых системах, от городского транспорта до военных дронов. Системы глобального позиционирования настолько глубоко проникли во все сферы нашей жизни, что большинство людей пользуются ими, не задумываясь о том, насколько им можно доверять.
Между тем уже есть множество примеров, подтверждающих, что подобные системы уязвимы к разнообразным атакам, включая spoofing, то есть подмену сигнала. Более 5 лет назад иранские военные смогли посадить американский беспилотник, используя данную технику. А в конце 2016 года темой многих СМИ стали искажения GPS и ГЛОНАСС в центре Москвы, около Кремля: навигаторы вдруг показывали своим пользователям, что они находятся в аэропорту Внуково. Мы решили выяснить, действительно ли нужно обладать возможностями спецслужб, чтобы спровоцировать подобные сбои.
Принципы глобального позиционирования
Для начала уточним, что сейчас в мире есть не одна и даже не две системы глобального позиционирования. Кроме общеизвестной американской GPS, существует российская ГЛОНАСС, европейская Galileo, китайская BeiDou, японская QZSS, индийская IRNSS, а также система SBAS в составе практически каждой из них. Все вместе они называются GNSS (Global Navigation Satellite Systems). Однако полное мировое покрытие на данный момент обеспечивают только первые две. QZSS и IRNSS работают только в определенных частях земного шара, и полное покрытие не планируется. Но все эти системы подвержены одним и тем же уязвимостям, так как используют один и тот же принцип работы и сходные технологии передачи сигналов со спутников. Мы рассмотрим эти уязвимости на примере GPS.
Системы глобального позиционирования работают на основе спутников, которые передают сигналы точного времени (на каждом из них установлены атомные часы), а также свое местоположение. Структура сообщений выглядит так:
Приемник получает сигнал от нескольких таких спутников с различной задержкой, в зависимости от расстояния до каждого из спутника. Таким образом, решая систему уравнений, можно определить расстояние до каждого из них, а затем, зная координаты спутников, вычислить свое местоположение.
Используя эти знания, можно сгенерировать сигнал с заданными параметрами координат и времени. Об этом уже позаботились добрые люди, и теперь любой желающий может бесплатно собрать из исходников приложение, позволяющее генерировать такие сигналы. А затем, используя трансивер SDR (Software Defined Radio), злоумышленник может отправить такой сигнал на устройство пользователя вместо реального сигнала GPS, то есть произвести подмену координат и времени. Таким образом, нужно всего 350 $ на SDR плюс любой ноутбук, чтобы получить «навигационное оружие». Ниже приведены примеры атак, которые оно позволяет проводить.
Управление дронами. Гражданские квадрокоптеры имеют в своей программе запрещенные координаты объектов, над которыми им нельзя летать, — например, аэропортов и стадионов. Используя вышеописанное «навигационное оружие», можно убедить квадрокоптер, что он оказался во Внуково, в результате чего он не сможет лететь дальше и сядет. Предполагается, что именно такой защитой от дронов объясняются сбои GPS вокруг Кремля.
Искривление пространства. В одном из наших экспериментов GPS spoofing продолжался несколько дней. После этого Google проиндексировал окружающие нас точки доступа Wi-Fi и базовые станции сотовых операторов, в результате чего он теперь считает, что наш бизнес-центр находится в Китай-городе (на самом деле он находится в 7 км от Китай-города).
Здесь опять-таки стоит подчеркнуть, что для подобных атак не нужно быть спецслужбой. В 2016 году подобные техники массово «пошли в народ» благодаря игре с дополненной реальностью Pokémon Go. В Интернете появились пособия, в которых доходчиво объясняется, как с помощью GPS spoofing можно «искривлять карту» и ловить покемонов, не выходя из дома.
Машина времени. Более неожиданные последствия принесли наши эксперименты по изменению времени. Устройства компании Apple безоговорочно и без ведома пользователя переводят время согласно сигналу GPS, подставив прошлый год. В итоге телефоны теряют историю звонков, SSL-сертификаты оказываются недействительными, многие сайты и почта перестают работать. А «умные» часы стоимостью более 500 $ просто отправились в гарантийный ремонт, после того как получили GPS-время из прошлого года. Кстати, время можно переводить не только в прошлое, но и в будущее — что тоже приведет к разнообразным сбоям.
Подобные атаки могут угрожать не только пользовательским гаджетам. Например, системы автоматической фиксации превышения скорости «Автодория», которые вычисляют среднюю скорость всех автомобилей методом замера времени проезда определенного участка дороги, используют GPS как для синхронизации времени между двумя устройствами, так и для подсчета расстояния между ними. Поэтому не составляет большого труда вывести эту систему из строя с помощью вышеописанной «машины времени».
Еще большую опасность представляет подделка сигнала спутников в случае промышленных систем синхронизации — в энергетике или в добывающей промышленности. Например, для подсчета электроэнергии или для выбора схем энергоснабжения на различных участках используется синхронизация времени по данным той же системы GPS. Обман такой системы всего на несколько секунд приведет к тому, что система недосчитает мегаватты электроэнергии.
Изображение: Ricardo Diaz, Flickr
Что делать
Для защиты от подобных атак мы рекомендуем использовать комбинированные приемники GPS/ГЛОНАСС/Galileo/BeiDou, а также резервные источники времени (например, NTP) и альтернативные системы навигации (например, ориентацию по базовым станциям и Wi-Fi) для проверки достоверности сигнала спутника. Ну а простым путешественникам не стоит забывать о существовании классических бумажных карт, дорожных указателей и разговорчивых местных жителей.
Авторы: Павел Новиков, Артур Гарипов
Автор: ptsecurity