用于保护车辆免受网络攻击的方法和相应的设备与流程

文档序号:21406436发布日期:2020-07-07 14:40阅读:133来源:国知局
用于保护车辆免受网络攻击的方法和相应的设备与流程

本发明涉及用于保护车辆can(控制器局域网(controllerareanetwork))通信网络免受网络攻击的技术,该车辆can通信网络包括can总线和多个节点,这些节点以信号交换关系与所述can总线相关联并且至少部分地与用于控制车辆功能的单元相关联;

上述技术包括以下操作:

分析在所述多个节点的节点之间传输的can消息的内容,以便识别非法的can消息;以及

阻断所述非法消息,

所述阻断操作包括通过插入被所述can控制器识别为错误的破坏位序列,特别是通过用破坏的序列替换原始位序列的一部分,来致使所述非法消息对于由所述节点的can控制器执行的完整性检查而言无效,以获得破坏的消息。

can总线(在机动车辆中用作通信总线)是串行和多主线类型的通信方式,其中连接到该总线的每个主线(也称为“节点”)都能够发送和接收消息并解决由于多个传输节点同时访问而引起的任何冲突。

如图1a中所示,能够在can总线10上进行通信的节点11通常包括:

-can收发器12,其通过传输线tt和接收线tr与can总线10相关联,并且配置成用于管理can总线的适当电平(osi模型的物理层);

-can控制器13,其通过相应的传输线ct和接收线cr连接到can收发器12,并且配置成用于管理can总线10的逻辑水平和序列化(serialization)(osi模型的数据链路层);以及

-微控制器14,其包含关于发送和接收消息的逻辑(数据链路层上方的osi层的管理)。

图1a示出可能的实施方案之一,该实施方案设想将can控制器13和微控制器14设置在同一个片上系统(system-on-chip)15中,而can收发器处在单独的芯片上。

如图1中所示,已知在can控制器13和can收发器12之间安装用于保护免受网络攻击的设备16。保护设备16处理(特别是分析)can控制器13和can收发器12之间传输的消息,识别非法或恶意消息,并实施用于阻断在不同使用情况下将这些恶意消息注入到can总线上的操作,所述操作在图2、3、4和5中描述。

特别地,在图1b中,保护设备16在从can控制器13到保护设备16的传输线ct上接收can消息,并经由前述的阻断操作对所述消息进行分析和过滤,从而在保护设备16和can收发器12之间的线路是滤过的传输线dt,由保护设备16处理过的can消息在该传输线dt上传输。在相反的方向上,来自收发器12的can消息在连接这些模块的接收线cr上到达保护设备,并在保护设备16处进行处理,并在滤过的接收线dr上由保护设备16传输给can控制器13。

特别地,图2示出了一种情况,其中给出包括多个节点111,……,11n的车辆网络20,例如所述节点表示车辆控制单元,诸如ecu(电子控制单元),例如发动机控制单元和用于照明、空调、变速器、abs、悬架和其他专门用于其他车辆服务的处理器模块的控制单元。在这些多个节点111,……,11n中,节点111是受保护节点,即配备有保护设备16的节点,并且在图中表示的是受保护节点111是恶意的并且将恶意的即非法的can消息或can帧mf注入到车辆网络20中的情况。这种使用情况例如是这种情况,即例如微控制器14已被其他通信通道(诸如无线通道)侵犯,如对于对应于信息娱乐/远程信息处理单元的节点而言可能发生的那样。在这种情况下,保护设备16的存在阻止这些消息mf到达车辆网络20,即阻止这些消息mf到达其他非保护节点112,……,11n。

图3示出恶意can消息mf由车辆网络20注入的情况,即由未设置有保护设备的节点之一、即未受保护的节点112,……,11n之一、特别是节点112注入的情况。图3表示车辆网络20的任何节点被侵犯的情况。在这种情况下,保护设备16的存在防止无关于相应受保护的can节点111的消息被微控制器14处理,其中保护设备16本身安装在相应受保护的can节点111上。

图4示出在can网关18内使用保护设备16的情况。该配置使得可以隔离两个不同的can网络20a和20b,两个不同的can网络20a和20b具有各自的节点11a1,……,11an和11b1,……,11bn,这些节点通常是不受保护的,并且该配置使得可以保证过滤在一个网络与另一个网络之间输送的can帧。在图4的特定情况下,保护设备16阻断由网络20a传输的非法消息mf,并防止它们在网络20b上扩散。显然,保护设备16还可以阻断由网络20b的节点通过网关18向网络20a传输的非法can消息mf。



背景技术:

美国专利申请第us2015/191136a1号描述了一种在机动车辆can总线上运行的保护设备,该设备设想在输送中阻断其参数符合非法消息标准的消息。阻断是通过下列方式执行的,即通过致使非法消息对于由can控制器执行的有效性检查而言无效,即通过在can收发器和can控制器之间的非法消息传输期间,经过由can控制器识别为错误的位序列(即填充位)的插入特别是经由通过不遵守由can协议设想的位填充规则的序列插入填充错误来破坏非法消息从而导致can控制器忽略这些非法消息而不通过can网络传送它们。但是,填充位数量的处理可能会在破坏的消息(通过总线发送)和由接收到破坏的消息的can节点生成的帧错误消息之间产生时间上的未对准。



技术实现要素:

本发明的目的是提供一种监测方法,该监测方法将使非法消息能够变得无效,同时确保适当的对准。

根据本发明,上述目的由于保护方法以及相应的保护设备而得以实现,该保护方法以及相应的保护设备具有在所附权利要求中特别提到的特征。

附图说明

将参考附图来描述本发明,这些附图仅通过非限制性示例的方式提供,其中:

-前面已经描述了图1a和图1b,图2,图3,图4;

-图5示出实施本文所述方法的保护设备的原理框图;

-图6是示意性地表示由保护设备处理的can消息的图;

-图7a,图7b和图7c是本文所述保护设备在方法的三个操作步骤中的示意图;以及

-图8是说明本文所述方法的操作的流程图。

具体实施方式

图5示出根据本发明的保护设备26的原理框图。该保护设备26表示为在can网络10的受保护节点中设置在can控制器13和can收发器12之间,如例如以节点111的图3的配置设置。这里描述的解决方案无关于其上所应用的can版本(can2.0或can-fd),并且为了便于说明,仅描述与can2.0版本相对应的方案。

保护设备26包括防火墙模块261,防火墙模块261通常接收在接收线cr上和在传输线ct上发送的can消息m的序列,并在滤过的接收线dr上和在滤过的传输线dt上发送can消息的滤过的序列。如上所述,消息m可以是非法消息mf。如以下更充分描述的那样,滤过的序列可能包含can消息m它们本身,可能包含从非法消息mf获取的破坏消息mf',或者可能通过合法消息m和非法消息mf的破坏(以下描述的模式b2)应用完全阻断。

因此,上述防火墙模块261配置成用于:

-提取在传输线ct或接收线cr上输送的can消息m的信息内容;

-分析上述信息内容;例如,这包括将输送中的can消息m的字段的值与存储在规则存储模块262中的防火墙规则r集进行比较,该规则存储模块262代表规则数据库,防火墙模块261至少可以访问该规则数据库以便进行读取;

-在基于其内容被识别为非法can消息mf的情况下,致使输送中的can消息m无效;在被分析的消息m被识别为非法消息mf而非法消息mf仍在can总线上输送的情况下,致使输送中的can消息m无效是通过在由保护设备26的传输期间根据阻断模式(例如,b1和b2,在下文将更详细地描述)执行其破坏而获得的。

如上所述,保护设备26还包括规则数据库262,该数据库包含由防火墙261应用于被分析的can消息(即在输送中)以识别非法消息mf的规则r。来自传输线ct和来自接收线cr的输送中的can消息m可服从于规则数据库262中的同一个规则r集,或者规则数据库262可以包含在接收cr和传输ct独立应用的两个规则集。

保护设备26还包括操作存储模块263,即,用于在can总线10上存储由保护设备26执行的操作b的日志的专用存储区域。保护设备26访问上述模块263以写入由保护设备在can总线10上执行的操作b。日志b包含有关防火墙261活动的统计信息(诸如,传输线ct上破坏的非法帧mf的数量,接收线cr上破坏的非法帧的数量),所述统计信息可以通过配置接口264进行查询,该接口264能够访问操作存储模块263以便进行读取,如图5中所示。

如上所述,保护设备26包括配置接口264,用于定义由防火墙261应用并存储在模块262中的过滤规则r。特别地,该配置接口可从外部通信接口(图中未示出)接收保护设备26的过滤配置,即规则r。该配置接口264与规则数据库262处于数据交换关系,其中它例如写入用于通过防火墙进行过滤的规则r集,并且如上所述,该配置接口264与操作存储模块263处于数据交换关系,例如用于读取防火墙261的操作日志中的数据。

与配置接口264相关联的是认证模块265,认证模块265配置为例如经由数字签名和数据加密机制来检查从外部通信接口接收的过滤配置的真实性。

保护设备26通常配置成用于实现过滤器,该过滤器阻断恶意的和不相关的can消息,仅允许合法数据通过。

合法消息与非法消息之间的区别可以基于保护设备26的使用目的地来配置,并且可以通过以下区别参数c来定义:

c1:can消息标识符;

c2:can消息长度;

c3:传输时间,例如在周期性消息情况下的频率;

c4:消息内容;此参数仅用于诊断类型的消息;

c5:车辆状态;此参数仅用于诊断类型的消息;以及

c6:每单位时间使用总线的百分比。

保护设备26配置为通常将规则r集应用于非诊断和诊断消息,在输送中的帧被识别为诊断类型的情况下,在该集上应用进一步的并且特定的过滤规则。

此外,特别是通过防火墙模块261配置保护设备26,以用于实现以下两种消息阻断模式之一:

选择性阻断模式b1,由此所有且仅有非法can消息mf被阻断;以及

完全阻断模式b2,由此所有can消息(合法消息m和非法消息mf两者)都被阻断。

完全阻断模式b2可配置为以下使用模式:

第一使用模式bc1,其中完全阻断模式b2被启用或禁用;

第二使用模式bc2,如果启用完全阻断模式b2,则其可以在保护设备26中定义违规类型和违规数量以及阻断模式保持激活状态期间的时间,对于每种指定的违规类型,一旦达到其,必须激活完全阻断模式b2;在第二使用模式b2中,因此在包括违规类型、违规数量和停用时间的列表中定义一个或多个停用参数。

完全阻断模式b2使第i个节点11i或网络(例如图4中的20b)能够从can总线10实际断开任意时间段,根据配置,该时间段甚至可以实际上是无限的,因此在经过设置的时间段后节点11i或网络完全隔离,或者节点11i恢复通信能力。

保护设备26阻断非法can消息的机制实现了零延迟模式。这在所有应用中都有利地使用了保护设备26,在这些应用中,由附加过滤元件(如实际上是保护设备26)引入的传送延迟将被最小化。

如上所述,由保护设备26实现的零延迟消息过滤模式设想的是通过这种方式来利用已经存在于can总线中的完整性检查机制:通过在can总线上传输期间使非法can消息mf无效(即破坏非法can消息),使得接收节点将忽略已经在can控制器13的数字级别(即数据链路层)处的上述非法消息mf,其中在can控制器13的数字级别(即数据链路层)处执行消息完整性检查,而无需将该消息传送到微控制器14(以及传送到osi堆栈的上层)。因此,甚至在零分析时间的理想条件下,上述零延迟模式与过滤元件接收-分析-重新传输的方式完全不同,如过滤元件接收-分析-重新传输的方式是网关的典型行为,过滤元件在任何情况下都必须在分析消息之前等待消息以便终止,并且在该消息合法且必须重新传输的情况下,再次参与总线争用和仲裁(在分析之后),从而引入等于至少是消息本身的重传持续时间的附加延迟。此外,由于过滤元件必须能够赢得can总线争用,以便其能够重新传输先前被分析的消息,因此该附加延迟可能会明显更长,其上限是由can协议的特性而引起的,因此其上限在理论上是无限的,这是在更高优先级的消息要由其他网络节点传输的情况下便是如此。

相反,由保护设备26实施的零延迟模式使得能够检验传输中(即在由设备26安装在其上的节点发送过程中或接收过程中)的can消息,因此使其可以:

-即使在消息传输或接收终止之前,如果消息是非法的,立即通过破坏消息而采取行动;以及

-如果消息是合法的,则使其保持不变,从而不影响其传送时间。

由保护设备26实施的通过第一选择性的阻断模式b1或第二完全阻断模式b2对can帧进行零延迟过滤的过程具体包括两个操作,所述两个操作是如此的以便不改变can消息的传送时间,并且不导致表现为非法消息已被成功发送的恶意节点。

第一操作是操作f1,其通过破坏can消息本身的位序列来由保护设备26执行来阻断输送中的消息。

第二操作是操作f2,其包括从恶意can节点(恶意can节点传输由保护设备26拦截的非法can消息mf)隐藏由恶意can节点传输的非法can消息的破坏,并因此通过在其他can节点的can控制器中实施的完整性检查而阻断can消息。

由于分别通过破坏f1和隐藏f2的上述阻断模式b1或b2,保护设备26和由设备26实现的保护方法保证在非法can消息的输送结束与错误消息的传输结束之间的同时性,该非法can消息通过由保护设备26执行的操作f1破坏,而错误消息响应于上述破坏的非法can消息(即作为检测到由保护设备26引入到恶意can消息中以便破坏它的错误条件的结果)而由一个或多个接收can节点111,……,11n(除了包括将阻断操作f1应用到非法消息mf的保护设备26的节点和除了注入非法消息mf的can节点)发送。

该同时性表示一个方面,该方面是防止触发已发送消息的不对准叠加的基础,因为不对准叠加将导致can总线10上的数据不断破坏,并经常地占用总线,并最终导致通信中断。

由保护设备通过破坏f1和隐藏f2的操作实现的保护方法利用can协议的数据和错误类型的消息的特定结构。

特别地,数据类型的消息由下表1中列出的连续位的部分s构成。

表1

在can总线标准中,数据类型的消息的部分s的结构本身就是已知的。

错误类型的消息包括主动类型的消息和被动类型的消息。对于主动错误(activeerror),消息的结构如下表2中所示。

表2

相反,对于被动错误,消息的结构如下表3中所示。

表3

在图6中通过示例的方式示出了涉及主动错误的情况。由mf表示的是正在传输的非法can消息,而由mf'表示的是破坏的消息,该破坏的消息在其结尾处具有错误消息em,该错误消息em是响应错误类型的can消息,该错误消息em由接收节点之一在由其can控制器实施的完整性检查检测到破坏之后发送。

此外,由bt表示的是位-时间轴,以及由nv表示的是在非法can消息mf中由保护设备26写入的信号。由si表示的是由保护设备产生的内部信号。特别地,信号si在正在传输消息的情况下是保护设备26中的信号dt,或者替代性地在正在接收消息的情况下是保护设备26的信号dr。

在此为了确保在由保护设备26破坏的数据类型的非法can消息mf的传输结束和由接收节点11的任何一个进行的响应错误类型的相应消息em的传输结束之间的同时性,即,对于要对准和叠加的上述消息的itm(间歇)字段(用于非法消息mf的字段s8和用于错误消息em的字段se3)而言,有必要在准确的插入点即在非法消息mf的位时间bt的特定值处插入一个错误条件。特别地,这通过用破坏序列替换原始位序列的一部分以获得破坏的消息来执行。

要插入由六个连续位(nv)组成的破坏序列的确切插入点是由数据包的格式和由can协议的规则唯一确定的,并且需要使用逻辑资源/模块,所述逻辑资源/模块专用于插入点的计算以及构成上述破坏序列nv的位的极性的计算。

特别地,为了计算crc(循环冗余校验(cyclicredundancycheck))字段内的六个连续位的序列的开始点以及组成它的位的(显性或隐性)极性,保护设备26特别是防火墙模块261设置有一个或多个逻辑模块/元件,其设计或配置成用于:

-动态地(在运行时)计算crc字段s5的值,以便预测将出现在crc字段内的填充位的数量;

-分析在上一步中重建的crc字段的内容,还考虑到crc之前的位,以便评估在crc字段(即消息m,mf的字段s5)中将出现的填充位的数量;由于crc字段是数据相关的(并且因此在运行时也会像数据一样变化),因此也以动态方式确定破坏序列的确切插入点。

参考图6,破坏序列的确切插入点是瞬间btj-5,而接收节点检测到填充错误条件(spe)时的瞬间是瞬间btj。在图中,紧接在破坏序列第一位之前的最后一位用btj-6表示,以便强调以下事实,即破坏序列必须具有与该位相反的极性。

因此:

-接收破坏消息mf的can节点11会以错误消息em(至于在示例中显示为主动错误的字段se1,se2,se3;否则,对于被动错误,使用字段sp1,sp2,sp3)进行响应,错误消息em在发生填充错误条件spe的点处从紧接在位时间btj之后的位时间btj+1开始;更具体地,如图6中所示,从位时间btj+1开始,写入错误消息em;在多个接收节点的情况下,每个接收节点11i传输错误类型的can消息em,其错误帧精确地叠加在由任何其他接收节点发送的任何其他的错误类型can消息em的错误帧上;

-错误消息(或叠加的错误消息)的结束即部分se3itm与非法消息mf的相应itm字段s8在时间上对准,部分se3itm包含隐性位(特别是三位)的字段,该字段用作消息之间的分隔符,即用作中断字段,该非法消息mf同时未经更改地重新传输到发送恶意节点。

即使假定can消息的数据类型的帧的各个字段的长度相同,由于可能插入填充位,can消息的长度也可以基于上述字段的内容而变化。因此,保护设备26配置为针对每个can消息动态地计算crc字段的点btj-5,在帧mf必须被破坏的情况下在该点处必须插入具有相同极性的六个连续位的序列nv。保护设备26配置为针对每个can消息动态地计算需要插入具有相同极性的六个连续位的序列nv的crc字段的点btj-5和上述序列nv的位的极性,在帧mf必须被破坏的情况下,上述序列nv的位的极性必须与位btj-6的极性相反。

如上所述,由保护设备26执行的另一基本操作包括从恶意can节点(恶意can节点传输由保护设备26拦截的非法can消息)隐藏f2上述非法can消息的破坏,以及因此通过在其他can节点的can控制器中实现的完整性检查对其的阻断。

在保护设备26破坏非法帧mf的情况下,如果保护设备26不隐藏该破坏,即序列nv在非法帧mf的crc字段s5的插入点btj-5处被插入并在点btj处确定填充错误条件spe,已经发送恶意帧mf的can节点将检测到该填充错误条件spe,结果将中断恶意帧mf的传输,将传输错误类型em的帧(不与由所有其他接收节点发送的错误类型的所有其他的帧对准),然后将尝试重新传输相同的恶意帧。

将隐藏传输中的消息破坏过程的操作f2如图7中所示进行处理,其中所表示的can控制器元件13和can收发器元件12例如是属于保护设备26安装在其上的受保护的can节点111的那些元件,并且受保护的can节点发送恶意消息mf(这是侵犯了保护设备26安装在其上的can节点的主机的情况)。特别地,因为也在接收线cr上重新读取在传输线ct上传输的can消息mf的每个位,所以保护设备26如下所述进行操作,在传输线ct上已经识别出到达设备26处的恶意帧mf(参见图7a)之后,上述恶意帧mf的破坏操作分两步进行。

在图7b中所示的第一步中,在主机侧,即朝向恶意节点(传输线ct和滤后的接收线dr),复制非法can消息mf,而无需改变滤过的接收线dr上的位流,而在收发器12下游的can总线侧,即朝向非恶意接收节点,即在滤过的传输线dt和在未经过滤的接收线cr上,通过修改其位流以适当方式破坏非法消息mf,以获得破坏的消息mf'。

在第二步骤(如图7c所示)中,在主机侧,即朝向恶意节点,保护设备26,经由在线路dr(图7c)上正确接收or的消息、通过通知由网络20的其他节点112,……,11n正确接收消息来模拟can总线,特别是经由在位时间ack位置期间发送显性位(dominantbit);同时,在can总线侧,保护设备26经由由can协议设想的错误帧em、通过已经接收破坏消息mf'的网络的其他节点11来阻断在线路cr上发出的错误警告。

隐藏传输中的消息的破坏过程的操作f2也适用于接收非法消息的情况,即由除保护设备26安装其上的受保护can节点111以外的can节点111以与在消息接收的情况下根据can协议的特征在上面已经表示的以及与图7a,图7b和图7c所示的方式类似的方式发送的消息的情况。特别地,在这种情况下,要发送、复制到恶意节点、通过二元性(duality)应在线路dt上进行传输的消息mf是不必要的;即,不执行复制动作,但是正确接收or的消息足以提供正确接收恶意消息(这次其是在can总线10上)的证据。

因此,用于防止车辆can通信网络20中的网络攻击的方法包括以下操作,其中车辆can通信网络20包括can总线10和多个节点11,节点11以信号交换关系与所述can总线10相关联并且至少部分地与用于控制车辆功能的单元相关联,所述方法包括以下操作:分析在所述多个节点11的节点之间的传输中的can消息m的内容,以识别非法can消息mf,并通过阻断模式b1,b2阻断所述非法消息mf,其中所述通过阻断模式b1,b2进行阻断的操作包括致使非法消息mf对于由所述节点11的can控制器13进行的完整性检查而言无效,即通过插入f1由所述can控制器13识别为错误的破坏位序列nv来破坏它,以获得破坏的消息mf',具体地设想在位时间btj-5处在非法can消息mf的完整性检查字段s5、特别是crc字段中插入f1所述破坏位序列nv,位时间btj-5的值是如此的以便使得将非法消息的分隔符字段(即itm,尤其是由三个隐性位组成的中断字段)与错误消息em的对应的分隔符字段在时间上对准,错误消息em由接收到所述非法消息mf的网络20的节点生成,其包括所述破坏序列nv。应当指出的是,上述插入操作是通过用破坏位序列即位序列nv来替换原始位序列的一部分、特别是完整性检查字段s5的一部分来执行的,特别是该位序列nv具有的极性与时间btj-6时的位的极性相反,时间btj-6时的位在插入点btj-5处的位之前,以获得破坏或非法消息mf'。

所述方法然后包括:

-在传输过程中提取传输中的消息m的信息内容;

-根据防火墙规则r集对所述信息内容进行分析;以及

-在信息内容的所述分析识别出被分析为非法消息mf的消息m的情况下,致使消息m无效,以获得破坏的消息mf'。

所描述的方法然后包括:选择是否至少根据选择性地阻断所有并且仅非法can消息mf的模式b1来应用致使f1非法消息mf无效的操作,还是选择根据完全阻断所有can消息的模式b2来应用致使f1非法消息mf无效的操作,而无论这些can消息是合法消息m还是非法消息mf。

然后,所描述的方法设想以下可能性:致使非法消息mf无效的所述操作将包括通过以下步骤从发送非法can消息mf的can节点或can网络隐藏f2插入破坏位nv的所述操作的操作,所述步骤为:

将没有任何改变、特别是没有序列nv的复制的所述非法can消息mf发送到传输所述非法消息mf的can节点11,或者对于传输所述非法消息mf的can网络10不采取任何复制动作;以及

对于分别由can节点11或can总线10传输非法消息的情况下,模拟can总线10或can节点11,通知由一个或多个接收节点正确接收非法消息mf,同时关于传输所述非法消息的所述can节点或can网络来阻断与所述非法消息mf相关联的错误消息em。

基于存储在存储模块262中的规则r,上述操作由保护设备26、特别是由其防火墙模块261实施。

为此目的,在变型实施例中,保护设备26可以设置在can节点的can控制器13和can收发器12之间,can节点因此是受保护的节点,即使其本身就是恶意节点。

在另外的变型实施例中,保护设备26可以与网关18相关联地设置在两个can网络20a,20b之间。

如前所述,保护设备26具有一个配置接口,即接口264,它可以经由以下列表和参数来定义防火墙规则r:

-白名单,即授权或允许的元素列表,用于在给定的车辆条件下应用的允许消息(以任何方向);该列表的每个项目均包含以下字段:

a)标识符;

b)长度;

c)传输和违规阈值参数;

d)消息类型(诊断/非诊断)

-允许的诊断服务白名单(此列表仅适用于诊断类型的消息);

-黑名单,即诊断服务未经授权或不允许的元素列表,其不允许在给定的车辆状况下使用(此列表仅适用于诊断类型的消息);

-用于激活完全阻断模式的“白名单/黑名单违规阈值”;

-用于激活完全阻断模式的“总线占用阈值”;以及

-用于确定状态是什么(例如,当前速度高于5km/h)的“关于检测车辆状况的信息”,将与“诊断服务的黑名单”和允许消息的“白名单”一起使用。

通过上述参数和列表设置的防火墙规则r存储在存储模块262的表中,并且可以通过添加新的防火墙规则r或者通过覆盖和/或消除现有的防火墙规则r来更新。保护设备26将与防火墙的活动相对应的所有统计信息b(在线路dt上破坏的非法帧的数量,在线路dr上破坏的非法帧的数量等)存储于存储模块263中,并且如图5中所示,其可以经由能够访问模块263的配置接口264进行咨询。

对于数据帧或远程帧类型的每个can消息m,实施在存储模块262中定义和包含的防火墙规则r的应用。过滤过程的示意图如图8中所示。

根据图8的流程图,描述由保护设备26执行的以保护程序100为例的实施例。

在该过程的开始105之后,在步骤110中,防火墙261从传输中的can消息m的仲裁字段s2中提取消息标识符(id,11/29位),将该消息标识符与“白名单”的相应字段进行比较用于车辆的状况集。如果消息标识符存在,则执行下一步骤120;否则,消息m被认为是非法消息mf,并且控制转到步骤180。

在步骤120中,防火墙261从传输中的can消息m的控制字段s3中提取消息长度(dlc,4位),将该消息长度与“白名单”的相应字段进行比较。如果长度正确,则执行下一步骤130;否则,can消息m被认为是非法消息mf,并且控制转到步骤180。

在步骤130中,基于标识符来测量自从最后一次接收到相同消息以来经过的时间,并将其与配置的时间阈值进行比较,例如,在最大时间tmax和最小时间tmin之间定义的时间间隔,或经过一个阶段等,也与违反计时规则的顺序有关。如果自最后一次接收到相同消息以来经过的时间落入允许的间隔内,或者未落入允许的间隔内、但检测到的违规次数低于给定的阈值(所有这些参数均从“白名单”提取,像时间间隔的参数),则执行下一步骤135;否则,can消息m被认为是非法消息mf,并且控制转到步骤180。

在步骤135中,进行检查以验证消息m是否为诊断类型。如果不是,则控制转到步骤160,在此更新车辆的状态。如果是,则在步骤140中从“数据”字段中提取诊断服务的值,并进行检查以查看其是否存在于模块262中存储的“诊断服务白名单”中。如果其存在,则执行下一步骤150;否则,can消息m被认为是非法消息mf,并且控制转到步骤180。

在步骤150中,从数据字段s4中提取诊断服务的值,并进行检查以查看其是否存在于针对车辆的状态设置的“诊断服务黑名单”中(参见步骤160)。如果其存在,则将消息m视为非法消息mf,并且控制转到步骤180;否则,将其视为合法消息,并且执行更新车辆状态的下一步骤160。

在步骤160中,将“关于车辆状况的检测的信息”与消息m的仲裁字段和数据字段一起使用,来更新表示车辆状况的内部信息。具体地,在步骤160中,进行检查以核实是否有必要进行车辆状态的更新。用于评估是否要更新车辆状态的鉴别因素包含在规则r集中。检查是基于传输中的帧的仲裁字段和数据字段。

接下来,在步骤170中,从消息的总长度中更新占用总线的值,并将其与“总线占用阈值”进行比较。如果该消息不遵守这些阈值,则将can消息m视为非法消息mf,并且控制转到步骤180。否则,过程100在步骤195中终止。

因此,通常,由防火墙261执行的提取在传输线ct上或在接收线cr上的传输中的can消息m的信息内容以及对该信息内容进行的分析的操作包括一个或多个操作110、120、130、135、140、150、170。

在步骤180中,由于can消息m被认为是非法消息mf,因此通过将检测到的违规类型与“白名单/黑名单违规的阈值”相结合,来决定是激活阻断模式b1还是阻断模式b2。

在步骤190中,将与消息的有效性和将要实施的阻断模式(无论是b1还是b2)有关的信息发送到防火墙模块261,防火墙模块261通过破坏f1和隐藏f2执行由阻断模式(即完全阻断(b1)或阻断(b2))所需的操作。

保护设备26设想既可以使用单帧诊断消息也可以使用多帧诊断消息来进行操作的可能性。在多帧诊断消息的情况下,如果消息链的第一帧被识别为恶意的,则保护设备26能够通过步骤135阻断该消息以及构成多帧消息的所有后续消息。因此,保护设备26中存在计数器,以跟踪在can总线上经过了多少can帧,并确定何时终止特定诊断服务的破坏过程。

因此,从上面的描述中,所提出的解决方案的优点清楚地显现出来。

所描述的设备和方法防止破坏的消息(在总线上发送)和由接收破坏消息的can节点生成的错误帧消息之间的任何时间上的未对准。

此外,所描述的设备和方法使得可以通过适当的隐藏过程来掩盖来自已经发送非法帧的can节点的破坏操作。这样可以防止由恶意can节点自动重新传输,由恶意can节点自动重新传输导致占用can总线。

所描述的设备和方法使得不引入can消息的传从的任何延迟成为可能,从而保证由所涉及的can节点以透明的方式使用它。

本文所述的设备和方法使得也可以利用诊断类型的can消息进行操作。由于专用的控制逻辑,如果诊断服务被识别为恶意的,则可以识别多帧类型的诊断消息序列并使整个消息链无效。

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