欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种车载网络通信异常的检测方法独创技术20374字

一种车载网络通信异常的检测方法

2021-04-05 11:57:36

一种车载网络通信异常的检测方法

  技术领域

  本发明涉及通信技术领域,具体涉及到一种车载网络通信异常的检测方法。

  背景技术

  车载网络狭义上是指汽车内部各硬件如传感器、控制器和执行器之间通过点对点的方式连接形成的网状结构,广义上是指采用CAN(Controller Area Network)、LIN(LocalInterconnect Network)、FlexRay、MOST(Media Oriented System Transport)等多种总线技术和协议组合搭建成复杂的汽车电子网络系统。车载网络通信是车辆内部的硬件通过无线终端实现与外部环境的实时通信系统,是行驶在道路上的“超级计算机”。这个“超级计算机”在为人们提供高效、智能服务的同时也成为了网络黑客攻击的对象。要想保护好这个“超级计算机”,就必须守住车载网络通信这一道最后的防线。

  在汽车信息安全方面已有学者开展相关研究。如Michael Muter等人提出一种对CAN总线报文帧ID、数据负载、消息频率、消息顺序篡改的异常检测方法。Kleberger等人研究了车载总线网络的安全威胁焦点问题。Groza等人提出了根据信号报文特征识别报文传输节点的方法,在车载CAN总线网络中实现车载总线网络异常检测。Mundhenk等人讨论了基于概率模型的汽车安全架构分析。张子健等人设计了基于统计方法的车载CAN总线数据流的异常检测系统。于赫提出了基于信息熵的车载CAN总线网络报文异常检测方法和基于决策树的车载CAN总线报文数据异常检测方法。文献《一种基于核主成分分析的驾驶疲劳状态预测方法》针对驾驶疲劳提出了一种基于样本熵和核主成分分析的识别方法。张宇飞等人提出一种基于主成分分析和支持向量机的发动机故障诊断方法。李锦冰等人提出一种基于分块核主成分分析和最小二乘支持向量机的集成故障检测方法,用监测于工业系统数据。文献《结合卷积神经网络多层特征和支持向量机的车辆识别》提出一种结合卷积神经网络多层特征和支持向量机的车辆识别方法。张昭等人针对虚警率和信息冗余提出一种基于特征选择和支持向量机相结合的异常检测方法。

  但是,现有技术中针对车载网络通信异常的检测方法,大多需要进行庞大的计算,检测效率较低,检测精度不高,因此,有必要提出一种计算量小、检测效率高、检测精度高的车载网络通信异常的检测方法。

  发明内容

  本发明的目的在于至少解决现有技术中存在的技术问题之一,提供一种车载网络通信异常的检测方法。

  为实现上述目的,本发明采用的技术方案如下:一种车载网络通信异常的检测方法,所述检测方法包括以下步骤:

  S1,对电动汽车车载网络通信系统的结构模型进行分析,得出CAN报文数据的有效字节为8个;

  S2,利用CAN分析仪采集电动汽车车载网络通信系统的CAN报文数据;

  S3,将CAN报文数据的每个有效字节都视为一个特征,即有8个特征,对CAN报文数据构成的数据矩阵进行降维,对CAN报文数据进行主成分分析,提取CAN报文数据的主成分;

  S4,将提取的CAN报文数据的主成分作为训练样本集,采用支持向量机分类方法对训练样本集进行分类训练,判断CAN报文数据是否异常。

  进一步的,在所述步骤S3中,具体包括以下步骤:

  S3.1,把CAN报文数据看成是n×8的矩阵,n为样本数量,每个样本有8个特征变量,具体描述为:

  

  式中,Bi表示n个样本的第i个特征变量,Bi=[b1i b2i … bni]T,i=1,2,…,8;

  S3.2,将样本数据矩阵进行标准化处理,计算公式为:

  

  上式中:

  

  S3.3,求样本数据的相关系数矩阵R,计算公式为:

  

  S3.4,求R的特征根λi及特征向量Ai,计算公式为:

  由特征方程|λi-R|=0得到R的8个特征根,满足λ1>λ2>…>λ8>0,所对应的单位特征向量Ai=[a1i,a2i,…,a8i]T,i=1,2,…,8。

  S3.5,求主成分的方差贡献率Gi和累计方差贡献率G(m),计算公式为:

  

  S3.6,确定主成分个数m

  针对所研究的CAN报文数据,提取G(m)为90%左右时的m(m<8)个主成分。

  进一步的,在所述步骤S4中,具体包括以下步骤:

  将以上提取的m个主成分作为训练样本集{(xi,yi),i=1,2,…,m},其中xi为输入变量,yi为输出变量;

  假设该样本集由正常和异常两个类别组成,当xi为正常时yi=1;当xi为异常时yi=-1,采用支持向量机分类方法对训练样本集进行分类训练,判断CAN报文数据是否异常;

  进一步的,所述支持向量机分类方法是用一个由一定数量的支持向量决定的最大间隔超平面来分类数据,若存在分类超平面:ωTx+b=0(ω为权重向量,b为偏移值),则满足:

  

  上式中,ωTxi+b≥1和ωTxi+b≤-1表示两个平等的边界超平面,其距离d=2/||ω||。若要d最大,则其倒数最小,即:

  

  由此可得以下目标规划问题:

  

  上式中,目标函数为凸函数且约束条件对ω为线性,采用拉格朗日对偶理论转化为对偶问题:

  

  上式中,αi为转化之后的超参数矩阵;

  上式在线性不可分的情况下引入核函数,核函数是将数据从n维空间通过内积运算映射到一个高维空间中,将n维空间中不可分的数据在更高维空间中变得可分,采用的核函数为径向基函数:

  

  上式中,σ值决定着分类面。

  由上述对本发明的描述可知,与现有技术相比,本发明的车载网络通信异常的检测方法至少具有以下有益效果之一:

  1、本发明是建立在主成分分析法与支持向量机分类法上的的CAN总线异常检测方法,能有效提高检测效率;

  2、本发明将CAN报文数据的8个有效字节视为8个特征,在利用主成分分析法对CAN报文数据进行处理,得到小于8的m个主成分,大大降低了计算量,提高了检测效率。

  附图说明

  图1为本发明实施例中一种车载网络通信异常的检测方法的流程框图;

  图2为本发明实施例中电动汽车整车控制系统框图;

  图3为本发明实施例中各主成分累计贡献率占比图;

  图4为本发明实施例中主成分F1的SVM异常检测仿真结果;

  图5为本发明实施例中主成分F1、F2、F3的SVM异常检测仿真结果;

  图6为本发明实施例中主成分F6、F7、F8的SVM异常检测仿真结果。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。

  参照图1-6所示,本发明的优选实施例,一种车载网络通信异常的检测方法,所述检测方法包括以下步骤:

  S1,对电动汽车车载网络通信系统的结构模型进行分析,得出CAN报文数据的有效字节为8个;

  S2,利用CAN分析仪采集电动汽车车载网络通信系统的CAN报文数据;

  S3,将CAN报文数据的每个有效字节都视为一个特征,即有8个特征,对CAN报文数据构成的数据矩阵进行降维,对CAN报文数据进行主成分分析,提取CAN报文数据的主成分;

  S4,将提取的CAN报文数据的主成分作为训练样本集,采用支持向量机分类方法对训练样本集进行分类训练,判断CAN报文数据是否异常。

  本发明是建立在主成分分析法与支持向量机分类法上的的CAN总线异常检测方法,能有效提高检测效率;本发明将CAN报文数据的8个有效字节视为8个特征,在利用主成分分析法对CAN报文数据进行处理,得到小于8的m个主成分,大大降低了计算量,提高了检测效率。

  作为本发明的优选实施例,其还可具有以下附加技术特征:

  在本实施例中,在所述步骤S3中,具体包括以下步骤:

  S3.1,把CAN报文数据看成是n×8的矩阵,n为样本数量,每个样本有8个特征变量,具体描述为:

  

  式中,Bi表示n个样本的第i个特征变量,Bi=[b1i b2i … bni]T,i=1,2,…,8;

  S3.2,将样本数据矩阵进行标准化处理,计算公式为:

  

  上式中:

  

  S3.3,求样本数据的相关系数矩阵R,计算公式为:

  

  S3.4,求R的特征根λi及特征向量Ai,计算公式为:

  由特征方程λi-R=0得到R的8个特征根,满足λ1>λ2>…>λ8>0,所对应的单位特征向量Ai=[a1i,a2i,…,a8i]T,i=1,2,…,8。

  S3.5,求主成分的方差贡献率Gi和累计方差贡献率G(m),计算公式为:

  

  S3.6,确定主成分个数m

  针对所研究的CAN报文数据,提取G(m)为90%左右时的m(m<8)个主成分。

  在本实施例中,在所述步骤S4中,具体包括以下步骤:

  将以上提取的m个主成分作为训练样本集{(xi,yi),i=1,2,…,m},其中xi为输入变量,yi为输出变量;

  假设该样本集由正常和异常两个类别组成,当xi为正常时yi=1;当xi为异常时yi=-1,采用支持向量机分类方法对训练样本集进行分类训练,判断CAN报文数据是否异常;

  在本实施例中,所述支持向量机分类方法是用一个由一定数量的支持向量决定的最大间隔超平面来分类数据,若存在分类超平面:ωTx+b=0(ω为权重向量,b为偏移值),则满足:

  

  上式中,ωTxi+b≥1和ωTxi+b≤-1表示两个平等的边界超平面,其距离d=2/ω。若要d最大,则其倒数最小,即:

  

  由此可得以下目标规划问题:

  

  上式中,目标函数为凸函数且约束条件对ω为线性,采用拉格朗日对偶理论转化为对偶问题:

  

  上式中,αi为转化之后的超参数矩阵;

  上式在线性不可分的情况下引入核函数,核函数是将数据从n维空间通过内积运算映射到一个高维空间中,将n维空间中不可分的数据在更高维空间中变得可分,采用的核函数为径向基函数:

  

  上式中,σ值决定着分类面。

  为便于对本发明的理解,以下对本发明进行更为详细的叙述:

  一、关于电动汽车整车控制系统

  电动汽车的整车控制器根据功能可划分为微处理器模块、电源模块、存储模块、模拟量和数字量接口模块、功率驱动模块、通信模块。微处理器模块是整个控制系统的核心,也是控制方法实现的载体。电池模块将蓄电池电压转换成控制单元所需的电压。存储模块存储各种数据信息。模拟量输入接口与油门踏板传感器、制动压力传感器等相连;数字量即开关量,其输入接口与钥匙门、碰撞、驻车制动、档位、充电等开关信号相连;功率驱动模块主要集中在继电器的驱动。通信模块主要由高速CAN(控制器局域网络)总线接口、低速CAN总线接口和网关组成。其中高速CAN总线接口连接电机控制器、电池管理、EPS、ABS等节点;低速CAN总线接口连接空调控制器、整车仪表等节点。电动汽车整车控制系统如图2所示。

  二、关于CAN通信协议

  CAN最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信,现已广泛应用于车载网络通讯系统。CAN总线让汽车各控制单元之间信息资源共享、布线简化、传感器数量减少、成本降低,同时还能避免控制功能重复、匹配和协调各个控制系统,从而提高系统的可靠性和可维护性。CAN通信协议的模型结构分为物理层、数据链路层和应用层。常用的通信协议为CAN2.0,该协议因标识符域长度的不同分为CAN2.0A和CAN2.0B。CAN2.0A采用11位标识符为标准帧,CAN2.0B采用29位标识符为扩展帧。在报文传输时,不同的帧格式都有数据帧、错误帧、远程帧和过载帧。数据帧由帧起始、仲裁域、控制域、数据域、CRC域、应答域和帧结尾这七种不同的位域组成,其中数据域的有效长度为8个字节。

  三、主成分分析

  CAN通信数据帧有效字节数为8个,若将每个字节都视为一个特征,对所有字节进行异常检测,则检测时间长、效率低。利用主成分分析(PCA,Principal ComponentAnalysis)降维后再进行检测,则能很好地解决这一问题。现将原本相关程度较强的8个特征,经过线性变换后组合成新的互相无关的i(i<8)个综合特征,同时最大程度上保持原有报文数据信息量。具体步骤如下:

  (1)建立样本数据矩阵

  把CAN报文数据看成是n×8的矩阵,n为样本数量,每个样本有8个特征变量,具体描述为:

  

  式中,Bi表示n个样本的第i个特征变量,Bi=[b1i b2i … bni]T,i=1,2,…,8。

  (2)将样本数据矩阵进行标准化处理

  

  式中:

  

  (3)求样本数据的相关系数矩阵R

  

  (4)求R的特征根λi及特征向量Ai

  由特征方程|λi-R|=0得到R的8个特征根,满足λ1>λ2>…>λ8>0,所对应的单位特征向量Ai=[a1i,a2i,…,a8i]T,i=1,2,…,8。

  (5)求主成分的方差贡献率Gi和累计方差贡献率G(m)

  

  (6)确定主成分个数m

  G(m)越大反应原数据的信息越完整,因此本发明针对所研究的CAN报文数据提取G(m)约90%左右的m(m<8)个主成分,将其作为支持向量机的输入特征参数。

  四、支持向量机分类法

  将以上提取的m个主成分作为训练样本集{(xi,yi),i=1,2,…,m},其中xi为输入变量,yi为输出变量。假设该样本集由正常和异常两个类别组成,当xi为正常时yi=1;当xi为异常时yi=-1。通过训练样本集判断数据正常和异常的方法就是一个典型的支持向量机分类方法。支持向量机(SVM,Support Vector Machine)的基本原理是用一个由一定数量的支持向量决定的最大间隔超平面来分类数据。若存在分类超平面:ωTx+b=0(ω为权重向量,b为偏移值),则满足:

  

  式中,ωTxi+b≥1和ωTxi+b≤-1表示两个平等的边界超平面,其距离d=2/||ω||。若要d最大,则其倒数最小,即:

  

  由此可得以下目标规划问题:

  

  式中,目标函数为凸函数且约束条件对ω为线性,因此可采用拉格朗日对偶理论转化为对偶问题:

  

  式中,αi为转化之后的超参数矩阵。

  这样转化可以在线性不可分的情况下引入核函数。核函数就是将数据从n维空间通过内积运算映射到一个高维空间中,将n维空间中不可分的数据在更高维空间中变得可分。本文采用的核函数为径向基函数:

  

  式中,σ值决定着分类面。

  五、对本发明的检测方法进行仿真试验

  (1)数据采集

  本实验数据来源于江西科技学院自主改装研制的电动汽车,研制过程中用USBCAN分析仪接入到电动汽车CAN总线中,通过CANtools软件获取CAN报文数据。实验选取电机控制器MCU_242h的报文数据,该报文的标识符为Ox242、发送类型为Cycle、长度为8字节。SVM的训练数据由1024条正常数据和1024条异常数据组成,SVM的测试数据由正常数据和异常数据中随机抽取各200条组成。部分正常数据见表1所示。异常数据因无法采集,故参考通信协议手动编排生成,部分异常数据见表2所示。

  

  表1 CAN总线部分正常报文数据

  

  表2 CAN总线部分异常报文数据

  (2)主成分提取

  用MATLAB软件按主成分分析的步骤对训练数据和测试数据进行标准化处理,标准化后用MATLAB中主成分分析函数princomp()计算各主成分的coeff、score、latent、tsquare。计算后的系数矩阵R为:

  

  各主成分的累计方差贡献率占比如图3所示。从图3中可知第1、2、3个主成分的累计方差贡献率接近90%,说明前3个主成分包含原始数据的大部分信息。因此,可选取前3个主成分F1、F2、F3作为SVM的输入特征参数进行异常检测。

  (3)SVM异常检测仿真结果分析

  为了对比检测效果,本文分别对第1个主成分F1、前3个主成分F1、F2、F3、后3个主成分F6、F7、F8进行实验。

  实验1:选取第1个主成分F1进行SVM分类训练,400条测试数据的分类结果如图4所示。

  图4中0~200为异常数据区域,200~400为正常数据区域。从图中可以看出异常数据区域中有少量数据分类错误,正常数据区域中有大量数据分类错误。实验结果显示用F1进行SVM分类识别的总精度为53.8%,异常检测精度为86.0%、正常检测精度为21.5%,检测效果差。

  实验2:选取前3个主成分F1、F2、F3进行SVM分类训练,400条测试数据的分类结果如图5所示。

  图5中异常、正常数据都能准确分类,检测精度100%。这说明用F1、F2、F3这3个主成分能完全检测出异常情况,检测效果好。

  实验3:选取后3个主成分F6、F7、F8进行SVM分类训练,400条测试数据的分类结果如图6所示。

  图6中异常数据和正常数据分类效果不明显,实验结果显示用F6、F7、F8进行SVM分类识别的总精度为70.0%,异常检测精度为68.0%、正常检测精度为72.0%,检测效果差。

  由实验1、2、3对比可知,通过主成分分析将CAN报文数据从8维降到3维再进行SVM分类识别不影响检测精度,不同主成分检测效果详见表3。

  

  表3不同主成分异常检测效果对比分析

  为了更好的说明主成分分析降维后的检测效率,本文再从检测时间上对原始数据和降维后的数据进行比较。检测时间详见表4。

  

  表4降维前后数据检测时间对比分析

  由表4可知,SVM检测一条8个字节的CAN报文数据需要用时0.3387秒,由8维降到3维后仅需0.2876秒,节省了0.0491秒。

  通过以上分析可以得出,利用主成分分析降维后再进行支持向量基分类检测的模型既能保证检测准确率,又能提高检测效率。

  本发明将CAN报文数据的8个字节视为8个特征,利用主成分分析法进行标准化处理,关系矩阵、特征值和特征向量、贡献率计算后提取3个主成分,大大减少了计算量。所提取的前3个主成分累计方差贡献率约为90%,包含原始数据大部分信息,检测准确度高。通过SVM进行分析对比,仿真实验结果表明PCA与SVM方法能准确、高效地检测出CAN通信数据异常。

  在不出现冲突的前提下,本领域技术人员可以将上述附加技术特征自由组合以及叠加使用。

  可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

《一种车载网络通信异常的检测方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)