一种基于深度信念网络的CAN总线入侵检测方法及系统
未命名
08-05
阅读:146
评论:0
一种基于深度信念网络的can总线入侵检测方法及系统
技术领域
1.本发明涉及入侵检测技术领域,尤其涉及一种基于深度信念网络的can总线入侵检测方法及系统。
背景技术:
2.随着新能源汽车的高速发展,智能汽车已成为汽车行业发展的主要趋势。在智能汽车中,每个电子控制单元(electronic control unit,ecu)在控制系统中完成一个特定的功能,如油门、刹车和转向。ecu根据其功能或通信速率被划分为不同的子网进行通信。一般来说,ecu通过控制器局域网(controller area network,can)进行通信。can与局域互联网(local interconnect network)以及flexray共同组成了最常见的车载网络。然而,can总线采用的是广播式通信,并且没有任何形式的消息认证。因此,can协议很容易受到消息注入攻击的影响,从而造成车辆的严重故障,甚至对驾驶员的安全造成威胁。
3.基于此,研究者从两个方向着手解决这一问题:一是对can报文进行加密处理,但是加密与解密处理对ecu的计算要求较大,并且不能面向已经售出的车辆;二是基于入侵检测系统的解决方案,基于入侵检测系统(intrusion detection system,ids)的解决方案不需要改变任何can数据包或增加任何通道的带宽,其专注于数据驱动的方法来检测can总线中的攻击。其实现过程比较容易实现,只需要持续的监测网络的自然行为,如果网络的性质或者自然行为发生偏差,则可以根据该偏差来判断can总线是否遭受攻击,但仍存在检测精度不高以及检测时延较大的问题。
技术实现要素:
4.本发明提供一种基于深度信念网络的can总线入侵检测方法及系统,用以解决现有技术中针对can总线入侵检测的方法通常存在检测精度不高、检测时延较大的缺陷。
5.第一方面,本发明提供一种基于深度信念网络的can总线入侵检测方法,包括:
6.获取不同的预设训练数据集和预设测试数据集;
7.确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;
8.采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;
9.获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;
10.将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
11.第二方面,本发明还提供一种基于深度信念网络的can总线入侵检测系统,包括:
12.获取模块,用于获取不同的预设训练数据集和预设测试数据集;
13.确定模块,用于确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;
14.训练模块,用于采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;
15.预处理模块,用于获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;
16.检测模块,用于将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
17.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于深度信念网络的can总线入侵检测方法。
18.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于深度信念网络的can总线入侵检测方法。
19.本发明提供的基于深度信念网络的can总线入侵检测方法及系统,通过在车载环境中,利用can报文构建过滤器,能提高检测精度,减少检测过程时间开销,克服带攻击数据集难以获取的问题,全部使用无攻击的正常报文来进行模型训练,对于混合攻击的检测准确率,能实现更优的误报率以及精确度。
附图说明
20.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本发明提供的基于深度信念网络的can总线入侵检测方法的流程示意图;
22.图2是本发明提供的系统模型结构图;
23.图3是本发明提供的do-ids模型结构图;
24.图4是本发明提供的dlo-ids模型结构图;
25.图5是本发明提供的基于深度信念网络的can总线入侵检测系统的结构示意图;
26.图6是本发明提供的电子设备的结构示意图。
具体实施方式
27.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.图1是本发明实施例提供的基于深度信念网络的can总线入侵检测方法的流程示意图,如图1所示,包括:
29.步骤100:获取不同的预设训练数据集和预设测试数据集;
30.步骤200:确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;
31.步骤300:采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;
32.步骤400:获取待检测can报文,对所述待检测can报文进行预处理得到预处理报
文;
33.步骤500:将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
34.本发明实施例是在现有方案上利用深度信念网络(deep belief nets,dbn)来进行改进,从而提高检测精度以及降低检测时延,深度信念网络是为了简化逻辑斯蒂信念网络的推理困难而提出的一种深度模型,也是目前深度学习最主要的实现方式之一。特别地,本发明实施例通过基于深度学习的方法来检测针对汽车can总线网络的入侵攻击,从而使汽车控制中心能够及时做出相对应的应对措施。
35.具体地,首先获取不同的实验训练数据和实验测试数据,构建基于can报文规则过滤器和基于深度信念网络的初始检测模型,利用不同的实验训练数据和实验测试数据进行模型训练,得到并保存入侵组合检测模型,采集需要检测的can报文,对待检测can报文进行预处理得到预处理报文,利用训练好的基于can报文规则过滤器和入侵组合检测模型,检测得到待检测can报文的can总线入侵检测结果。
36.可以理解的是,本发明实施例是利用基于规则的过滤器对待检测报文进行初步检测,然后根据不同的应用环境从不同的异常检测模型中选取一个进行检测,如图2所示,从待检测的初始can报文开始,进入检测系统后,首先读取报文的id和数据字段,然后分别在过滤器x、y和z中进行检测,目的是识别报文的id是否在这三个过滤器中,若不在则直接判定为异常报文,若检测存在对应的报文id,则送入混合的入侵检测模型中继续进行检测,判定是否为异常报文。
37.本发明通过在车载环境中,利用can报文构建过滤器,能提高检测精度,减少检测过程时间开销,克服带攻击数据集难以获取的问题,全部使用无攻击的正常报文来进行模型训练,对于混合攻击的检测准确率,能实现更优的误报率以及精确度。
38.基于上述实施例,获取不同的预设训练数据集和预设测试数据集,包括:
39.确定do-ids模型中采用预设公开数据集中的无攻击数据集作为训练数据集,以及不同的带攻击数据集作为测试数据集;
40.确定dlo-ids模型中采用预设自构数据集前第一预设间段的无攻击数据作为训练集,以及第二预设时间段的数据作为测试数据集。
41.本发明实施例提出的基于深度信念网络的can总线入侵检测方法中包含两个检测模型和一个基于can报文规则的过滤器。
42.具体地,由于需要根据不同的应用场景选择不同的检测模型,故而训练模型时也需要采用不同的实验数据集。对于do-ids模型,需要采用公开数据集攻击与对策研究实验室(hacking and countermeasure research lab,hcrl)中的无攻击数据集来训练模型与聚合出过滤器,然后分别采用不同的带攻击数据集来进行本发明方法的测试;对于dlo-ids模型,则采用自构数据集mixat前20分钟所获取的无攻击数据来进行模型训练与分类器的聚合,采用后40分钟的数据来进行方法的测试。
43.基于上述实施例,确定基于can报文规则过滤器,包括:
44.遍历所述预设训练数据集,将所有数据id加入第一过滤器;
45.遍历所述预设训练数据集,将具有任一固定数据字段对应的数据id加入第二过滤器,并将所述数据id与所述任一固定数据字段进行组合后加入第三过滤器。
46.具体地,本发明实施例中针对过滤器需要根据正常报文的规格进行总结聚合,实现过程包括:
47.第一步遍历整个训练数据集,将其中所出现的id加入到过滤器x中;
48.第二步遍历整个训练数据集,将其中具有某id时其数据段内容固定的id加入到过滤器y中,将其id与数据段组合后加入到过滤器z中。
49.至此,三个过滤器均完成聚合。
50.基于上述实施例,获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文,包括:
51.根据can报文日志时间戳顺序,基于can数据帧结构将所述待检测can报文划分为不同语义段;
52.提取所述不同语义段中的数据id和数据字段,将所述数据字段按照预设进制语义转换为模拟信号;
53.将所述模拟信号与所述数据id组合后排序后形成所述预处理报文。
54.具体地,针对输入的待检测can报文,需要按照一定的规则进行处理后才能通过模型和过滤器进行检测。
55.首先按照can报文日志的时间戳顺序将报文按照can数据帧结构切分为不同的语义段;
56.然后提取语义段中的id字段和数据字段,并将数据字段按照16进制语义进行转换,得到更简洁的模拟信号;
57.最后将得到的数据字段模拟信号与id字段进行组合后按顺序排列成待处理数据集,完成数据的预处理。
58.基于上述实施例,将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果,包括:
59.获取所述预处理报文的数据id和数据字段;
60.若确定所述数据id不在第一过滤器中,则判定所述预处理报文为异常报文,否则继续判定所述数据id是否在第二过滤器中;
61.若确定所述数据id在第二过滤器中,则继续判定所述数据id是否在第三过滤器中,否则将所述数据id输入至所述入侵检测模型进行检测;
62.若确定所述数据id不在所述第三过滤器中,则判定所述预处理报文为异常报文,否则为正常报文。
63.其中,将所述数据id输入至所述入侵检测模型进行检测,包括:
64.若确定所述预处理报文为无攻击数据集,且所述预处理报文为离散数据,则采用do-ids模型进行检测;
65.若确定所述预处理报文为无攻击数据集,且所述预处理报文为连续数据,则采用dlo-ids模型进行检测。
66.具体地,本发明实施例针对不同的检测模型,分别采用不同的数据集进行训练。对于深度信念网络,需提取进行训练测试来寻找最佳的网络层数,并且在测试之前需要对模型进行预训练,针对do-ids模型和dlo-ids模型形成入侵组合检测模型。
67.对于检测模型do-its和dlo-its,在进行报文检测之前需根据can总线的运行环境
选择不同的检测模型。例如,在无攻击数据集和待检测数据是离散时(例如hcrl数据集无攻击数据集和带攻击的数据集在时间上不是连续获取的)采用do-ids模型,而当无攻击数据集和待检测的数据是连续时(例如后文提到的自构数据集mixat)则用dlo-ids模型。
68.如图3所示的do-ids模型结构图,由输入层到dropout之间采用dbn网络,并由单分类支持向量机(one class svm,ocsvm)到输出层,输出正常报文或异常报文,如图4所示的dlo-ids模型结构图,与图3不同的是,在dropout和ocsvm之间采用长短期记忆网络(long short-term memory,lstm)网络处理连续的待检测数据。
69.基于上述实施例,将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果之后,还包括:
70.采用准确率、假阳率和精确度对所述入侵组合检测模型进行模型性能判定。
71.具体地,为了对系统模型进行评判,本发明采用了具体地,为了对系统模型进行评判,本发明采用了三个性能指标。
72.其中,tp表示被模型预测为正类的正样本(原本是正样本,预测为正样本),tn表示被模型预测为负类的负样本(原本是负样本,预测为负样本),fp表示被模型预测为正类的负样本(原本是负样本,预测为正样本),fn表示被模型预测为负类的正样本(原本是正样本,预测为的负样本)。
73.本发明提供的基于深度信念网络的can总线异常检测方法,对比现有的一些模型,该模型使用了深度信念网络来进行特征的提取,相较于更适合图像处理领域的卷积神经网络,深度信念网络在can总线这种数据建模与预测领域的效果更佳。
74.本发明与现有的基于can总线的异常检测方法相比,考虑了不同的应用环境,当汽车刚启动时需使用提前收集的数据集来训练的do-ids模型,当车辆正常行驶时则可以收集连续的数据集来训练模型dlo-ids,之后便采用dlo模型替换初始时使用的模型do-ids,并且由于该方法中加入基于can报文规则的过滤器,所以针对一般的普适性攻击,该方法都能不通过检测模型直接得出检测结果。本发明旨在通过利用入侵检测系统更迅速,更准确的检测出攻击,方便防御系统做出一定的防御措施,从而提高汽车的安全性能。
75.下面对本发明提供的基于深度信念网络的can总线入侵检测系统进行描述,下文描述的基于深度信念网络的can总线入侵检测系统与上文描述的基于深度信念网络的can总线入侵检测方法可相互对应参照。
76.图5是本发明实施例提供的基于深度信念网络的can总线入侵检测系统的结构示意图,如图5所示,包括:获取模块51、确定模块52、训练模块53、预处理模块54和检测模块55,其中:
77.获取模块51用于获取不同的预设训练数据集和预设测试数据集;确定模块52用于确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;训练模块53用于采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;预处理模块54用于获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;检测模块55用于将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
78.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于深度信念网络的can总线入侵检测方法,该方法包括:获取不同的预设训练数据集和预设测试数据集;确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
79.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
80.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于深度信念网络的can总线入侵检测方法,该方法包括:获取不同的预设训练数据集和预设测试数据集;确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。
81.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于深度信念网络的can总线入侵检测方法,该方法包括:获取不同的预设训练数据集和预设测试数据集;确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
82.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
83.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
ids模型进行检测。7.根据权利要求1所述的基于深度信念网络的can总线入侵检测方法,其特征在于,将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果之后,还包括:采用准确率、假阳率和精确度对所述入侵组合检测模型进行模型性能判定。8.一种基于深度信念网络的can总线入侵检测系统,其特征在于,包括:获取模块,用于获取不同的预设训练数据集和预设测试数据集;确定模块,用于确定基于can报文规则过滤器和基于深度信念网络的初始检测模型;训练模块,用于采用所述不同的预设训练数据集和预设测试数据集,对所述基于can报文规则过滤器和所述初始检测模型进行训练,得到入侵组合检测模型;预处理模块,用于获取待检测can报文,对所述待检测can报文进行预处理得到预处理报文;检测模块,用于将所述预处理报文输入所述入侵组合检测模型,输出can总线入侵检测结果。9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于深度信念网络的can总线入侵检测方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于深度信念网络的can总线入侵检测方法。
技术总结
本发明提供一种基于深度信念网络的CAN总线入侵检测方法及系统,属于入侵检测技术领域,包括:确定基于控制器局域网CAN报文规则过滤器和基于深度信念网络的初始检测模型;采用不同的预设训练数据集和预设测试数据集,对基于CAN报文规则过滤器和初始检测模型进行训练,得到入侵组合检测模型;对待检测CAN报文进行预处理得到预处理报文;将预处理报文输入入侵组合检测模型,输出CAN总线入侵检测结果。本发明在车载环境中,利用CAN报文构建过滤器,能提高检测精度,减少检测过程时间开销,克服带攻击数据集难以获取的问题,全部使用无攻击的正常报文来进行模型训练,对于混合攻击的检测准确率,能实现更优的误报率以及精确度。能实现更优的误报率以及精确度。能实现更优的误报率以及精确度。
技术研发人员:吴黎兵 毛智超 张壮壮 马亚军 刘芹
受保护的技术使用者:武汉大学
技术研发日:2023.05.08
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
