Первую и вторую часть ответов на вопросы вы можете прочитать тут и тут.
В этот раз я отвечу на вопросы про системы навигации.
Для начала давайте обсудим, как это всё работает. Мало кто над этим задумывается, но работа всех систем навигации, начиная со средневековых времён и заканчивая нашими днями, основана на одном и том же математическом приёме. Точнее, все они вращаются вокруг геометрии и расчётов различных свойств треугольника.
Треугольник — очень удобная фигура. Зная часть его параметров, мы всегда можем посчитать недостающие. Не буду залезать в средневековую навигацию (я плохо умею пользоваться секстантом). Рассмотрим навигацию эпохи радио. Представьте, что перед вами карта. На ней есть две точки, расположение которых вам заведомо известно, это точки установки радиомаяков. При помощи вашего приёмника вы можете определить силу принимаемого от них сигнала, а, значит, можете вычислить и расстояние до этих точек. Берём циркуль и рисуем вокруг точки окружность с радиусом R1, а вокруг второй точки окружность с радиусом R2. Для простоты посмотрите на следующие картинки. Первый маяк мы расположим в Портленде, второй — в Сан-Франциско. Расстояние между маяками 855 км. По мощности сигнала мы узнали, что мы находимся в 700 км от Портленда и в 500 км от Сан-Франциско. Рисуем на карте две окружности с радиусами, соответствующими нашему удалению от маяка. На следующей картинке я подсветил две точки пересечения этих окружностей — именно в этих точках мы и находимся. Осталось посмотреть вокруг и понять: в море мы или на суше.
Логически развивая тему, мы получаем, что если бы у нас было больше маяков и больше окружностей, точность определения координат была бы выше. На самом деле стоит добавить всего один маяк и одну окружность, и нам уже не придётся смотреть в окно — наши координаты определятся однозначно.
На описанном принципе работало множество систем навигации. Ими пользовались в основном моряки и лётчики. Вот далеко не полный перечень: LORAN-C, DECCA, CONSOL, OMEGA, РСДТ-20 «Альфа», «Чайка», «Марс-75», «Барс», РЫМ, ГРАС, РСБН, VOR/DME.
В космическую эпоху радиомаяки переместились в космос. Дополнительно развитие технологий позволило вместо карты и циркуля использовать процессор и программную логику, которая позволяет считать ваши координаты точнее. Стоит отметить, что кроме координат навигационные спутники дают нам ещё одну полезную возможность — они дают нам понимание точного времени.
Теперь давайте обсудим, какие опасности нам всё это несёт, с какими проблемами мы можем столкнуться.
Первые построенные на наблюдении звёзд способы навигации были очень неточными, но и намеренно обмануть их было нельзя. В сущности качество определения координат зависело исключительно от опыта того, кто их определял.
Вторые построенные на наземных радиомаяках — уже могли быть подвержены воздействию нарушителя. Однако, вероятность такого воздействия была крайне мала — технологии ещё не настолько проникли в нашу жизнь, антенны были большие, передатчики тоже. Было практически невозможно представить себе нарушителя, который гуляет мимо вас с антенной-башней в рюкзаке.
Наше время. Технологии пришли в каждый дом. Размеры передатчиков сильно уменьшились, равно как и размеры компьютеров. И вот тут начинается самое интересное.
В последнее время всё большее распространение получили GPS -spoofing и GPS-jamming. Оба этих термина используются для воздействий, которые, по сути, стали результатом взлома самой логики системы.
Поэтому и нам надо начать с того, как устроен GPS. К слову, и ГЛОНАС, и другие навигационные спутниковые системы устроены точно так же, поэтому и подходы там можно применять такие же.
Что такое GPS? Это группировка спутников, для которых заранее известна их орбита, и, значит, мы точно знаем их расположение в пространстве в конкретный момент времени. Для определения своего места в пространстве нам надо получить сигнал от нескольких (минимум трёх) спутников. Сигнал кодовый и содержит в себе метку точного времени и номер спутника. Скорость распространения радиоволны в атмосфере — это условная константа, а, значит, зная во сколько сигнал был отправлен и во сколько его приняли, мы можем посчитать и расстояние от спутника до нашего приёмника. Теперь мы получаем систему из нескольких треугольников, у которых нам известны длины всех сторон. Чем больше таких треугольников, тем точнее мы можем рассчитать свою позицию, но минимальное их количество, необходимое для расчёта, — три. Принцип таких вычислений я показал вам выше, когда рассказывал про навигацию по наземным радиомаякам.
Собственно, разные GPS-приёмники отличаются только качеством антенны и мощностью процессора, которая влияет на скорость и точность математических вычислений. Чем мощнее процессор и лучше антенна, тем быстрее и точнее он определяет ваши координаты.
Теперь к тому, как это знание может использовать хакер. Зная расположение объекта и имея необходимое оборудование, мы можем сделать несколько действий:
1. Мы можем подсунуть приёмнику жертвы — ложные спутники с ложными сигналами так, что приёмник сойдёт с ума и не сможет посчитать свою позицию. Он будет прыгать из точки в точку и не сможет точно зафиксироваться.
2. Мы можем просто забить сигналы всех или некоторых спутников мусором. Тогда приёмник просто не сможет взять никакой точки и покажет, что не видит спутника.
3. Мы можем подсунуть приёмнику ложный сигнал с осмысленно изменёнными сигналами. Именно это и есть spoofing. Первоначально хакер генерирует сигнал, который совпадает с текущей позицией приёмника. Это необходимо для обхода защиты: если сразу дать ложные данные, в приёмнике жертвы может сработать защита. Далее мы начинаем понемногу менять свой сигнал, и приёмник жертвы думает, что он смещается, движется. При помощи математики мы можем посчитать, какой сигнал нужен для нужного нам отклонения, поэтому мы подсовываем заранее посчитанный сигнал. В результате ничего не подозревающая жертва начинает двигаться туда, куда нам надо. Этот метод активно применяется для угона дронов, когда те летят по автономному заданию, смещая их позицию по GPS, мы корректируем направление их движения и высоту полёта.
4. Комбинированный подход. Например, он используется властями для защиты аэропортов. Схожая по своей логике работы система защищает в Москве Кремль. Одновременно работают и глушилки, которые подавляют сигналы спутников, превращая их в мусор, и ложные спутники, генерирующие ложный сигнал. Многие водители видели, как их навигатор при приближении к Московскому Кремлю внезапно теряет спутники и через мгновение показывает, что машина находится на взлётной полосе аэропорта Внуково. Фактически это применение хакерских технологий на государственном уровне. Применение хакерства для защиты. Аналогичные системы есть и у контртеррористических спецподразделений для защиты от дронов или иных нуждающихся в GPS устройств.
Тут вы можете увидеть наверное самое известное видео про применение GPS-spoofing, в котором показано, как можно «угнать» яхту.
Некоторые подписчики интересовались, можно ли таким же образом угнать самолёт.
Так вот, используя spoofing, можно немного осложнить работу лётчиков, но не угнать самолёт. И дело тут сразу в нескольких вещах.
Во-первых, для оказания воздействия вы должны находиться относительно недалеко от того, на кого вы собрались оказать воздействие. Самолёты летают на высоте, приблизительно равной 10 000 метров. Антенны GPS расположены на верхней части фюзеляжа. Значит, вы должны лететь выше этого лайнера.
Во-вторых, системы самолёта имеют существенно больше степеней защиты, чем системы наземных объектов. Это обусловлено тем, что если на земле вы можете припарковаться и подумать, куда вам ехать дальше, изучить карту, то в воздухе такой возможности у вас нет.
В-третьих, не стоит забывать про лётчиков. Всё дело в том, что в кабине всё подчинено CRM, crew resource management. Это система, которая регламентирует все действия экипажа во всех возможных, а иногда даже в невозможных ситуациях. Согласно ей, экипаж регулярно сверяет показания на разных экранах. Для навигации у экипажа есть экран КВС, экран второго пилота, резервный экран по центру и старый, но проверенный и надёжный аналоговый компас. Если показания курса на экранах не совпадают с показаниями компаса, лётчики выполнят необходимые процедуры и исправят ситуацию. При этом, для обеспечения безопасности полёта, согласно CRM, все действия в кабине происходят следующим образом: когда экипажу надо выполнить некие действия из инструкции, один пилот последовательно зачитывает пункты этой инструкции, второй — озвучивает, как их понял, и выполняет, тот, кто читал, — контролирует и, если всё правильно, произносит «чек» и читает следующий пункт инструкции.
Кстати, в экипаже есть жёсткое правило: озвучивать все свои действия. При этом второй всегда должен контролировать, соответствует ли ваше действие тому, что вы озвучили. Ответ «чек» в экипаже также обязателен после любого контроля. Если вы озвучили действие, выполнили его и не услышали «чек», значит что-то не так. Или с действием, или с вторым пилотом.
Это всё, что я хотел вам рассказать сегодня про средства навигации.
Если вы ещё не читали первую и вторую часть ответов на вопросы, то вы можете сделать это тут и тут.
Напоминаю, что если вам понравилась эта заметка, и есть желание поддержать мой канал — ставьте лайк и делитесь ссылкой с друзьями.
Материальная поддержка моего канала — через «Яндекс.Кошелёк» или страничку «Я соберу». Деньги пойдут на развитие канала.
Более оперативно узнавать подробности моих путешествий, а также смотреть фото и видео вы можете у меня в телеграм-канале «Дневники Обывателя».