С момента ввода в эксплуатацию в 90-х годах эта система не раз доказывала свою полезность и предотвращала многие инциденты на море.
Автор: Ken Munro
Система AIS (Automatic Identification System; Система автоматического распознавания) используется в морском судоходстве для передачи и получения координат судов и информационных оповещений. С момента ввода в эксплуатацию в 90-х годах эта система не раз доказывала свою полезность и предотвращала многие инциденты на море.
В исследовании, проведенном компанией Trend Micro, было выявленного множество проблем, как на стороне сервера, так и во время передачи. Поскольку в протоколе, используемом системой AIS, отсутствует шифрование, злоумышленник может подделать координаты.
Однако через взломанную систему AIS можно сделать намного больше, чем просто поменять координаты.
Декодирование сообщений в AIS
Вначале коротко рассмотрим метод кодирования данных в системе AIS. На рисунке ниже показан пример сообщения:
Сообщения фрагментируются согласно спецификации NMEA0183. Максимальный размер последовательности – 82 символа. Таким образом, сообщение может состоять из нескольких последовательностей.
Строка !AIVDM указывает на то, что данные пришли от другого судна. !AIVDO указывает на информацию с нашего судна.
На первый взгляд, кажется, что тело сообщения выглядит сложно, но на самом деле представляет собой 6-битный ASCII!
В самом конце добавляется контрольная сумма, которая, согласно стандарту NMEA0183, вычисляется по алгоритму CRC16.
Пример декодирования сообщения
13aEOK?P00PD2wVMdLDRhgvL289
1 – 000001
3 – 000011
a – 101001
E – 010101
O – 011111
и так далее
Если собрать все воедино, получим следующую последовательность: 000001000011101001010101011111…
Поле 1-5: Тип сообщения.
Поле 42-49: Угол поворота (4 символа).
Поле 61-88: Долгота (28 символов).
Поле 89-115: Долгота (27 символов).
и так далее
На основе информации выше получаем координаты судна:
Долгота: 4.379285
Широта: 51.89475
Поворот: -127
и так далее
Атаки через AIS
Из-за отсутствия шифрования и проверки сообщений в исследовании Trend Micro было показано, что возможна подделка координат на стороне сервера или через линии передачи.
Поскольку передача идет в диапазоне VHF, требуется не очень сложное оборудование. Для передачи в коротком диапазоне понадобится антенна меньше метра и 20-ватный источник питания.
Таким образом, довольно просто и не очень затратно перебить сигналы, посылаемые легитимной системой.
Однако была и другая тема, которая связанная с использованием других типов сообщений, передаваемых AIS.
Как создать хаос?
Наиболее распространенные типы, используемые в навигации: 1, 2 и 3. Однако, согласно разделу Area Notice руководства IMO289, через систему AIS можно пересылать много разных типов сообщений.
В полях 98-104 параметра Area Notice (извещение области/зоны) содержится описание извещения, например:
Тип 25: Высокие волны.
Тип 38: Дрейфующие мины.
Тип 72: Район бедствия: Перечень судов, некоторые из которых могут быть опрокинуты.
Используя эти типы, можно внести хаос в навигацию. С одной стороны, всегда можно проверить извещение зоны, если проконсультироваться с береговыми властями. С другой – с чего бы капитану корабля думать, что пришедшее извещение ошибочно?
В приложении «Meteorological and Hydrological Data» руководства IMO236 указаны поля, описывающие скорость ветра.
В полях 318-321 хранится шкала Бофорта (шкала ветров), и можно передать информацию, что надвигается шторм в 13 баллов.
Предупреждающие отчеты EMMA Warning Reports используются во внутреннем судоходстве и обычно автоматически появляются на экране, если существуют соответствующие интерфейсы.
В полях 222-225 хранится тип погоды.
Тип 4 свидетельствует о том, что надвигается серьезный шторм. Будем надеяться, что капитан корабля проверит информацию о погоде, полученную через AIS, по другим источникам.
Как вызвать еще больших хаос при помощи AIS?
Недавно я выступал на конференции SEADEVCON 2018, которая была посвящена разработке приложений для «больших данных» о судоходстве, полученные от системы AIS.
Например, можно выявить фишинговые паттерны и отследить океанические течения.
Кроме того, перевозки в контейнерах и на танкерах могут быть более эффективными, если правильно распределить пропускную способность водного транспорта.
Можно даже оптимизировать расход топлива, если проанализировать информацию о скорости и курсе, полученную при помощи AIS.
С другой стороны, вся передаваемая информация, на базе которой могут приниматься решения, является незашифрованной, и операторов судов можно ввести в заблуждение, если подделать передаваемые сведения, что впоследствии снизит отдачу от инвестиций и станет причиной плохих решений.
AIS используется для мониторинга рыболовных судов и подводных трубопроводов
Злоумышленник может отослать следующее сообщение как бы с рыболовного судна в государственные органы:
Тип сообщения 3, поля 232-239, код 30 соответствуют рыболовному судну.
Тогда судно будет восприниматься как действующее нелегально, особенно если график перемещений также был изменен и стал отображать типичные движения, которые выполняет промысловое судно.
Код 33 соответствует землечерпательной машине. Злоумышленник может сымитировать выемку грунта над подводными кабелями и трубопроводами.
Поскольку все эти вызовы могут быть ложными, в какой-то момент может запоздать реакция на настоящие инциденты.
Возможные решения
Главная причина всех вышеупомянутых проблем заключается в том, что данные не шифруются. Соответственно, напрашивается очевидное – добавить функцию шифрования. В системах AIS на военных кораблях эта функция поддерживается. С другой стороны, если близлежащие суда не смогут расшифровать информацию, система AIS не будет представлять никакой пользы.
Если бы все приемо-передатчики поддерживали шифрование, тогда ценность и полезность AIS возросла бы во много раз. С другой стороны, остаются проблемы распределения ключей и обратной совместимости.
Даже если бы приемо-передатчики поддерживали шифрование, злоумышленнику ничто не мешает купить легитимное устройство и передавать поддельные данные.
AIS-сигналы уже подделывались с целью сокрытия активности судов тех стран, которые находятся под санкциями. Поскольку на карту поставлены большие деньги, передача поддельной информации позволяет избежать обнаружения.
Наконец, мы не касались безопасности аппаратной части приемо-передатчика. На основе нашего опыта работы с подобного рода оборудованием нам кажется, что в этой области тоже достаточно проблем, используя которые можно реализовать альтернативные атаки.