首页 / 专利库 / 人工智能 / N元标识符 / 车载网络入侵检测方法及计算机可读存储介质

车载网络入侵检测方法及计算机可读存储介质

阅读:399发布:2020-05-08

专利汇可以提供车载网络入侵检测方法及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种车载网络入侵检测方法及计算机可读存储介质,方法包括:采集预设时间段内车辆的CAN总线报文信息;根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次 阈值 数据;计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据;根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并建立邻接关系矩阵;根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。本发明可检测多种入侵攻击类型,且误报率较低。,下面是车载网络入侵检测方法及计算机可读存储介质专利的具体信息内容。

1.一种车载网络入侵检测方法,其特征在于,包括:
采集预设时间段内车辆的CAN总线报文信息,所述CAN总线报文信息包括对应CAN总线报文信息类别的标识符以及8个字节的数据域;
根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据,所述频次阈值数据包括频次最大值、频次最小值、频次差值最大值和频次差值最小值;
根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据,所述汉明距离阈值数据包括汉明距离最大值和汉明距离最小值;
根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵;
根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。
2.根据权利要求1所述的车载网络入侵检测方法,其特征在于,所述根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据具体为:
根据CAN总线报文信息的采集时间顺序,依次提取CAN总线报文信息中的标识符,得到标识符序列;
按照预设的时间周期,分别统计所述标识符序列中各标识符在各时间周期内的频次;
根据各标识符在各时间周期内的频次,获取各标识符的频次最大值和频次最小值;
根据各标识符在各时间周期内的频次,分别计算各标识符在相邻的时间周期的频次差值;
根据所述频次差值,分别获取各标识符的频次差值最大值和频次差值最小值。
3.根据权利要求1或2所述的车载网络入侵检测方法,其特征在于,根据各标识符的频次阈值数据检测车载网络是否发生入侵的步骤具体为:
根据接收到的CAN总线报文信息,实时统计当前时间周期内各标识符的频次;
根据当前时间周期内各标识符的频次与上一时间周期内各标识符的频次,分别计算各标识符的频次差值;
若一标识符的频次大于所述一标识符的频次最大值或小于所述一标识符的频次最小值,且所述一标识符的频次差值大于所述一标识符的频次差值最大值或小于所述一标识符的频次差值最小值,则判定车载网络发生入侵。
4.根据权利要求1所述的车载网络入侵检测方法,其特征在于,所述根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据具体为:
根据CAN总线报文信息的采集时间顺序,分别对相邻的且标识符相同的CAN总线报文信息中的数据域按位进行异或计算,并统计计算结果中1的个数,得到各标识符对应的汉明距离;
根据各标识符对应的汉明距离,分别获取各标识符对应的汉明距离最大值和汉明距离最小值。
5.根据权利要求1或4所述的车载网络入侵检测方法,其特征在于,根据各标识符的汉明距离阈值数据检测车载网络是否发生入侵的步骤具体为:
获取标识符与当前CAN总线报文信息相同的上一CAN总线报文信息;
计算得到当前CAN总线报文信息与所述上一CAN总线报文信息的汉明距离;
获取当前CAN总线报文信息的标识符对应的汉明距离最大值和汉明距离最小值;
若所述汉明距离大于所述汉明距离最大值或小于所述汉明距离最小值,则判定车载网络发生入侵。
6.根据权利要求1所述的车载网络入侵检测方法,其特征在于,所述根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵具体为:
建立N阶矩阵,所述N为CAN总线报文信息的类别数量;
将所述N阶矩阵初始化为0;
分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1;
获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵。
7.根据权利要求6所述的车载网络入侵检测方法,其特征在于,所述分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1具体为:
根据标识符序列中各标识符的频次,对各标识符从高到低进行排序;
分别将各标识符与其排序后的序号进行关联,所述序号从0开始。
8.根据权利要求6所述的车载网络入侵检测方法,其特征在于,所述获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵具体为:
获取所述标识符序列中存在相邻关系的两个标识符,并根据顺序将所述两个标识符分别标记为在先标识符和在后标识符;
将所述N阶矩阵中行号为所述在先标识符对应的索引号,列号为所述在后标识符对应的索引号的位置的元素值设为1,得到邻接关系矩阵。
9.根据权利要求6所述的车载网络入侵检测方法,其特征在于,根据邻接关系矩阵检测车载网络是否发生入侵的步骤具体为:
获取当前CAN总线报文信息的标识符对应的索引号,作为第一索引号;
获取与当前CAN总线报文信息相邻的上一CAN总线报文信息的标识符对应的索引号,作为第二索引号;
若邻接关系矩阵中行号为所述第一索引号,列号为所述第二索引号的位置的元素值为
0,则判定车载网络发生入侵。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9任一项所述的步骤。

说明书全文

车载网络入侵检测方法及计算机可读存储介质

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种车载网络入侵检测方法及计算机可读存储介质。

背景技术

[0002] 随着汽车智能化和网络技术的发展,汽车上通过电子控制单元管理控制操作的功能越来愈多,同时,通过智能手机或其他设备进行无线网络远程操作控制车辆的功能也在广泛推广。与外部网络环境的连接增加了车载网络的安全险。由网络入侵导致的车辆故障对驾乘人员都极其危险。
[0003] 车载网络问题已引起广泛关注,目前已有人提出各种各样的IDS(入侵检测系统)/IPS(入侵防御系统)技术和相应的解决方案,但这些方法有的过于复杂,难以在车载终端实施,有的虽然计算简单但检测范围有限,或者检测结果误报率较高。

发明内容

[0004] 本发明所要解决的技术问题是:提供一种车载网络入侵检测方法及计算机可读存储介质,可检测多种入侵攻击类型,且误报率较低。
[0005] 为了解决上述技术问题,本发明采用的技术方案为:一种车载网络入侵检测方法,包括:
[0006] 采集预设时间段内车辆的CAN总线报文信息,所述CAN总线报文信息包括对应CAN总线报文信息类别的标识符以及8个字节的数据域;
[0007] 根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据,所述频次阈值数据包括频次最大值、频次最小值、频次差值最大值和频次差值最小值;
[0008] 根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据,所述汉明距离阈值数据包括汉明距离最大值和汉明距离最小值;
[0009] 根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵;
[0010] 根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。
[0011] 本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的步骤。
[0012] 本发明的有益效果在于:通过采集大量正常的CAN总线报文信息,并对这些CAN总线报文信息针对标识符频次、报文内容和相邻关系这三种特征进行分析计算和统计学习,利用获得的总线正常行为模型对车载网络状态进行实时异常检测。本发明的检测复杂度较低,内存占用少,可以比较容易地在低端电子设备上实现,适合实施于车载设备系统中;同时三种特征互补,可以检测多种入侵攻击类型,且误报率较低。附图说明
[0013] 图1为本发明实施例一的一种车载网络入侵检测方法的流程图
[0014] 图2为本发明实施例一的步骤S5的根据频次阈值数据检测入侵的方法流程图;
[0015] 图3为本发明实施例一的步骤S5的根据汉明距离阈值数据检测入侵的方法流程图;
[0016] 图4为本发明实施例一的步骤S5的根据邻接关系矩阵检测入侵的方法流程图。

具体实施方式

[0017] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0018] 本发明最关键的构思在于:对报文的标识符频次、报文内容和相邻关系这三种特征进行分析计算和统计学习,利用获得的总线正常行为模型对车载网络状态进行实时异常检测。
[0019] 请参阅图1,一种车载网络入侵检测方法,包括:
[0020] 采集预设时间段内车辆的CAN总线报文信息,所述CAN总线报文信息包括对应CAN总线报文信息类别的标识符以及8个字节的数据域;
[0021] 根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据,所述频次阈值数据包括频次最大值、频次最小值、频次差值最大值和频次差值最小值;
[0022] 根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据,所述汉明距离阈值数据包括汉明距离最大值和汉明距离最小值;
[0023] 根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵;
[0024] 根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。
[0025] 从上述描述可知,本发明的有益效果在于:检测复杂度较低,内存占用少,可以比较容易地在低端电子设备上实现;同时可以检测多种入侵攻击类型,且误报率较低。
[0026] 进一步地,所述根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据具体为:
[0027] 根据CAN总线报文信息的采集时间顺序,依次提取CAN总线报文信息中的标识符,得到标识符序列;
[0028] 按照预设的时间周期,分别统计所述标识符序列中各标识符在各时间周期内的频次;
[0029] 根据各标识符在各时间周期内的频次,获取各标识符的频次最大值和频次最小值;
[0030] 根据各标识符在各时间周期内的频次,分别计算各标识符在相邻的时间周期的频次差值;
[0031] 根据所述频次差值,分别获取各标识符的频次差值最大值和频次差值最小值。
[0032] 进一步地,根据各标识符的频次阈值数据检测车载网络是否发生入侵的步骤具体为:
[0033] 根据接收到的CAN总线报文信息,实时统计当前时间周期内各标识符的频次;
[0034] 根据当前时间周期内各标识符的频次与上一时间周期内各标识符的频次,分别计算各标识符的频次差值;
[0035] 若一标识符的频次大于所述一标识符的频次最大值或小于所述一标识符的频次最小值,且所述一标识符的频次差值大于所述一标识符的频次差值最大值或小于所述一标识符的频次差值最小值,则判定车载网络发生入侵。
[0036] 由上述描述可知,可用于检测洪泛攻击和重放攻击。
[0037] 进一步地,所述根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据具体为:
[0038] 根据CAN总线报文信息的采集时间顺序,分别对相邻的且标识符相同的CAN总线报文信息中的数据域按位进行异或计算,并统计计算结果中1的个数,得到各标识符对应的汉明距离;
[0039] 根据各标识符对应的汉明距离,分别获取各标识符对应的汉明距离最大值和汉明距离最小值。
[0040] 进一步地,根据各标识符的汉明距离阈值数据检测车载网络是否发生入侵的步骤具体为:
[0041] 获取标识符与当前CAN总线报文信息相同的上一CAN总线报文信息;
[0042] 计算得到当前CAN总线报文信息与所述上一CAN总线报文信息的汉明距离;
[0043] 获取当前CAN总线报文信息的标识符对应的汉明距离最大值和汉明距离最小值;
[0044] 若所述汉明距离大于所述汉明距离最大值或小于所述汉明距离最小值,则判定车载网络发生入侵。
[0045] 由上述描述可知,可用于检测模糊攻击,对于某些数据域内容具有周期变化或几乎没有变化的报文信息检测效果较好。
[0046] 进一步地,所述根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵具体为:
[0047] 建立N阶矩阵,所述N为CAN总线报文信息的类别数量;
[0048] 将所述N阶矩阵初始化为0;
[0049] 分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1;
[0050] 获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵。
[0051] 进一步地,所述分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1具体为:
[0052] 根据标识符序列中各标识符的频次,对各标识符从高到低进行排序;
[0053] 分别将各标识符与其排序后的序号进行关联,所述序号从0开始。
[0054] 由上述描述可知,可提高后续根据标识符查找索引号的整体速度,从而提高定位矩阵位置的整体效率。
[0055] 进一步地,所述获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵具体为:
[0056] 获取所述标识符序列中存在相邻关系的两个标识符,并根据顺序将所述两个标识符分别标记为在先标识符和在后标识符;
[0057] 将所述N阶矩阵中行号为所述在先标识符对应的索引号,列号为所述在后标识符对应的索引号的位置的元素值设为1,得到邻接关系矩阵。
[0058] 进一步地,根据邻接关系矩阵检测车载网络是否发生入侵的步骤具体为:
[0059] 获取当前CAN总线报文信息的标识符对应的索引号,作为第一索引号;
[0060] 获取与当前CAN总线报文信息相邻的上一CAN总线报文信息的标识符对应的索引号,作为第二索引号;
[0061] 若邻接关系矩阵中行号为所述第一索引号,列号为所述第二索引号的位置的元素值为0,则判定车载网络发生入侵。
[0062] 由上述描述可知,可用于检测不良注入攻击和混合注入攻击。
[0063] 本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的步骤。
[0064] 实施例一
[0065] 请参照图1-4,本发明的实施例一为:一种车载网络入侵检测方法,如图1所示,包括如下步骤:
[0066] S1:采集预设时间段内车辆在不同行驶状态的CAN总线报文信息,所述CAN总线报文信息主要包括标识符以及8个字节的数据域,标识符用于标记CAN总线报文信息的类别,每个类别对应不同的标识符;数据域中的数据为有效数据载荷。优选地,所述预设时间段大于一个小时。
[0067] 其中,数据域中的有效数据载荷可能会受车辆行驶状态的影响,比如车辆的速度,发动机的转速,车辆的行驶方向,加速踏板位置等。因此,为了尽可能获取消息内容的最大变化量,覆盖各种交通行驶状况,本实施例中,所述行驶状态包括停止(即停车但发动机启动)、正常加减速行驶、低速、高速、急加速和急减速。
[0068] S2:根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据,所述频次阈值数据包括频次最大值、频次最小值、频次差值最大值和频次差值最小值。
[0069] 具体地,先根据CAN总线报文信息的采集时间顺序,依次提取CAN总线报文信息中的标识符,得到标识符序列,即按报文的接收顺序提取报文中的标识符。然后按照预设的时间周期,分别统计所述标识符序列中各标识符在各时间周期内的频次;接着根据各标识符在各时间周期内的频次,获取各标识符的频次最大值和频次最小值。例如,假设预设时间段可划分为x个时间周期,则会得到各标识符对应x个时间周期的x个频次,然后在一标识符对应的x个频次中获取到最大值和最小值,即为该标识符的频次最大值和频次最小值。
[0070] 同时,根据各标识符在各时间周期内的频次,分别计算各标识符在相邻的时间周期的频次差值;最后根据所述频次差值,分别获取各标识符的频次差值最大值和频次差值最小值。例如,计算一标识符对应的x个频次中的第一个频次和第二个频次的差值绝对值,即得到该标识符在第一个时间周期和第二时间周期的频次差值,以此类推,得到该标识符的x-1个频次差值,然后获取其中的最大值和最小值,即为该标识符的频次差值最大值和频次差值最小值。
[0071] 进一步地,时间周期可根据不同车型数据进行调整,取数据波动变化最为稳定的,一般为10秒左右。该时间周期的值可通过配置功能更新到车载终端。
[0072] S3:根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据,所述汉明距离阈值数据包括汉明距离最大值和汉明距离最小值。
[0073] 其中,对两个CAN总线报文信息中的8个字节的数据域按位进行异或计算,然后统计计算结果中1的个数,即可得到这两个CAN总线报文信息的汉明距离。
[0074] 因此,该步骤中,可根据CAN总线报文信息的采集时间顺序,依序获取对应同一标识符的CAN总线报文信息,得到对应该标识符的报文序列,然后依序遍历报文序列中的CAN总线报文信息,对当前报文与其下一报文计算得到汉明距离,并加入到该标识符对应的汉明距离集合,直到遍历结束,即可得到该标识符对应的汉明距离集合,然后从该汉明距离集合中获取最大值和最小值,即为该标识符对应的汉明距离最大值和汉明距离最小值。
[0075] S4:根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵。
[0076] 具体地,首先建立N阶矩阵并初始化为0,其中,N为标识符的数量,即CAN总线报文信息的类别数量。然后分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1;例如,假设N=6,标识符分别为A、B、C、D、E、F,索引号为0-5,即分别将A-F与0-5一一对应进行关联。
[0077] 然后获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述矩阵中对应位置的元素值设为1,得到邻接关系矩阵。在本实施例中,可依序遍历标识符序列,获取当前标识符和下一标识符,然后在矩阵中寻找行号为当前标识符对应的索引号,列号为下一标识符对应的索引号的位置,若该位置的元素值为0,则将该位置的元素值设为1,若该位置的元素值为1,则不改变,以此类推,直至遍历结束,或者当不再有新的元素设为1,邻接关系矩阵模型基本稳定的时候,即可得到邻接关系矩阵。
[0078] 例如,当接收到标识符为A的消息后,相邻地又接收到标识符为B的消息,假设标识符A对应的索引号为i,标识符B对应的索引号为j,则将矩阵中行号为i,列号为j的位置的元素值设为1。
[0079] 进一步地,在底层实现中,在根据标识符查到对应的索引号时,会从0开始对索引号进行遍历。因此,优选地,在将标识符与索引号进行关联的时候,可先将各标识符按照在标识符序列中的频次,从高到低进行排序,然后分别将各标识符与其排序后的序号进行关联,其中,序号从0开始。例如,假设各标识符从高到低排序后的顺序为B、C、D、A、E、F,则将B与0进行关联,将C与1进行关联,以此类推。通过将频次高的标识符与数值低的索引号进行关联,在查找对应的索引号时,可提高整体效率。
[0080] S5:根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。即接收到CAN总线报文信息时,实时根据频次阈值数据进行标识符频次检测,实时根据汉明距离阈值数据进行报文内容检测,实时根据邻接关系矩阵进行相邻关系检测;三种检测可并行处理,任意一个检测不通过,即认为存在网络入侵。
[0081] 具体地,如图2所示,根据各标识符的频次阈值数据检测车载网络是否发生入侵的方法包括如下步骤:
[0082] S101:根据接收到的CAN总线报文信息,实时统计当前时间周期内各标识符的频次。
[0083] S102:根据当前时间周期内各标识符的频次与上一时间周期内各标识符的频次,分别计算各标识符的频次差值。
[0084] S103:判断是否存在一标识符的频次超出所述一标识符的频次阈值范围且频次差值超出所述一标识符的频次差值阈值范围,若是,则执行步骤S104,若否,则执行步骤S105。其中,判断一标识符的频次是否超出频次阈值范围即判断一标识符的频次是否大于所述一标识符的频次最大值或小于所述一标识符的频次最小值;判断一标识符的频次差值是否超出频次差值阈值范围即判断一标识符的频次差值是否大于所述一标识符的频次差值最大值或小于所述一标识符的频次差值最小值。
[0085] S104:判定网络出现异常,即判定车载网络发生入侵。车载网络本身是稳定的且封闭的,由于其封闭性,最初的设计在安全方面没有完善的考虑,只有受到网络入侵,车载网络才会出现异常。
[0086] S105:判定网络正常,即判定车载网络未发生入侵。
[0087] 例如,假设标识符A的频次最大值为1113,频次最小值为1000,频次差值最大值为13,频次差值最小值为0。在实时检测过程中,当前时间周期内标识符A的频次为1025,上一时间周期的频次为1010,由于当前时间周期内的频次1025大于频次最大值1113,且频次差值1025-1010=15大于频次差值最大值13,则认为该时刻车载网络发生了入侵。
[0088] 上述方法在检测洪泛攻击和重放攻击上效果较好。
[0089] 如图3所示,根据各标识符的汉明距离阈值数据检测车载网络是否发生入侵的方法包括如下步骤:
[0090] S201:获取标识符与当前CAN总线报文信息相同的上一CAN总线报文信息。
[0091] S202:计算得到当前CAN总线报文信息与所述上一CAN总线报文信息的汉明距离;即将两个CAN总线报文信息中的8个字节的数据域按位进行异或计算,然后统计计算结果中
1的个数。
[0092] S203:获取当前CAN总线报文信息的标识符对应的汉明距离最大值和汉明距离最小值。
[0093] S204:判断所述汉明距离是否大于所述汉明距离最大值或小于所述汉明距离最小值,若是,则执行步骤S205,若否,则执行步骤S206。
[0094] S205:判定网络出现异常,即判定车载网络发生入侵。
[0095] S206:判定网络正常,即判定车载网络未发生入侵。
[0096] 例如,假设标识符A的汉明距离最大值为2,汉明距离最小值为0,如正常变化为从(1d 00 00 00ff ff ff ff)变为(1c 00 00 00ff ff ff ff),若某时刻接收到的CAN总线报文信息的标识符为A,数据域为(10 01 50 00ff ff ff ff),上一标识符为A的CAN总线报文信息的数据域为(1d 00 00 00ff ff ff ff),计算得到汉明距离为6,大于汉明距离最大值2,则认为该时刻车载网络发生了入侵。
[0097] 上述方法在检测模糊攻击上效果较好,特别是某些数据域内容具有周期变化或几乎没有变化的报文信息。
[0098] 如图4所示,根据邻接关系矩阵检测车载网络是否发生入侵的方法包括如下步骤:
[0099] S301:获取当前CAN总线报文信息的标识符对应的索引号,作为第一索引号;
[0100] S302:获取与当前CAN总线报文信息相邻的上一CAN总线报文信息的标识符对应的索引号,作为第二索引号;
[0101] S303:判断邻接关系矩阵中行号为第一索引号,列号为所述第二索引号的位置的元素值是否为0,若是,则执行步骤S304,若否,则执行步骤S305。
[0102] S304:判定网络出现异常,即判定车载网络发生入侵。
[0103] S305:判定网络正常,即判定车载网络未发生入侵。
[0104] 上述方法即实时检测CAN总线报文信息的相邻关系是否在邻接关系矩阵存在,若存在则认为网络正常,否则认为出现异常。
[0105] 上述方法在检测不良注入攻击和混合注入攻击上效果较好。
[0106] 本实施例根据车载网络CAN总线消息特性,提出了一种有效的车载网络入侵检测方法。从数据的时序变化和相关性度考虑,通过提取CAN总线消息的序列、频率和内容变化三种特殊特征信息,根据特征进行相应计算分析、统计和学习,获取有效的报文周期变换规律、同一标识符相邻报文内容的汉明距离变化规律以及邻接关系矩阵,根据规律建立车辆CAN总线网络正常行为模型,然后应用该模型对车载网络状态进行实时异常检测,当上述三种特征偏离正常行为模型时认为发生网络入侵行为。该方法在终端的检测过程简单、计算复杂度低,消耗资源较少,误报率极低,三种特征互补,能实时有效的检测各种网络入侵行为,适合实施于车载设备系统中。
[0107] 实施例二
[0108] 本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
[0109] 采集预设时间段内车辆的CAN总线报文信息,所述CAN总线报文信息包括对应CAN总线报文信息类别的标识符以及8个字节的数据域;
[0110] 根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据,所述频次阈值数据包括频次最大值、频次最小值、频次差值最大值和频次差值最小值;
[0111] 根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据,所述汉明距离阈值数据包括汉明距离最大值和汉明距离最小值;
[0112] 根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵;
[0113] 根据各标识符的频次阈值数据、汉明距离阈值数据和邻接关系矩阵,检测车载网络是否发生入侵。
[0114] 进一步地,所述根据CAN总线报文信息的采集时间顺序以及预设的时间周期,统计各标识符在各时间周期内的频次,并计算得到各标识符的频次阈值数据具体为:
[0115] 根据CAN总线报文信息的采集时间顺序,依次提取CAN总线报文信息中的标识符,得到标识符序列;
[0116] 按照预设的时间周期,分别统计所述标识符序列中各标识符在各时间周期内的频次;
[0117] 根据各标识符在各时间周期内的频次,获取各标识符的频次最大值和频次最小值;
[0118] 根据各标识符在各时间周期内的频次,分别计算各标识符在相邻的时间周期的频次差值;
[0119] 根据所述频次差值,分别获取各标识符的频次差值最大值和频次差值最小值。
[0120] 进一步地,根据各标识符的频次阈值数据检测车载网络是否发生入侵的步骤具体为:
[0121] 根据接收到的CAN总线报文信息,实时统计当前时间周期内各标识符的频次;
[0122] 根据当前时间周期内各标识符的频次与上一时间周期内各标识符的频次,分别计算各标识符的频次差值;
[0123] 若一标识符的频次大于所述一标识符的频次最大值或小于所述一标识符的频次最小值,且所述一标识符的频次差值大于所述一标识符的频次差值最大值或小于所述一标识符的频次差值最小值,则判定车载网络发生入侵。
[0124] 进一步地,所述根据CAN总线报文信息的采集时间顺序,计算相邻的且标识符相同的CAN总线报文信息的汉明距离,并获取各标识符的汉明距离阈值数据具体为:
[0125] 根据CAN总线报文信息的采集时间顺序,分别对相邻的且标识符相同的CAN总线报文信息中的数据域按位进行异或计算,并统计计算结果中1的个数,得到各标识符对应的汉明距离;
[0126] 根据各标识符对应的汉明距离,分别获取各标识符对应的汉明距离最大值和汉明距离最小值。
[0127] 进一步地,根据各标识符的汉明距离阈值数据检测车载网络是否发生入侵的步骤具体为:
[0128] 获取标识符与当前CAN总线报文信息相同的上一CAN总线报文信息;
[0129] 计算得到当前CAN总线报文信息与所述上一CAN总线报文信息的汉明距离;
[0130] 获取当前CAN总线报文信息的标识符对应的汉明距离最大值和汉明距离最小值;
[0131] 若所述汉明距离大于所述汉明距离最大值或小于所述汉明距离最小值,则判定车载网络发生入侵。
[0132] 进一步地,所述根据CAN总线报文信息的采集时间顺序,确定各标识符之间的相邻关系,并根据所述相邻关系,建立邻接关系矩阵具体为:
[0133] 建立N阶矩阵,所述N为CAN总线报文信息的类别数量;
[0134] 将所述N阶矩阵初始化为0;
[0135] 分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1;
[0136] 获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵。
[0137] 进一步地,所述分别将各标识符与N个索引号一一对应进行关联,所述N个索引号为0至N-1具体为:
[0138] 根据标识符序列中各标识符的频次,对各标识符从高到低进行排序;
[0139] 分别将各标识符与其排序后的序号进行关联,所述序号从0开始。
[0140] 进一步地,所述获取所述标识符序列中存在相邻关系的两个标识符,并根据所述两个标识符对应的索引号,将所述N阶矩阵中对应位置的元素值设为1,得到邻接关系矩阵具体为:
[0141] 获取所述标识符序列中存在相邻关系的两个标识符,并根据顺序将所述两个标识符分别标记为在先标识符和在后标识符;
[0142] 将所述N阶矩阵中行号为所述在先标识符对应的索引号,列号为所述在后标识符对应的索引号的位置的元素值设为1,得到邻接关系矩阵。
[0143] 进一步地,根据邻接关系矩阵检测车载网络是否发生入侵的步骤具体为:
[0144] 获取当前CAN总线报文信息的标识符对应的索引号,作为第一索引号;
[0145] 获取与当前CAN总线报文信息相邻的上一CAN总线报文信息的标识符对应的索引号,作为第二索引号;
[0146] 若邻接关系矩阵中行号为所述第一索引号,列号为所述第二索引号的位置的元素值为0,则判定车载网络发生入侵。
[0147] 综上所述,本发明提供的一种车载网络入侵检测方法及计算机可读存储介质,从数据的时序变化和相关性角度考虑,通过提取CAN总线消息的序列、频率和内容变化三种特殊特征信息,根据特征进行相应计算分析、统计和学习,获取有效的报文周期变换规律、同一标识符相邻报文内容的汉明距离变化规律以及邻接关系矩阵,根据规律建立车辆CAN总线网络正常行为模型,然后应用该模型对车载网络状态进行实时异常检测,当上述三种特征偏离正常行为模型时认为发生网络入侵行为。该方法在终端的检测过程简单、计算复杂度低,消耗资源较少,误报率极低,三种特征互补,能实时有效的检测各种网络入侵行为,适合实施于车载设备系统中。
[0148] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈