一种基于信息熵的CAN总线异常检测方法与流程

文档序号:16887521发布日期:2019-02-15 22:46阅读:786来源:国知局
一种基于信息熵的CAN总线异常检测方法与流程

本发明涉及can总线通信安全技术领域,具体地,涉及一种基于信息熵的can总线异常检测方法。



背景技术:

汽车的智能化、网络化使得汽车内部电子设备数量迅速增加,电控系统日益复杂,车载电子设备、电控单元与外界的信息交互也越来越多,而这些车载电子设备、电控单元绝大部分都连接到了汽车内部的总线网络,来自网络的安全威胁会通过汽车与外部的接口渗透到关键的车载总线网络系统。现有的车载总线网络在设计和应用的过程中从来没有考虑过信息安全问题,仅有基本的完整性检查,严重缺乏信息安全防护技术和手段。

网联汽车作为移动的信息系统,其信息安全问题的研究工作具有重要的意义,主要可体现在:

(1)网联汽车的信息交互涉及到车与互联网、车与车、车与基础设施、车载总线网络等多网融合的数据交换,计算机网络安全的分析方法和防护手段不能直接用于网联汽车的信息安全问题。分析网联汽车的信息安全问题和研究适合车载总线网络的安全防护技术具有十分重要的现实意义;

(2)国外对汽车信息安全及车载总线安全的研究工作已经展开,而国内相关的汽车信息安全,特别是车载总线信息安全的研究成果仍然鲜见;

(3)网联汽车的信息安全问题不只是隐私泄露,而且涉及到生命财产的安全。为防止汽车信息安全漏洞危害到车辆驾乘者的人身、财产和隐私安全,避免危害公共交通安全,对于网联汽车的信息安全问题应给予足够的重视;

(4)安全的网络通信是网联汽车发展的基础,汽车信息安全问题是汽车行业必须面对和解决的任务,分析网联汽车的信息安全问题,研究车载总线网络的信息安全防护技术是汽车研究领域及产业领域的共同需求。

因此,研究网联汽车网络信息安全问题具有十分重要的意义,研究适合车载总线网络的信息安全防护技术迫在眉睫。

现有的can总线异常检测为一般采用更改汽车网关的软硬件设计,成本较高;且针对网联汽车的检测方法,计算量大,实现困难。

重放攻击是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。



技术实现要素:

为了解决上述技术问题,本发明提供一种算法简单、检测精确的基于信息熵的can总线异常检测方法。

本发明解决上述问题的技术方案是:一种基于信息熵的can总线异常检测方法,包括以下步骤:

步骤一:建立基线样本库;

步骤二:采集待测can总线报文并对报文数据进行预处理;

步骤三:对处理后的报文数据进行信息熵值计算、相对距离计算;

步骤四:将计算得到的熵值和相对距离与基线数据库进行对比分析,检测是否出现异常。

上述基于信息熵的can总线异常检测方法,所述步骤一中,建立基线样本库的具体步骤包括:

1-1)采集模拟真实环境下的can总线网络中的报文作为原始数据;

1-2)对原始数据进行预处理,统计出单位时间内报文流量、报文自信息;

1-3)对预处理后的数据进行熵值确定、阈值确定和相对距离确定;

1-4)得到基线样本库。

上述基于信息熵的can总线异常检测方法,所述步骤1-3)中,熵值确定的具体步骤为:

令e表示为t时间内出现的n种不同标识符的can报文消息集合,其中e={ε1,ε2,...,εn},{c1,c2,...,cn}为t时间内出现的n种不同标识符的can报文的发送周期;

时间t内总线的can报文消息的总数为:

第i种报文εi,在t时间内发送的数量ni为

第i种报文,在t时间内出现的概率p(εi)表示为:

显然有

定义第i种消息的不确定性为消息i的自信息i(εi)

则在时间t内can总线的信息熵定义为消息的平均不确定性,即为自信息的数学期望:

上述基于信息熵的can总线异常检测方法,所述步骤1-3)中,相对距离确定的具体步骤为:

定义第i种报文在两个相邻t时间段消息集合的相对距离

在重放攻击场景下,

在重放攻击场景下,第i种报文的相对距离

进一步地,阈值d为0.01~0.02,网络正常检测的范围是(h(e)-d/2,h(e)+d/2),超过此范围的总线信息熵将判定为异常。

上述基于信息熵的can总线异常检测方法,所述步骤四中,通过信息熵和相对距离的变化趋势来判断是否出现异常。

进一步地,具体判断方法包括依据ⅰ:当can总线系统信息熵增加,判断在原始报文基础上,can总线中出现新的报文消息,can总线异常。

进一步地,具体判断方法包括依据ⅱ:当相对距离得到正值的变化趋势,判断can总线中出现被重放的报文消息;当得到负值的变化趋势,判断该消息的重放消失;当相对距离不变时,判断该消息没有被重放。

与现有技术相比,本发明的有益效果在于:

本发明通过正常车载can总线网络的报文数据得到基线样本库,作为判断总线网络是否出现异常的基线;在检测时,巧妙地利用了can总线异常时信息熵和相对距离的变化规律,对待检测的车载can总线网络数据进行统计分析,计算当前总线网络的信息熵和相对距离,通过信息熵和相对距离的变化趋势来检测当前can总线网络中是否出现异常,本发明具体地能够检测车载can重放等攻击,并且达到预期检测效果,检测准确度高。

附图说明

图1为本发明标定阶段的流程图。

图2为本发明检测阶段的流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明的具体含义。下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

本实施例提供一种基于信息熵的can总线异常检测方法,包括以下步骤:

步骤一.建立基线样本库;

步骤二.采集待测can总线报文并对报文数据进行预处理;

步骤三.对处理后的报文数据进行信息熵值计算、相对距离计算;

步骤四.将计算得到的熵值和相对距离与基线数据库进行对比分析,检测是否出现异常。

具体地,其中,步骤一为标定阶段。

如图1所示,步骤一具体包括以下步骤:

1-1)采集模拟真实环境下的can总线网络中的报文作为原始数据。

1-2)对原始数据进行预处理,统计出单位时间内报文流量、报文自信息。

1-3)对预处理后的数据进行熵值确定、阈值确定和相对距离确定。

其中,熵值确定的具体步骤为:

假设can总线在时间t内的负载适中,所有消息都能在规定时间内发送完成,那么,t时间内can总线消息的数量可以由报文周期和时间长度得到。

令e表示为t时间内出现的n种不同标识符的can报文消息集合,其中e={ε1,ε2,...,εn},{c1,c2,...,cn}为t时间内出现的n种不同标识符的can报文的发送周期;

在理想情况下,时间t内总线的can报文消息的总数为:

第i种报文εi,在t时间内发送的数量ni为

第i种报文,在t时间内出现的概率p(εi)表示为:

显然有

定义第i种消息的不确定性为消息i的自信息i(εi)

则在时间t内can总线的信息熵定义为消息的平均不确定性,即为自信息的数学期望:

本实施例中阈值d为0.01~0.02,则网络正常检测的范围是(h(e)-d/2,h(e)+d/2),判断信息熵值是否属于此范围,以作为判断基线样本库中信息熵值正常与否的依据。

相对距离确定的具体步骤为:

定义第i种报文在两个相邻t时间段消息集合的相对距离

在重放攻击场景下,

在重放攻击场景下,第i种报文的相对距离

1-4)得到基线样本库。

如图2所示,步骤二至步骤四为检测阶段。

步骤二.采集待测can总线报文并对报文数据进行预处理。

步骤三.对处理后的报文数据进行信息熵值计算、相对距离计算。

根据步骤一中的计算方法,相应地计算待测处理后can总线的信息熵值、相对距离值。

步骤四.将计算得到的熵值和相对距离与基线数据库进行对比分析,检测是否出现异常。

将计算得到的熵值和相对距离与基线数据库进行对比分析,通过信息熵和相对距离的变化趋势来判断是否出现异常。

具体判断依据为,依据ⅰ:当can总线系统信息熵增加,判断在原始报文基础上,can总线中出现新的报文消息,can总线异常。

依据ⅰ的论证过程为:

则有在x>0时为单调递增函数,当can网络中出现新的报文消息时,

函数f(x)值增加,hi增加,增加;

因此,得到依据ⅰ。

在依据ⅰ中,信息熵是否增加,通过将步骤四中测得的信息熵与步骤一中测得的信息熵进行比较来判断。

作为本实施例的一个具体实施方式,还可以采用依据ⅱ来进行判断can的异常情况。依据ⅱ:当相对距离得到正值的变化趋势,判断can总线中出现被重放的报文消息;当得到负值的变化趋势,判断该消息的重放消失;当相对距离不变时,判断该消息没有被重放。

依据ⅱ的论证过程为:

由于周期c'>0,则又有在x>0处单调递增,那么di(εiιιε'i)的变化趋势仅需考察di(εiιιε'i)的表达式值是否大于1,那么

假设其他报文消息没有被重放,其他报文消息的周期不变,因只需要分子大于0,则有

被重放的报文消息c'i>ci,c'i-ci>0,因此

即:di(εiιιε'i)>0

这样就得到被重放攻击的消息相对距离的变化趋势,同理可证,当攻击消失时,没有攻击的时间段与混有攻击时间段的相对距离将会得到负值的变化趋势,di(εiιιε'i)<0;没有被重放时的理论值应不变。

因此,得到依据ⅱ。

在依据ⅱ中,判断相对距离的变化趋势,通过将步骤四中测得的相对距离与步骤一中测得的相对距离进行比较来判断。

本实施例中,可以同时结合依据ⅰ和依据ⅱ来判断can总线是否异常。

综上所述,本实施例可以用来检测车载can总线中的异常行为,尤其是可以用于检测车载can总线中重放攻击。本实施例算法精简,检测精确,易于工程实现。

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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