首页 / 专利库 / 电信 / 控制器局域网络 / 安全装置、攻击检测方法以及程序

安全装置、攻击检测方法以及程序

阅读:447发布:2021-06-29

专利汇可以提供安全装置、攻击检测方法以及程序专利检索,专利查询,专利分析的服务。并且一种安全装置、攻击检测方法以及程序,与1个或多个总线连接的作为安全装置的网关(300b)具备:接收部(410),从总线接收 帧 ;保持部(430),保持检查参数,所述检查参数规定针对帧的检查内容;更新部(420),在由接收部(410)接收到的帧所关联的预先确定的条件成立的情况下更新保持部(430)保持的检查参数;检查部(440),基于保持部(430)保持的检查参数,进行与由接收部(410)接收到的帧是否是攻击帧的判定相关的检查。,下面是安全装置、攻击检测方法以及程序专利的具体信息内容。

1.一种安全装置,是与1个或多个总线连接的安全装置,具备:
接收部,从1个所述总线接收
保持部,保持检查参数,所述检查参数规定针对帧的检查内容;
更新部,在由所述接收部接收到的帧所关联的预先确定的条件成立的情况下更新所述保持部保持的所述检查参数;
检查部,基于所述保持部保持的检查参数,进行与由所述接收部接收到的帧是否是攻击帧的判定相关的检查。
2.根据权利要求1所述的安全装置,
所述安全装置搭载于车辆,
所述车辆搭载多个电子控制单元,所述多个电子控制单元经由所述1个或多个总线遵循CAN协议即控制器局域网络协议进行帧的授受。
3.根据权利要求2所述的安全装置,
所述安全装置还具备处理部,所述处理部进行与所述检查部的检查结果相应的处理,以抑制攻击帧对1个以上的所述电子控制单元的影响。
4.根据权利要求3所述的安全装置,
所述保持部保持相互不同的、规定针对帧的检查内容的多个检查参数,
所述更新部具有针对由所述接收部接收到的帧进行多个预先确定的条件的每一个是否成立的判定的、与每个条件对应的检验功能,根据该各检验功能中的判定结果,决定并更新所述保持部保持的所述多个检查参数中应作为更新对象的检查参数。
5.根据权利要求4所述的安全装置,
所述帧是包含容纳ID的ID字段、DLC即数据长度码以及数据字段的数据帧,所述更新部具有的多个检验功能的一部分是以下功能中的1个以上的功能:
ID检验功能,针对所述ID的值进行所述判定;
DLC检验功能,针对所述DLC的值进行所述判定;
发送周期检验功能,针对发送周期进行所述判定,所述发送周期是发送所述ID为相同值的2个帧的时间间隔;
发送频度检验功能,针对发送频度进行所述判定,所述发送频度是在预定的单位时间内发送所述ID为相同值的1个以上的帧的频度;
数据检验功能,针对所述数据字段所容纳的数据的值进行所述判定,
所述保持部保持的所述多个检查参数包括以下参数中的1个以上的参数:
与所述ID的值的检查相关的ID检查参数;
与所述DLC的值的检查相关的DLC检查参数;
与所述发送周期的检查相关的发送周期检查参数;
与所述发送频度的检查相关的发送频度检查参数;
与所述数据字段所容纳的数据的值的检查相关的数据检查参数,
所述检查部基于所述保持部保持的所述多个检查参数的每一个进行所述检查。
6.根据权利要求5所述的安全装置,
在所述更新部具有的多个检验功能的1个以上的功能中,参照由所述接收部接收到的帧的所述ID字段所容纳的所述ID进行所述判定。
7.根据权利要求5所述的安全装置,
所述更新部具有的多个检验功能的1个是所述发送周期检验功能,
在所述发送周期检验功能中,在所述ID为相同值的2个帧的接收间隔脱离预定的容许范围的情况下判定为与该发送周期检验功能对应的所述条件成立,
所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下更新所述多个检查参数的某一个。
8.根据权利要求7所述的安全装置,
所述保持部保持的所述多个检查参数包含所述发送频度检查参数,
所述发送频度检查参数包含表示所述发送频度的容许范围的上限的阈值,所述检查部在与由所述接收部接收到的帧相关的所述发送频度超过所述发送频度检查参数中的所述阈值的情况下将该帧判定为攻击帧,
所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下,更新所述发送频度检查参数中的所述阈值。
9.根据权利要求7所述的安全装置,
所述保持部保持的所述多个检查参数包含所述数据检查参数,
所述数据检查参数包含表示所述数据字段所容纳的所述数据的变化的容许范围的上限的阈值,
所述检查部在与由所述接收部接收到的帧相关的所述数据字段所容纳的所述数据的变化超过了所述数据检查参数中的所述阈值的情况下将该帧判定为攻击帧,所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下,将所述数据检查参数中的所述阈值更新为更小的值。
10.根据权利要求5所述的安全装置,
所述更新部具有的多个检验功能的1个是所述发送频度检验功能,
在所述发送频度检验功能中,在所述发送频度超过预定的容许范围的上限的情况下判定为与该发送频度检验功能对应的所述条件成立,
所述保持部保持的所述多个检查参数包含所述发送周期检查参数,
所述发送周期检查参数包含表示所述发送周期的容许范围的阈值,
所述更新部在利用所述发送频度检验功能判定为所述条件成立的情况下,更新所述发送周期检查参数中的所述阈值。
11.根据权利要求5所述的安全装置,
所述更新部具有的多个检验功能的1个是所述发送频度检验功能,
在所述发送频度检验功能中,在所述发送频度超过预定的容许范围的上限的情况下判定为与该发送频度检验功能对应的所述条件成立,
所述保持部保持的所述多个检查参数的每一个是所述DLC检查参数、所述发送周期检查参数、所述数据检查参数中的某一个,
所述DLC检查参数包含表示所述DLC的值的容许范围的阈值,
所述发送周期检查参数包含表示所述发送周期的容许范围的阈值,
所述数据检查参数包含表示所述数据的值的容许范围的阈值,
关于一帧,所述更新部在利用所述发送频度检验功能判定为所述条件成立的情况下,将作为与该一帧的ID具有同一ID的帧的检查内容而使用的所述多个检查参数中的所述阈值更新为使得相应的容许范围更窄。
12.根据权利要求5~11中任一项所述的安全装置,
所述检查部在由所述接收部接收到帧的所述ID字段之后且要接收后续于所述数据字段的部分之前进行所述检查。
13.根据权利要求4~12中任一项所述的安全装置,
所述安全装置还具备控制部,
所述控制部在针对所述更新部具有的多个检验功能的每一个得到了该检验功能中的判定结果的时刻,确认所述多个检查参数的某一个是否应根据该判定结果而被更新,若应被更新,则控制所述更新部以更新相应的检查参数,并根据所述多个检查参数的每一个的更新状况,控制所述检查部以进行基于该各检查参数的检查。
14.根据权利要求3~13中任一项所述的安全装置,
所述更新部还在与由所述接收部接收到的帧关联的预先确定的所述条件成立的情况下,将该帧判定为攻击帧,
所述处理部还进行对由所述更新部判定为攻击帧的帧的处理,以抑制攻击帧对1个以上的所述电子控制单元的影响。
15.一种攻击检测方法,是在多个电子控制单元经由1个或多个总线进行帧的授受的车载网络系统中使用的攻击检测方法,包括:
接收步骤,从所述总线接收帧;
更新步骤,在通过所述接收步骤接收到的帧所关联的预先确定的条件成立的情况下,更新检查参数,所述检查参数规定针对帧的检查内容;
检查步骤,基于通过所述更新步骤更新后的检查参数,进行与通过所述接收步骤接收到的帧是否是攻击帧的判定相关的检查。
16.一种用于使安全装置执行预定处理的程序,所述安全装置与1个或多个总线连接,并包含微处理器
所述预定处理包括:
接收步骤,从1个所述总线接收帧;
更新步骤,在通过所述接收步骤接收到的帧所关联的预先确定的条件成立的情况下,更新检查参数,所述检查参数规定针对帧的检查内容;
检查步骤,基于通过所述更新步骤更新后的检查参数,进行与通过所述接收步骤接收到的帧是否是攻击帧的判定相关的检查。

说明书全文

安全装置、攻击检测方法以及程序

技术领域

[0001] 本公开涉及对在搭载于车辆等的电子控制单元进行通信的网络中所发送的作为不正常的攻击帧进行检测的技术。

背景技术

[0002] 近年来,在汽车之中的系统中配置有许多被称为电子控制单元(ECU:Electronic Control Unit)的装置。连接这些ECU的网络被称为车载网络。车载网络中存在许多标准。其中最主流的车载网络之一存在由ISO11898-1规定的CAN(Controller Area Network:控制器局域网络)这一标准。
[0003] 在CAN中,通信路是由两条线(wire)构成的总线(bus),与总线连接的ECU被称为节点。与总线连接的各节点收发被称为帧的消息。另外在CAN中,不存在指定发送目的地和/或发送源的标识符,发送节点按每帧附加被称为消息ID的ID并进行发送(也就是说向总线送出信号),各接收节点仅接收预先确定的消息ID(也就是说从总线读取信号)。
[0004] 在汽车之中的系统中,许多ECU各自分别进行各种各样的帧的授受。在此,在具有与外部通信的功能的ECU从外部遭到攻击,变得能够对CAN的总线发送不正常的消息(攻击帧)的情况下,该ECU例如能够进行伪装成其他ECU来发送帧等的攻击,由此对汽车进行非法控制。作为检测这样的攻击来进行防御的技术,已知有通过对数据的接收间隔和预定周期进行比较来进行攻击(不正常的检测)的技术(参照专利文献1)。
[0005] 现有技术文献
[0006] 专利文献1:国际公开第2014/115455号发明内容
[0007] 发明要解决的问题
[0008] 然而,在专利文献1的技术中,由于能够检测的攻击限定于数据发送周期不同于预定周期这样的攻击,所以对多样的攻击的检测不一定有效。
[0009] 因此,本公开提供一种能够适应于可多样变化的攻击并检测攻击帧的安全装置。另外,本公开提供一种能够适应于可多样变化的攻击并检测攻击帧的攻击检测方法、以及用于使安全装置进行与攻击帧的检测相关的处理的程序。
[0010] 用于解决问题的技术方案
[0011] 本公开的一技术方案的安全装置,是与1个或多个总线连接的安全装置,具备:接收部,从1个所述总线接收帧;保持部,保持检查参数,所述检查参数规定针对帧的检查内容;更新部,在由所述接收部接收到的帧所关联的预先确定的条件成立的情况下更新所述保持部保持的所述检查参数;检查部,基于所述保持部保持的检查参数,进行与由所述接收部接收到的帧是否是攻击帧的判定相关的检查。
[0012] 此外,这些总括性或具体的技术方案既可以由装置、系统、集成电路计算机程序或计算机可读取的CD-ROM等记录介质来实现,也可以由装置、系统、方法、计算机程序和记录介质的任意的组合来实现。
[0013] 发明的效果
[0014] 根据本公开,能够根据接收到的帧来更新在是否是攻击帧的检查中使用的检查参数,因此,对于可多样变化的攻击能够适当地检测攻击帧。
[0015] 此外,根据本说明书附图的公开内容可以清楚本公开的进一步的效果和优点。也可以由本说明书及附图所公开的各种实施方式及特征个别地提供上述进一步的效果及优点,不一定必须提供所有的效果及优点。

附图说明

[0016] 图1是表示实施方式1的车载网络系统的整体结构的图。
[0017] 图2是表示由CAN协议规定的数据帧的格式的图。
[0018] 图3是实施方式1的网关的结构图。
[0019] 图4是表示接收ID列表的一例的图。
[0020] 图5是表示网关使用的传送规则的一例的图。
[0021] 图6是实施方式1的不正常检测处理功能组的结构图。
[0022] 图7是表示不正常检测处理功能组的检验部以及检验参数保持部的结构的一例的图。
[0023] 图8是表示不正常检测处理功能组的检查部(过滤部)以及检查参数保持部的结构的一例的图。
[0024] 图9是实施方式1的ECU的结构图。
[0025] 图10是表示由不正常检测处理功能组进行的攻击检测处理的一例的流程图
[0026] 图11是表示网关的工作(传送处理)的一例的流程图。
[0027] 图12是实施方式1的变形例的网关的结构图。
[0028] 图13是表示实施方式1的网关的攻击检测的结构的框图
[0029] 图14是表示攻击检测处理的变形例1的流程图。
[0030] 图15是表示不正常检测处理功能组的变形例1的结构图。
[0031] 图16是表示不正常检测处理功能组的变形例2的结构图。
[0032] 图17是表示攻击检测处理的变形例2的流程图。
[0033] 图18是表示不正常检测处理功能组的变形例3的结构图。
[0034] 图19是表示不正常检测处理功能组的变形例4的结构图。
[0035] 图20是表示不正常检测处理功能组的变形例5的结构图。
[0036] 图21是表示ECU的变形例1的结构图。
[0037] 图22是表示ECU的变形例2的结构图。
[0038] 图23是表示ECU的变形例3的结构图。
[0039] 标号说明
[0040] 10 车载网络系统
[0041] 100a~100g 电子控制单元(ECU)
[0042] 101 发动机
[0043] 102 制动
[0044] 103 开闭传感器
[0045] 104 窗(window)开闭传感器
[0046] 110 帧收发部
[0047] 120 帧解释部
[0048] 130 接收ID判断部
[0049] 140 接收ID列表保持部
[0050] 150 帧处理部
[0051] 170 数据取得部
[0052] 171 发送数据取得部
[0053] 180 帧生成部
[0054] 200a,200b 总线
[0055] 300,300a,300b 网关
[0056] 310 帧收发部
[0057] 320 帧解释部
[0058] 330 接收ID判断部
[0059] 340 接收ID列表保持部
[0060] 350 帧处理部
[0061] 360 传送规则保持部
[0062] 370,370a~370e 不正常检测处理功能组
[0063] 371 输入部
[0064] 372 检验部
[0065] 372a ID关联不正常检测处理部
[0066] 372b 周期异常检测
[0067] 372c 第一过滤部
[0068] 372d ID字段关联过滤部
[0069] 373 检验参数保持部
[0070] 373A 检测参数保持部
[0071] 373b 周期信息保持部
[0072] 374,420 更新部
[0073] 375 检查参数保持部
[0074] 375a~375d 过滤器参数保持部
[0075] 376 检查部(过滤部)
[0076] 376a,376b,376d 过滤部
[0077] 376c 第二过滤部
[0078] 377 过滤器控制部
[0079] 380 帧生成部
[0080] 410 接收部
[0081] 430 保持部
[0082] 440 检查部
[0083] 450 处理部

具体实施方式

[0084] 本公开的一技术方案的安全装置,是与1个或多个总线连接的安全装置,具备:接收部,从1个所述总线接收帧;保持部,保持检查参数,所述检查参数规定针对帧的检查内容;更新部,在由所述接收部接收到的帧所关联的预先确定的条件成立的情况下更新所述保持部保持的所述检查参数;检查部,基于所述保持部保持的检查参数,进行与由所述接收部接收到的帧是否是攻击帧的判定相关的检查。由此,由于能够根据接收到的帧来更新在是否是攻击帧的检查中使用的检查参数,所以能够通过检查部针对可多样变化的攻击适当地检测攻击帧。
[0085] 另外,例如,也可以是,所述安全装置搭载于车辆,所述车辆搭载多个电子控制单元,所述多个电子控制单元经由所述1个或多个总线遵循CAN协议即控制器局域网络协议进行帧的授受。由此,使得能够在用于在电子控制单元(ECU)间进行帧的授受的遵循CAN的车载网络中发送了攻击帧的情况下适当检测该攻击帧。
[0086] 另外,例如,也可以是,所述安全装置还具备处理部,所述处理部进行与所述检查部的检查结果相应的处理,以抑制攻击帧对1个以上的所述电子控制单元的影响。由此,能够进行对攻击帧的防御(抑制攻击帧对ECU的影响)。
[0087] 另外,例如,也可以是,所述保持部保持相互不同的、规定针对帧的检查内容的多个检查参数,所述更新部具有针对由所述接收部接收到的帧进行多个预先确定的条件的每一个是否成立的判定的、与每个条件对应的检验功能,根据该各检验功能中的判定结果,决定并更新所述保持部保持的所述多个检查参数中应作为更新对象的检查参数。由此,用于判定接收到的帧是否是攻击帧的各种检查参数能够根据各个条件的检验结果动态地被更新,因此,能够进行攻击帧的适当的检测。
[0088] 另外,例如,也可以是,所述帧是包含容纳ID的ID字段、DLC即数据长度码以及数据字段的数据帧,所述更新部具有的多个检验功能的一部分是以下功能中的1个以上的功能:ID检验功能,针对所述ID的值进行所述判定;DLC检验功能,针对所述DLC的值进行所述判定;发送周期检验功能,针对发送周期进行所述判定,所述发送周期是发送所述ID为相同值的2个帧的时间间隔;发送频度检验功能,针对发送频度进行所述判定,所述发送频度是在预定的单位时间内发送所述ID为相同值的1个以上的帧的频度;数据检验功能,针对所述数据字段所容纳的数据的值进行所述判定,所述保持部保持的所述多个检查参数包括以下参数中的1个以上的参数:与所述ID的值的检查相关的ID检查参数;与所述DLC的值的检查相关的DLC检查参数;与所述发送周期的检查相关的发送周期检查参数;与所述发送频度的检查相关的发送频度检查参数;与所述数据字段所容纳的数据的值的检查相关的数据检查参数,所述检查部基于所述保持部保持的所述多个检查参数的每一个进行所述检查。由此,能够基于帧的各字段的内容或帧的发送周期、频度等进行用于检测攻击帧的各个检查,能够基于帧的各字段的内容或帧的发送周期、频度等进行在该各个检查中使用的阈值等的检查参数的更新。
[0089] 另外,例如,也可以是,在所述更新部具有的多个检验功能的1个以上的功能中,参照由所述接收部接收到的帧的所述ID字段所容纳的所述ID进行所述判定。由此,能够根据基于ID(消息ID)的判定结果进行检查参数的更新。
[0090] 另外,例如,也可以是,所述更新部具有的多个检验功能的1个是所述发送周期检验功能,在所述发送周期检验功能中,在所述ID为相同值的2个帧的接收间隔脱离预定的容许范围的情况下判定为与该发送周期检验功能对应的所述条件成立,所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下更新所述多个检查参数的某一个。由此,由于能够根据基于帧的发送周期的判定结果进行检查参数的更新,所以例如在发送了以扰乱发送周期的方式起作用的攻击帧等情况下,通过基于发送周期异常这一情况将检查参数更新为对攻击帧的检测有用,存在能够适当地检测攻击帧的可能性。
[0091] 另外,例如,也可以是,所述保持部保持的所述多个检查参数包含所述发送频度检查参数,所述发送频度检查参数包含表示所述发送频度的容许范围的上限的阈值,所述检查部在与由所述接收部接收到的帧相关的所述发送频度超过所述发送频度检查参数中的所述阈值的情况下将该帧判定为攻击帧,所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下,更新所述发送频度检查参数中的所述阈值。由此,由于根据基于帧的发送周期的判定结果进行与发送频度相关的发送频度检查参数的更新,所以例如在发送了以扰乱发送周期的方式起作用的攻击帧等情况下,通过基于发送周期异常这一情况将发送频度检查参数更新为对攻击帧的检测有用(例如降低发送频度检查参数表示的上限值等),存在能够适当地检测攻击帧的可能性。
[0092] 另外,例如,也可以是,所述保持部保持的所述多个检查参数包含所述数据检查参数,所述数据检查参数包含表示所述数据字段所容纳的所述数据的变化的容许范围的上限的阈值,所述检查部在与由所述接收部接收到的帧相关的所述数据字段所容纳的所述数据的变化超过了所述数据检查参数中的所述阈值的情况下将该帧判定为攻击帧,所述更新部在利用所述发送周期检验功能判定为所述条件成立的情况下,将所述数据检查参数中的所述阈值更新为更小的值。由此,由于根据基于帧的发送周期的判定结果进行与数据的变化的容许范围的上限相关的数据检查参数的更新,所以例如通过基于检测出发送周期的异常这一情况将数据检查参数中的数据的变化的容许范围的上限变更为小,存在能够适当检测攻击帧的可能性。
[0093] 另外,例如,也可以是,所述更新部具有的多个检验功能的1个是所述发送频度检验功能,在所述发送频度检验功能中,在所述发送频度超过预定的容许范围的上限的情况下判定为与该发送频度检验功能对应的所述条件成立,所述保持部保持的所述多个检查参数包含所述发送周期检查参数,所述发送周期检查参数包含表示所述发送周期的容许范围的阈值,所述更新部在利用所述发送频度检验功能判定为所述条件成立的情况下,更新所述发送周期检查参数中的所述阈值。由此,由于根据基于帧的发送频度的判定结果进行与发送周期的容许范围相关的发送周期检查参数的更新,所以例如通过基于检测出发送频度的异常这一情况将发送周期检查参数中的发送周期的容许范围变更为窄,存在能够适当检测攻击帧的可能性。
[0094] 另外,例如,也可以是,所述更新部具有的多个检验功能的1个是所述发送频度检验功能,在所述发送频度检验功能中,在所述发送频度超过预定的容许范围的上限的情况下判定为与该发送频度检验功能对应的所述条件成立,所述保持部保持的所述多个检查参数的每一个是所述DLC检查参数、所述发送周期检查参数、所述数据检查参数中的某一个,所述DLC检查参数包含表示所述DLC的值的容许范围的阈值,所述发送周期检查参数包含表示所述发送周期的容许范围的阈值,所述数据检查参数包含表示所述数据的值的容许范围的阈值,关于一帧,所述更新部在利用所述发送频度检验功能判定为所述条件成立的情况下,将作为与该一帧的ID具有同一ID的帧的检查内容而使用的所述多个检查参数中的所述阈值更新为使得相应的容许范围更窄。表示DLC的值的容许范围的阈值例如是表示DLC的值的上限及下限的阈值,表示发送周期的容许范围的阈值例如是表示容许范围的上限及下限的阈值,表示数据的值的容许范围的阈值例如是表示数据的值的上限及下限的阈值。由此,基于检测出帧的发送频度的异常这一情况,将在各种检查参数中表示作为正常帧的容许范围的阈值更新为使得容许范围变窄。因此,能够根据发送了攻击帧的可能性(在发送频度中的检验结果)有效进行是否是攻击帧的检查。
[0095] 另外,例如,也可以是,所述检查部在由所述接收部接收到帧的所述ID字段之后且要接收后续于所述数据字段部分之前进行所述检查。由此,在能够进行基于消息ID的判定的时刻、且能够通过错误帧的发送进行对攻击帧的防御(无化)的时刻能够进行检查。因此,能够进行对攻击的适当的防御。
[0096] 另外,例如,也可以是,所述安全装置还具备控制部,所述控制部在针对所述更新部具有的多个检验功能的每一个得到了在该检验功能中的判定结果的时刻,确认所述多个检查参数的某一个是否应根据该判定结果而被更新,若应被更新,则控制所述更新部以更新相应的检查参数,并根据所述多个检查参数的每一个的更新状况,控制所述检查部以进行基于该各检查参数的检查。由此,能够使得在适当的时刻进行与接收到的帧是否是攻击帧相关的检查。因此,能够在适当的时刻进行对攻击帧的防御。
[0097] 另外,例如,也可以是,所述更新部还在与由所述接收部接收到的帧关联的预先确定的所述条件成立的情况下,将该帧判定为攻击帧,所述处理部还进行对由所述更新部判定为攻击帧的帧的处理,以抑制攻击帧对1个以上的所述电子控制单元的影响。由此,在担负检查参数的更新用的条件判定(检验功能)的更新部中,能够进行是否是攻击帧的判定。因此,在由更新部判定为是攻击帧的情况下变得无需进行在检查部中的检查,能够进行攻击帧的迅速的判定。
[0098] 另外,也可以是,本公开的一技术方案的攻击检测方法,是在多个电子控制单元经由1个或多个总线进行帧的授受的车载网络系统中使用的攻击检测方法,包括:接收步骤,从所述总线接收帧;更新步骤,在通过所述接收步骤接收到的帧所关联的预先确定的条件成立的情况下,更新检查参数,所述检查参数规定针对帧的检查内容;检查步骤,基于通过所述更新步骤更新后的检查参数,进行与通过所述接收步骤接收到的帧是否是攻击帧的判定相关的检查。由此,由于能够根据接收到的帧来更新在是否是攻击帧的检查中使用的检查参数,所以能够通过检查步骤对可多样变化的攻击适当检测攻击帧。
[0099] 另外,也可以是,本公开的一技术方案的程序,是一种用于使安全装置执行预定处理的程序,所述安全装置与1个或多个总线连接,并包含微处理器,所述预定处理包括:接收步骤,从1个所述总线接收帧;更新步骤,在通过所述接收步骤接收到的帧所关联的预先确定的条件成立的情况下,更新检查参数,所述检查参数规定针对帧的检查内容;检查步骤,基于通过所述更新步骤更新后的检查参数,进行与通过所述接收步骤接收到的帧是否是攻击帧的判定相关的检查。通过将该程序在具有处理器的装置上安装并执行,该装置能够作为安全装置发挥功能。该安全装置能够对可多样变化的攻击适当检测攻击帧。
[0100] 此外,这些总括性或具体的技术方案既可以由系统、方法、集成电路、计算机程序或计算机可读取的CD-ROM等记录介质实现,也可以由系统、方法、集成电路、计算机程序或记录介质的任意组合来实现。
[0101] 以下,针对实施方式的包含安全装置的车载网络系统,参照附图并进行说明。在此示出的实施方式均表示本公开的一个具体例。因此,在以下的实施方式中示出的数值、结构要素、结构要素的配置以及连接方式、以及步骤(工序)以及步骤的顺序等是一例且并不限定本公开。就以下的实施方式中的结构要素中、独立权利要求所没有记载的结构要素而言,是能够进行任意附加的结构要素。另外,各图是示意图,并不是进行了严格图示的图。
[0102] (实施方式1)
[0103] 以下,针对在多个电子控制单元(ECU)经由总线进行通信的车载网络系统中所使用的攻击检测方法,以及车载网络系统所具备的安全装置进行说明。
[0104] 攻击检测方法,是用于在利用总线发送作为不正常帧的攻击帧时进行检测的方法,所述总线是在搭载于车辆的各ECU之间的通信中使用的总线。车载网络系统中的安全装置(车载安全装置)是至少具有与攻击检测方法关联的攻击检测功能(对攻击帧进行检测的功能)的装置。安全装置能够具有抑制攻击帧对各ECU的影响的防御功能,而攻击检测功能是成为该防御的前提的功能。此外,在安全装置将攻击检测结果传输给其他装置的情况下使得其他装置能够执行防御功能。
[0105] [1.1车载网络系统10的整体结构]
[0106] 图1是表示实施方式1的车载网络系统10的整体结构的图。
[0107] 车载网络系统10是遵循CAN协议进行通信的网络通信系统的一例,是搭载了控制装置、传感器、致动器、用户接口装置等各种设备的车辆中的网络通信系统。车载网络系统10具备经由总线进行与帧相关的通信的多个装置,并使用攻击检测方法。具体而言如图1所示,车载网络系统10包含搭载于车辆并与各种设备连接的ECU100a~100d、总线200a、200b以及网关300而构成。此外,在车载网络系统10中除了网关300、ECU100a~100d以外还可以包含很多ECU,但是,在此,为了便于说明,关注网关300和ECU100a~100d来进行说明。ECU例如是包含处理器(微处理器)、存储器等的数字电路、模拟电路、通信电路等的装置。存储器是ROM、RAM等,并且能够存储由处理器执行的控制程序(作为软件的计算机程序)。例如通过处理器按照控制程序(计算机程序)进行工作,ECU实现各种功能。此外,计算机程序是为了实现预定的功能而将表示对处理器的指令的多个命令码进行组合而构成的程序。
[0108] ECU100a~100d分别与发动机101、制动器102、门开闭传感器103、窗(window)开闭传感器104这样的设备连接,取得该设备的状态,周期性地将表示状态的帧(数据帧)发送给由总线200a、总线200b等构成的车载网络。
[0109] 网关300是与总线200a以及总线200b连接的作为网关装置的一种ECU,总线200a将ECU100a和ECU100b连接,总线200b将ECU100c和ECU100d连接。网关300具有将从一方总线接收到的帧传送给另一方总线的传送功能。另外,网关300具有攻击检测功能,并作为安全装置发挥作用。
[0110] 车载网络系统10中的各ECU进行遵循CAN协议帧的授受。CAN协议中的帧中有数据帧、远程帧、超载帧以及错误帧。
[0111] [1.2数据帧格式]
[0112] 以下,针对作为在遵循CAN协议的网络中使用的帧之一的数据帧进行说明。
[0113] 图2是表示由CAN协议规定的数据帧的格式的图。在该图中,示出了由CAN协议规定的标准ID格式的数据帧。数据帧包含SOF(Start Of Frame:帧起始)、ID字段、RTR(Remote Transmission Request:远程发送请求)、IDE(Identifier Extension:标识符扩展)、预约位“r”、DLC(Data Length Code:数据长度码)、数据字段、CRC(Cyclic Redundancy Check:循环冗余校验)序列、CRC分隔符“DEL”、ACK(Acknowledgement:应答)间隙(slot)、ACK分隔符“DEL”以及EOF(End Of Frame:帧结尾)这些各字段构成。
[0114] SOF由1个显性位(bit)构成。在总线为空闲的状态下成为隐性,且通过SOF向显性变更由此来通知帧的发送开始。
[0115] ID字段是由11位(bit)构成的容纳ID(消息ID)的字段,所述ID是表示数据的种类的值。在多个节点同时开始发送的情况下,为了用该ID字段进行通信仲裁而设计为:ID为小值的帧具有高的优先度。
[0116] RTR是用于识别数据帧和远程帧的值,在数据帧中由1个显性位构成。
[0117] IDE和“r”双方由1个显性位构成。
[0118] DLC由4位(bit)构成,并且是表示数据字段的长度的值。此外,将IDE、“r”以及DLC一起称为控制字段。
[0119] 数据字段是由最大64位(bit)构成的、表示发送数据的内容的值。能够按8位调整长度。所发送的数据的规格不在CAN协议中规定,而在车载网络系统10中确定。因此,成为依存于车型、制造者(制造厂家)等的规格。
[0120] CRC序列由15位(bit)构成。根据SOF、ID字段、控制字段以及数据字段的发送值而算出。
[0121] CRC分隔符是由1个隐性位构成的表示CRC序列的结束的分隔记号。此外,将CRC序列和CRC分隔符一起称为CRC字段。
[0122] ACK间隙由1位(bit)构成。发送节点将ACK间隙设为隐性并进行发送。如果到CRC序列为止能够正常接收,则接收节点将ACK间隙设为显性并发送。由于显性比隐性优先,所以如果在发送后ACK间隙为显性,则发送节点能够确认某一个接收节点接收成功。
[0123] ACK分隔符是由1个隐性位构成的表示ACK的结束的分隔记号。
[0124] EOF由7个隐性位构成,表示数据帧的结束。
[0125] [1.3网关300的结构]
[0126] 图3是网关300的结构图。网关300执行在总线间的帧传送的功能(传送功能),也作为具有攻击检测功能的安全装置发挥功能。因此,网关300如图3所示,包含帧收发部310、帧解释部320、接收ID判断部330、接收ID列表保持部340、帧处理部350、传送规则保持部360、不正常检测处理功能组370、帧生成部380而构成。这些各结构要素通过网关300中的通信电路、执行存储器所保存的控制程序的处理器或数字电路等而实现。
[0127] 帧收发部310相对于总线200a及总线200b的每一个,收发遵循CAN协议的帧。从总线200a或总线200b逐位接收帧,并向帧解释部320传送。另外,帧收发部310基于由帧生成部380接收到通知的表示传送目的地的总线的总线信息及帧,将该帧的内容逐位发送给总线
200a或总线200b。
[0128] 帧解释部320从帧收发部310接收帧的值,进行解释以使得该帧的值映射到由CAN协议规定的帧格式的各字段中。帧解释部320将判断为ID字段的值向接收ID判断部330传送。帧解释部320根据从接收ID判断部330通知的判定结果,决定将ID字段的值和在ID字段以后出现的数据字段(数据)向帧处理部350传送还是中止帧的接收。另外,帧解释部320在判断为是没有遵照CAN协议的帧的情况下,向帧生成部380通知,以发送错误帧(即通知帧生成部380发送错误帧)。另外,帧解释部320在接收到错误帧的情况下,针对接收中的帧,自此之后废弃该帧,也就是说中止帧的解释。
[0129] 接收ID判断部330接收从帧解释部320通知的ID字段的值,按照接收ID列表保持部340保持的消息ID的列表,进行是否接收该ID字段以后的帧的各字段的判定。接收ID判断部
330将该判定结果向帧解释部320通知。
[0130] 接收ID列表保持部340保持接收ID列表,该接收ID列表是网关300接收的ID(消息ID)的列表。就接收ID列表的例子而言将在后面叙述(图4)。
[0131] 帧处理部350按照传送规则保持部360保持的传送规则,根据接收到的帧的ID来决定要传送的总线,并将要传送的总线的总线信息、从帧解释部320通知的消息ID、以及数据向帧生成部380通知以进行帧的传送。另外,帧处理部350通过将从帧解释部320通知的帧(消息)向不正常检测处理功能组370通知,请求不正常检测处理功能组370进行攻击检测(也就是说是否是攻击帧的判定)。帧处理部350针对由不正常检测处理功能组370判定为是攻击帧的帧,制止用于帧的传送的处理。也就是说,作为对攻击帧进行的防御的一个方法,帧处理部350进行用于制止传送的过滤,针对攻击帧以外的帧按照传送规则进行传送。
[0132] 传送规则保持部360保持传送规则,所述传送规则是表示针对每个总线的帧的传送的规则的信息。针对传送规则的例子将在后面叙述(图5)。
[0133] 不正常检测处理功能组370是用于实现攻击检测功能的功能组,所述攻击检测功能判定接收中的帧是否是作为不正常的帧的攻击帧。针对不正常检测处理功能组370的结构要素将在后面叙述。
[0134] 帧生成部380按照从帧解释部320通知的发送错误帧的要求,将错误帧向帧收发部310通知并发送。另外,帧生成部380利用从帧处理部350通知的消息ID和数据构成帧,并将该帧与总线信息一起向帧收发部310通知。
[0135] [1.4接收ID列表例]
[0136] 图4是表示网关300的接收ID列表保持部340所保持的接收ID列表的一例的图。
[0137] 图4中例示的接收ID列表用于对包含ID(消息ID)的值是“1”、“2”、“3”及“4”中的某一个的消息ID的帧进行选择性接收并处理。这只不过是一例,但是在接收ID列表中列举有被确定为网关300接收的帧的消息ID。
[0138] [1.5传送规则例]
[0139] 图5表示网关300的传送规则保持部360保持的传送规则的一例。
[0140] 该传送规则将传送源的总线、传送目的地的总线以及传送对象的ID(消息ID)进行关联。图5中的“*”表示与消息ID无关地进行帧的传送。图5的例子示出了从总线200a接收的帧被设定为与消息ID无关而向总线200b传送。另外,示出了从总线200b接收的帧中仅消息ID为“3”的帧被设定为向总线200a传送。
[0141] [1.6不正常检测处理功能组370的结构]
[0142] 图6是不正常检测处理功能组370的结构图。不正常检测处理功能组370包含输入部371、检验部372、检验参数保持部373、更新部374、检查参数保持部375、以及检查部(过滤部)376而构成。
[0143] 输入部371从帧处理部350接收攻击检测的请求,向检验部372及检查部(过滤部)376的每一个传输从帧处理部350通知来的帧(也就是说网关300从总线接收到的帧)的各字段的值,从而发出帧的检验、检查(例如用于在过滤中使用的检查等)的指示。
[0144] 检验部372具有如下功能:基于从输入部371传输来的帧的内容,针对该帧(网关300从总线接收到的帧)进行预先确定的条件是否成立的判定(例如是否是不正常帧的判定)。检验部372从检验参数保持部373取得在该判定中利用的阈值等参数(称为检验参数)。
[0145] 检验参数保持部373例如由存储器等的存储介质的一个区域实现,保持检验部372使用的检验参数(阈值等)。
[0146] 在图7中示出检验部372及检验参数保持部373的结构的一例。在图7的例子中,检验部372具有:ID检验功能部,担负针对帧的ID字段的ID的值判定预先确定的条件是否成立的功能(ID检验功能);DLC检验功能部,担负针对帧的DLC的值(数据长)判定预先确定的条件是否成立的功能(DLC检验功能);发送周期检验功能部,担负针对发送ID为相同值的2个帧的时间间隔即发送周期判定预先确定的条件是否成立的功能(发送周期检验功能);发送频度检验功能部,担负针对在预定的单位时间内发送ID为相同值的1个以上的帧的频度即发送频度判定预先确定的条件是否成立的功能(发送频度检验功能)。图7的检验部372内的各检验功能部取得与检验参数保持部373保持的各检验功能对应的规则(以检验参数确定的条件),按照该规则进行检验处理。检验参数包含与ID检验功能对应的ID检验参数、与DLC检验功能对应的DLC检验参数、与发送周期检验功能对应的发送周期检验参数、以及与发送频度检验功能对应的发送频度检验参数而构成。另外,图7的检验部372个别地输出各个检验功能部的检验结果(例如预先确定的条件是否成立的判定结果),另外,由判定部对综合判定各个检验功能部的检验结果而得到的结果进行输出。例如,判定部输出使用了各检验功能部的检验结果(例如表示条件成立或不成立的判定结果)的逻辑运算(利用逻辑与、逻辑或等的1个或组合进行的运算)的结果。
[0147] 针对检验部372的ID检验功能,作为一例,作为检验参数保持部373的ID检验参数,包含1个以上的消息ID的值,若从输入部371传输给检验部372的ID字段内的消息ID与ID检验参数所包含的任一个消息ID相同,则检验部372的ID检验功能部判定为预先确定的条件成立。另外,相反地,例如,在从输入部371传输的ID字段内的消息ID与ID检验参数所包含的哪一个消息ID都不相同的情况下,检验部372判定为预先确定的条件不成立。作为由检验部372的ID检验功能部等判定为条件成立的结果,例如,更新部374对检查参数保持部375所保持的多个检查参数的某一个进行更新。
[0148] 针对检验部372的DLC检验功能,作为一例,作为检验参数保持部373的DLC检验参数,包含1个DLC的值,在从输入部371传输给检验部372的DLC的值与DLC检验参数所包含的DLC的值不一致的情况下,检验部372的DLC检验功能部判定为预先确定的条件成立。另外,相反地,例如,在从输入部371传输的DLC的值与DLC检验参数所包含的DLC的值一致的情况下,检验部372判定为预先确定的条件不成立。作为由检验部372的DLC检验功能部等判定为条件成立的结果,例如,更新部374对检查参数保持部375所保持的多个检查参数的某一个进行更新。
[0149] 针对检验部372的发送周期检验功能,作为一例,作为检验参数保持部373的发送周期检验参数,包含一定的时间间隔(周期)的范围(例如从90msec到110mesc),在从输入部371传输给检验部372的帧、和与该帧的消息ID具有同一消息ID的前1个接收到的帧之间的接收时间间隔成为发送周期检验参数所包含的周期的范围外的情况下,检验部372的发送周期检验功能部判定为预先确定的条件成立。作为由检验部372的发送周期检验功能部等判定为条件成立的结果,例如,更新部374对检查参数保持部375所保持的多个检查参数的某一个进行更新。
[0150] 针对检验部372的发送频度检验功能,作为一例,作为检验参数保持部373的发送频度检验参数,包含一定频度的上限值(阈值),针对从输入部371传输给检验部372的帧,在发送该帧的频度(接收到该帧的频度)超过了发送频度检验参数所包含的作为频度的上限值的例如每单位期间(例如1秒)的回数(例如100回)的情况下,检验部372的发送频度检验功能部判定为预先确定的条件成立。此外,发送频度检验参数也可以是频度的下限值,检验部372也可以在单位期间仅接收到比该下限值少的回数的帧的情况下判定为条件成立。此外,发送频度检验参数也可以表示频度的范围(上限值和下限值)。作为由检验部372的发送频度检验功能部等判定为条件成立的结果,例如,更新部374对检查参数保持部375所保持的多个检查参数的某一个进行更新。另外,检验部372也可以按每单位期间输出发送频度检验功能的判定结果,与该输出对应地,更新部374能够更新检查参数。
[0151] 另外,检验部372例如还可以包含数据检验功能部,担负针对帧的数据字段的数据的值判定预先确定的条件是否成立的功能(数据检验功能)。数据检验功能例如能够包含对数据的值是否是由检验参数指定的值进行检验的数据固定值检验功能。另外,数据检验功能例如能够包含对数据的值是否是由检验参数指定的范围内的值进行检验的数据范围检验功能。另外,数据检验功能能够包含例如对数据的值是否是由检验参数指定的值以上或以下进行检验的数据下限检验功能或数据上限检验功能。另外,数据检验功能例如能够包含对数据的值与由检验参数指定的预定运算的结果进行比较是否一致等进行检验的数据运算结果检验功能。此外,作为数据检验功能的检验对象的数据既可以是整个数据字段,也可以仅为数据字段的一部分的1个或多个位(连续的多个位或不连续的多个位)。
[0152] 另外,上述的各检验功能既可以与消息ID无关而适用,也可以仅针对具有特定的消息ID的帧而适用。此外,上述的检验部372的检验功能是一例,并不限定于此,可以是除此以外的检验功能,也可以仅利用上述的多个检验功能的一部分。
[0153] 更新部374接受来自检验部372的判定结果,根据该判定结果,例如决定检查参数保持部375内的多个检查参数中应作为更新对象的检查参数(阈值等),并更新该决定的检查参数。更新部374要进行更新的检查参数、检查参数的更新的程度等基于预先确定的基准、算法等而决定。该基准、算法等例如在网关300制造时等被确定。
[0154] 检查参数保持部375例如由存储器等的存储介质的一个区域实现,保持检查部376使用的检查参数(阈值等)。
[0155] 检查部376基于检查参数保持部375保持的检查参数,进行与从输入部371传输的帧(从总线接收到的帧)是否是攻击帧的判定相关的检查。由检查部376实现的、与是否是攻击帧的判定相关的检查成为帧的过滤等的防御功能的前提,检查部376例如能够作为进行用于过滤的检查的过滤部发挥功能。检查部376从检查参数保持部375取得规定为了判定帧是否是攻击帧而使用的阈值等的检查参数。该检查参数如上所述由更新部374根据需要而更新。
[0156] 在图8中示出检查部376及检查参数保持部375的结构的一例。在图8的例子中,检查部376具有:ID检查功能部,担负针对帧的ID字段的ID的值判定由检查参数确定的条件是否成立的功能(ID检查功能);DLC检查功能部,担负针对帧的DLC的值(数据长)判定由检查参数确定的条件是否成立的功能(DLC检查功能);发送周期检查功能部,担负针对发送周期判定由检查参数确定的条件是否成立的功能(发送周期检查功能),所述发送周期是发送ID为相同值的2个帧的时间间隔;发送频度检查功能部,担负针对发送频度判定由检查参数确定的条件是否成立的功能(发送频度检查功能),发送频度是ID为相同值的1个以上的帧在预定的单位时间内被发送的频度。图8的检查部376内的各检查功能部取得与检查参数保持部375保持的各检查功能对应的规则(由检查参数确定的条件),按照该规则进行检查处理。检查参数包含与ID检查功能对应的ID检查参数、与DLC检查功能对应的DLC检查参数、与发送周期检查功能对应的发送周期检查参数、以及与发送频度检查功能对应的发送频度检查参数而构成。另外,图8的检查部376输出由判定部对各个检查功能部的检查结果进行综合判定而得到的结果(表示是否是攻击帧的信息)。
[0157] 针对检查部376的ID检查功能,作为一例,包含1个以上的消息ID的值来作为检查参数保持部375的ID检查参数,若从输入部371传输给检查部376的ID字段内的消息ID与ID检查参数所包含的任一个消息ID相同,则检查部376的ID检查功能部判定为是攻击帧。另外,相反地,例如在从输入部371传输的ID字段内的消息ID与ID检查参数所包含的哪一个消息ID都不一样的情况下,检查部376判定为并非攻击帧。例如,作为由检查部376的ID检查功能部等任一个检查功能部判定为是攻击帧的结果,检查部376输出表示是攻击帧的信息。
[0158] 针对检查部376的DLC检查功能,作为一例,包含1个DLC的值来作为检查参数保持部375的DLC检查参数,在从输入部371传输给检查部76的DLC的值与DLC检查参数所包含的DLC的值不一致的情况下,检查部376的DLC检查功能部判定为是攻击帧。另外,相反地,例如在从输入部371传输的DLC的值与DLC检查参数所包含的DLC的值一致的情况下,检查部376判定为并非攻击帧。此外,检查部376例如可以在从输入部371传输的DLC的值比DLC检查参数所包含的DLC的值大的情况下判定为是攻击帧,也可以在比DLC检查参数所包含的DLC的值小的情况下判定为是攻击帧,针对如何进行判定例如可以在检查参数进行规定。
[0159] 针对检查部376的发送周期检查功能,作为一例,作为检查参数保持部375的发送周期检查参数,包含一定时间间隔(周期)的范围(例如从90msec到110msec),在从输入部371传输给检查部376的帧、和与该帧的消息ID具有同一消息ID的前1个接收到的帧之间的接收时间间隔成为发送周期检查参数所包含的周期的范围外的情况下,检查部376的发送周期检查功能部判定为该帧是攻击帧。此外,检查部376例如可以在具有相同的消息ID的2个帧的接收时间间隔超过阈值或小于阈值的情况下判定为是攻击帧,为此在发送周期检查参数中示出该阈值,也可以规定在什么样的条件下应判定为是攻击帧。
[0160] 针对检查部376的发送频度检查功能,作为一例,作为检查参数保持部375的发送频度检查参数,包含一定的频度的上限值(阈值),针对从输入部371传输给检查部376的帧,在发送该帧的频度(接收到该帧的频度)超过发送频度检查参数所包含的作为频度的上限值的例如每单位期间(例如1秒)的回数(例如100回)的情况下,检查部376的发送频度检查功能部判定为是攻击帧。
[0161] 另外,检查部376例如还可以包含数据检查功能部,其担负针对帧的数据字段的数据的值通过由检查参数确定的条件是否成立来判定是否是攻击帧的功能(数据检查功能)。数据检查功能例如能够包含通过检查数据的值是否是由检查参数指定的值来判定是否是攻击帧的数据固定值检查功能。另外,数据检查功能例如能够包含对数据的值是否是由检查参数指定的范围内的值进行检查的数据范围检查功能、对数据的值是否是由检查参数指定的值以上或以下进行检查的数据下限检查功能或数据上限检查功能。另外,数据检查功能例如能够包含:针对帧的数据的值,对从具有同一消息ID的前1个接收到的帧的数据的值起的变化量是否是由检查参数指定的范围内的值进行检查的数据变化范围检查功能。另外,数据检查功能例如能够包含数据的值与由检查参数指定的预定运算的结果进行比较来检查是否一致等的数据运算结果检查功能。此外,作为数据检查功能的检查对象的数据既可以是整个数据字段,也可以仅是数据字段的一部分的1个或多个位(连续的多个位或不连续的多个位),另外,也可以在检查参数中针对数据字段内的检查对象的数据的位置进行规定。
[0162] 另外,上述的各检查功能既可以与消息ID无关地适用,也可以仅对于具有特定的消息ID的帧适用。此外,上述的检查部376的检查功能是一例,并不限定于此,可以是除此以外的检查功能,也可以仅利用上述的多个检查功能的一部分。另外,检验部372和检查部376既可以具备针对彼此同样的条件的检验功能或检查功能,也可以具备针对各自不同的条件的检验功能或检查功能。
[0163] 此外,作为由更新部374进行的检查参数的更新方法,例如存在如下方法:检验部372的发送周期检验功能部在通过发送周期处于预先确定的适当的范围外而判定为条件成立的情况下,降低检查参数保持部375内的发送频度检查参数中的频度的上限值(阈值)。
[0164] 另外,在检查部376包含上述的数据变化范围检查功能的情况下,作为由更新部374进行的检查参数的更新方法,例如存在如下方法:检验部372的发送周期检验功能部,在通过发送周期处于预先确定的适当的范围外而判定为条件成立的情况下,缩小由检查参数中的与数据变化范围检查功能相关的参数指定的范围。这是因为在发送周期检验功能部判定为条件成立的情况下有可能受到攻击,所以通过将数据值的变化的容许范围限定为窄,对提高攻击的检测率是有用的。另外,将数据值的变化的容许范围限定为窄,能够起到降低攻击的影响的效果。
[0165] 另外,作为由更新部374进行的检查参数的更新方法,存在如下方法:检验部372的发送频度检验功能部在按每个消息ID的发送频度检验功能中通过并非是预先确定的适当的频度而判定为条件成立的情况下,将与各种检查功能相关的参数的阈值,向提高被判定为更符合攻击帧的程度的一方变化。作为向提高被判定为更符合攻击帧的程度的一方变化的一例,可以列举缩小检查参数保持部375内的发送周期检查参数中的周期的范围(适当的范围)这一情况。这是如下一个例子:由于通过某个消息ID的帧的发送频度增加而存在被攻击的可能性,所以为了安全起见,更容易检测攻击。
[0166] 另外,存在如下方法:在利用与消息ID无关而针对全部的帧的发送频度检验功能,通过发送频度并非是预先确定的适当的频度而判定为条件成立的情况下,扩大检查参数保持部375内的发送周期检查参数中的周期的范围。这是应对如下情况的一种方法:通过帧的发送频度的增加,某帧与其他帧的发送时刻变得相同,会发生通信仲裁而发送延迟的可能性变高。
[0167] 另外,使检查参数保持部375在检查参数中包含用于指定检查部376的多个检查功能中的应执行的1个或多个检查功能的参数而保持,作为由更新部374进行的检查参数的更新方法,也可以根据检验部372的结果,对指定应由检查部376执行的检查功能的参数进行更新。
[0168] 另外,使检查参数保持部375在检查参数中包含用于指定检查部376的多个检查功能的每一个被执行的顺序的参数而保持,作为由更新部374进行的检查参数的更新方法,也可以根据检验部372的结果,对指定由检查部376执行的多个检查功能的每一个的执行顺序的参数进行更新。例如,在按照指定执行的顺序的参数执行多个检查功能的检查部376中,在利用多个检查功能中的任一个判定为接收到的帧为攻击帧时,能够停止执行尚未完成的检查功能的执行。
[0169] 另外,作为由更新部374进行的检查参数的更新方法,还存在如下方法:在利用检验部372的发送频度检验功能通过处于预先确定的适当的频度外而判定为条件成立、且利用数据范围检验功能通过处于预先确定的范围外而判定为条件成立的情况下,缩小检查参数保持部375内的发送周期检查参数中的周期的范围。这样,也可以根据多个检验功能的结果来更新检查参数。此外,在更新检查参数的情况下,可以仅更新与1个检查功能相关的参数,也可以更新与多个检查功能相关的参数。
[0170] 另外,由更新部374进行的检查参数的更新方法中,检验部372使用检验参数在预先确定的条件成立的情况下更新检查参数,但是该条件(也就是说是用于更新的条件)并不限于在接收到的帧为不正常的攻击帧的情况,帧的一部分为异常的情况等下被满足。例如,该条件也可以在接收到的帧为正常的帧的情况、帧的一部分为正常的情况等下被满足。例如,在检验部372的发送周期检验功能中在接收到正常的帧的情况下判定为条件成立,在该情况下也可以利用更新部374,对检查参数中的、指定数据上限检查功能或数据下限检查功能来作为应由检查部376执行的检查功能的参数进行更新,也可以对与数据上限检查功能或数据下限检查功能相关的参数进行更新。
[0171] 此外,上述的由更新部374进行的检查参数的更新方法只不过是一例,也可以使用除此以外的更新方法,还可以仅使用上述的更新方法的一部分。
[0172] [1.7ECU100a的结构]
[0173] 图9是ECU100a的结构图。ECU100a包含帧收发部110、帧解释部120、接收ID判断部130、接收ID列表保持部140、帧处理部150、数据取得部170、帧生成部180而构成。这些各结构要素由ECU100a中的通信电路、执行存储器所保存的控制程序的处理器或数字电路等实现。ECU100b~100d也具备与ECU100a大致同样的结构。
[0174] 帧收发部110相对于总线200a收发遵循CAN协议的帧。从总线200a逐位接收帧,并传送给帧解释部120。另外,将由帧生成部180接收到通知的帧的内容发送给总线200a。
[0175] 帧解释部120从帧收发部110接收帧的值,进行解释以使得该帧的值映射到由CAN协议规定的帧格式中的各字段中。判断为是ID字段的值向接收ID判断部130传送。帧解释部120根据从接收ID判断部130通知的判定结果,决定将ID字段的值、和在ID字段以后出现的数据字段向帧处理部150传送,或者在接收到该判定结果以后中止帧的接收。另外,帧解释部120在判断为不是遵循CAN协议的帧的情况下,向帧生成部180通知,以发送错误帧。另外,帧解释部120在接收到错误帧的情况下,自此之后废弃该帧,也就是说中止帧的解释。
[0176] 接收ID判断部130接收从帧解释部120通知的ID字段的值,按照接收ID列表保持部140保持的消息ID的列表,进行是否接收该ID字段以后的帧的各字段的判定。接收ID判断部
130将该判定结果向帧解释部120通知。
[0177] 接收ID列表保持部140保持接收ID列表,该接收ID列表是ECU100a接收的消息ID的列表。该接收ID列表例如与上述的图4的例子同样。
[0178] 帧处理部150根据接收到的帧的数据按每个ECU进行不同的处理。例如,与发动机101连接的ECU100a具备若在时速超过30km的状态下门为打开的状态,则鸣响警告声的功能。而且,ECU100a的帧处理部150管理从其他ECU接收到的数据(例如表示门的状态的信息),基于从发动机101取得的时速在一定条件下进行鸣响警告声的处理等。ECU100c具备在制动器没有被制动的状况下若门打开则鸣响警告声的功能。ECU100b、100d什么也不做。此外,ECU100a~100d还可以具备上述以外的功能。
[0179] 数据取得部170取得表示与ECU相关的设备、传感器等的状态的数据,并向帧生成部180通知。
[0180] 帧生成部180按照从帧解释部120通知的、指示错误帧的发送的通知,构成错误帧,将错误帧向帧收发部110通知并发送。另外,帧生成部180对由数据取得部170通知的数据的值,附加预先确定的消息ID而构成帧,并向帧收发部110通知。
[0181] [1.8由不正常检测处理功能组进行的攻击检测处理]
[0182] 图10是表示由不正常检测处理功能组370进行的攻击检测处理的一例的流程图。
[0183] 首先,输入部371从帧处理部350接收帧的各字段数据(步骤S1001)。输入部371将接收到的各字段数据向检验部372和检查部(过滤部)376通知。
[0184] 接着,检验部372从检验参数保持部373取得检验参数(步骤S1002)。
[0185] 然后,检验部372使用所取得的检验参数,进行判定预先确定的条件是否成立的检验处理(步骤S1003)。检验部372将检验处理(步骤S1003)中的判定的结果向更新部374通知。检验部372在作为检验处理而进行了与多个条件的每一个相关的判定的情况下通知各个判定结果,也通知基于各个判定结果的综合的判定结果。
[0186] 更新部374根据从检验部372通知的判定结果,判定是否需要进行检查参数保持部375保持的检查参数的更新(步骤S1004)。
[0187] 更新部374在利用步骤S1004判断为需要检查参数的更新的情况下,更新检查参数保持部375的检查参数(步骤S1005)。
[0188] 在利用步骤S1005的更新之后,或者在利用步骤S1004判断为无需检查参数的更新的情况下,检查部376从检查参数保持部375取得检查参数(例如在过滤用中使用的参数)(步骤S1006)。
[0189] 然后,检查部376进行检查处理(例如作为过滤的前提的检查即过滤处理)(步骤S1007)。通过该检查处理,检查部376判定接收到的帧是否为攻击帧并将判定结果向帧处理部350通知。在检查部376判定为是攻击帧的情况下,向帧处理部350通知是攻击帧这一情况,在帧处理部350中进行禁止传送处理的过滤,使攻击帧无效化。
[0190] [1.9网关的工作例]
[0191] 图11是表示网关300的工作(传送处理)的一例的流程图。网关300进行将从一个总线接收到的帧向其他总线传送的传送处理。在此,以传送处理是将从总线200a接收到的帧向总线200b传送的处理为例进行说明,但是将从总线200b接收到的帧向总线200a传送的处理也同样。
[0192] 首先,网关300的帧收发部310从总线200a接收帧(步骤S1101)。帧收发部310将接收到的帧的各字段的数据向帧解释部320传递。
[0193] 接着,网关300的帧解释部320与接收ID判断部330合作,根据接收到的帧的ID字段的值(消息ID),判定是否是需要接收并处理的帧(步骤S1102)。
[0194] 网关300的帧解释部320在利用步骤S1102判断为需要接收并处理的情况下,向帧处理部350传递帧内的各字段的值。然后,帧处理部350按照在传送规则保持部360中保持的传送规则,决定传送目的地的总线(步骤S1103)。
[0195] 网关300的帧处理部350通过向不正常检测处理功能组370通知帧内的各字段的值,请求进行攻击检测(是否是攻击帧的判定)。
[0196] 网关300的不正常检测处理功能组370通过上述的攻击检测处理,根据从帧处理部350通知的帧的各字段的值,判定该帧是否是攻击帧(步骤S1104),并将该判定结果向帧处理部350通知。
[0197] 网关300的帧处理部350在利用步骤S1104判定为帧并非攻击帧的情况下,向帧生成部380发出请求,以向由步骤S1103决定的传送目的地的总线传送帧。帧生成部380接受来自帧处理部350的请求,向所指定的传送目的地传送帧(步骤S1105)。在步骤S1105中,帧处理部350将帧的各字段的值向帧生成部380传输,帧生成部380接受该帧的各字段的值,生成帧,并使帧收发部310向总线200b发送,从而实现帧的传送。
[0198] 此外,虽然示出了在决定传送目的地(步骤S1103)之后判定是否是攻击帧的例子(步骤S1104),但是并不限定于此,也可以在判定是否是攻击帧(步骤S1104)之后,进行传送目的地的决定(步骤S1103),例如,也可以同时进行传送目的地的决定(步骤S1103)和是否是攻击帧的判定(步骤S1104)。
[0199] [1.10实施方式1的效果]
[0200] 在实施方式1的车载网络系统10中,为了在网关300中进行传送帧的传送处理中的过滤而进行由不正常检测处理功能组370进行的攻击检测处理。在该攻击检测处理中,能够利用基于接收到的帧的检验功能使为了检查帧是否是攻击帧而使用的检查参数在一定条件下变化。由此,能够适应于可多样变化的攻击并提高能够适当检测攻击帧的程度(检测精度)。通过提高该攻击帧的检测精度,能够对攻击进行适当防御(传送制止等这样的用于抑制攻击帧对ECU的影响的处理)。
[0201] [1.11实施方式1的变形例]
[0202] 上述的网关300从帧处理部350向不正常检测处理功能组370请求攻击检测(是否是攻击帧的判定),根据判定结果切换是否传送帧,从而进行对于攻击帧的防御。作为攻击检测的结果的利用方法,并不限于是否传送帧这一过滤。在此,作为车载网络系统10中的网关300的变形例,针对将攻击检测的结果用于由攻击帧的无力化实现的防御的网关300a进行说明。
[0203] 图12是实施方式1的变形例的网关300a的结构图。如该图所示,在网关300a中,帧解释部320将接收到的帧的各字段向不正常检测处理功能组370传输。不正常检测处理功能组370的检查部(过滤部)376在判定为帧是攻击帧的情况下,通过向帧生成部380请求发送错误帧,使帧无力化。因此,在不正常检测处理功能组370的检查部376中,网关300a在接收到的帧的ID字段被接收之后且后续于数据字段的部分(CRC字段)被接收之前进行与该帧是否是攻击帧的判定相关的检查。而且在检查部376判定为是攻击帧的时刻,通过帧生成部380和帧收发部310的工作,将错误帧送出至攻击帧被发送的总线上。由此,由于攻击帧的比CRC字段靠前的部分被错误帧覆写,所以能够阻止各ECU将攻击帧识别为适当的帧而进行工作。为了阻止各ECU将攻击帧识别为适当的帧而进行工作,在攻击帧的表示数据帧的末尾的EOF的最后位被发送之前开始错误帧的发送并进行覆写足矣。因此,错误帧的发送开始时刻能够任意调整。此外,在攻击帧的发送中提前检查是否是攻击帧,在判定为是攻击帧的情况下提前开始错误帧的发送,对降低各ECU中的与攻击帧相关的CRC检验等的处理负荷是有用的。
[0204] 此外,网关300a中的帧解释部320也可以将全部帧向不正常检测处理功能组370传输。另外,帧解释部320仅将没有包含在接收ID列表中的帧向不正常检测处理功能组370传输,关于接收ID列表所包含的帧,也可以从帧处理部350向不正常检测处理功能组370进行攻击检测的请求。
[0205] 另外,作为攻击检测的结果的利用方法,也可以针对攻击帧执行制止帧在总线间的传送的过滤、和由向攻击帧被发送的总线发送错误帧实现的无力化这两方。
[0206] 在图13中示出将实施方式1的网关300及变形例的网关300a一般化得到的网关300b的结构。在该图中,主要用实线框示出了与攻击检测相关的结构(包含与防御相关的结构)。作为与攻击检测相关的结构,网关300b包含接收部410、更新部420、保持部430、检查部
440及处理部450。接收部410具有从至少1个总线接收帧的功能,例如与网关300、300a中的帧收发部310的接收功能部分同等。更新部420具有在由接收部410接收到的帧所关联的预先确定的条件成立的情况下对保持部430保持的检查参数进行更新的功能。更新部420与将例如网关300、300a中的不正常检测处理功能组370的检验部372、检验参数保持部373以及更新部374合在一起的部同等。保持部430具有保持检查参数的功能,例如与网关300、300a中的不正常检测处理功能组370的检查参数保持部375同等,所述检查参数规定关于帧的检查内容。检查部440具有基于保持部430保持的检查参数,进行与由接收部410接收到的帧是否是攻击帧的判定相关的检查的功能。检查部440例如与网关300、300a中的不正常检测处理功能组370的检查部376同等。处理部450具有进行与检查部440的检查结果相应的处理以抑制攻击帧对ECU的影响的功能。处理部450例如与网关300的帧处理部350中的禁止针对攻击帧的传送处理的功能、以及网关300a的帧生成部380中的对攻击帧发送错误帧的功能这两方或一方同等。在该网关300b中,将由检查部440为了检查帧是否是攻击帧而使用的、保持部430的检查参数,通过更新部420,根据接收到的帧在一定条件下进行更新。由此,能够适应于可多样变化的攻击并适当地检测攻击帧,并能够通过处理部450对攻击进行适当防御。
[0207] (其他实施方式)
[0208] 以上,作为本公开的技术的例示对实施方式1进行了说明。然而,本公开的技术并不限定于此,也能够适用于进行了适当变更、置换、附加、省略等的实施方式。例如,以下那样的变形例也包含在本公开的一实施技术方案中。
[0209] (1)作为上述实施方式中的由不正常检测处理功能组370进行的攻击检测处理,虽然在图10中示出了进行检验处理,根据其结果更新检查参数,然后进行检查处理的例子,但是并不限定于此,例如,也可以如图14所示的攻击检测处理的变形例1那样,同步执行步骤S1002~步骤S1003中的检验处理、和步骤S1006~步骤S1007中的检查处理(过滤处理),根据该检验处理的结果判断是否需要进行检查参数的更新(步骤S1004),若需要则更新检查参数(步骤S1005),利用更新后的检查参数执行检查处理(过滤处理)(步骤S1007)。此外,与检验处理同步执行的检查处理可以进行与检查参数的更新(步骤S1005)之后的检查处理相同内容的检查,也可以进行彼此不同内容的检查(由多个检查功能中不同的检查功能实现的检查)。这样,检查处理的执行时刻与用于更新检查参数的检验处理的执行的时刻即使重叠也互有差异。若进行检查参数的更新,则在该更新后,在检查处理中基于更新后的检查参数进行检查。另外,在攻击检测处理中,也可以不仅更新检查参数,还根据帧的内容更新检验参数。
[0210] (2)在上述实施方式中示出的不正常检测处理功能组370的结构只不过是一例,例如,也可以取代具备使用了检验参数保持部373保持的检验参数的各种检验功能的检验部372,如图15所示,变形为具备仅与ID字段关联来判定是否不正常的ID关联不正常检测处理部372a。ID关联不正常检测处理部372a使用检测参数保持部373A保持的检测参数进行是否不正常的判定,在不正常的情况下通过更新部374,更新过滤器参数保持部375a保持的过滤器参数。过滤部376a使用该过滤器参数,为了进行攻击帧的过滤而进行帧的检查。过滤器参数保持部375a可以与检查参数保持部375同样。另外,过滤部376a能够与检查部(过滤部)
376同样。作为不正常检测处理功能组370更加具体的变形例,例如,可列举图16所示的例子。在图16的例子中,可以具备周期异常检测部372b,其根据ID字段的消息ID,检验设定有相同消息ID的帧的发送时间间隔(发送周期),检测是否以与周期信息保持部373b所保持的规则不同的周期发送帧,在检测出周期异常的情况下,更新部374也可以进行将由过滤器参数表示的容许正常的帧的范围缩小等的处理。另外,更新部374也可以根据周期脱离适当的范围的时间来改变过滤器参数的变更量。该例大致与在实施方式1中示出的不正常检测处理功能组370中的检验部372仅具备仅根据ID字段来检验预先确定的条件是否成立的检验功能的情况同等。该情况下,在由不正常检测处理功能组370进行的攻击检测处理中,例如如图17所示,也可以在检验ID字段的内容期间并行进行剩余的字段的接收。在图17的例子中,帧解释部320或帧处理部350在接收到ID字段的时刻,向不正常检测处理功能组370的输入部371通知ID字段的值。然后,帧解释部320或帧处理部350接收ID字段以后的字段,在接收完成的时刻将剩余的字段的数据向不正常检测处理功能组370的输入部371发送。由此,能够在比帧的接收完成早的时刻开始步骤S1002到S1005的处理,另外,能够同步执行步骤S1002~S1005的处理和步骤S1011的处理。因此,能够同步执行数据字段的接收、和检验处理及检查参数的更新并能够缩短综合的处理时间,因此,例如能够向用于过滤的检查处理等分配很多时间等,所述过滤是使用了检查参数进行的过滤。
[0211] (3)在上述实施方式中示出的不正常检测处理功能组370的结构例如能够变形为图18所示那样。图18的变形例的不正常检测处理功能组370c具备在检验部372中追加了用于过滤攻击帧的检查的功能的第一过滤部372c。过滤器参数保持部375c可以与检查参数保持部375同样。另外,第二过滤部376c能够与检查部(过滤部)376同样。在此,第一过滤部372c和第二过滤部376c可以与用于过滤的检查处理的内容相同,也可以不相同。此外,在图
18的例中,第一过滤部372c和第二过滤部376c利用相同的过滤器参数保持部375c,但是不限定于此,第一过滤部372c和第二过滤部376c也可以使用彼此不同的过滤器参数(检查参数)进行检查。此外,就由第一过滤部372c判定为攻击帧的帧而言,能够省略由第二过滤部
376c进行的检查处理。由此,在由第一过滤部372c判定为攻击帧的情况下,能够迅速执行对攻击的防御(由攻击帧的传送制止、错误帧的发送实现的攻击帧的无力化等)。另外,即使在无法由第一过滤部372c判定为是攻击帧的情况下,通过更新过滤器参数(检查参数),也能够由第二过滤部376c判定为是攻击帧。如图19所示,第一过滤部372c也可以是仅进行ID字段关联的检查处理的ID字段关联过滤部372d。在图19中示出了作为具备ID字段关联过滤部
372d、过滤器参数保持部375d、过滤部376d等的变形例的不正常检测处理功能组370d。由此,由于能够在接收到ID字段的时刻执行用于过滤的检查处理,所以能够同步执行数据字段的接收、和用于进行ID字段关联的过滤的检查处理及过滤器参数保持部375d保持的参数的更新,并能够向用于进行由过滤部376d实现的过滤的检查处理分配很多时间。
[0212] (4)在上述实施方式中示出的不正常检测处理功能组370的结构例如可以变形为图20所示那样。图20的变形例的不正常检测处理功能组370e在检验部372、检查部(过滤部)376以及更新部374之间,具备过滤器控制部377。检验部372利用各种检验功能(ID检验功能、DLC检验功能、发送周期检验功能、发送频度检验功能等)使检验处理(预先确定的条件是否成立的判定)结束,从得到判定结果起依次向过滤器控制部377通知该判定结果(检验结果)。过滤器控制部377在得到了检查参数的更新所需的检验结果的时刻,使更新部374进行检查参数的更新。另外,过滤器控制部377对与检查部376中的各种检查功能(ID检查功能、DLC检查功能、发送周期检查功能、发送频度检查功能等)关联的参数是否被更新为在检查中可利用的状态进行管理,在被更新为可利用的状态的阶段,使检查部376进行相应的检查功能的执行。过滤器控制部377例如能够进行控制,以使得:在接收1个帧时,利用与检查参数中的、特定的检查功能使用的参数的更新相关的检验功能进行了针对该帧的检验处理之后(根据检验结果进行了参数的更新之后)执行该特定的检查功能。由此,即使没有凑齐各种检验功能的全部的检验结果,也能够执行与一部分检查功能相关的检查(例如用于过滤的检查),能够进行对攻击帧的迅速的防御等。
[0213] (5)在上述实施方式中示出的车载网络系统10中的ECU(ECU100a~100d)的结构并不限定于图9所例示的结构,例如,也可以如图21所示的ECU100e那样,具备不正常检测处理功能组370。在图21所示的ECU的变形例中,帧处理部150也可以向不正常检测处理功能组370请求攻击检测(是否是攻击帧的判定),帧解释部120也可以向不正常检测处理功能组
370请求攻击检测。另外,ECU例如也可以如图22所示的ECU100f那样,由帧收发部110、帧解释部120、帧生成部180、不正常检测处理功能组370构成。在图22所示的ECU的变形例中,帧解释部120接收全部的帧,向不正常检测处理功能组370请求攻击检测。另外,也可以是,ECU除了图22的ECU100f的结构以外,还具备图9所示的接收ID判断部130和接收ID列表保持部
140,仅接收具有接收ID列表保持部140保持的接收ID列表所记载的消息ID的帧,关于该帧,帧解释部120向不正常检测处理功能组370请求攻击检测(是否是攻击帧的判定)。这样,在车载网络系统10中,不仅网关300,其他ECU也能够作为对发送到总线上的帧是否是攻击帧进行检测的安全装置发挥功能。另外,ECU例如也可以具备图23所示的ECU100g那样的结构。
在图23所示的ECU的变形例中,具备从外部装置(例如汽车导航装置等)取得用于向总线发送的数据的发送数据取得部171,不正常检测处理功能组370也可以判定从发送数据取得部
171接收到的数据是否是攻击帧,仅在判定为并非攻击帧的情况下向帧生成部180请求帧的发送。由此,在从汽车导航装置等对ECU发送攻击帧这样的情况下能够进行对攻击的检测及防御。
[0214] (6)在上述实施方式中,更新部374接受来自检验部372的判定结果,决定需要更新的检查参数(阈值等),并更新该决定的检查参数,但是,也可以是,更新部374立足于来自检验部372的判定结果以外的条件来更新检查参数。例如,除了来自检验部372的判定结果以外,更新部374还基于车辆的状态(例如车速、是否停车中等)、或车载网络系统10中的与总线连接的设备(ECU等)的结构、检验部372的以前的判定结果等,决定更新所需的检查参数、或决定检查参数的更新后的值等。例如,也可以是,在基于车辆的状态更新检查参数的情况下,若车辆为停车中,则不更新检查参数,或者,进行抑制以使得更新前后的检查参数的值的差异变小。另外,也可以是,在搭载车载网络系统10的车辆中搭载多个驾驶支援功能,在任一个驾驶支援功能工作的状态下,使除此以外的没有同时工作的驾驶支援功能所关联的帧的参数(阈值等)变化以提高判定为是攻击帧的程度。关于是否是该攻击帧的判定,可以仅凭消息ID的值判定为是攻击帧,也可以通过检查数据字段的特定的位等判定为是攻击帧。另外,在也基于与总线连接的设备的结构进行检查参数的更新处理的情况下,例如,也可以是,在汽车导航装置等这样的具有与外部通信功能的设备为一定数量以上的情况下,使检查参数变化以提高判定为是攻击帧的程度。
[0215] (7)在上述实施方式中,更新部374更新的检查参数、在决定检查参数的更新的程度等中使用的基准、算法等在网关300制造时等确定,但是并不限定于此,也可以在制造后(出工后等)变更。作为该基准、算法等的变更方法,可以从外部接收与变更相关的数据并使用该数据进行变更,也可以从可取卸的存储介质(光盘、磁盘、半导体介质等)中读取数据从而使用该数据进行变更。
[0216] (8)在上述实施方式1的变形例中示出的作为网关300b的结构要素的接收部410、更新部420、保持部430、检查部440及处理部450不限于上述的网关,还可以包含于ECU(ECU100a~100g等)。在该情况下,接收部410是帧收发部110的接收功能部分。
[0217] 另外,保持部430例如可以是不正常检测处理功能组370、370e的检查参数保持部375、或不正常检测处理功能组370a~370d的过滤器参数保持部375a~375d等。保持部430保持相互不同的、规定针对帧的检查内容的多个检查参数,例如,多个检查参数包含与ID值的检查相关的ID检查参数、与DLC值的检查相关的DLC检查参数、与发送周期的检查相关的发送周期检查参数、与发送频度的检查相关的发送频度检查参数、与数据字段所容纳的数据的值的检查相关的数据检查参数中的1个以上。发送频度检查参数可以包含表示发送频度的容许范围的上限的阈值,数据检查参数可以包含表示数据字段所容纳的数据的变化的容许范围的上限的阈值,发送周期检查参数可以包含表示发送周期的容许范围的阈值,DLC检查参数可以包含表示DLC值的容许范围的阈值。另外,数据检查参数也可以包含表示数据的值的容许范围的阈值。
[0218] 另外,更新部420可以是不正常检测处理功能组370、370e的检验部372、检验参数保持部373及更新部374的组合,可以是不正常检测处理功能组370a的ID关联不正常检测处理部372a、检测参数保持部373A及更新部374的组合,可以是不正常检测处理功能组370b的周期异常检测部372b、周期信息保持部373b及更新部374的组合,可以是不正常检测处理功能组370c的第一过滤部372c、过滤器参数保持部375c的一部分或全部、及更新部374的组合,可以是不正常检测处理功能组370d的ID字段关联过滤部372d、过滤器参数保持部375d的一部分或全部、及更新部374的组合。更新部420具有针对由接收部410接收到的帧进行多个预先确定的条件的每一个是否成立的判定的、与每个条件对应的检验功能,并根据该各检验功能的判定结果,决定并更新决定保持部430保持的多个检查参数中应作为更新对象的检查参数。更新部420例如可以具有ID检验功能、DLC检验功能、发送周期检验功能、发送频度检验功能、数据检验功能中的1个以上的检验功能。例如,在发送周期检验功能中,可以在ID为相同值的2个帧的接收间隔脱离预定的容许范围的情况下判定为与该发送周期检验功能对应的条件成立。更新部420例如也可以在利用发送周期检验功能判定为条件成立的情况下更新多个检查参数中的某一个。另外,更新部420也可以在利用发送周期检验功能判定为条件成立的情况下更新发送频度检查参数中的阈值。另外,更新部420也可以在利用发送周期检验功能判定为条件成立的情况下,将数据检查参数中的阈值更新为更小的值。另外,更新部420也可以在发送频度超过预定的容许范围的上限的情况下判定为与发送频度检验功能对应的条件成立,更新发送周期检查参数中的阈值。另外,更新部420在与一帧关联而利用发送频度检验功能判定为条件成立的情况下,将用作与该一帧的ID具有同一ID的帧的检查内容的多个检查参数中的阈值更新为使得相应的容许范围更窄。另外,更新部420还可以在由接收部410接收到的帧所关联的预先确定的条件成立的情况下将该帧判定为是攻击帧。
[0219] 另外,检查部440可以是不正常检测处理功能组370、370e的检查部(过滤部)376,可以是不正常检测处理功能组370a的过滤部376a,可以是不正常检测处理功能组370b的过滤部376b,可以是不正常检测处理功能组370c的第二过滤部376c,可以是不正常检测处理功能组370d的过滤部376d。另外,处理部450可以是ECU中的帧处理部150及帧生成部180的至少一方。也可以是,检查部440例如基于保持部430保持的多个检查参数的每一个进行检查,例如,在与由接收部410接收到的帧相关的发送频度超过发送频度检查参数中的阈值的情况下将该帧判定为是攻击帧。另外,也可以是,检查部440在与由接收部410接收到的帧相关的数据字段所容纳的数据的变化超过数据检查参数中的阈值的情况下将该帧判定为是攻击帧。检查部440可以在由接收部410接收到帧的ID字段后且后续于数据字段的部分(CRC字段)被接收之前进行检查,也可以在处理部450中对攻击帧发送错误帧。
[0220] 另外,在网关、ECU等中,也可以设置不正常检测处理功能组370e的过滤器控制部377(参照图20)这样的控制部。该控制部在针对更新部420具有的多个检验功能的每一个得到利用该检验功能的判定结果的时刻,确认是否应根据该判定结果更新多个检查参数的某一个,若应更新则控制更新部420以更新相应的检查参数,并且控制检查部440以根据多个检查参数的每一个的更新状况,进行基于该各检查参数的检查。
[0221] (9)在上述实施方式中,作为遵循CAN协议进行通信的网络通信系统的例子示出了车载网络。本公开的技术并不限定于在车载网络中的利用,也可以利用于机器人、产业设备等的网络以及其他,也可以利用于车载网络以外的遵循CAN协议进行通信的网络通信系统。另外,CAN协议应被作为也包含用于自动化系统内的装入系统等中的CANOpen、或TTCAN(Time-Triggered CAN,时间触发CAN)、CANFD(CAN with Flexible Data Rate,带有灵活的数据速率的CAN)等派生的协议的广义的含义来处理。另外,在车载网络系统10中,也可以使用CAN协议以外的通信协议、例如,Ethernett(注册商标)、MOST(注册商标)、FlexRay(注册商标)等。
[0222] (10)在上述实施方式中示出的各种处理的步骤(例如在图10、图11、图14、图17中示出的预定步骤等)的执行顺序未必限制于如上所述的顺序,在不脱离公开的要旨的范围内,也可以替换执行顺序,同步进行多个步骤,或省略该步骤的一部分。
[0223] (11)上述实施方式中的网关以及其他ECU例如是包含处理器、存储器等的数字电路、模拟电路、通信电路等的装置,但是也可以包含硬盘装置、显示器、键盘鼠标等其他硬件结构要素。另外,也可以取代通过处理器执行存储器所存储的控制程序从而软件上实现功能,而通过专用的硬件(数字电路等)实现其功能。
[0224] (12)上述实施方式中的构成各装置的结构要素的一部分或全部可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个结构部集成在1个芯片上制造而成的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等而构成的计算机系统。在所述RAM中记录有计算机程序。所述微处理器通过按照所述计算机程序进行工作,从而系统LSI实现其功能。另外,构成上述各装置的结构要素的各部可以独立地形成为单片,也可以以包含一部分或全部的方式形成单片。另外,在此,虽然作为系统LSI,但是根据集成度的不同,也有时被称为IC、LSI、超级LSI、大LSI。另外,集成电路化的方法不限于LSI,也可以由专用电路或通用处理器实现。在制造LSI后,也可以利用可编程的FPGA(Field Programmable Gate Array)、可再构成LSI内部的电路单元的连接、设定的可重构处理器。进而,若因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,当然也可以利用该技术进行功能框的集成化。能够适用生物技术等。
[0225] (13)构成上述各装置的结构要素的一部分或全部也可以由可装卸于各装置的IC卡或单个模构成。所述IC卡或所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或所述模块也可以包含上述的超多功能LSI。微处理器按照计算机程序进行工作,由此所述IC卡或所述模块实现其功能。该IC卡或该模块也可以具有防篡改性。
[0226] (14)作为本公开的一技术方案,也可以是包含例如图10、图14、图17等所示的处理步骤的全部或一部分的攻击检测方法。例如,攻击检测方法在多个ECU经由1个或多个总线进行帧的授受的车载网络系统10中被使用,包括接收步骤、更新步骤以及检查步骤。在接收步骤中,从总线接收帧,在更新步骤中,在由接收步骤接收到的帧所关联的预先确定的条件成立的情况下,对规定帧的检查内容的检查参数进行更新,在检查步骤中,基于由更新步骤更新的检查参数,进行与由接收步骤接收到的帧是否是攻击帧的判定相关的检查。另外,可以是通过计算机实现与该攻击检测方法相关的预定处理(攻击检测处理)的计算机程序(控制程序),也可以是由所述计算机程序构成的数字信号。例如,控制程序是用于使处理器执行包括接收步骤(例如步骤S1001)、更新步骤(例如步骤S1002~S1005)以及检查步骤(例如步骤S1006、S1007)的攻击检测处理的程序。另外,作为本公开的一技术方案,也可以记录在能够由计算机读取所述计算机程序或所述数字信号的记录介质,例如,软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等中。另外,也可以是记录在这些记录介质中的所述数字信号。另外,作为本公开的一技术方案,也可以将所述计算机程序或所述数字信号经由以电通信线路、无线或有线通信线路、互联网为代表的网络、数据广播等进行传送。另外,作为本公开的一技术方案,也可以是具备微处理器和存储器的计算机系统,所述存储器记录上述计算机程序,所述微处理器按照所述计算机程序进行工作。另外,也可以是,通过将所述程序或所述数字信号记录在所述记录介质中进行移送,或者将所述程序或所述数字信号经由所述网络等进行移送,从而通过其他独立的计算机系统进行实施
[0227] (15)通过将在上述实施方式及上述变形例中示出的各结构要素及功能进行任意组合而实现的方式也包含在本公开的范围内。
[0228] 产业上的可利用性
[0229] 本公开能够利用于在车载网络中对发送攻击帧这一情况进行适当检测。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈