用于禁用控制器局域网(CAN)总线中的恶意ECU的系统和方法与流程

文档序号:21277336发布日期:2020-06-26 23:21阅读:496来源:国知局
用于禁用控制器局域网(CAN)总线中的恶意ECU的系统和方法与流程

一些实施方案涉及恶意活动的管理,并且更具体地,但非排他性地,涉及任选地在车辆内实施的控制器局域网(can)总线网络内的恶意活动的管理。



背景技术:

过去二十年已见证了电子系统在车辆中实施的巨大增长。这些系统被设计成控制和/或监测车辆操作的许多方面,例如,发动机操作、驾驶辅助模块、转向控制、车门打开和锁定、速度传感器、灯光控制、安全机构(例如,abs制动器、安全气囊等)等。基于can总线定义实施连接在车辆电子控制单元(ecu)之间的通信手段和软件协议。can总线定义了在不同ecu之间传输数据的方式。

根据can总线定义连接的ecu易于受到恶意活动的攻击。例如,怀有恶意的黑客可以经由can总线控制由一个或多个ecu实施的一个或多个车辆特征。此外,将外部通信系统连接到车辆诸如移动通信以及多媒体网络增加了车辆系统对来自外部攻击的易感性。怀有恶意的人可能会干扰can通信,并且传输错误的通信帧或错误的错误帧,以试图改变至少一个ecu的反应。以下事实造成另一弱点,几乎所有可能的总线消息、它们各自的结构以及通信协议都在公开可用的文档中指定。



技术实现要素:

根据第一方面,一种计算机实施的禁用与控制器局域网(can)总线网络通信的多个电子控制单元(ecu)中的恶意ecu的方法,该方法由与多个ecu和can总线网络通信的计算装置执行,包括:检测由恶意ecu通过can总线网络传输的恶意消息,并且通过can总线网络注入多个位以触发预定义的多个错误,以在该恶意ecu进行附加尝试重新传输恶意消息的附加实例之前,禁用该恶意ecu。

根据第二方面,一种禁用与控制器局域网(can)总线网络通信的多个电子控制单元(ecu)中的恶意ecu的系统包括:非暂时性存储器,其上存储有由与多个ecu和can总线网络通信的计算装置的至少一个硬件处理器执行的代码,该代码包括:用于检测由恶意ecu通过can总线网络传输的恶意消息的代码,以及用于通过can总线网络注入多个位以触发预定义的多个错误,以在该恶意ecu进行附加尝试重新传输恶意消息的附加实例之前,禁用该恶意ecu的代码。

根据第三方面,一种禁用与控制器局域网(can)总线网络通信的多个电子控制单元(ecu)中的恶意ecu的计算机程序产品包括:非暂时性存储器,其上存储有由与多个ecu和can总线网络通信的计算装置的至少一个硬件处理器执行的代码,该代码包括:用于检测由恶意ecu通过can总线网络传输的恶意消息的指令,以及用于通过can总线网络注入多个位以触发为在该恶意ecu进行附加尝试重新传输恶意消息的附加实例之前禁用该恶意ecu而生成的预定义的多个错误的指令。

本文描述的系统、方法和/或代码指令涉及基于can总线的网络(例如,安装在基于道路的车辆内的网络)抵御恶意活动的安全性。can被设计为一种不提供自身安全性和/或自身加密标准的低等级协议。特别涉及阻止恶意ecu在can总线网络上进一步重新传输恶意消息。实施方案还可以涉及减少由计算装置通过can总线网络传输的用于禁用ecu的位和/或消息的数量(例如,将恶意ecu的错误计数器增加到超过错误阈值,使得恶意ecu进入总线断开状态,在该状态中,不再允许恶意ecu通过can总线网络传输任何数据)。

本文所述的系统、方法和/或代码指令涉及检测can总线网络(例如,安装在车辆中)内的恶意活动,例如,试图将自身安装在与can总线网络通信的部件(例如,ecu)内的恶意代码、试图访问与can总线网络通信的一个或多个部件(例如,ecu)的恶意代码和/或由人类经由can总线网络执行的手动恶意活动。检测该恶意活动有助于保持经净化的车辆网络。恶意活动检测是与计算机技术和/或网络技术密不可分的概念。

本文所述的系统、方法和/或代码指令提高了安装有can总线网络的车辆的性能(例如,阻止数据进入车辆而遭受恶意活动,保持车辆安全),提高了与can总线网络通信的一个或多个ecu的性能(例如,阻止恶意活动损坏ecu,阻止由于恶意活动而使处理器使用量和/或存储器增加),和/或提高了该can总线网络的性能(例如,阻止由于恶意活动而使网络性能降低,和/或可用带宽减少,和/或数据传输时间增加)。性能的提高是通过保持经净化can总线网络和/或经净化ecu来实现的。受到恶意活动不利影响的ecu和/或can总线网络可能经历处理器性能下降、可用存储器减少、网络性能和/或可用网络带宽下降。

特别地,如本文以附加细节描述的,本文所述的系统、方法和/或代码指令在恶意ecu被禁用通过can总线网络传输数据(例如,恶意ecu的状态被改变为总线断开)之前,阻止该恶意ecu通过can总线网络重新传输恶意消息。例如,基于下面以附加细节描述的其他方法,恶意ecu每次通过can总线网络传输恶意消息触发缓和ecu(和/或其他计算装置)注入错误(例如,位填充错误)。注入的错误触发恶意ecu发送错误标志,并且针对每个注入的错误,增加恶意ecu的传输错误计数器的值(例如,增加8)。本文所述的系统、方法和/或代码指令通过触发恶意ecu中的多个错误使得恶意ecu被禁用,来阻止在恶意消息重新传输之前迭代恶意消息的重新传输和错误的重新注入的过程。

减少恶意消息的重新传输,降低了重新传输的恶意消息中的一个逃脱检测并能够恶意地影响一个或多个ecu和/或其他车辆部件的风险。

本文所述的系统、方法和/或代码指令通过保持经净化网络不受恶意活动不利影响来提高车辆自身的性能。具有经净化网络的车辆能够正确运行,提供所设计的特征,例如安全特征和/或道路导航特征。受到恶意活动不利影响的车辆可能失灵,可能导致车辆故障、事故和导航错误。

在第一、第二和第三方面的另一实现形式中,由恶意ecu的至少一个错误计数器存储的当前错误计数值响应于触发预定义的多个错误而增加到超过表示禁用恶意ecu的错误阈值。

在第一、第二和第三方面的另一实现形式中,当前错误计数值和错误阈值之间的差值大于错误计数器响应于单个生成的错误而将当前错误计数值增加的值。

在第一、第二和第三方面的另一实现形式中,根据错误阈值除以当前错误计数值响应于生成单个错误而增加的量来计算多个错误的预定义数量。

在第一、第二和第三方面的另一实现形式中,当错误阈值为255并且当当前传输错误计数值响应于生成单个错误而增加8时,多个错误的预定义数量为32。

在第一、第二和第三方面的另一实现形式中,所注入的位被设计成触发选自包括由以下项组成的组的以下错误中的一个或多个:位填充、位错误、循环冗余校验(crc)、监测、帧和应答错误。

在第一、第二和第三方面的另一实现形式中,预定义数量的多个错误由多个注入会话触发,其中响应于检测到附加的错误而触发每个位注入会话。

在第一、第二和第三方面的另一实现形式中,多个注入会话中的第一注入会话包括注入位以触发第一错误和传输第一错误标志,其中恶意ecu的至少一个错误计数器所存储的当前错误计数值根据第一错误标志的传输而增加,并且该方法还包括以下项和/或该系统还包括用于以下项的代码和/或计算机程序产品包括用于以下项的附加指令:中断存储第一错误标志的错误帧并注入位作为用于操纵错误帧的形式以触发形式错误的附加的位注入会话,其中该形式错误触发另一错误标志的传输,另一错误标志的传输触发对由恶意ecu的至少一个错误计数器存储的当前错误计数值的另一增加,对附加的错误帧的中断和位的注入作为用于操纵错误帧的形式的附加的位注入会话进行迭代,以在每次迭代时触发形式错误形式的传输和当前错误计数值的相应增加,其中相应地执行多次迭代,以生成预定义数量的多个错误,以供禁用恶意ecu。

在第一、第二和第三方面的另一实现形式中,操纵错误帧的形式包括:传输单个显性位,代替传输错误帧的错误定界符字段的预期的至少一个隐性位。

在第一、第二和第三方面的另一实现形式中,在不操纵错误帧的形式的情况下执行中断错误帧的最后一次迭代。

在第一、第二和第三方面的另一实现形式中,第一错误包括填充错误,并且注入6个显性位来触发该填充错误。

在第一、第二和第三方面的另一实现形式中,注入多个位包括:在单个会话中注入多个位,作为以下项的显性位的连续流:第一预定义数量的连续显性位,并且注入第二预定义数量的连续集合,每个集合为第三预定义数量的显性位,接着是隐性定界符的第四预定义数量的有效位和第五预定义数量的隐性位间歇。

在第一、第二和第三方面的另一实现形式中,第一预定义数量的连续显性位包括14个显性位,第二预定义数量的连续集合包括31个连续集合,第三预定义数量的显性位包括8个显性位,第四预定义数量的有效位包括有效的8位隐性定界符,并且第五预定义数量的隐性位间歇包括3位隐性间歇。

在第一、第二和第三方面的另一实现形式中,由恶意ecu的至少一个错误计数器存储的当前错误计数值从0增加到256。

在第一、第二和第三方面的另一实现形式中,响应于恶意ecu检测到第一预定义数量的连续显性位,并且响应于检测到第二预定义数量的附加的第三预定义数量的连续显性位的每个序列,恶意ecu的至少一个错误计数器存储的当前错误计数值增加。

在第一、第二和第三方面的另一实现形式中,在传输主动错误标志之后,恶意ecu检测到第一预定义数量的连续显性位。

在第一、第二和第三方面的另一实现形式中,在检测到在被动错误标志之后的第六预定义数量的连续显性位之后,恶意ecu检测到第一预定义数量的连续显性位。

在第一、第二和第三方面的另一实现形式中,第六预定义数量的连续显性位表示在被动错误标志之后的第8连续显性位。

在第一、第二和第三方面的另一实现形式中,在车辆中实施恶意ecu、can总线网络、多个ecu以及计算装置。

在第一、第二和第三方面的另一实现形式中,将计算装置实施为与恶意ecu和can总线网络通信的独立部件。

在第一、第二和第三方面的另一实现形式中,将计算装置实施为多个ecu中的一个或多个,其中代码指令安装在多个ecu中的相应一个或多个的本地存储器上,以供多个ecu中相应的一个或多个的硬件处理器执行。

除非另有定义,否则本文使用的所有技术术语和/或科学术语具有与一些实施方案所属领域的普通技术人员通常理解的含义相同的含义。虽然类似于或等同于本文所述的那些的方法和材料可以用于实践或测试各实施方案,但在下文中描述示例性方法和/或材料。如有冲突,则以包括定义的专利说明书为准。另外,材料、方法和示例仅是说明性的,并不一定旨在是限制性的。

附图说明

本文参考附图仅以示例的方式描述了一些实施方案。现在具体参考详细附图,强调所示的细节是示例性的,并且用于实施方案的说明性讨论。在这方面,结合附图进行的描述使本领域技术人员明白可以如何实践实施方案。

在附图中:

图1是根据一些实施方案的禁用与can总线网络和一个或多个其他ecu通信的恶意ecu的方法的流程图;

图2是根据一些实施方案的包括禁用与can总线网络和一个或多个合法ecu通信的恶意ecu的计算单元的系统的部件的框图;

图3是根据一些实施方案的禁用恶意ecu的方法的示例性实现方案的流程图;并且

图4是根据一些实施方案的禁用恶意ecu的方法的另一示例性实现方案的流程图。

具体实施方式

一些实施方案涉及恶意活动的管理,并且更具体地,但非排他性地,涉及任选地在车辆内实施的控制器局域网(can)总线网络内的恶意活动的管理。

一些实施方案的一个方面涉及用于在检测到由恶意ecu通过can总线网络传输的恶意消息时禁用该恶意ecu的系统、设备、方法和/或代码指令(存储在数据存储装置中,可由一个或多个硬件处理器执行)。恶意ecu被计算装置(例如,缓和ecu)禁用,该计算装置通过can总线网络传输预定义序列的位。响应于所注入的位,生成预定义数量的错误。响应于所生成的预定义数量的错误,该恶意ecu被禁用通过can总线网络传输数据。预定义数量的错误耗尽了恶意ecu重新传输机制。在该恶意ecu进行附加尝试重新传输恶意消息的附加实例之前,该恶意ecu被禁用。

任选地,该恶意ecu的传输错误计数器的值响应于ecu所生成的错误而增加到超过错误阈值的值。当传输错误计数器值提高到超过错误阈值时,该恶意ecu被阻止通过can总线传输恶意数据(和一般数据)。

除了恶意消息的第一实例(被检测到并触发禁用恶意ecu的过程)之外,恶意ecu不传输恶意消息的附加实例。在恶意ecu能够传输恶意消息的另一实例之前,该恶意ecu被禁用通过can总线网络传输数据。

计算装置注入被选择来触发由恶意ecu生成的两个或更多个错误的位,当错误计数器的当前值和错误阈值之间的差值大于错误计数器响应于单个生成的错误而递增的值时,这些位禁用该恶意ecu。

任选地,预定义数量的错误生成为多个注入会话。响应于检测到附加的错误标志,触发每个位注入会话。注入位(例如,6个显性位)以触发第一错误(例如,填充错误)(至少通过恶意ecu),并且触发第一错误标志的传输(至少通过恶意ecu)。响应于所生成的错误,恶意ecu的传输错误计数器的值增加(例如,增加8)。计算装置中断存储由恶意ecu传输的第一错误标志的错误帧,并且计算装置通过附加的位注入会话的注入来操纵错误帧的形式,以触发通过恶意ecu的形式错误。形式错误触发通过恶意ecu传输另一错误标志。另一错误标志的传输触发恶意ecu的传输错误计数器的另一增加。中断错误帧和操纵错误帧的形式以触发恶意ecu的错误形式传输迭代预定义次数,以触发通过恶意ecu的预定义数量的错误,这相应地将错误计数器的值递增到超过错误阈值,以禁用恶意ecu进一步通过can总线网络传输。注意的是,恶意ecu在被禁用通过can总线网络进一步传输数据之前,只能通过can总线网络传输一次恶意消息。

可选地或附加地,位在单个会话中注入,作为显性位的连续流。注入第一预定义数量的连续显性位(例如,14个),接着注入第二预定义数量的连续集合(例如,31个),每个集合为第三预定义数量的显性位(例如,8个),接着注入隐性定界符的第四预定义数量的有效位(例如,8个),并且注入第五预定义数量的隐性位间歇(例如,3个)。该位序列被设计成触发由恶意ecu生成的预定义数量的错误,并且触发恶意ecu的错误计数值升高到阈值附近,从而禁用该恶意ecu。在该恶意ecu能够通过can总线网络重新传输恶意消息之前,禁用该恶意ecu。

本文描述的系统、方法和/或代码指令涉及基于can总线的网络(例如,安装在基于道路的车辆内的网络)抵御恶意活动的安全性。can被设计为一种不提供自身安全性和/或自身加密标准的低等级协议。特别涉及阻止恶意ecu在can总线网络上进一步重新传输恶意消息。实施方案还可以涉及减少由计算装置通过can总线网络传输的用于禁用ecu的位和/或消息的数量(例如,将恶意ecu的错误计数器增加到超过错误阈值,使得恶意ecu进入总线断开状态,在该状态中,不再允许恶意ecu通过can总线网络传输任何数据)。

本文描述的系统、方法和/或代码指令改进了基于can总线的网络的安全性的技术领域内的底层过程,特别是安装在车辆内的基于can总线的网络的安全性的技术领域内的底层过程。

本文所述的系统、方法和/或代码指令涉及检测can总线网络(例如,安装在车辆中)内的恶意活动,例如,试图将自身安装在与can总线网络通信的部件(例如,ecu)内的恶意代码、试图访问与can总线网络通信的一个或多个部件(例如,ecu)的恶意代码和/或由人类经由can总线网络执行的手动恶意活动。检测该恶意活动有助于保持经净化的车辆网络。恶意活动检测是与计算机技术和/或网络技术密不可分的概念。

本文所述的系统、方法和/或代码指令提高了安装有can总线网络的车辆的性能(例如,阻止数据进入车辆而遭受恶意活动,保持车辆安全),提高了与can总线网络通信的一个或多个ecu的性能(例如,阻止恶意活动损坏ecu,阻止由于恶意活动而使处理器使用量和/或存储器增加),和/或提高了该can总线网络的性能(例如,阻止由于恶意活动而使网络性能降低,和/或可用带宽减少,和/或数据传输时间增加)。性能的提高是通过保持经净化can总线网络和/或经净化ecu来实现的。受到恶意活动不利影响的ecu和/或can总线网络可能经历处理器性能下降、可用存储器减少、网络性能和/或可用网络带宽下降。

特别地,如本文以附加细节描述的,本文所述的系统、方法和/或代码指令在恶意ecu被禁用通过can总线网络传输数据(例如,恶意ecu的状态被改变为总线断开)之前,阻止该恶意ecu通过can总线网络重新传输恶意消息。例如,基于下面以附加细节描述的其他方法,恶意ecu每次通过can总线网络传输恶意消息触发缓和ecu(和/或其他计算装置)注入错误(例如,位填充错误)。注入的错误触发恶意ecu发送错误标志,并且针对每个注入的错误,增加恶意ecu的传输错误计数器的值(例如,增加8)。本文所述的系统、方法和/或代码指令通过触发恶意ecu中的多个错误使得恶意ecu被禁用,来阻止在恶意消息重新传输之前迭代恶意消息的重新传输和错误的重新注入的过程。

减少恶意消息的重新传输,降低了重新传输的恶意消息中的一个逃脱检测并能够恶意地影响一个或多个ecu和/或其他车辆部件的风险。

本文所述的系统、方法和/或代码指令通过保持经净化网络不受恶意活动不利影响来提高车辆自身的性能。具有经净化网络的车辆能够正确执行,提供所设计的特征,例如安全特征和/或道路导航特征。受到恶意活动不利影响的车辆可能失灵,可能导致车辆故障、事故和导航错误。

本文描述的系统、方法和/或代码指令与物理现实部件相关联,部件包括ecu、提供can总线网络的数据传输的物理介质、本文描述的计算装置的硬件处理器以及存储由硬件处理器执行的代码指令的存储器。

本文所述的系统和/或方法提供了一种用于阻止恶意ecu将来通过can总线网络传输恶意消息的独特的、特别的和先进的技术。

因此,本文描述的系统和/或方法与安装在车辆内的网络环境和/或计算机技术密不可分。

在详细解释至少一个实施方案之前,应当理解,实施方案的应用不一定局限于在以下描述中阐述的和/或在附图和/或示例中示出的部件和/或方法的构造和布置的细节。能够以各种方式实践或执行其他实施方案。

实施方案可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的一种或多种计算机可读存储介质,该计算机可读程序指令用于使处理器执行各方面。

计算机可读存储介质可以是可保持并存储指令以供指令执行装置使用的有形装置。计算机可读存储介质可以是例如但不限于电子存储装置、磁性存储装置、光学存储装置、电磁存储装置、半导体存储装置或前述的任何合适组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能光盘(dvd)、记忆棒、软盘、以及前述的任何合适组合。如本文所用的计算机可读存储介质不应被解释为本身是暂时的信号,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)、或通过导线传输的电信号。

本文中所描述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理装置,或经由例如互联网、局域网、广域网和/或无线网的网络下载到外部计算机或外部存储装置。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发该计算机可读程序指令以存储在相应计算/处理装置内的计算机可读存储介质中。

用于执行操作的计算机可读程序指令可以是汇编程序指令、指令集架构(isa)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据、或者用一种或多种编程语言的任何组合撰写的源代码或目标代码,该编程语言包括诸如smalltalk、c++等面向对象的编程语言和诸如“c”编程语言或类似编程语言的常规程序性编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络连接到用户的计算机,该网络包括局域网(lan)或广域网(wan),或者可以连接到外部计算机的连接(例如,通过使用互联网服务提供商的互联网进行的连接)。在一些实施方案中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行各方面。

本文参考根据实施方案的方法、设备(系统)和计算机程序产品的流程图图示和/或框图来描述各方面。将会理解,流程图图示和/或框图的每个方框、以及在流程图图示和/或框图中的方框的组合可以由计算机可读程序指令来实施。

可以将这些计算机可读程序指令提供到通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实施流程图和/或框图的一个或多个方框中指定的功能/动作的装置。也可以将这些计算机可读程序指令存储在计算机可读存储介质中,该计算机可读存储介质可以引导计算机、可编程数据处理设备和/或其他装置以特定方式运行,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实施流程图和/或框图的一个或多个方框中指定的功能/动作的各方面的指令。

也可以将该计算机可读程序指令加载到计算机、其他可编程数据处理设备或其他装置上,以使得在计算机、其他可编程设备或其他装置上执行一系列的操作步骤,从而产生计算机实施的过程,使得在计算机、其他可编程设备或其他装置上执行的指令实施流程图和/或框图的一个或多个方框中指定的功能/动作。

附图中的流程图和框图示出根据各个实施方案的系统、方法和计算机程序产品的可能的实现方案的架构、功能性和操作。在这方面,流程图或框图中的每个方框可以表示指令的模块、段或一部分,其包括用于实施所指定的逻辑功能的一个或多个可执行指令。在一些可选的实现方案中,方框中提到的功能可以不按附图中提到的顺序发生。例如,连续示出的两个方框实际上可以大致上同时执行,或者这些方框有时可以按相反的顺序执行,这取决于所涉及的功能性。还应注意,框图和/或流程图图示的每个方框以及框图和/或流程图图示中的方框的组合可以由执行指定功能或动作或者实施专用硬件和计算机指令的组合的基于专用硬件的系统来实施。

如本文所使用的,术语恶意ecu指代传输恶意消息的一个或多个ecu。为了清楚,描述了单个恶意ecu的情况。可基于参考单个恶意ecu情况描述的系统和/或方法来禁用多个恶意ecu。表示特定ecu被识别为恶意ecu。

如本文所使用的,术语恶意消息指代通过can总线传输的恶意数据,例如,符合can总线定义的帧。恶意消息可以包括例如基础帧格式(11位id)和/或扩展帧格式(由11位标识符(即,基础标识符)和/或18位扩展(标识符扩展)组成的29位id。术语恶意消息可以包括以下示例性帧类型中的一种或多种:数据帧:包含用于传输的节点数据的帧;远程帧:请求传输特定标识符的帧;错误帧:由检测到错误的任何节点传输的帧;以及过载帧:在数据和/或远程帧之间注入延迟的帧。恶意消息可以由恶意代码执行的自动恶意活动和/或人类(例如黑客、小偷、恐怖分子)执行的手动恶意动作生成。恶意代码的示例包括病毒、蠕虫、特洛伊木马、间谍软件、广告软件、加密软件和勒索软件。恶意代码可以通过注入、通过手动编码和/或其他方法安装为可执行代码、脚本、应用、文件。手动恶意动作的示例包括手动篡改现有数据、安装伪造或假冒数据而不是真实记录的传感器数据以及安装恶意代码。

现在描述ecu根据can总线定义进行错误处理的附加细节:

术语can,控制器局域网,可以指代具有基于帧的协议的控制器网络,用于在没有主机计算机的情况下装置之间的通信。can还可以提供多主机冗余网络,即使某些节点不工作也能操作。can帧不一定与接收地址相关联,而是根据其标识符进行分类。因此,当所有连接的节点独立决定是否进一步处理所接收的帧时,can控制器可以向所有连接的节点广播它们的帧。can通信可以应用分散优先级驱动的访问控制方法,以保证首先传输最高优先级帧,并且应用可以检测错误并中断通信的错误检测机制。另外,术语can可以包括但不一定限于事件触发的can总线、时间触发的can总线、多媒体连接的can总线、无线连接的can总线或诸如lin(本地互连网络)总线之类的小型本地自主网络。在两个网络装置之间发送的每个消息可以细分为包含二进制数据单元的数据包,其由底层硬件和软件通过计算机网络进行通信。根据协议的不同,数据包可以以确定它们的边界、来源和目的地的某种标准格式来构建。数据包可以封装到数据链路层的帧中,使得它们能够通过不同的介质而传输到最终目的地。术语帧在下文中可互换地指代在can网络中通信传送的消息格式。这包括例如基础帧格式(11位id)和扩展帧格式(由11位标识符(基础标识符)和18位扩展(标识符扩展)组成的29位id两者。附加地或可选地,该术语还可以包括以下帧类型中的一种或多种:数据帧:包含用于传输的节点数据的帧;远程帧:请求传输特定标识符的帧;错误帧:由检测到错误的任何节点传输的帧;以及过载帧:在数据和/或远程帧之间注入延迟的帧。

can网络中的错误可能发生在位级别和/或帧级别。这些错误可以包括例如循环冗余校验(crc)、位错误、位填充、监测、帧和应答错误。当ecu检测到错误时,其将立即中止传输,并且广播错误帧,该错误帧包括由违反位填充规则的位串组成的错误标志,所有其他ecu也将通过传输错误标志来进行响应。出现足够数量的错误后,ecu将最终切换到总线断开状态。

错误可划分为传输错误和接收错误。在车辆中,至关重要的可以是知晓错误是暂时性的(诸如,由于噪声、电涌或任何暂时的情况所导致的)还是由于硬件缺陷导致的节点故障而导致的永久性的。因此,每个节点(ecu)包括一个或多个错误计数器,跟踪传输和接收的错误数量。通常,错误计数能够影响如下的ecu的状态:

根据can总线定义,每个ecu(即,节点)被配置为在三种状态中的一种下操作:错误主动、错误被动及总线断开。术语主动和/或被动指代如果节点检测到错误,则允许该节点发送的错误帧的类型。错误主动状态指示节点完全正常工作。该节点在网络上处于主动状态,且可以传输错误主动帧。当节点处于错误主动状态时,无论何时检测到错误,该节点都可以通过发送错误主动帧来中断传输。错误主动帧包括六个显性(即,o)位,这些位超控总线上当前正在传输的内容。它中断当前传输,并且总线上包括传输器的所有节点都知道检测到错误。

与错误主动不同,当节点处于错误被动状态模式时,节点被限制发送错误主动帧(根据can总线定义)。这表示如果节点检测到错误,则该节点可以发送由6个隐性(即,1)位组成的错误被动帧。因为隐性位不中断传输,所以传输节点可以在不中断的情况下继续其传输。除了允许节点发送的错误帧类型的差异之外,不存在附加显著差异,并且节点可以像总线上的任何其他节点一样传输正常帧。作为非限制性示例255,以上错误计数将导致节点进入总线断开模式,而不在总线上进行传输。

通常,接收错误将错误计数增加1(或另一预定义的数字),并且传输错误将计数增加8(或另一预定义的数字)。无错误消息将计数降低1(或另一预定义的数字)。

当错误计数返回0时,恢复正常活动。当处于离线模式时,处于总线断开(离线)状况的节点配置预定义数量的连续隐性位,这些位已被监测。如果节点在传输正常帧时检测到错误(或者是该节点自己检测到错误,或者某个其他节点传输了错误主动帧并中断了传输),则其将错误计数增加8(tx_error_counter=tx_error_counter+8)。当错误计数器越过127级(128级及更高)时,其从错误主动状态改变为错误被动状态。当错误计数器达到256时,节点切换到总线断开状态,并且不再被允许传输任何消息。

当节点不处于总线断开时,每次成功传输正常帧都会导致错误计数器减少1(或另一预定义的值)。如果不存在该节点的传输导致的其他问题,则这允许该节点恢复到错误主动状态。

根据can总线定义,由ecu进行错误处理的附加细节可以参见例如盖伊·鲁维欧(guyruvio)等人的国际专利申请公开号wo2017/021970“meansandmethodsforregulatingcancommunication(用于调节can通信的装置和方法)”,其全部内容通过引用并入本文。

现在详细讨论所解决的技术问题和技术解决方案的更多细节。讨论了另一种方法来强调所解决的技术问题。该方法在包括经由任选地安装在车辆中的can总线彼此通信的多个ecu的环境中实施。另一种方法的操作如下:

*当(例如,由计算装置,任选地实施为ecu,称为缓和ecu)由缓和ecu检测到由ecu中的一个(称为恶意ecu)传输的恶意消息时,该缓和ecu将6个显性位注入到can总线网络上。如can总线定义所定义的,6个显性位(即,0)表示由在can总线网络上检测到错误的ecu传输的错误主动帧。这6个显性位超控当前在can总线上传输的内容,并且触发恶意ecu中止恶意消息的传输。

*当恶意ecu检测到位错误(最迟在第六个注入的0位)时,该恶意ecu在下一位传输错误标志。错误标志包括违反位填充规则的位流。当恶意ecu成功地传输错误标志时,该恶意ecu将其传输错误计数器(transmiterrorcounter)的值增加8。

*当其他ecu(即,非恶意ecu)检测到由缓和ecu传输的位填充错误时,它们丢弃由恶意ecu传输的恶意消息。

*识别由缓和ecu传输的初始注入错误(即,6个显性位)的其他ecu各自传输相应的错误标志和/或回应错误标志,这些标志之后预期是包括8个隐性位(即,1)的错误定界符字段,其后是3个间歇隐性位,此后,can总线变成空闲。

*未能传输恶意消息的恶意ecu会根据优先级且在can总线空闲时立即尝试重新传输恶意消息。

*随着缓和ecu检测到重新传输的恶意消息,并将注入的6个显性位重新传输到can总线网络上,该过程进行迭代。恶意ecu响应于成功传输另一错误标志,将传输错误计数器的值增加附加8。该过程进行迭代,直到传输错误计数器的值上升到超过预定义阈值(例如,255),这触发恶意ecu进入总线断开状态,在此期间不进行附加尝试以传输恶意消息。

本文所解决的技术问题涉及以下事实:由can总线定义所定义的自动重新传输机制被设计用于重新传输ecu例如由于外部干扰、总线上的过度噪声或其他原因而未能传输的合法消息。当恶意消息被重新传输(应当禁止而非重新传输)而非合法消息被重新传输(实际上应当重新传输)时,就会出现技术问题。被检测到并丢弃的恶意消息根据can总线定义进行处理,就如该恶意消息的传输已经失败,并且遵循can总线定义的重新传输机制重新传输该恶意消息。为了完全阻止附加尝试重新传输恶意消息,通过将错误计数器的值增加到超过阈值,阻止恶意ecu通过can总线附加传输数据。然而,当阈值为255,并且错误计数器的初始值为零时,需要成功阻止32次重新传输相同恶意消息的尝试,以使恶意ecu的错误计数器高于阈值,从而禁用恶意ecu进一步重新传输恶意消息。

可能出现的与技术问题相关的其他技术议题包括以下中的一个或多个:

*阻止32次传输恶意消息的尝试会带来风险,即恶意消息中的一个未被缓和ecu检测到,并且能够到达其目的地,从而导致恶意活动。

*由于恶意ecu对恶意消息的每次重新传输都要进行重复仲裁,因此可能会出现其他合法消息赢得仲裁的情况,从而延迟恶意消息的重新传输,使得更加难以检测恶意消息和/或区分恶意消息与所传输的合法消息。

*因为通过can总线传输数据是基于标识(id)的,所以重复性的重新传输的机制可能会影响与恶意ecu具有相同id的合法ecu传输新的真实帧(即,合法数据)。例如,恶意ecu可能恶意地使用合法ecu的id,以尝试冒充合法ecu。

*完成整个重新传输过程(即,阻止32次恶意消息的重新传输)所需的时间显著。例如,循环阻止恶意消息的重新传输是基于30个位的传输:帧的起始(1个显性位)+id(11位)+rtr(1个隐性位)+错误标志(6个显性位)+错误定界符(8个隐性位)+间歇(3个隐性位)。对于32次循环,传输的位的总数量为960。示例性处理速率为每位2微秒,则总处理时间变得显著。

现参考图1,该图1是根据一些实施方案的禁用与can总线网络和一个或多个其他ecu通信的恶意ecu的方法的流程图。响应于检测到恶意ecu通过can总线网络传输的一个或多个恶意消息(例如,在帧内传输的数据),禁用该恶意ecu。还参考图2,图2是根据一些实施方案的系统200的部件的框图,该系统200包括计算单元202,该计算单元202禁用与can总线网络206和一个或多个合法ecu208通信的恶意ecu204。计算单元202可以通过一个或多个硬件处理器210执行数据存储装置212(也称为程序存储装置和/或存储器)中存储的代码指令212a来实施参考图1描述的方法的动作。

计算装置202可以安装在车辆214内,任选地,基于道路的车辆,例如汽车、卡车、货车、小型货车和公共汽车。车辆可以是自主驾驶车辆、手动驾驶车辆或半自主半手动驾驶车辆。

在本文中,计算装置202可以被称为缓和ecu。

计算装置202可以被实施为例如硬件部件(例如,被安装在车辆214中)、安装在一个或多个现有ecu上的代码指令(其中代码指令由现有ecu的硬件处理器执行)、可用于其他目的的便携式计算单元(例如,移动装置(例如,智能手机、平板计算机、膝上型计算机、眼镜计算机和手表计算机))和/或位于车辆外部的与can总线网络206无线通信的外部计算装置(例如,服务器)。计算装置202可以被安装为车辆214内的集成部件、车辆214的可移除部件和/或车辆214的外部部件。

处理器210可以被实施为例如中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga)、数字信号处理器(dsp)和专用集成电路(asic)。处理器210可以包括一个或多个处理器(同构或异构),这一个或多个处理器可以被布置成用于并行处理、作为集群和/或作为一个或多个多核处理单元,例如,被分布在多个虚拟和/或物理服务器上,例如,位于计算云中和/或多个网络连接的处理节点上。

数据存储装置212存储可由处理器210执行的代码指令212a-b。数据存储装置212被实施为例如随机存取存储器(ram)、只读存储器(rom)和/或存储装置,例如,非易失性存储器、磁介质、半导体存储器装置、硬盘驱动器、可移动存储装置以及光学介质(例如,dvd、cd-rom)。注意的是,由代码指令212a-b实施的一个或多个特征可以在硬件和/或固件中实施。

计算装置202包括一个或多个用户接口216和/或与这一个或多个用户接口216通信(用户接口216可以与安装在车辆中的显示器集成,和/或被实施为单独的装置,例如作为用户的移动装置的用户接口),例如触摸屏、键盘、鼠标和使用扬声器和传声器的语音激活软件。用户接口216可以包括呈现在显示器上的图形用户界面(gui)。用户接口216可以包括为用户输入数据(例如,配置参数)和/或为用户查看数据(例如,查看被禁用的ecu事件)而设计的机制(例如,gui)。

恶意ecu204包括车辆214的经由can总线网络206通信的一个或多个ecu。根据对通过can总线网络206传输的恶意消息的检测,任选地,通过恶意活动检测代码212b,将ecu204识别为恶意ecu。操作正常并传输合法消息(可能有错误,然而未被识别为恶意)的ecu在本文中表示为合法ecu208。恶意ecu204和合法ecu中的每一个分别与错误计数器204和错误计数器208a相关联。根据can总线定义,错误计数器204可以包括传输和/或接收错误计数器。

示例性ecu204和208包括以下中的一个或多个:根据数据控制车辆214的变速器的变速器控制单元(tcu)、一个或多个传感器、控制车辆中的电气系统或子系统中的一个或多个的部件。

can总线网络206可以被实施为硬件总线、物理网络和/或无线网络。根据can总线定义,can总线网络206基于所连接的ecu的广播来传输数据。注意的是,can总线网络206可以与恶意实体(例如,人类、恶意代码)访问恶意ecu204所通过的一个或多个其他网络通信和/或集成。这样的其他网络可以连接车辆内不同的电子和/或计算部件,和/或者将车辆的计算部件连接到位于外部的计算装置(例如,使用无线连接和/或有线连接)。示例性网络包括:canvas、can-fd、flexray和以太网。

现重新参考图1,在102处,由执行恶意活动检测代码212b的计算装置202(和/或另一计算装置和/或ecu)检测到由恶意ecu204通过can总线网络206传输的恶意消息。

该恶意消息可以基于检测一个或多个异常来检测。异常(即,恶意消息)检测可以基于识别以下中的一个或多个:与数据集中先前定义或预期的事件、事件持续时间、事件频率、模式或观测不兼容和/或不相似和/或不符合的事项、事件、模式、观测。附加地或可选地,该比较可以是与统计预期值、定义值的范围和/或一个或多个预定义的准确值的比较。该比较还可以指例如一个数据与另一个数据相比的例外、独特性、意外、噪声、新奇、异常值等中的一个或多个。附加地或可选地,异常检测被执行为以下中的一个或多个:无监督异常检测、有监督异常检测、半监督异常检测及其任意组合。有监督异常检测可以基于现有的正常数据标签和异常数据标签。半监督异常检测可以基于检测过程中出现有限量的标记数据。例如,基于有限的数据集创建模型,然后测试待由模型生成的测试实例的统计意义。无监督异常检测——没有可用的数据标签,是基于异常数据特性发生率相对较低。附加地或可选地,异常是点异常、上下文异常、结构异常、集合异常及其任意组合。附加地或可选地,采用统计手段来检查异常的发生,并且尝试和确定其发生是否是随机过程,是否具有一定程度的概率,是否是时间和/或活动相关事件。附加地或可选地,异常可以指代与被生成(预定义和/或自学和或更新的)以预测至少一个事件的可能性概率矩阵之间的偏差,诸如目标帧跟随另一帧的概率,每个事件具有其自己定义的特性和/或它们的相对值具有目标特性和/或它们的连接提供相关特性。附加地或可选地,异常检测比较以下中的至少一个:一个或多个位内容、仲裁字段内容、控制位内容、数据位内容、crc字段内容、至少一个帧、由多个帧组成的至少一条消息、至少一个帧特性、至少一个帧相关特性及其任意组合。

可选地或附加地,恶意消息可以通过检测响应于攻击而传输的消息来检测。关于攻击发起者中的术语攻击在本文中可以指代任何尝试损坏、未授权使用或未授权访问总线通信或任何连接的ecu。作为非限制性示例,这包括:未授权使用至少一个ecu、未授权访问通信;通信定时攻击-诸如延迟至少一个通信数据包/帧,改变转发至少一个通信数据包/帧的顺序;信息攻击-信息的至少一部分的泄露,数据的至少一部分的错误表示,打乱、改变、擦除数据包格式或信息的至少一部分,改变通信的至少一部分的来源或目的地,创建虚假通信,复制所通信的信息的至少一部分,发送虚假验证;配置攻击-诸如错误的软件更新,配置的错误更改,更改访问控制;对至少一个ecu的攻击-诸如阻止至少一个ecu正常操作或使其根本不操作、恶意代码(例如,病毒或蠕虫)的传播;物理攻击-诸如强制重启、重新刷新启动修改后的软件;对核心网络的攻击-诸如假冒的装置之间的流量隧道挖掘,使用流氓装置,提交多个请求以使网络和或ecu过载;用户数据和身份攻击-诸如对装置进行假冒,检索特定用户或特定ecu的信息,改变用户对系统的访问;以及上述的组合。

检测恶意消息的附加细节可以参见例如盖伊·鲁维欧(guyruvio)等人的国际专利申请公开号wo2017/021970“meansandmethodsforregulatingcancommunication(用于调节can通信的装置和方法)”,其全部内容通过引用并入本文。

在104处,计算装置202通过can总线网络206注入预定义的位。所注入的位可以包括恶意ecu204的id。预定义的位可以是显性位,该显性位超控当前正通过can总线网络传输的数据,任选地超控由恶意ecu204传输的恶意消息和/或超控由恶意ecu响应于先前注入的位而传输的其他错误消息(在根据箭头110的迭代期间)。

所注入的位被设计成触发由恶意ecu204进行的以下错误中的一个或多个:位填充、循环冗余校验(crc)、监测、帧和应答。

在106处,响应于接收到预定义的所注入的位,生成一个或多个错误。错误可以由恶意ecu204、由计算装置202和/或由另一ecu208生成。指示所生成的错误的错误消息可以通过can总线网络206传输。

位可以根据定义can总线网络的目标数据状态的一组规则来注入。can总线网络的目标数据状态表示当前在can总线网络上传输的数据的目标状态,和/或can总线网络上数据传输的序列的历史。预定义数量的错误由恶意ecu响应于基于该组规则传输的位来检测。

所生成的错误根据计算装置202注入的位来选择和/或预定义。

例如,可以在单个会话中注入位,作为显性位的连续流,和/或在多个位注入会话中注入位,其中每个位注入会话响应于检测到附加的错误而被触发。

在108处,根据can总线定义,恶意ecu204的错误计数器204a存储的当前传输错误计数值响应于生成错误而增加。

在110处,可以对动作104-108中的一个或多个进行迭代,以将传输错误计数值增加到超过错误阈值。由恶意ecu204响应于计算装置202所注入的位而生成的每个错误相应地增加由错误计数器204a存储的传输错误计数值。计算装置202可以根据恶意ecu204传输的错误消息来选择和/或调整所注入的位。

当前错误计数值(即,首次检测到恶意消息时恶意ecu204的错误计数器204a的初始值)和错误阈值之间的差值大于传输错误计数器204a响应于单个生成的错误而增加当前传输错误计数值的值。例如,当前错误计数值与阈值之间的差值大于8,8是当根据can总线定义检测到传输错误时传输错误计数器增加的值。

在每次迭代期间注入的位被选择来超控在can总线网络206上的现有数据和/或由恶意ecu204生成错误,阻止在恶意ecu204被实际禁用之前,该恶意ecu204通过can总线网络206传输恶意消息的附加实例。

由计算装置202注入的位触发的恶意ecu204生成的错误的预定义数量是根据错误阈值除以传输错误计数值响应于生成单个错误而增加的量来计算的。例如,基于can总线定义,当错误阈值是255,并且传输错误计数值响应于每个生成的错误而增加8时,生成的错误的预定义数量是32(即,255除以8,取整)。

在112处,当错误计数值上升到超过阈值时,恶意ecu204被禁用,例如,恶意ecu204根据can总线定义进入总线断开状态。被禁用的恶意ecu204被阻止通过can总线网络206传输数据。

在114处,生成检测到恶意ecu和/或禁用恶意ecu的指示,并且可以显示、存储该指示和/或将其转发到远程服务器。例如,可以在车辆仪表板上的显示器上呈现消息,提醒用户禁用了恶意ecu,并且提醒用户访问车辆制造商的车辆修理厂进行调查,恶意消息的记录可以存储在本地安全存储器中以供进一步调查,和/或可以将消息传输到远程监测服务器以供进一步调查和管理。

当恶意ecu表示车辆操作的关键部件时,可以触发备份的过程以实现安全驾驶和/或允许车辆安全停车。

现参考图3,图3是根据一些实施方案的禁用恶意ecu的方法的示例性实现方案的流程图。参考图3描述的方法基于参考图1描述的方法,和/或由参考图2描述的系统200实施。参考图3描述的方法基于触发恶意ecu传输的级联错误帧中的多个形式错误。图3表示预定义数量的错误生成为多个注入会话的一种实现方案。响应于检测到附加的错误标志,触发每个位注入会话。

任选地,参考图3描述的方法可以基于定义can总线网络的目标数据状态的一组规则的特定示例性实现方案。

在302处,例如,如参考图1的动作102所述,检测到恶意消息。

在304处,例如,如参考图1的动作104所述,计算装置202注入预定义序列的位,以触发恶意ecu204中的第一错误。

任选地,注入6个显性位来触发恶意ecu204的填充错误。

在306处,由恶意ecu204接收的所注入的位触发第一错误,任选地,触发恶意ecu204的填充错误,以及恶意ecu204对第一错误标志的传输。第一错误标志作为错误帧的定义的一部分传输,其中错误帧包括错误标志字段(例如,6个位),其后是预期包括隐性位(例如,1)的错误定界符(例如,8个位)。

在308处,恶意ecu204的传输错误计数器204a存储的当前传输错误计数值响应于第一错误标志的传输而相应地增加。

在310处,计算装置202中断恶意ecu204的错误帧的传输。当正传输隐性位时,传输可能被特别地中断,因为这种隐性位可能被所注入的显性位超控。

在312处,计算装置202操纵恶意ecu204传输的错误帧的形式。

可以通过传输一个或多个显性位(任选地,单个位)代替错误帧的错误定界符字段的预期的一个或多个隐性位(任选地,第二隐性位,任选地,至少该第二隐性位),来执行对错误帧的形式的操纵。如所述,基于can总线定义,显性位超控隐性位。

在314处,错误帧的操纵形式由恶意ecu204检测,并且触发恶意ecu204的形式错误。

在316处,恶意ecu204的传输错误计数器204a存储的当前传输错误计数值响应于形式的传输而相应地增加,根据can总线定义任选地增加8。

在318处,对动作310-316进行迭代以中断生成的错误帧,操纵错误帧的形式,触发恶意ecu204对另一形式错误的另一传输,并且响应于所传输的形式错误而增加恶意ecu204的传输错误计数值。

执行迭代以生成预定义数量的错误用来禁用恶意ecu204。执行迭代以将传输错误计数值增加到超过错误阈值。

任选地,在不操纵错误帧的形式(动作312)的情况下执行最后一次迭代。

例如,当初始传输错误计数器值是0,错误阈值是255,并且每次迭代将传输错误计数器的值增加8时,针对总共31个错误,除了第一位填充错误之外,执行30次迭代。在不操纵定界符的情况下传输第32错误帧。

就影响总执行时间、通过can总线传输的位的数量而言,在最佳情况下,在rtr位之后立即开始进行减轻,根据can总线定义,总共传输278个位。注意的是,实际结果可能会有所不同。细分如下:帧的起始(1个显性位)+id(11个位)+rtr(1个隐性位)+31*[错误标志(6个显性位)+部分错误定界符(2个位)]+错误帧(14个位)+间歇(3个隐性位),其中以位的数量表示:1+11+1+8*31+14+3=278。

在320处,例如,如参考图1的动作112所述,禁用恶意ecu204。

在322处,例如,如参考图1的动作114所述,生成禁用恶意ecu204的指示。

现参考图4,图4是根据一些实施方案的禁用恶意ecu的方法的另一示例性实现方案的流程图。参考图4描述的方法基于参考图1描述的方法,和/或由参考图2描述的系统200实施。参考图4描述的方法基于注入所选择序列的位。

任选地,参考图4描述的方法可以基于定义can总线网络的目标数据状态的一组规则的另一示例性实现方案。

参考3图4描述的方法由计算装置202执行,而不一定基于根据恶意ecu204传输的错误消息的迭代和/或反馈,和/或不一定基于对恶意ecu204传输的数据的操纵。图4表示在单个会话中将位注入为显性位的连续流。

在402处,例如,如参考图1的动作102所述,检测到恶意消息。

在404处,例如,如参考图1的动作104所述,计算装置202注入预定义序列的位。

注入第一预定义数量的连续显性位(任选地14个),接着是第二预定义数量的连续集合(任选地31个),每个集合为第三预定义数量的显性位(任选地8个),接着是隐性定界符的第四预定义数量的有效位(任选地8个)以及第五预定义数量的隐性位间歇(任选地3个)。

在406处,恶意ecu204接收预定义序列的位。

作为主动错误标志,或者在恶意ecu204检测到在被动错误标志之后的第六预定义数量的连续显性位之后,恶意ecu204检测到第一预定义数量的连续显性位。第六预定义数量的连续显性位表示在被动错误标志之后的第8连续显性位。

在408处,恶意ecu204的传输错误计数器204a存储的传输错误计数值增加到超过错误阈值。根据can总线定义,例如,如参考图1的动作108所述,从初始值0到超过错误阈值255的256。

传输错误计数值响应于恶意ecu204检测到第一预定义数量的连续显性位而增加(任选地增加8),并且响应于恶意ecu204检测到第二预定义数量的附加的第三预定义数量的连续显性位的每个序列(任选地针对每个所检测到的序列增加8)。

根据影响总执行时间、通过can总线传输的位数,根据can总线定义,总共传输286个位。细分如下:帧的起始(1个显性位)+id(11个位)+rtr(1个隐性位)+31*[8个显性位]+有效隐性定界符(8个隐性位)+间歇(3个隐性位),其中以位的数量表示:1+11+1+8*31+8+3=286。

在410处,例如,如参考图1的动作112所述,禁用恶意ecu204。

在412处,例如,如参考图1的动作114所述,生成禁用恶意ecu204的指示。

已经出于说明的目的呈现了对各个实施方案的描述,但是所述描述无意为穷举的或者被限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对本领域的普通技术人员来说将是明显的。选择本文中使用的术语以最好地解释实施方案的原理、对市场中发现的技术的实际应用或技术改进,或使本领域其他普通技术人员能够理解本文公开中的实施方案。

预期在从本申请至到期的专利有效期内,将开发许多相关的ecu和can总线网络,且术语ecu和can总线网络的范围旨在先验地包括所有这些新技术。

本文所使用的术语“约”指代±10%。

术语“包括(comprises)”、“包括(comprising)”、“包括("includes)”、“包括(including)”、“具有”及其变化是指“包括但不限于”。该术语涵盖术语“由……组成”和“主要由……组成”。

短语“主要由……组成”表示组合物或方法可以包括附加的成分和/或步骤,但前提是附加的成分和/或步骤没有实质性地改变所要求保护的组合物或方法的基本和新颖特性。

如本文所使用的,除非上下文另有明确说明,否则单数形式“一(a)”、“一(an)”和“该”包括复数形式。例如,术语“化合物”或“至少一种化合物”可包括多种化合物,包括其混合物。

词语“示例性的”在本文中表示“用作示例、实例或说明”。被描述为“示例性的”的任何实施方案不一定被解释为比其他实施方案优选或有利,和/或从其他实施方案中排除特征的结合。

词语“任选地”在本文中表示“在一些实施方案中提供,而在其他实施方案中不提供”。任何特定实施方案可以包括多个“任选的”特征,除非这些特征发生冲突。

在整个本申请中,各个实施方案可以按照范围格式来呈现。应当理解,范围格式的描述仅仅是为了方便和简洁,并且不应被解释为对实施方案范围的不可改变的限制。因此,对范围的描述应被认为具有确切公开的所有可能的子范围以及该范围内的单独数值。例如,对诸如1至6的范围的描述应当被认为具有明确公开的子范围,诸如1至3、1至4、1至5、2至4、2至6、3至6等,以及在该范围内的单个数字,例如1、2、3、4、5和6。无论范围的宽度如何,这都适用。

每当本文指示数字范围时,这表示包括所指示范围内的任何所引用的数字(分数或整数)。短语“第一指示数和第二指示数之间的幅度/范围”和“从第一指示数到第二指示数的幅度/范围”在本文可以互换使用,并且表示包括第一和第二指示数以及它们之间的所有分数和整数。

应当理解,为了清楚,在单独的实施方案的上下文中描述的实施方案的某些特征也可以在单个实施方案中组合提供。相反,为了简洁,在单个实施方案的上下文中描述的实施方案的各个特征也可以单独提供,或者以任何适当的子组合提供,或者在任何其他描述的实施方案中适当地提供。在各个实施方案的上下文中描述的某些特征不应当被认为是那些实施方案的必要特征,除非在没有那些元件的情况下所述实施方案无效。

虽然已经结合具体实施方案描述了各实施方案,但是明显的是,对于本领域技术人员而言,许多替换、修改和变化都是明显的。因此,旨在包含落入所附权利要求的精神和较广范围内的所有这样的替代、修改和变化。

本说明书中提到的所有公开、专利和专利申请在本文都通过引用整体并入到本说明书中,就如同每个单独的公开、专利或专利申请都被具体地和单独地指示以通过引用并入到本文中一样。另外,本申请中对任何参考文献的引用或标识不应被解释为承认该参考文献可作为现有技术获得。就使用的章节标题而言,它们不应被解释为一定是限制性的。

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