基于支持向量机的CAN-FD网络异常入侵检测

2021-01-08 08:53峰,胡强,侯硕,张
同济大学学报(自然科学版) 2020年12期
关键词:原始数据字节总线

罗 峰,胡 强,侯 硕,张 璇

(同济大学汽车学院,上海201804)

智能化、网联化、电动化是当今汽车发展的三大趋势。对于智能网联汽车来说,信息通信技术是其中的基础核心技术之一[1]。智能网联汽车在高速发展背景下,信息安全是其发展道路上不容忽视的一个重要问题。汽车的信息安全问题的关注者正在从研究人员扩大到汽车行业人员、消费者、政府部门等[2-4]。入侵检测和保护技术可以做到当攻击发生以后,及时做出反馈和响应,主要的难点在检测正确率和检测效率之间的平衡。

针对车载网络的入侵检测系统从形式上分为基于电子控制单元(ECU)端的入侵检测和基于云端的大数据检测,从方法上分为根据已知攻击类型的规则匹配检测和针对未知攻击类型的异常检测。在保证准确率的前提下研究适应性较广的异常检测算法是一个研究趋势。以色列特拉维夫大学提出了一种用于车载CAN总线网络流量的新型域感知异常检测系统。该异常检测系统的核心为自动识别数据场的边界和类型的分类器[5]。检测采用Greedy算法,在字段长度和字段含义之间进行平衡。韩国梨花女子大学提出了一种利用DNN机器学习算法的新型入侵检测系统。构建DNN结构的参数使用从车内网络分组中提取的基于概率的特征向量进行训练[6]。戴姆勒公司提出了一种基于信息熵的CAN总线异常检测的方法。通过信息熵检测方法可以成功识别与车载网络正常行为的偏差[7]。该方法只需要记录车载网络流量作为正常行为的输入。

在新一代的智能网联汽车电子电气架构下,CAN-FD总线将更多的取代传统的CAN总线的作用。目前针对CAN-FD网络入侵检测的核心问题是如何高效而准确地对异常数据进行识别。提出了一种基于支持向量机(Support Vector Machine,SVM)的异常入侵检测方法。该方法使用报文ID、时间周期和数据场数据作为入侵检测特征,实现了对CAN-FD网络环境下异常数据的识别。仿真实验数据表明,提出的方法针对网络异常数据具有较高的入侵检测正确率。此方法可用于周期性和非周期性的CAN-FD报文。

1 入侵检测系统框架

1.1 CAN-FD总线

在汽车的电子电气架构中,车载网络用于信号和数据的传输。CAN-FD总线作为一种典型的车载网络,被广泛用于动力总成,底盘控制,车身控制和汽车诊断。CAN-FD总线的安全性直接影响车辆的安全性。图1为一个标准的CAN-FD帧结构图[8]。

图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总线的数据都具有周期性发送、稳定的数据等特定。当CANFD总线攻击行为发生时,网络上会表现出各种异常状态。

图2 针对CAN-FD总线的攻击Fig.2 Attacking on the CAN-FD bus

1.2 入侵检测系统

数据加密和消息验证能保证网络通信过程中的机密性和可信性。当网络攻击已经发生时,需要采取进一步的入侵检测和防御机制,保证网络通信的可用性。入侵检测系统可以通过对网络系统的动态监控,识别典型的攻击模式,分析异常状态模式。识别出攻击源和攻击方法对快速高效的取证、隔离,安全补丁等措施的执行是十分重要的。

1.3 通用入侵检测框架模型

通用入侵检测框架(CIDF)模型将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统其他途径得到的信息。该模型中入侵检测系统由事件产生器、事件分析器、响应单元和事件数据库组成[9]。将CIDF模型应用于CAN-FD网络的入侵检测系统中,如图3所示。其中数据分析和模式识别的算法是入侵检测系统中最关键的一个环节。

图3 CAN-FD网络入侵检测系统架构Fig.3 The architecture of CAN-FD bus intrusion detection system

2 基于支持向量机的异常检测

2.1 支持向量机原理

支持向量机是一种基于分类与回归分析的监督式数据分析学习模型算法。支持向量机使用时需要对给定的训练组中每一个实例进行标记,并分类为两个类别。支持向量机的训练算法将创建一个二元的线性分类器,并具有非概率性。对于给定的新的实例,该模型将会把实例分到两个类别中的一个。

CAN-FD网络的状态数据是高维的,同时可用的入侵攻击状态数据小于CAN-FD总线的正常状态数据。SVM在分类方面具有良好的性能。对于小样本检测来说,SVM比神经网络工作得更好,同时SVM还具有良好的泛化能力。当这些优势使得SVM适合检测CAN-FD网络的异常状态。

数据样本各个特征具有不同的分布的取值范围,通过归一化将各个维度的特征值映射到相同区间,使得各特征值具有相同量纲,处于同一数量级。

将特征值从一个大范围映射到[0,1]或者[-1,1],如果原始值都是正数,则选择映射到[0,1],即

式中:a是数据集的某类数值;a*是数据集中a的归一化值;min是数据集的该类数值的最小值;max是数据集的该类数值的最大值。

2.2 CAN-FD总线异常检测

分类SVM(C-SVM)用于对CAN-FD子网中的正常消息和异常消息进行分类。SVM模型的输入向量为CAN-FD报文。在基于SVM的入侵检测系统中,CAN-FD总线的检测参数包括消息ID,消息循环周期和消息数据值。其中,对于消息数据值来说,CAN-FD报文的数据场为64个字节。在安全通信模式下,有效的通信数据字节为48个[10]。本文将每个通信数据字节作为一个消息输入向量。CANFD消息输入向量x∈R50定义为

式中:T为CAN-FD消息的最近循环周期;ID为CAN-FD消息的标识符;Bn(n=1,...,48)为CANFD消息数据字段中用于数据传输的字节值。

CAN-FD子网的流量状态标签y∈R定义为

式中:-1代表该消息为异常消息,1代表该消息属于正常的消息。

C-SVM的约束公式为

式中:ω,b是超平面定义的参数;l是SVM训练集中的CAN-FD的帧数;ξi(ξi≥0)是松弛系数。

由于CAN-FD总线的特征参数不是线性的,因此需要根据式(5)将CAN-FD流量状态的原始数据映射到新的空间,即

使用径向基函数(RBF)作为内核函数K进行数据映射。K由式(6-7)定义如下:

式中,γ是内核函数的预定义参数。

CAN-FD流量状态(x,y)的训练集从R50×R映射到Hilbert空间×R为

根据式(9)~式(11)确定超平面(ω·x)+b=0:

式中:C是成本参数。

基于内核函数K,式(9)~式(11)的对偶公式分别为式(12)~式(14),即

参数C和γ的最佳值可以通过使用训练数据集的网格搜索找到,而C-SVM模型由超平面(ω·x)+b=0唯一的解(ω*,b*)进行定义。其中

SVM的分类过程原理如图4所示,其中Ns是支持向量ω*的数量。

Ns的数值将会直接影响计算的复杂度和计算时间。对于每个CAN-FD消息,输出标签y由SVM模型预测,预测结果如下:

图4 支持向量机原理Fig.4 Support vector machine

2.3 支持向量机模型训练

网络攻击类型数据库的完善是入侵检测非常重要的一部分。攻击数据的采集存在多种困难,如道路情况的变化,驾驶员个人习惯的差异,车型的变化都会对攻击数据的有效性产生相应的影响。本文采用CANoe仿真网络的正常流量和攻击流量对CSVM模型进行训练和预测。CAN-FD通信数据包的训练集是从CANoe模拟的车载网络环境中收集的,如图5所示。正常流量是基于报文库文件生成和调度,模拟实车的网络执行流量。攻击流量是在正常流量上随机生成的异常流量。

图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用于模型训练[11]。训练集中的数据通过数据归一化进行优化。x*中的元素缩放范围为[-1,1]。

预定义参数C和γ会影响SVM模型的检测精度(Acc)。使用网格搜索为C-SVM找到最佳参数C和γ。训练交叉验证准确性的结果如图6所示。对于这个训练数据集,最佳log2(C)是5,最佳log2(γ)是-5。

图6 SVM模型中C和γ交叉验证的精确度Fig.6 Cross-validation accuracy of C and γ in the SVM model

3 测试结果分析及对比

3.1 数据预测结果

用于测试的CAN-FD流量数据包含正常和异常CAN-FD消息。其中正常CAN-FD消息的数量为4 000,异常CAN-FD消息的数量为2 000。数据场利用率为48个字节中的前8个字节,剩余32个字节的前8个字节类似。

图7显示了CAN-FD流量入侵检测过程中正常CAN-FD消息和异常CAN-FD消息的分布。“○”表示预测为“1”的消息,“*”表示预测为“-1”的消息。图7a,7b,7c和7d为根据输入矢量的不同元素的缩放数据的视图。检测参数的范围直接与异常入侵检测有关。前8个字节数据场中基于不同参数的检测精度的结果列于表1中。

表1 检测参数对检测精度的影响结果Tab.1 Value ranges of training data sets and the detection accuracy of testing sets

通过图7可以看出:

(1)参数T为一个固定的值,因此具有最好的检测准确率。当攻击者使T的值发送变化时,可以很容易被检测出来。

(2)参数B1的原始数据变化范围大,单独使用B1做检测的准确率较低。

图7 CAN-FD报文数据集的预测结果Fig.7 Predicting results of CAN-FD messages test datasets

(3)参数B2的原始数据具有分布间距大,植入的数据和参数B1相比,检测准确率更高。

(4)参数B3的原始数据和B2相比,数据范围更广。对于边缘型的数据,能较好的识别。

(5)参数B4的原始数据与B3类似,但是数据范围域不同。

(6)参数B5的原始数据和参数B1类似,单独使用B5做检测的准确率较低。

(7)参数B6的原始数据和参数B3类似。对于边缘型的数据,能较好的识别。

(8)参数B7的原始数据和参数B1类似,单独使用B7做检测的准确率较低。

(9)参数B8的原始数据和参数B3类似。对于边缘型的数据,能较好的识别。

对于参数B9,B10,... ,B48的原始数据分布对于检测准确率的影响,和参数B1,B2,... ,B48之间的关系一致。

3.2 检测结果分析

原始数据的范围对检测的准确率有直接的影响。对于参数T,B1,B2,... ,B8,当攻击报文的异常数据只篡改单个数据时,基于支持向量机的算法异常检测准确率如图8所示。

图8 单维度数据范围与预测准确率的变化Fig.8 Changes in single-dimensional data range and prediction accuracy

某个CAN-FD消息的消息标识符和循环周期的正常值是固定的。如果攻击者仅更改消息标识符ID和循环周期T,则可以检测到异常状态。在这种情况下,检测精度高达95%。

如果攻击目标在CAN-FD帧上的数据字段上,则检测精度与值范围有关。对于某个字节,字节值增加的范围将导致检测精度降低。因为正常字节值范围正在增加,异常字节值范围正在减小。当攻击者篡改的数据在多个数据位时,检测正确率有明显的提升。

(1)攻击篡改发生在B1,B5和B7的检测精度低于 90%,而攻击内容发生在B2,B3,B4,B6和B8时,检测的准确性更高。

(2)当攻击篡改的目标超过一个字节时,异常入侵检测系统具有更好的性能。检测准确性在(B1,B2),(B3,B4),(B5,B6),(B7,B8)上超过 90%。

(3)当 攻 击 篡 改 的 目 标 在 (B1,B2,B3,B4),(B5,B6,B7,B8)上时,检测准确性超过 98%。

(4)当攻击篡改的目标在(B1,B2,B3,B4,B5,B6,B7,B8)上时,检测准确性超过99%。

通过以上的数据检测结果可以看出,将支持向量机的异常检测算法应用于CAN-FD网络时,具有较高的异常数据检测正确率,可以应用于入侵检测系统。根据攻击篡改的数据不同,检测准确率能达到为80%或更高。基于支持向量机的C-SVM算法对于CAN-FD网络的入侵检测具有有效性。

3.3 入侵检测方法对比

针对提出的基于SVM模型的入侵检测算法,表2从检测准确率、计算性能和其限制条件等方法出发,和部分已知的网络入侵检测方法进行对比。相比于其他的入侵检测方法,本文中利用SVM模型的CAN-FD网络入侵检测算法可适用于多种攻击类型的网络异常检测,具有检测准确率高的特点。同时该方法不需要对网关或者ECU的硬件进行修改,可以有效地降低硬件升级成本。但同时该方法对算法的计算性能要求也相对较高。

表2 入侵检测方法评估对比Tab.2 Evaluation results of intrusion detection methods

3.4 入侵检测算法优化

单一维度里的原始数据范围对于数据异常检测的正确率有直接的影响。可以考虑通过数据维度划分的方式,降低CAN-FD报文中单一维度里的数据范围。根据式(2)中的定义,采用的数据维度划分方式为基于报文周期、标识位ID和数据字节。由于支持向量机本身对于高维数据不敏感,可以采用多种维度划分方式。另一种维度划分方式是通过数据的定义来划分,使用报文中字节在报文数据文件里的定义,可以降低单一维度的数据变化范围。

因为方法论的缘故,在异常入侵检测的攻击场景未知的情况下,无法避免异常入侵检测中的错误。为了提高入侵检测系统的性能,可以结合误用入侵检测方法和异常入侵检测方法。出于对网络性能和ECU计算性能的保护,基于支持向量机的入侵检测方法更合适应用于远程服务器的部署。

4 结语

从网络入侵检测和保护的角度出发,基于CIDF通用入侵检测模型建立了CAN-FD入侵检测架构,并提出了一种基于支持向量机的异常入侵检测方法。通过参数分析和预测正确率的评估,对CANFD支持向量机的维度划分方法进行了优化。相比于其他的入侵检测方法,本文利用SVM模型的CAN-FD网络入侵检测算法可适用于多种攻击类型的网络异常检测,具有检测准确率高的特点。在后续的研究工作中将继续优化检测算法的计算资源消耗。

猜你喜欢
原始数据字节总线
时间触发通信总线监控技术研究
No.8 字节跳动将推出独立出口电商APP
受特定变化趋势限制的传感器数据处理方法研究
No.10 “字节跳动手机”要来了?
基于CAN/LIN总线的LED车灯控制研究
全新Mentor DRS360 平台借助集中式原始数据融合及直接实时传感技术实现5 级自动驾驶
对物理实验测量仪器读数的思考
宝马F02车总线系统
人类进入“泽它时代”