一种基于深度神经网络的车载CAN总线入侵检测方法及系统与流程

文档序号:35291425发布日期:2023-09-01 13:54阅读:42来源:国知局
一种基于深度神经网络的车载CAN总线入侵检测方法及系统与流程

本发明属于车载安全的,尤其涉及一种基于深度神经网络的车载can总线入侵检测方法及系统。


背景技术:

1、智能网联汽车内部的数据主要通过can总线在各ecu(电子控制单元)之间进行传输,然而can总线缺乏加密和访问控制机制,存在安全风险。例如拒绝服务攻击dos使得can总线过载直至瘫痪,模糊攻击通过向can报文中注入随机或欺骗性信息,使得各ecu收到大量虚假功能性信息,重放攻击在特定的时间和环境下对报文进行重放,这些攻击导致正常的车辆控制指令无法执行,干扰车主对汽车的正常控制,极大地影响汽车驾驶安全,车载can总线安全成为车载安全领域的重要研究问题之一。同时,与传统网络环境的不同,can总线入侵检测对检测的准确率及实时性提出了较高要求。因此,对can总线报文数据的实时、高精度监测对于保护can总线的正常通信和智能网联汽车的安全驾驶具有重要意义。

2、针对can总线的主要攻击方法包括拒绝服务攻击dos、模糊攻击、重放攻击等。这些攻击的报文在时间周期、发送频率、can id、报文数据段都与正常报文存在不同。目前can总线中入侵检测技术主要包括基于机器学习和深度学习的方法。基于机器学习算法的检测方法对于单一恶意报文的检测有较好的效果,但是在多样的攻击报文流检测中误报、漏报率较高;而现有的深度学习检测方法忽略报文的时序周期特征,并分别对can id段和数据段进行训练,忽略了攻击报文中can id与数据之间的关联性。


技术实现思路

1、本发明的目的在于提供一种基于深度神经网络的车载can总线入侵检测方法,以实现在复杂驾驶环境下,通过此方法有效的检测出can总线报文异常并及时预警。

2、一方面,本发明实施例提供了基于自编码器的can报文的特征处理方法,包括以下步骤:

3、步骤1,获取can报文数据集并对其进行标注处理,得到标注的报文数据集;

4、步骤2,对所述标注后的报文数据集进行预处理,将报文转化为特征向量,并基于自编码器进行特征处理,得到各报文对应的高维特征向量;

5、步骤3,搭建分类器,基于自编码器与分类器共同构成报文分类识别模型,训练报文分类识别模型;

6、步骤4,导出训练后的报文分类识别模型,使用训练后的报文分类识别模型对实时报文数据进行入侵检测。

7、进一步优选地,所述步骤1中包括以下步骤:

8、步骤1.1、通过can总线分析工具can-utils获取真实can日志报文数据,构建报文数据集r;

9、步骤1.2、对报文数据集r进行标注,得到标注的报文数据集;标注标签包括{0,1,2,3},0表示正常报文,1表示拒绝服务攻击dos报文,2表示重放攻击报文,3表示模糊攻击报文。

10、进一步优选地,所述步骤2包括以下步骤:

11、步骤2.1,对步骤1得到的标注报文数据集中的can报文进行预处理,得到各报文数据的特征空间d;

12、步骤2.2,处理报文时序特征,并结合各报文数据的特征空间d,将报文转化为特征向量t;

13、步骤2.3,将报文的特征向量t标准化后使用自编码器进行特征处理,得到高维特征向量z,将高维特征向量z通过解码函数解码得到解码后向量t′。

14、进一步优选地,所述步骤2.1还包括:提取can id和数据域,将数据域按字节划分为8个信息字,每个字节8位,以十六进制表示,构建各can报文数据的特征空间d,特征空间d包括{can id,信息字1,信息字2,信息字3,信息字4,信息字5,信息字6,信息字7,信息字8},共计9个维度。

15、进一步优选地,所述步骤2.2中,处理报文时序特征还包括:提取报文时间标识ti,计算相同can id报文出现的时间间隔,记为时间间隔δti;结合步骤2.1得到的各报文数据的特征空间,得到报文数据的特征向量t,特征向量t包括11维特征空间,特征空间包括:{can id,信息字1,信息字2,信息字3,信息字4,信息字5,信息字6,信息字7,信息字8,时间标识ti,时间间隔δti},将特征标准化后表示为na维的特征向量t,本发明中na=11,即t={a1,a2,……,a11}。

16、进一步优选地,所述步骤2.3中,通过自编码器对特征向量t进行处理,得到高维特征向量z,设输入自编码器的为na维的特征向量t,ai∈t,编码器中的编码函数sf满足:

17、

18、其中,sf为sigmoid激活函数,w为自编码器中隐藏层的权值矩阵,p为第一偏移量,编码函数处理后得到nz维的高维特征向量z,zj∈z,zj为高维特征向量z中的第j个维度对应的数据。

19、进一步优选地,所述步骤3包括以下步骤:

20、步骤3.1,搭建分类器,分类器包括输入层、两层隐藏层和输出层;

21、步骤3.2,基于自编码器和分类器的损失函数和,训练报文分类识别模型,包括将特征向量t输入自编码器,将高维特征向量z分别输入解码器和分类器,并基于反向传播算法,根据损失函数c1和c2并行训练自编码器和分类器;

22、步骤3.3、调整学习率,包括采用adam算法作为优化器调整学习步长的变化速率,防止模型陷入局部最优;

23、步骤3.4、设置模型收敛的条件,训练模型直至其收敛,得到训练后的报文分类识别模型。

24、进一步优选地,所述步骤3.1中,输入层由nz个神经元组成,输入为特征处理后的高维特征向量z;

25、隐藏层为两层,各由128个神经元组成,σ为relu激活函数,假设第l-1层共有m个神经元,ωl为第l层神经元的权值矩阵,bl为第l层的偏置,则对第l层的第r个神经元的输出通过加权求和的公式得到第r个神经元的输出表示为:

26、

27、输出层由四个神经元组成,使用softmax作为激活函数,输出层通过计算输出一个带有正常报文和三类攻击报文的置信度矩阵[x1,x2,x3,x4],xi∈(0,1),根据矩阵中报文置信度的最大值,来判断其对应的报文类型。

28、进一步优选地,所述步骤4包括以下步骤:

29、步骤4.1、导出训练后的报文分类识别模型m,将报文分类识别模型m以h5格式保存;

30、步骤4.2、将模型部署到模拟终端并监听can总线,实时获取can报文;

31、步骤4.3、将获取的实时can报文进行处理后输入报文分类识别模型中,模型对报文进行检测,并输出检测结果。

32、另一方面,本发明实施例还提供了一种基于深度神经网络的车载can总线入侵检测系统,包括:报文采集单元、报文处理单元、模型构建及训练单元、检测单元;

33、其中,报文采集单元用于采集can报文数据,并将采集到的can报文数据通过报文处理单元进行处理;

34、模型构建及训练单元用于构建神经网络并结合报文处理单元得到的数据对其进行训练,得到训练后的报文分类识别模型;

35、检测单元通过训练后的报文分类识别模型对实时采集的can报文进行检测,并根据模型输出结果对报文进行分类,根据分类结果进行预警。

36、本发明的有益效果为:本发明所提出的基于深度神经网络的车载can总线入侵检测方法,通过对can报文的id段、数据段以及报文时序关系进行分析并提取特征,能够提高数据稳定性并减少信息冗余;在此基础上使用自编码器和网络并行训练网络模型,对拒绝服务、重放、模糊等常见恶意报文进行检测,相比现有技术准确率较高,具有较强的普适性,可以实现对拒绝服务、重放、模糊等常见报文攻击方式的入侵检测。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1