С каждым годом число автомобилей на дорогах неуклонно растет, все больше загрязняя окружающую среду, ухудшая мобильность транспортных средств и увеличивая число аварий и смертей на дорогах. Множество умов уже давно стараются разработать безопасное для участников движения решение, позволяющее увеличить пропускную способность дорог. Было предложено множество вариантов: летательные средства передвижения, подземные автомобильные магистрали и даже надземная система путепроводов. Однако у каждого предложенного варианта есть различные сложности в реализации.
Среди прочих одним из самых перспективных проектов по увеличению безопасности и пропускной способности автомагистралей является технология подключенных и автономных транспортных средств (CAV - Connected and Automated Vehicle). Основная её идея состоит в том, чтобы использовать инфраструктуру, оборудованную дорожными блоками (RSU - Road Side Unit), для сбора информации о транспортных средствах, оснащенных бортовым блоком (OBU - On-Board Unit), в форме базовых сообщений безопасности (BSM - Basic Safety Messages). В таком случае CAV'ы получают информацию о ситуации на дороге не только с помощью сенсоров, радаров и лидаров, как обычные автомобили, оборудованные автопилотом, но и "общаются" друг с другом и с окружающей инфраструктурой. Это и позволяет CAV'ам и остальным участникам движения действовать автономно, оттого и более эффективно. Однако и в этом проекте есть проблема - наличие общей сети, к которой подключены все автомобили. Общая сеть рождает риск кибератак злоумышленников. В данной статье будет приведено возможное решение - устойчивая к атакам система управления потоком.
Где собака зарыта?
Для начала стоит уточнить, в чем же опасность. Одна из возможных стратегий злоумышленников связана как с автомобильными радарами, так и с системами специальной связи ближнего действия (DSRC - Dedicated Short-Range Communication) - это создание помех в канале, а также спуфинг - маскировка под легального пользователя или подключенного к сети устройства. Текущие алгоритмы управления сигналами очень уязвимы для атак с подделкой данных, даже если скомпрометировано только одно транспортное средство. Более детально эти типы уязвимостей в системах специальной связи ближнего действия были разобраны в работах C. Bhat (2018) «Cybersecurity Challenges and Pathways in the Context of Connected Vehicle Systems» [2] и M. Dibaei, X. Zheng, K. Jiang, S. Maric, R. Abbas, S. Liu, Y. Zhang, Y. Deng, S. Wen, J. Zhang, Y. Xiang, and S. Yu (2019) «An Overview of Attacks and Defences on Intelligent Connected Vehicles» [3]
Интеллектуальная система дорожных сигналов (I-SIG - Intelligent Traffic Signal System) использует систему управления безопасностью и учетными данными (SCMS - Security and Credential Management System). Для использования системы требуется, чтобы основные сообщения по безопасности (BSM) были подписаны цифровым сертификатом отправителя. Это гарантирует целостность сообщения. Таким образом, получатель может подтвердить личность отправителя по подписи.
Важное уточнение
Далее мы действуем из предположения, что злоумышленник может только изменять содержимое BSM, но не может управлять мощностью радиосигнала в пределах эффективной зоны покрытия связи RSU и злоумышленника (при условии, что RSU находится в зоне действия злоумышленника). Также предполагаем, что злоумышленник не может подделать подписи отправителей.
Зачем злоумышленникам это надо?
Создание помех в канале, а также спуфинг направлены на создание заторов, которые нелегко обнаружить с помощью простых защитных подходов, таких как несоответствие местоположения и скорости транспортного средства, телепортация или обгон с возвратом на ту же полосу движения. Перед демонстрацией стратегии атаки проиллюстрируем сценарий, как показано на Рисунке 1.
Злоумышленник находится рядом с RSU и может перехватывать BSM’ы, транслируемые оборудованными транспортными средствами. Затем злоумышленник развертывает атаки типа «man-in-the-middle» для изменения BSM и повторно отправляет их в RSU. Например, красный автомобиль представляет собой атакованное транспортное средство, а значок пунктирной линии представляет область атаки, где злоумышленник пытается подделать RSU. Ниже мы подробно рассмотрим две нетривиальные стратегии спуфинга:
1. Аварийная остановка
Когда целевая CAV входит в зону действия атакующего, он может постоянно получать BSM от этой CAV. Злоумышленник применяет атаки типа «man-in-the-middle», которые заставляют информацию о местоположении CAV фиксироваться в соответствующей точке входа, откуда злоумышленник проводит атаку, и фальсифицируют информацию о нулевой скорости, а затем отправляют всю эту информацию в RSU. В этом случае алгоритм управления будет предоставлять неверную рекомендованную скорость тем, кто следует за CAV в пределах той же полосы атакованного транспортного средства, чтобы они замедлились или даже полностью остановились. Псевдокод показан в алгоритме 1.
Algorithm 1: Emergency Stop Spoofing Algorithm
INPUT: BSM from target CAVs.
INITIALIZE Spoofing_flag = 0, Spoofing_Location
IF Received a BSM from a target CAV THEN
Spoofing_BSM = BSM
IF Spoofing_flag = 0 THEN
Actual_Location = location contained in the
BSM
Spoofing_Location = Actual_Location
Spoofing_flag = 1
END IF
Spoofing_Speed = 0
Set Spoofing_Speed to be the speed in Spoofing_BSM
Set Spoofing_Location to be the location in
Spoofing_BSM
Resend the Spoofing_BSM to the RSU
END IF
2. Подмена накопительного дрейфа позиции
В этом типе атаки злоумышленник продолжает получать сообщения BSM от целевой CAV, как только атакуемый автомобиль входит в зону действия злоумышленника. Затем злоумышленник так же непрерывно генерирует фальсифицированную информацию о скорости, но уже довольно продолжительное время, то есть показывая участникам потока, что автомобиль, едущий впереди постепенно замедляется. Кроме того, ложное местоположение вычисляется на основе поддельной скорости. Это небольшое несоответствие местоположения и скорости можно рассматривать как результат потери сигнала или ошибок GPS, которые случаются довольно часто. Однако по мере накопления разницы фактической позиции и заявленной в системе будут проявляться более серьезные воздействия (например, перегрузка) на восходящий трафик. Псевдокод показан в алгоритме 2.
Algorithm 2: Accumulative Position Drift Spoofing
Algorithm
INPUT: BSM from target CAVs.
INITIALIZE Spoofing_flag = 0, Spoofing_Location,
Spoofing_Speed, Last_Time_Stamp, Accel = -2.5
IF Received a BSM from a target CAV THEN
Spoofing_BSM = BSM
IF Spoofing_flag = 0 THEN
Last_Time_Stamp = time stamp contained in the BSM
Actual_Location = location contained in the BSM
Actual_Speed = speed contained in the BSM
Spoofing_Location = Actual_Location
Spoofing_Speed = Actual_Speed
Spoofing_flag = 1
ELSE IF Spoofing_Speed > 0 THEN
Actual_Time_Stamp = time stamp contained in the BSM
Delta_Time = Last_Time_Stamp - Actual_Time_Stamp
Spoofing_Location = Spoofing_Location +
Spoofing_Speed * Delta_Time + 0.5 * Accel *
Delta_Time^2
Spoofing_Speed = Spoofing_Speed + Accel *
Delta_Time
Last_Time_Stamp = Actual_Time_Stamp
END IF
Set Spoofing_Speed to be the speed in Spoofing_BSM
Set Spoofing_Location to be the location in Spoofing_BSM
Resend the Spoofing_BSM to the RSU
END IF
Как бороться?
Стратегия защиты от атак основана на среднеквадратичной ошибке (MSE - Mean Square Error) для обнаружения и фильтрации BSM с поддельными данными на стороне RSU. Мы используем то преимущество, что как только RSU получает BSM, инфраструктура может получить индекс мощности принимаемого сигнала(RSSI - Received Signal Strength Index) BSM. RSSI приблизительно обратно пропорционален расстоянию между отправителем и получателем. Использование мощности сигнала, как основного инструмента в алгоритме, позволяет не вычислять точных расстояний от BSU до CAV, которые значительно сложнее вычислить с такой же точностью, как мощность сигнала. Наша стратегия защиты направлена на поиск данных с большей мощностью сигнала по сравнению с другими. RSU получает сообщения BSM как от CAV, так и от злоумышленника и передает их в алгоритм последовательности транспортных средств для идентификации полос движения. Для каждой полосы мы вычисляем среднеквадратичные ошибки (MSE) измерений расстояния на основе статистики RSSI и информации о местоположении, встроенной в полученные BSM.
где 𝛿𝑖 - расстояние, измеренное RSSI для 𝑖-й CAV; 𝑥𝑖 и 𝑦𝑖 представляют широту и долготу, соответственно, содержащиеся в BSM 𝑖-го CAV; 𝑥 и 𝑦 - GPS-координаты RSU; и 𝑚 - общее количество CAV в этой полосе. Затем мы определяем порог по средней MSE при отсутствии атак:
где 𝜍 - MSE полосы 𝑗, в которой все CAV безопасные; 𝑛 количество полос. Если MSE ниже, полоса считается безопасным набором, который не включает атакованные машины. Таким образом, наша цель - определить самый большой безопасный набор расстояний между CAV. Чтобы уменьшить вычислительную нагрузку стратегии защиты, предлагается жадный алгоритм пошагового удаления (как показано в алгоритме 3).
Algorithm 3: MSE Based Attack-Resilient Defense Algorithm
INPUT: A set of BSMs from CAVs: Current_Platoon.
OUTPUT: Current_Platoon
INITIALIZE: Flag = True, M = size of Current_Platoon, X_RSU,
Y_RSU, Threshold, MMSE = 99999
WHILE M > 1 AND Flag == True
SUM_MSE = 0
FOR i = 0 to M
Dist = coarse distance measured by RSSI of Current_Platoon
[i]
X = x of location of Current_Platoon[i]
Y = y of location of Current_Platoon[i]
MSE = (Dist – sqrt((X – X_RSU)^2 + (Y – Y_RSU)^2))^2 / M
SUM_MSE = SUM_MSE + MSE
END FOR
IF SUM_MSE < Threshold THEN
BREAK
ELSE
SUM_MSE = 0
FOR j = 0 to M
FOR i = 0 to M
IF j != i THEN
Dist = distance measured by RSSI of
Current_Platoon[i]
X = x of location of Current_Platoon[i]
Y = y of location of Current_Platoon[i]
MSE = (Dist – sqrt((X – X_RSU)^2 + (Y –
Y_RSU)^2))^2 / M
SUM_MSE = SUM_MSE + MSE
END IF
END FOR
IF SUM_MSE < Threshold THEN
Flag = False
Remove Current_Platoon[j] from Current_Platoon
BREAK
ELSEIF SUM_MSE < MMSE
MMSE = SUM_MSE
Delete_Vehicle = Current_Platoon[j]
END IF
END FOR
Remove Delete_Vehicle from Current_Platoon
M = M – 1
END IF
END WHILE
Входными данными алгоритма является набор начального местоположения всех CAV на полосе движения. В последующих временных шагах алгоритм будет продолжать проверять, меньше ли MSE текущего набора местоположений CAV, чем пороговое значение. Если меньше, то набор подтверждается для дальнейшего контроля, как эталонный. В противном случае алгоритм вычисляет MSE всех возможных наборов и выбирает подмножество с наименьшей MSE в качестве входных данных для следующего временного шага. Этот алгоритм продолжает работать до тех пор, пока не найдет набор, удовлетворяющий пороговому условию.
Испытания
Для того, чтобы понять, эффективен ли данный алгоритм, смоделируем ситуацию, близкую к реальной. Самая важная вещь в нашей симуляции – эффективность транспортной сети – Q(км/ч). Она вычисляется по формуле:
Где VKT (Vehicle-Kilometers Traveled) – расстояние (км), пройденное автомобилем, а VHT (Vehicle-Hours Traveled) – время (ч), которое автомобиль провел в пути. В нашей симуляции мы введем следующие метрики: V2C(Volume-to-Capacity) – степень загруженности магистрали (0.3, 0.6, 0.9), A - доля атакованных автомобилей по отношению к общему их числу (0, 0.1, 0.25, 0.5), Penetration rate (PR) – число СAV’ов по отношению к числу обыкновенных автомобилей в потоке. Время атаки возьмем – 20 минут. Результаты испытаний алгоритма в симуляции:
Номер симуляции |
PR(%) |
A |
V2C |
VKT (км) |
VHT(ч) |
Q(км/ч) |
1 |
100 |
0.5 |
0.9 |
26 |
2.4 |
10.9 |
2 |
50 |
0.5 |
0.9 |
68.7 |
4.5 |
15.4 |
3 |
20 |
0.5 |
0.9 |
89.1 |
6.8 |
13.1 |
4 |
100 |
0.25 |
0.9 |
38.9 |
2.6 |
14.9 |
5 |
50 |
0.25 |
0.9 |
68.8 |
4.5 |
15.2 |
6 |
20 |
0.25 |
0.9 |
90.9 |
7.2 |
12.7 |
10 |
100 |
0 |
0.9 |
97.7 |
4 |
24.4 |
27 |
100 |
0.5 |
0.3 |
31.2 |
2.2 |
14.2 |
28 |
50 |
0.5 |
0.3 |
60.2 |
3.3 |
18.5 |
29 |
20 |
0.5 |
0.3 |
70.7 |
2.9 |
24.8 |
31 |
50 |
0.1 |
0.3 |
63.2 |
2.9 |
21.1 |
37 |
50 |
0 |
0.3 |
67 |
2.5 |
26.9 |
Рисунок 2. Рисунок 2 (a) показывает эффективность в виде сопоставления коэффициента атаки и коэффициента V2C в условиях, когда CAV составляют все 100% потока. Можно заметить, что эффективность системы уменьшается с увеличением доли атакованных автомобилей, что логично. Из рисунка 4 (a) и рисунка 4 (b) можно заметить, что по мере уменьшения плотности потока (V2C) эффективность движения увеличивается. В случае без атаки отметим, что магистраль работает эффективнее с ростом числа CAV на дороге, а это именно та цель, которую мы преследуем.
Заключение
Мы рассмотрели эффективный способ выявления и борьбы с двумя нетривиальными угрозами, которые могут возникнуть при организации сети автономных автомагистралей. Такой алгоритм позволяет точно выявлять положение и скорость транспортных средств, основываясь на данных, которые сложнее всего подделать, что повышает общую надежность и безопасность всей системы. Применяя данный алгоритм, система может выявить CAV, который подвергся атаке злоумышленника. Это позволит точечно уделить внимание данному автомобилю для предотвращения опасности для остальных участников движения. А самое главное, в случае, если количество атак минимально или вообще отсутствует, то магистраль работает более эффективно, нежели без системы управления потоком.
Источники
Автор:
Eremitt