Traffic Anomaly Detection in Vehicle Bus by Recurrent LSTM Neural Network
- 作者: Troshin A.V.1
-
隶属关系:
- Povolzhskiy State University of Telecommunications and Informatics
- 期: 卷 21, 编号 4 (2023)
- 页面: 12-18
- 栏目: Communication networks and multi-services
- URL: https://journals.eco-vector.com/2073-3909/article/view/635110
- DOI: https://doi.org/10.18469/ikt.2023.21.4.02
- ID: 635110
如何引用文章
全文:
详细
Modern high-end cars have many electronic control units for driving assistance that combine huge amounts of data about the functioning of car components. A significant part of these vehicles use a controller area network for communication between electronic units. Controller area network is a simple and reliable network protocol that due to its simplicity lacks any security mechanisms for data transmission. The problem of controller area network vulnerability is worsening as constantly growing amounts of data between cars, road infrastructure and the Internet. The traffic of attacks on controller area networks can be treated as abnormal that allows using anomaly detection methods for their recognition. In this work we propose the recurrent long short-term memory encoder-decoder neural network for controller area network attacks detection.
全文:
Введение
Современный автотранспорт оснащается все большим количеством электронных датчиков и систем, обеспечивающих комфортное и безопасное вождение. Со временем данные системы станут настолько совершенными, что позволят добиться частичной или полной автономности управления.
Работа электронных систем автомобиля невозможна без надежного обмена данными, различают два вида интерфейсов связи: внутренние и внешние. Внутренние интерфейсы (in-vehicle) обеспечивают обмен данными между электронным блоками самого автомобиля, тогда как внешние интерфейсы служат для обмена данными с другим транспортном (V2V, Vehicle-to-Vehicle) или окружающей инфраструктурой (V2I, Vehicle-to-Infrastructure). Помимо этого, на значительной части автомобилей работают приложения, обменивающиеся данными со всемирной сетью Интернет. Поскольку для вождения необходимо тесное взаимодействие всех систем автомобиля, то в результате внутренние интерфейсы не являются больше полностью изолированными от внешних сетей и могут стать целью проведения сетевых атак [1–5].
Одним из стандартных решений для построения внутренних интерфейсов автомобилей является сеть контроллеров (CAN, Controller Area Network). CAN обеспечивает простой и надежный способ обмена данными между электронными блоками управления (ECU, Electronic Control Unit) (рисунок 1).
Рисунок 1. Блок-схема CAN
Все электронные блоки напрямую подключены к шине (CAN bus), данные по которой передаются в виде коротких кадров. Кадры рассылаются широковещательно всем блокам одновременно, для предотвращения коллизий блоки проверяют занятость шины перед передачей. Разрешение коллизий производится путем побитового арбитража: при одновременной передаче блоки последовательно сравнивают каждый бит, и если они совпадают, то продолжают передачу; при несовпадении бит передачу продолжает блок, передающий логический ноль. Получение кадров без ошибок каждым блоком должно быть подтверждено путем отправки слота подтверждения, неверно принятые кадры направляются повторно [2; 5].
Стандартом CAN 2.0 определено четыре типа кадров:
- кадр данных (data frame);
- кадр удаленного запроса (remote frame);
- кадр перегрузки (overload frame);
- кадр ошибки (error frame).
Кадр данных используется для передачи данных между блоками. Кадр удаленного запроса применяется для запроса данных у определенного блока. Кадр перегрузки нужен для задержки передачи следующего кадра, чтобы текущий кадр успел быть обработан. Кадр ошибки служит для отправки сообщения об ошибки передачи текущего кадра.
Основная информация в кадрах передается в следующих полях:
- идентификация (ID);
- код длины данных (DLC);
- полезные данные (Payload).
Поле идентификации (ID, IDentification) служит для идентификации, передаваемого сообщения, а также задания его приоритета – чем больше логических нулей оно содержит, тем выше будет приоритет сообщения в случае арбитража.
Код длины данных (DLC, Data Length Code) содержит количество передаваемых байт данных. Полезные данные могут иметь длину от 0 до 8 байт.
Полезные данные (Payload) передаются в поле, размер которого задается DLC.
Как видно из описания стандартный вариант CAN не имеет никаких механизмов защиты от подделки кадров, что делает данную сеть легкой целью для проведения различного рода сетевых атак. Например, скомпрометированный ECU может наводнить шину CAN поддельными сообщениями с наивысшим приоритетом 0x0000, что может привести к блокированию передачи кадров другими блоками. В свою очередь нарушения в работе CAN могут привести к очень серьезным последствиям в виде автомобильных аварий [2].
Поддельные кадры на шине CAN можно рассматривать как аномалии, имеющие определенные отличия от параметров нормального трафика, например, в значениях полей ID и DLC, которые не встречаются в обычных кадрах.
Для выявления аномалий сетевого трафика могут применяться следующие методы [11]:
- на базе сигнатур;
- статистические методы;
- методы машинного обучения.
В основе методов на базе сигнатур лежат правила, которые позволяют произвести проверку трафика на аномальность, например, на запрещенные значения полей кадров. Данные методы достаточно эффективны, однако требуют тщательной разработки и проверки правил, и не позволяют оперативно реагировать на появление новых видов сетевых атак.
В статистических методах аномалии рассматриваются как редкие события, сильно отклоняющиеся от усредненных параметров сетевого трафика. Данные методы позволяют обойтись без создания большого набора правил проверки, однако для их реализации необходимо определение точной стохастической модели сетевого трафика, что часто сложно реализовать на практике.
В основе методов машинного обучения для выявления аномалий лежат алгоритмы, которые позволяют получать критерии определения аномалий непосредственно из данных. Большинство методов машинного обучения относят к методам обучения с учителем (supervised learning) [7], так как они обучаются на заранее размеченных данных, разделенных на нормальные и аномальные экземпляры. Такие методы отличает высокая точность выявления аномалий, однако их недостатком является необходимость подготовки больших объемов размеченных данных для обучения, что является достаточно сложным и дорогостоящим процессом. Помимо этого, в случае появления новых видов сетевых атак, необходимо переобучение алгоритмов на данных, включающих этих атаки.
В методах обучения без учителя (unsupervised learning) алгоритмы самостоятельно структурируют неразмеченные данные, что значительно упрощает их практическое использование, кроме того, отсутствует необходимость в их переобучении [7]. К недостаткам методов обучения без учителя можно отнести их меньшую точность выявления аномалий.
На данный момент имеется несколько практических исследований по выявлению аномалий, связанных с атаками на CAN сети автомобилей [1–5]. В абсолютном большинстве из них для выявления аномалий применяются модели машинного обучения с учителем, основанные на искусственных нейросетях. Как было уже сказано, несмотря на высокую точность таких методов, они не позволяют оперативно реагировать на новые виды сетевых угроз.
В данной работе предлагается для выявления аномалий CAN использовать рекуррентную LSTM-нейросеть, построенную по архитектуре энкодер-декодер, в режиме обучения без учителя. Это позволит ее использовать для выявления как известных, так и ранее не применявшихся сетевых атак.
Архитектура рекуррентной нейросети
Простая рекуррентная нейронная сеть (RNN, Recurrent Neural Network) состоит из трех слоев нейронов: входного, скрытого и выходного, рисунок 2 [7]. В отличии от других типов нейросетей текущее состояние на выходах RNN зависит не только от сигналов на входе, но и от предыдущих состояний.
Рисунок 2. Вид простой RNN
Скрытый слой нейронов RNN в момент t определяется как:
,
где W и U – матрицы весов для скрытого слоя и входного слоя, соответственно; x – вектор входных нейронов; b – вектор смещений данного слоя; g – функция активации нейронов.
Преимуществом RNN в сравнении с другими типами нейросетей является учет временных зависимостей сигнала на входе от предыдущих состояний, главный недостаток – исчезновение градиента со временем, что не позволяет RNN обучать длительным взаимосвязям. Для устранения данного недостатка были разработаны RNN с элементами долгой краткосрочной памяти (LSTM, Long Short-Term Memory), которые могут учитывать хронологические взаимосвязи входного сигнала на длительных промежутках, однако LSTM требуют значительно больших вычислительных ресурсов для обучения [7].
Поскольку сетевые атаки на CAN приводят к нарушению нормального порядка передачи кадров во времени, то для их выявления предлагается использовать LSTM-нейросеть по архитектуре энкодер-декодер (рисунок 3) [6; 8; 9].
Рисунок 3. Сеть LSTM с архитектурой энкодер-декодер
Энкодер представляет собой цепочку LSTM-ячеек, на вход которых подается исходная временная последовательность длиной n: Xt = {xt, xt+ 1, xt+ 2, …, xt+n}, где xt – вектор из m-параметров в момент времени t. Целью энкодера является обучение наиболее характерным свойствам временной последовательности, которые запоминаются LSTM-ячейками. На выходе энкодера формируется выходной вектор из m-параметров, n-копий которого поступают на вход декодера.
Декодер представляет цепочку LSTM-ячеек, на выходах которых формируется последовательность X’t, которая является реконструкцией входной последовательности, таким образом, задачей LSTM-декодера является воссоздание исходной последовательности по главным свойствам, выявленным декодером.
В процессе обучения делается предположение о том, что аномальные экземпляры встречаются в тренировочных данных намного реже нормальных. B результате нейросеть обучается реконструированию нормальных данных по их наиболее характерным свойствам.
В режиме выявления аномалий входная последовательность оценивается на аномалию путем определения среднеквадратической ошибки реконструкции последовательности в момент времени t:
,
где n – размерность данных; xt+i – вектор исходных параметров; xt+1’ – вектор реконструированных параметров.
Затем определяется усредненное значение RMSE для всех параметров, которое сравнивается с пороговым значением φ. При превышении данного порога вся последовательность относится к аномалиям.
Качество выявления аномалий тем или иным методом оценивается с помощью таких параметров как точность и чувствительность [7; 11]. Точность (precision) определяется как отношение числа правильно отнесенных экземпляров к аномалиям, TP (True Positive) к общему числу экземпляров, отнесенных как правильно к аномалиям, так и неправильно FP (False Positive):
.
Чувствительность (recall) определяется как отношение числа правильно отнесенных случаев к аномалиям к общему числу аномалий в данных как выявленных, так и не выявленных FN (False Negative):
.
Следует отметить, что точность и чувствительность по-разному зависят от установленного порогового значения: с ростом порога точность выявления аномалий увеличивается, а чувствительность падает, поскольку растет число не выявленных аномалий.
Зависимость точности от чувствительности для разных пороговых значений представляется в виде кривой (precision recall curve), которая в идеальном случае имеет постоянный характер.
В связи с этим для общей оценки пригодности метода к выявлению аномалий используется усредненная оценка точности (average precision) по разным пороговым значениям:
,
где Pi и Ri – точность и чувствительность для порогового значения φi.
Использованные данные
Для оценки выявления аномалий рекуррентной нейросетью рассматриваемой архитектуры были использованы данные, подготовленные для соревнований по кибербезопасности [10]. Данные были собраны на автомобиле Hyundai Avante, в стационарном и движущемся состояниях, и представлены как нормальным трафиком, так и несколькими сетевыми атаками: флудинг, спуфинг, повтор и фазинг [1].
Целью флудинга (flooding) является перегрузка шины CAN кадрами с наименьшим идентификатором (0x000), чтобы затруднить передачу нормального трафика.
При спуфинге (spoofing) атакующий отправляет на шине CAN поддельные кадры с целью нарушения работы отдельных функций автомобиля.
Атака повтора (replay) заключается в захвате и повторной отправке по шине нормальных кадров, что может приводить к неверному срабатыванию ряда систем автомобиля.
Во время фазинга (fuzzing) атакующий отправляет по шине кадры со случайно сгенерированными полями, что может вызывать нарушения во время вождения. Данный вид атаки наиболее прост в осуществлении, так как не требует никаких знаний у атакующего о функционировании CAN данной модели или предварительного захвата и анализа трафика.
В набор данных включены такие параметры трафика как отметка времени захвата кадра, поля идентификации, длины и полезной нагрузки, а также класс трафика (нормальный или аномальный) и подкласс (тип атаки).
Результаты и выводы
Для моделирования весь собранных с шины CAN трафик был разбит на последовательности, состоящие из двух, следующих друг за другом кадров. Если в последовательность входит хотя бы один аномальный кадр, то вся она расценивается как аномальная.
Полученные таким образом данные были разделены на три части: для обучения (75%), тестирования (15%) и валидации (10%).
Для реализации рекуррентной LSTM-нейросети рассматриваемой архитектуры, был использован пакет TensorFlow, слои энкодера и декодера состоят из 32 LSTM-ячеек.
Оценка точности модели по выявлению аномалий проводилась при помощи функций пакета Scikit-Learn. Программным код, рассматриваемой модели, в формате Jupyter Notebook представлен в репозитории [12].
Рисунок 4. Результаты выявление аномалий трафика в сети стоящего автомобиля
Полученные результаты выявления аномалий для стоящего автомобиля представлены на рисунке 4.
Результаты для движущегося автомобиля приведены на рисунке 5.
Рисунок 5. Результаты выявления выявления аномалий трафика в сети движущегося автомобиля
Использование рассматриваемой рекуррентной нейросети позволяет достигнуть 94-95% точности выявления аномалий трафика сети CAN автомобиля, что является весьма высоким результатом для методов машинного обучения без учителя. Несмотря на то, что предлагаемый способ проигрывает в точности методам обучения с учителем, которые демонстрируют на базе нейросетей точность на уровне 99%, он не требует сложной и затратной подготовки данных для обучения. Тем не менее, следует отметить, что выявления аномалий трафика автомобиля требует очень высокой точности, так как неверное распознавание аномалий может привести к возникновению аварийнх ситуаций во время движения. Поэтому предлагаемый способ может применяться для выявления аномалий трафика автотранспорта в связке с другими методами для гарантии общей безопасности их использования.
作者简介
Alexander Troshin
Povolzhskiy State University of Telecommunications and Informatics
编辑信件的主要联系方式.
Email: a.v.troshin77@yandex.ru
Assistant Professor of Networks and Systems of Telecommunication Department, PhD in Technical Science
俄罗斯联邦, Samara参考
- Kang H. et al. Car hacking and defense competition on in-vehicle Network. Third International Workshop on Automotive and Autonomous Vehicle Security, 2021. URL: https://dx.doi.org/ 10.14722/autosec.2021.23035 (accessed: 20.11.2023).
- Tariq S. et al. CAN-ADF: The controller area network attack detection framework. Computers & Security, 2020, vol. 94, pp. 101857. DOI: 10.1016/ j.cose.2020.101857
- Avatefipour O. et al. An intelligent secured framework for cyberattack detection in electric vehicles’ CAN bus using machine learning. IEEE Access, 2019, vol. 7, pp. 127580–127592. doi: 10.1109/ACCESS.2019.2937576
- Song H.M., Woo J., Kim H.K. In-vehicle network intrusion detection using deep convolutional neural networks. Vehicular Communications, 2020, vol. 21. URL: https://doi.org/10.1016/ j.vehcom.2019.100198 (accessed: 10.12.2023).
- Sun H. et al. Anomaly detection for in-vehicle network using CNN-LSTM with attention mechanism. IEEE Transactions on Vehicular Technology, 2021, vol. 70, no. 10, pp. 10880–10893. doi: 10.1109/TVT.2021.3106940
- Wei Y. et al. LSTM-Autoencoder-based anomaly detection for indoor air quality time-series data. IEEE Sensors Journal, 2023, vol. 23, no. 4, pp. 3787–3800. doi: 10.1109/JSEN.2022.3230361
- Goodfellow I., Bengio Y., Courville A. Deep Learning. Cambridge, Massachusetts: MIT Press, 2016. 800 р.
- Ergen T., Mirza A.H., Kozat S.S. Unsupervised and Semi-supervised Anomaly Detection with LSTM Neural Networks, 2017. URL: https://doi.org/10.48550/arXiv.1710.09207 (accessed: 20.11.2023).
- Wei Y. et al. Reconstruction-based LSTM-Autoencoder for Anomaly-based DDoS Attack Detection over Multivariate Time-Series Data, 2023. URL: https://arxiv.org/abs/2305.09475 (accessed: 20.11.2023).
- Car-Hacking: Attack & Defense Challenge 2020 Dataset. URL: https:// ieee-dataport.org /open-access/car-hacking-attack-defense-challenge-2020-dataset (accessed: 25.11.2023).
- Troshin A.V. Network traffic anomaly detection by dimensionality reduction methods. Infokommunikacionnye tehnologii, 2022, vol. 20, no. 4, pp. 34–43. doi: 10.18469/ikt.2022.20.4.05 (In Russ.)
- Troshin A. Car Hacking Detection by LSTM Neural Network. URL: https://github.com/av-troshin77/car_hacking (accessed: 25.11.23).
