摘要
针对汽车潜在的网络攻击行为,对于车载灵活数据速率控制器局域网络(CAN-FD)提出了一种基于支持向量机的异常入侵检测算法。在通用入侵检测框架(CIDF)下,该方法使用报文标识符(ID)、时间周期和数据场数据作为入侵检测特征,利用支持向量机算法的二分类特性和小样本特征,实现了对CAN-FD网络环境下入侵报文数据的识别。仿真实验数据表明,所提出的方法具有较高的入侵检测正确率,且可用于周期性报文和非周期性报文。
智能化、网联化、电动化是当今汽车发展的三大趋势。对于智能网联汽车来说,信息通信技术是其中的基础核心技术之
针对车载网络的入侵检测系统从形式上分为基于电子控制单元 (ECU) 端的入侵检测和基于云端的大数据检测,从方法上分为根据已知攻击类型的规则匹配检测和针对未知攻击类型的异常检测。在保证准确率的前提下研究适应性较广的异常检测算法是一个研究趋势。以色列特拉维夫大学提出了一种用于车载CAN 总线网络流量的新型域感知异常检测系统。该异常检测系统的核心为自动识别数据场的边界和类型的分类
在新一代的智能网联汽车电子电气架构下,CAN-FD总线将更多的取代传统的CAN总线的作用。目前针对CAN-FD网络入侵检测的核心问题是如何高效而准确地对异常数据进行识别。提出了一种基于支持向量机(Support Vector Machine, SVM)的异常入侵检测方法。该方法使用报文ID、时间周期和数据场数据作为入侵检测特征,实现了对CAN-FD网络环境下异常数据的识别。仿真实验数据表明,提出的方法针对网络异常数据具有较高的入侵检测正确率。此方法可用于周期性和非周期性的CAN-FD报文。
在汽车的电子电气架构中,车载网络用于信号和数据的传输。CAN-FD总线作为一种典型的车载网络,被广泛用于动力总成,底盘控制,车身控制和汽车诊断。CAN-FD总线的安全性直接影响车辆的安全性。

图1 CAN-FD报文帧结构
Fig.1 The structure of CAN-FD bus frame
其中数据字段的最大长度为64个字节,仲裁字段包含CAN-FD消息的标识符ID。CAN-FD总线的仲裁由消息标识符决定,标识符较低的消息比标识符较高的消息具有更高的优先级。CAN-FD总线是一个广播网络,连接到同一CAN-FD子网的任何ECU都可以接收所有消息并将消息传输到其他ECU。
针对广播形式通信的CAN-FD总线的攻击方式主要有窃听攻击、重放攻击、篡改攻击和DOS攻击等形式,如

图2 针对CAN-FD总线的攻击
Fig.2 Attacking on the CAN-FD bus
数据加密和消息验证能保证网络通信过程中的机密性和可信性。当网络攻击已经发生时,需要采取进一步的入侵检测和防御机制,保证网络通信的可用性。入侵检测系统可以通过对网络系统的动态监控,识别典型的攻击模式,分析异常状态模式。识别出攻击源和攻击方法对快速高效的取证、隔离,安全补丁等措施的执行是十分重要的。
通用入侵检测框架(CIDF)模型将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统其他途径得到的信息。该模型中入侵检测系统由事件产生器、事件分析器、响应单元和事件数据库组

图3 CAN-FD网络入侵检测系统架构
Fig.3 The architecture of CAN-FD bus intrusion detection system
支持向量机是一种基于分类与回归分析的监督式数据分析学习模型算法。支持向量机使用时需要对给定的训练组中每一个实例进行标记,并分类为两个类别。支持向量机的训练算法将创建一个二元的线性分类器,并具有非概率性。对于给定的新的实例,该模型将会把实例分到两个类别中的一个。
CAN-FD网络的状态数据是高维的,同时可用的入侵攻击状态数据小于CAN-FD总线的正常状态数据。SVM在分类方面具有良好的性能。对于小样本检测来说,SVM比神经网络工作得更好,同时SVM还具有良好的泛化能力。当这些优势使得SVM适合检测CAN-FD网络的异常状态。
数据样本各个特征具有不同的分布的取值范围,通过归一化将各个维度的特征值映射到相同区间,使得各特征值具有相同量纲,处于同一数量级。
将特征值从一个大范围映射到[0,1]或者[-1,1],如果原始值都是正数,则选择映射到[0,1],即
(1) |
式中:是数据集的某类数值; 是数据集中的归一化值;min 是数据集的该类数值的最小值;max是数据集的该类数值的最大值。
分类SVM(C-SVM)用于对CAN-FD子网中的正常消息和异常消息进行分类。SVM模型的输入向量为CAN-FD报文。在基于SVM的入侵检测系统中,CAN-FD总线的检测参数包括消息ID,消息循环周期和消息数据值。其中,对于消息数据值来说,CAN-FD报文的数据场为64个字节。在安全通信模式下,有效的通信数据字节为48
(2) |
式中:为CAN-FD消息的最近循环周期;为CAN-FD消息的标识符;为CAN-FD消息数据字段中用于数据传输的字节值。
CAN-FD子网的流量状态标签定义为
(3) |
式中:-1代表该消息为异常消息,1代表该消息属于正常的消息。
C-SVM的约束公式为
(4) |
式中:,是超平面定义的参数;是SVM训练集中的CAN-FD的帧数;是松弛系数。
由于CAN-FD总线的特征参数不是线性的,因此需要根据
(5) |
使用径向基函数(RBF)作为内核函数进行数据映射。由式(
(6) |
(7) |
式中,是内核函数的预定义参数。
CAN-FD流量状态的训练集从映射到Hilbert空间为
(8) |
根据式(9)~
(9) |
(10) |
(11) |
式中:是成本参数。
基于内核函数,式(9)~
(12) |
(13) |
(14) |
参数和的最佳值可以通过使用训练数据集的网格搜索找到,而C-SVM模型由超平面唯一的解进行定义。其中
(15) |
(16) |
SVM的分类过程原理如

图4 支持向量机原理
Fig.4 Support vector machine
的数值将会直接影响计算的复杂度和计算时间。对于每个CAN-FD消息,输出标签由SVM模型预测,预测结果如下:
(17) |
网络攻击类型数据库的完善是入侵检测非常重要的一部分。攻击数据的采集存在多种困难,如道路情况的变化,驾驶员个人习惯的差异,车型的变化都会对攻击数据的有效性产生相应的影响。本文采用CANoe仿真网络的正常流量和攻击流量对C-SVM模型进行训练和预测。CAN-FD通信数据包的训练集是从CANoe模拟的车载网络环境中收集的,如

图5 车载CAN-FD网络仿真环境
Fig.5 Simulation environment of CAN-FD networks
其中正常数据用标签“1”记录,异常数据记录标签为“-1”。训练配置为检测CAN-FD消息“Engine_Data”的异常状态。对于某个CAN-FD消息,消息标识符和帧频是固定的,因此可以过滤掉消息标识符和帧频率的异常。在实验中,模拟攻击字段是CAN-FD消息的数据字段。
实验的训练集中,正常CAN-FD消息的数量是10 920,异常CAN-FD消息的数量是6 000。基于MATLAB的LIBSVM用于模型训
(18) |
预定义参数和会影响SVM模型的检测精度(Acc)。使用网格搜索为C-SVM找到最佳参数和。训练交叉验证准确性的结果如

图6 SVM模型中C和γ交叉验证的精确度
Fig.6 Cross-validation accuracy of C and γ in the SVM model
用于测试的CAN-FD流量数据包含正常和异常CAN-FD消息。其中正常CAN-FD消息的数量为4 000,异常CAN-FD消息的数量为2 000。数据场利用率为48个字节中的前8个字节,剩余32个字节的前8个字节类似。

图7 CAN-FD报文数据集的预测结果
Fig.7 Predicting results of CAN-FD messages test datasets
通过
(1) 参数为一个固定的值,因此具有最好的检测准确率。当攻击者使的值发送变化时,可以很容易被检测出来。
(2) 参数的原始数据变化范围大,单独使用做检测的准确率较低。
(3) 参数的原始数据具有分布间距大,植入的数据和参数相比,检测准确率更高。
(4) 参数的原始数据和相比,数据范围更广。对于边缘型的数据,能较好的识别。
(5) 参数的原始数据与类似,但是数据范围域不同。
(6) 参数的原始数据和参数类似,单独使用做检测的准确率较低。
(7) 参数的原始数据和参数类似。对于边缘型的数据,能较好的识别。
(8) 参数的原始数据和参数类似,单独使用做检测的准确率较低。
(9) 参数的原始数据和参数类似。对于边缘型的数据,能较好的识别。
对于参数,,. .. ,的原始数据分布对于检测准确率的影响,和参数,,.. . ,之间的关系一致。
原始数据的范围对检测的准确率有直接的影响。对于参数 ,,,.. . ,,当攻击报文的异常数据只篡改单个数据时,基于支持向量机的算法异常检测准确率如

图8 单维度数据范围与预测准确率的变化
Fig.8 Changes in single-dimensional data range and prediction accuracy
某个 CAN-FD 消息的消息标识符和循环周期的正常值是固定的。如果攻击者仅更改消息标识符和循环周期,则可以检测到异常状态。在这种情况下,检测精度高达 95% 。
如果攻击目标在 CAN-FD 帧上的数据字段上,则检测精度与值范围有关。对于某个字节,字节值增加的范围将导致检测精度降低。因为正常字节值范围正在增加,异常字节值范围正在减小。当攻击者篡改的数据在多个数据位时,检测正确率有明显的提升。
(1) 攻击篡改发生在,和的检测精度低于 90%,而攻击内容发生在,,,和 时,检测的准确性更高。
(2) 当攻击篡改的目标超过一个字节时,异常入侵检测系统具有更好的性能。检测准确性在,,,上超过 90%。
(3) 当攻击篡改的目标在,上时,检测准确性超过 98%。
(4) 当攻击篡改的目标在 上时,检测准确性超过99%。
通过以上的数据检测结果可以看出,将支持向量机的异常检测算法应用于 CAN-FD 网络时,具有较高的异常数据检测正确率,可以应用于入侵检测系统。根据攻击篡改的数据不同,检测准确率能达到为 80% 或更高。基于支持向量机的 C-SVM 算法对于 CAN-FD 网络的入侵检测具有有效性。
针对提出的基于SVM模型的入侵检测算法,
单一维度里的原始数据范围对于数据异常检测的正确率有直接的影响。可以考虑通过数据维度划分的方式,降低 CAN-FD 报文中单一维度里的数据范围。根据
因为方法论的缘故,在异常入侵检测的攻击场景未知的情况下,无法避免异常入侵检测中的错误。为了提高入侵检测系统的性能,可以结合误用入侵检测方法和异常入侵检测方法。出于对网络性能和ECU计算性能的保护,基于支持向量机的入侵检测方法更合适应用于远程服务器的部署。
从网络入侵检测和保护的角度出发,基于CIDF通用入侵检测模型建立了CAN-FD入侵检测架构,并提出了一种基于支持向量机的异常入侵检测方法。通过参数分析和预测正确率的评估,对 CAN-FD 支持向量机的维度划分方法进行了优化。相比于其他的入侵检测方法,本文利用SVM模型的CAN-FD网络入侵检测算法可适用于多种攻击类型的网络异常检测,具有检测准确率高的特点。在后续的研究工作中将继续优化检测算法的计算资源消耗。
参考文献
中国汽车工程学会. 节能与新能源汽车技术路线图[M].北京: 机械工业出版社, 2016. [百度学术]
SAE-China. Technology roadmap for energy saving and new energy vehicles[M]. Beijing: China Machine Press, 2016. [百度学术]
WOO S, JO H J, LEE D H. A practical wireless attack on the connected car and security protocol for in-vehicle CAN [J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(2): 993. [百度学术]
KOSCHER K, CZESKIS A, ROESNER F, et al. Experimental security analysis of a modern automobile[C]//IEEE Symposium on Security and Privacy. Oakland : IEEE, 2010: 447-462. [百度学术]
于赫. 网联汽车信息安全问题及CAN总线异常检测技术研究[D]. 长春: 吉林大学, 2016. [百度学术]
YU HE. Research on connected vehicle cyber security and anomaly detection technology for in-vehicle CAN bus[D]. Changchun: Jilin University, 2016. [百度学术]
MARKOVITZ M, WOOL A. Field classification, modeling and anomaly detection in unknown CAN bus networks[J]. Vehicular Communications, 2017,9: 43. [百度学术]
KANG M J, KANG J W. Intrusion detection system using deep neural network for in-vehicle network security[J]. Plus One, 2016, 11(6): 1. [百度学术]
MUTER M, ASAJ N. Entropy-based on anomaly detection for in-vehicle networks[C]//IEEE Intelligent Vehicle Symposium (IV). Baden-Baden: IEEE, 2011: 1110- 1115. [百度学术]
HARTWICH F.CAN with flexible data-rate [C]// CAN in Automation. Hambach:CIA, 2012:1-9 [百度学术]
TUNG B. The common intrusion specification language: a retrospective[C]//DARPA Information Survivability Conference and Exposition. Hilton Head: IEEE, 2000: 36-45. [百度学术]
罗峰, 胡强, 刘宇. 基于CAN-FD总线的车载网络安全通信[J]. 同济大学学报(自然科学版), 2019, 47(3): 386. [百度学术]
LUO F, HU Q, LIU Y. Secure communication method for in-vehicle network based on CAN-FD bus[J]. Journal of Tongji University (Natural Science), 2019, 47(3): 386. [百度学术]
CHANG C C, LIN C J. LIBSVM: a library for support vector machines[J]. ACM Transactions on Intelligent Systems and Technology, 2001, 2(3):1. [百度学术]
OTSUKA S, ISHIGOOKA T, OISHI Y, et al. CAN security: cost-effective intrusion detection for real-time control systems[R]. Detroit: SAE, 2014. [百度学术]
LARSON U E, NILSSON D K, JONSSON E. An approach to specification-based attack detection for in-vehicle networks[C]//IEEE Intelligent Vehicles Symposium. Eindhoven: IEEE, 2008: 220-225. [百度学术]
AHN S, KIM H, JEONG J, et al. A countermeasure against spoofing and DoS attacks based on message sequence and temporary ID in CAN[C]//Symposium on Cryptography and Information Security. Kumamoto: IEICE, 2016: 1-8. [百度学术]
VAN HERREWEGE A, SINGELEE D, VERBAUWHEDE I. CANAuth—a simple, backward compatible broadcast authentication protocol for CAN bus[C]//ECRYPT Workshop on Lightweight Cryptography. Louvain-la-Neuve: UCL Crypto Group, 2011: 20-26. [百度学术]
NILSSON D K, LARSON U E, JONSSON E. Efficient in-vehicle delayed data authentication based on compound message authentication codes[C]//2008 IEEE 68th Vehicular Technology Conference. Calgary: IEEE, 2008: 1-5. [百度学术]