一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于报文指纹的入侵检测方法、系统、车辆及存储介质与流程

2022-06-22 15:01:15 来源:中国专利 TAG:


1.本发明属于网络安全技术领域,具体涉及一种基于报文指纹的入侵检测方法、系统、车辆及存储介质。


背景技术:

2.随着5g技术的发展,智能汽车正在颠覆传统的汽车文化。汽车的网联化、智能化已然成为未来汽车的发展趋势。智能汽车在给用户带来一些全新体验的同时,也将自身暴露在互联网络中。而目前车辆的信息安全还未做到让入侵者进不来,能发现,能抵御,能恢复的防护。因此,信息安全将在智能汽车的设计开发中扮演重要的角色,而入侵检测则是车辆信息安全的安全措施之一。
3.目前车内控制信息通过can/canfd/lin在各控制器之间明文广播传输,攻击者可以仿冒车内报文id对车内通讯进行注入、篡改、重放。汽车上针对车内网络的入侵检测大多均是基于报文id的黑白名单、报文的周期波动等来识别入侵者的攻击,这类检测手段能够防护一些攻击,但针对攻击者仿冒控制器对车内网络进行攻击的方式无法感知;另一方面,基于大运算量的通讯加密手段受到can报文数据带宽和节点运算资源的制约实施难度大:基于secoc的车内网络通讯的保护方式对车内节点的计算资源和数据场资源占用较大,一般用于域控制器之间的以太网通讯中,而域内低带宽通讯需要一种轻量级的解决方案。
4.因此,有必要开发一种新的基于报文指纹的入侵检测方法、系统、车辆及存储介质。


技术实现要素:

5.本发明提供一种基于报文指纹的入侵检测方法、系统、车辆及存储介质,能在车内网络被入侵时,通过报文指纹快速识别出车内网络中被入侵的网段及异常的通讯报文,并记录相关安全日志及预警。
6.第一方面,本发明所述的一种基于报文指纹的入侵检测方法,控制器存储有共享密钥,网络监控节点存储有各控制器的共享密钥;其方法包括以下步骤,包括:报文指纹填充过程:当控制器上电完毕且车控信息完成报文填充后,计算待填充指纹值的报文的mac值,将报文mac值用二进制表示,并根据mac值连续为0的最大位数的奇偶性向左或右循环移动counter位,再与共享密钥进行异或运算得到报文指纹值,将报文指纹值填充至报文预先定义的指纹填充位置,并将报文发送到车内网络中,同时报文计数器counter值 1,其中counter是报文计数器;报文指纹监控过程:当网络监控节点上电完毕且监控到网络中有报文活动时,通过抓取的报文id查询共享密钥,并提取报文中的指纹值,并将抓取的报文还原为控制器在填充报文指纹前时的填充场,网络监控节点按照报文填充过程中报文指纹值的计算方法计算出报文的指纹值,
并与提取的指纹值进行对比,若相等,则指纹校验计数器减去第一预设常数,若不相等,则指纹校验计数器加上第二预设常数;所述第二预设常数大于第一预设常数;当指纹校验计数器大于预设校验安全阈值时,网络监控节点发出入侵报警,并记录相关的入侵报文信息。
7.可选地,所述报文指纹填充过程的具体步骤如下:tc01:当控制器上电通讯初始化完毕后,控制器准备向总线上发送报文;tc02:控制器将车控信息填充在报文中;tc03:控制器将报文数据按byte与共享密钥key进行异或,并求和得到报文mac值,计算公式如下:σdata
byte

key;tc04:将报文mac值用二进制表示,并计算连续为0的最大位数num
bit0
,若 num
bit0
为偶数,则将mac值向右循环移动counter位,得到移位后的mac’值,若num
bit0
为奇数,则将mac值向左循环移动counter位,得到移位后的mac’值;其中counter是报文计数器;tc05:将移位后得到的mac’值再与共享密钥key进行异或得到报文指纹值v
fig
;tc06:将报文指纹值v
fig
填充至报文预先定义的指纹填充位置,其中,各报文的填充位置应随机分散于报文数据场中;tc07:当控制器将报文填充完毕后,控制器将报文发送到车内网络中,同时报文计数器counter值 1。
8.可选地,所述报文指纹监控过程的具体步骤如下:jc01:网络监控节点上电完毕;jc02:网络监控节点对总线活动进行监控;jc03:若网络监控节点监测到总线上存在报文活动时,则执行jc04,否则继续执行jc02;jc04:基于监控抓取的报文id,查询该id对应的共享密钥;jc05:按报文id对应的指纹值填充位置提取报文中的指纹值v
fig1
;jc06:将报文中在指纹值计算后填充的bit位设置为控制器默认填充状态;jc07:提取报文中的报文counter值,并按照步骤tc03至步骤tc05的方法计算出报文指纹值v
fig2
;jc08:判断计算的报文指纹值v
fig2
与报文中的指纹值v
fig1
是否相等,若相等,执行jc09;若不相等,执行jc10;jc09:指纹值校验通过,若指纹校验计数器counter
fig
大于0,则counter
fig-第一预设常数const1;否则counter
fig
维持不变;jc10:指纹值校验未通过,则指纹校验计数器counter
fig
第二预设常数 const2;jc11:判断指纹计数器counter
fig
是否大于等于预设校验安全阈值const3,若是,则执行jc12,否则执行jc02;jc12:判定该报文所在网段被入侵,并记录相关的入侵报文信息。
9.第二方面,本发明所述的一种基于报文指纹的入侵检测系统,包括存储器和控制器,所述存储器内存储有计算机可读程序,所述计算机可读程序被控制器调用时能执行本发明所述的基于报文指纹的入侵检测方法的步骤。
10.第三方面,本发明所述的一种车辆,采用如本发明所述的基于报文指纹的入侵检测系统。
11.第四方面,本发明所述的一种存储介质,其内存储有计算机可读程序,所述计算机可读程序被调用时能执行如本发明所述的基于报文指纹的入侵检测方法的步骤。
12.本发明具有以下优点:它能够在车内网络被入侵时,通过报文指纹快速识别出车内网络中被入侵的网段及异常的通讯报文,并记录相关安全日志及预警。该方法在通讯数据带宽较小的通讯网络中能够合理地应用控制器计算资源、报文带宽资源,并且能够对车内通讯的注入、篡改、重放等攻击方式起到监控识别作用。另外,本发明所述的方法简单,对计算资源和通讯带宽的占用较小,能够在can/lin的网络通讯中快速识别入侵信息。
附图说明
13.图1为本实施例中报文指纹填充过程的流程图;图2为本实施例中报文指纹监控过程的流程图。
具体实施方式
14.下面结合附图对本发明作进一步说明。
15.如图1所示,本实施例中,一种基于报文指纹的入侵检测方法,控制器存储有共享密钥,网络监控节点存储有各控制器的共享密钥;其方法包括以下步骤:报文指纹填充过程:当控制器上电完毕且车控信息完成报文填充后,计算待填充指纹值的报文的mac值,将报文mac值用二进制表示,并根据mac值连续为0的最大位数的奇偶性向左或右循环移动counter位,再与共享密钥进行异或运算得到报文指纹值,将报文指纹值填充至报文预先定义的指纹填充位置,并将报文发送到车内网络中,同时报文计数器counter值 1,其中counter是报文计数器;报文指纹监控过程:当网络监控节点上电完毕且监控到网络中有报文活动时,通过抓取的报文id查询共享密钥,并提取报文中的指纹值,并将抓取的报文还原为控制器在填充报文指纹前时的填充场(填充信息的区域),网络监控节点按照报文填充过程中报文指纹值的计算方法计算出报文的指纹值,并与提取的指纹值进行对比,若相等,则指纹校验计数器减去第一预设常数,若不相等,则指纹校验计数器加上第二预设常数;所述第二预设常数大于第一预设常数;当指纹校验计数器大于预设校验安全阈值时,网络监控节点发出入侵报警,并记录相关的入侵报文信息。
16.如图1所示,报文指纹填充过程,步骤如下:tc01:当控制器上电通讯初始化完毕后,控制器准备向总线上发送报文时。
17.tc02:控制器将车控信息填充在报文中。
18.tc03:控制器将报文数据按byte与共享密钥key进行异或,并求和得到报文mac值,计算公式如下:σdata
byte

key。
19.tc04:将报文mac值用二进制表示,并计算连续为0的bit最大位数num
bit0
,若 num
bit0
为偶数,则将mac值向右循环移动counter位,得到移位后的mac’值,若num
bit0
为奇数,则将mac值向左循环移动counter位,得到移位后的mac’值;其中counter是报文计数器,一般随报文传递。
20.tc05:将移位后得到的mac’值再与共享密钥key进行异或得到报文指纹值v
fig

21.tc06:将报文指纹值v
fig
填充至报文预先定义的指纹填充位置,其中,各报文的填充位置应随机分散于报文数据场中。
22.tc07:当控制器将报文填充完毕后,控制器将报文发送到车内网络中,同时报文计数器counter值 1。
23.如图2所示,报文指纹监控过程,步骤如下:jc01:监控节点上电完毕。
24.jc02:监控节点对总线活动进行监控。
25.jc03:若监控节点监测到总线上存在报文活动时,则执行jc04,否则继续执行jc02。
26.jc04:基于监控抓取的报文id,查询该id对应的共享密钥。
27.jc05:按报文id对应的指纹值填充位置提取报文中的指纹值v
fig1

28.jc06:将报文中在指纹值计算后填充的bit位设置为控制器默认填充状态。
29.jc07:提取报文中的报文counter值,并按照图1中tc03至tc05计算报文指纹值v
fig2
;jc08:判断计算的报文指纹值v
fig2
与报文中的指纹值v
fig1
是否相等,若相等,执行jc09;若不相等,执行jc10。
30.jc09:指纹值校验通过,若指纹校验计数器counter
fig
大于0,则counter
fig-第一预设常数const1;否则counter
fig
维持不变。
31.jc10:指纹值校验未通过,则指纹校验计数器counter
fig
第二预设常数 const2。
32.jc11:判断指纹计数器counter
fig
是否大于等于预设校验安全阈值const3,若是,则执行jc12,否则执行jc02;其中const1、const2、const3基于实际应用设定。
33.jc12:判定该报文所在网段被入侵,并记录包含但不限于:时间、网段、报文等信息的安全日志。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献