基于时间分析的车辆网络攻击防护方法及相应设备与流程

未命名 08-07 阅读:45 评论:0


1.本发明涉及用于车辆的通信网络,尤其是can(控制器局域网)中的流量监控和网络攻击防护技术,该网络包括总线,特别是can总线,以及以信号交换关系与所述总线相关联,并且至少部分地与用于控制车辆功能的控制单元相关联的多个节点。


背景技术:

2.can总线作为机动车的通信总线,是一种串行和多主站式的通信方式,其中,连接到总线上的每个主站,也称为节点,能够进行发送、接收以及解决多个节点在传输中同时访问的冲突。
3.图1示意性地示出了can总线10,包括多个节点11。图1中表示的是三个节点111,

,113。如图1所示,节点11,其能够在can总线10上进行通信,通常包括:
[0004]-can收发器12,其通过传输线tt和接收线tr与can总线10相关联,并且被配置为管理can总线所特有的电平(osi模型的物理层);
[0005]-can控制器13,其通过传输线ct和接收线cr连接到can收发器12,并且被配置为管理can总线10的逻辑电平和串行化(osi模型的数据链路层);以及
[0006]-微控制器14,其包含发送和接收消息的逻辑(高于数据链路层的osi层的管理)。
[0007]
总线10包括两条线路。10h表示的是can总线10的高线,或称为can-high,而10l表示的是低线,或称为can-low。在总线10的两端,两条线路10h和10l由终端电阻10r端接。在图1中,传输线tt耦合到高线10h,而接收线tr耦合到低线10l。
[0008]
因此,can总线10是差分总线,并且因此具有两条线路的结构,称为“can-high”10h和“can-low”10l。
[0009]
在连接多个节点(例如电子控制单元(ecu))的can总线中识别恶意消息的方法旨在确定什么消息是恶意的,但最重要的是确定它来自哪个节点或ecu,以便能够跟踪攻击的来源本身并采取必要的措施。目前在车辆上实施的入侵检测系统能够确定网络攻击的存在,但没有配备攻击者识别系统。
[0010]
表1提供了根据can协议的消息结构;特别地,数据类型的消息由连续的比特段s构成,如下所列。
[0011][0012]
表1
[0013]
消息中感兴趣的字段主要是仲裁字段s1和ack(确认)字段s6。仲裁字段由消息id(identifier)构成,它确定消息的优先级并标识消息。二进制值越小,优先级越高。ack位最初是隐性的(因此为1),被正确接收消息的ecu或节点11用显性位覆盖。这样,每个节点都识别消息的完整性。
[0014]
对于上述仲裁字段s2,节点11的can控制器13从到达它的逻辑信号(与can收发器12检测到的物理层一致)中重建消息的标识符id,而节点11内的微控制器14本身将上述消息关联到达的时间值(称为时间戳)。连接到网络10的每个can节点11都配置有一组它可以传输的消息标识符id,其中该组中的每个消息标识符id可以对应于传感器的参数或者对应于特定功能(诊断等)。上述消息标识符id,尽管对于不同的节点11是不同的,但是如果攻击者获得对网络中的某个节点的控制权,则消息标识符id就可能被可能的攻击者克隆。此外,通过can 10发送的消息可以具有周期性,从而其在一个精确的周期内传输,或者具有非周期性,从而在事件发生时传输。
[0015]
因此,基于时间漂移的技术是已知的,其针对名义上的周期性消息。因此,利用时间戳,有可能估计出具有相同消息标识符id的两个连续消息之间的时间间隔。如果消息是周期性的,则它与消息的特定的时间戳(即接收时间)相关联,但在任何情况下其取决于一个和同一节点的消息之间的恒定传输周期。因此,假定尽管代表两个节点11的两个不同ecu可能是相似的,并且即使它们可能由同一制造商生产,并且甚至具有相同的电路组件,但它们也具有两个不同的时间漂移。实际上,每个ecu都可以通过各自的时钟信号运行,即使两个ecu可以使用相同频率的时钟运行,但实际上这会导致两个信号之间在周期内的随机漂移,这会对can消息的传输产生影响。因此,上述偏差实际上代表了每个ecu节点固有的不可再现的因素,可以应用某些技术对其进行估计。
[0016]
下面描述一些典型的攻击场景。
[0017]
一种类型的攻击称为“伪造攻击”。通过被以强攻击方式入侵的车载ecu,攻击者伪造并注入具有伪造id(标识符),dlc(data-length code,数据长度代码)和数据的消息。这
种攻击的目的是覆盖由合法的安全关键ecu发送的任何周期性消息,以便使其接收方ecu被扰乱或变得无法操作。例如,攻击者以给定的id高频率地注入各种恶意消息,例如0xb0,通常由合法的ecu发送。因此,正常接收消息0xb0的其他节点被迫比合法节点更频繁地接收伪造的攻击消息。在这种情况下,攻击者ecu正在对消息0xb0及其原始发送者(即合法ecu)进行伪造攻击。
[0018]
另一种类型的攻击称为“暂停攻击”。要执行暂停攻击,攻击者只需要一个受到弱攻击的ecu。与拒绝服务(dos)攻击的情况一样,这种攻击的目的是停止/暂停受到弱攻击的ecu的传输,从而阻止在can上传递/传播由其他ecu获取的信息,原因是某些ecu必须从其他ecu接收特定信息才能正常运行。因此,暂停攻击不仅会损坏受到弱攻击的ecu,还会损坏其他接收方ecu。
[0019]
另一种类型的攻击称为“伪装攻击”。要发起伪装攻击,攻击者需要入侵两个ecu,一个作为强攻击者,另一个作为弱攻击者。这种攻击的目的是操纵ecu,同时掩盖ecu被入侵的情况。攻击者监视并了解弱攻击者发送了哪些消息以及发送的频率,直至给定的伪装时刻;例如,弱攻击者每20毫秒发送一次消息0xb0。由于大多数网络消息都是周期性的并且是广播的,例如通过can,因此很容易了解它们的标识符(id)和传输间隔。一旦攻击者获悉消息的id和频率,在伪装时刻,攻击者停止其弱攻击者的传输,并利用其强攻击者伪造和注入id=0xb0的攻击消息。停止弱攻击者传输并利用强攻击者传输恶意消息的目的是克服弱攻击者无法注入消息的不足。在伪装时刻之后,0xb0的原始发送者,即弱攻击者,不会发送该消息,而是由强攻击者以其原始频率发送该消息。因此,当观察总线(例如can总线)的流量时,消息0xb0的频率保持不变,而其发送者已更改。
[0020]
从上面的示例中可以明显看出,设法分辨出攻击真正来自哪个ecu是多么重要,尤其是在伪装攻击的情况下。在这方面,可以注意到,诸如can总线之类的总线的缺点是没有mac地址,而mac地址可以直接追溯在精准时刻在总线上发送信息的电子控制单元/设备11,这与例如以太网协议不同,在以太网协议中mac地址是存在的。这个问题在嵌入式系统中解决起来特别复杂。


技术实现要素:

[0021]
本发明的目的是提供一种监控方法,该方法可以识别传输消息(尤其是与攻击相关联的消息)的电子控制单元。
[0022]
根据本发明,上述目的通过一种防护方法以及相应的防护装置得以实现,它们具有在所附权利要求中具体提及的特征。
附图说明
[0023]
本发明将参考附图进行描述,附图仅以非限制性示例的方式提供,其中:
[0024]-图1已经在前面描述过,示意性地示出了can总线10;
[0025]-图2表示示出了实现本文所述的方法的设备的示意图;
[0026]-图3示出了本文所述的方法的流程图;
[0027]-图4示出了表示本文所述的方法的学习步骤的第一个操作的流程图;
[0028]-图5示出了表示本文所述的方法的学习步骤的第二步骤的流程图;
[0029]-图6示出了本文所述的方法的学习步骤的第三步骤使用的统计参数范围;
[0030]-图7示出了与本文所述的方法相关联的内存分配的操作流程图。
具体实施方式
[0031]
本文所述的方法设想利用来自基于can协议的特定通信子网络的ecu的周期性消息的统计分析。上述统计分析是基于对每个周期性消息到达时间的推断。通过使用任何嵌入式系统的固件中存在的标准库,可以直接获得每条消息的到达时间。因此,作为工作假设,其实际上并没有对下文所述方法的使用带来任何禁忌或限制,即关于信息到达时间的信息是一个可测量的变量,也就是一个可以在节点上获得的变量。
[0032]
在这方面,图2中所示的是图1的can总线10,包括三个节点11
1、

,113,每个都具有先前说明的相应模块12、13、14。此外,图示耦合在can总线10上,与can总线10具有信号交换关系的是用于流量监控和网络攻击防护的设备20,其中“流量”是指can上的消息的流量,设备20包括一个或多个微处理器,并被配置为实施在线防护过程100,其流程图由用于流量监控和网络攻击防护的设备20的微控制器模块14以综合性地和示意性地方式表示,其中包括在线学习步骤200,随后是分类和异常检测步骤300。在线学习步骤200在第一时间间隔内执行——针对在该第一时间间隔内接收到的消息,这些消息作为一个整体表示为msg(idk),其中idk是一组允许的周期性消息标识符id1,...,idk,...,idn中的第k个通用消息标识符,例如,在车辆测试步骤中;因此计算出置信区间统计参数(特别是,统计参数和置信阈值)它们被提供给分类和异常检测步骤300,该步骤在第一个时间间隔之后的第二个时间间隔中进行,针对该第二个时间间隔内接收到的后续消息msg'(idk),这通常对应于测试步骤之后车辆的正常操作步骤。在下文中,属于第二时间间隔的消息和从中导出的统计参数用上标撇号表示,以便将它们与在学习步骤200中获得的对应消息区分开来。
[0033]
所示的can总线10对应于根据can协议的通信子网络,其由实施本文所述的方法的防护设备20监控,并且通常包括连接在can总线10上的整数n个节点。用于流量监控和网络攻击防护的设备20其可以与图1中举例的节点11之一具有相同的结构,可以认为是上述n个节点之一。可以将监控和防护系统插入到车辆车载的整个通信网络中,可能通过将其分成多个子网络,每个子网络关联一个防护设备20。例如,可以为每个由最多n=18个连接节点11组成的子网络提供防护设备20。
[0034]
假设对通信子网络,即can总线10有一个预先的了解,在该网络上,实施通信监控方法的防护设备(在图2中被指定为20)。这种先验知识被理解为对组成子网络的ecu或节点11的数量、每个节点11在通信总线10上发送的消息的标识符id及其周期性的了解。该信息实际上在通信网络的接线、配置和测试的初步步骤中为设计者所知,因此被假设为应用本文所述的方法的第二工作假设。该第二假设实际上比第一假设“更强”,在任何情况下都是合理的,如果该设备被引入新生产车辆的基础设施中,则更是如此。
[0035]
图3的流程图中更全面地描述如前所述的本文所述的监控和防护方法100,其设想了步骤200,即学习关于防护设备20在其上所运行的特定子网络的信息流量的正常情况的特征。
[0036]
上述学习步骤200在线进行,即在车辆运行期间,或者更确切地说,在测试车辆功
能(无论是硬件还是软件)的步骤期间,以保证上述学习步骤发生在一个时间间隔内,或者在肯定被监控的通信网络/子网络可能不会被网络攻击访问(前面提到的类型)的情况下。
[0037]
监控和防护方法100的步骤200,其学习can网络/子网络10和与其连接的节点/设备11的特征,举例来说,首先包括通过所谓的白名单过滤器基于消息标识符id对消息进行预过滤的操作210,该白名单过滤器利用网络流量的先验知识,即允许通信的消息标识符id的知识。因此,预过滤步骤210阻止了预先编译的列表(所谓的白名单)中不存在的消息标识符id的消息。
[0038]
然后执行计算时间戳ts的步骤220,其作为测量变量x用于计算统计量。
[0039]
接下来是数据收集步骤230,其中,对于每个消息标识符idk,相应的学习向量填充相应的时间戳tsk的测量值。
[0040]
然后执行计算统计参数的步骤240,例如均值和样本方差,它们对于确定决策阈值是必要的,并且确定这种决策阈值。
[0041]
最后,在本文所述方法的分类和异常检测步骤300中,根据消息标识符id的值进行量化置信区间的步骤250,这些标识符要么属于网络/子网络10,要么根据先验知识的周期性进行量化,以便随后对收到的消息msg的每个标识符id进行投票分配。
[0042]
实际上,上述分类和异常检测步骤300,是对在第二时间间隔内(例如在车辆的正常操作期间)接收到的消息msg'(idk)执行,包括类似于操作210的具有白名单wl的过滤操作310。然后执行类似于操作220的计算时间戳ts'(idk)的操作320。
[0043]
然后执行向监控向量填充相应的时间戳ts'k或ts'(idk)的操作330。操作330类似于操作230,即使在这种情况下,当监控向量满时,采用fifo(先进先出)类型的向量填充策略,即在向量的开头输入一个新值,移动其他值并消除最旧的值。
[0044]
接下来,执行计算投票vk、wk的操作340,即计算代表在给定置信区间内的隶属度的值,该值是根据由学习步骤200确定和提供的置信区间统计参数计算的。
[0045]
然后,在计数操作350中,每当消息的投票vk、wk对该标识符idk来说达到最大值时,每个第k个标识符的最大投票数的向量就会被递增。
[0046]
最后,在分类和异常检测360的操作中,基于投票计数器cv、cw中包含的值来决定是否发出告警以及告警的类型或是否将消息标识符归类为正确。
[0047]
现在更详细地描述上面提到的防护方法200的在线学习步骤的操作。
[0048]
通过白名单过滤器的预过滤步骤210包括检查在总线10上传输的消息的消息标识符id。利用与can总线10对应的子网络的拓扑结构以及可以由各种ecu(即节点11)发送的消息的消息标识符id的先验知识的假设,将在设备20处接收到的消息的消息标识符id和包含在预先编译的白名单中的标识符id二者进行比较。这使得可以避免检查与消息相关联的数据的需要,其中这些消息具有在特定子网络10中未被授权以传送信息的消息标识符id。此外,如果消息具有不属于白名单wl(即预先已知的列表)的消息标识符id,则向被监控的特定子网络10发出“不允许访问”的告警。
[0049]
在这方面,图4示意地示出了在方框20中运行的上述操作210的流程图,该操作执行预过滤。监控和防护设备20通过收发器12接收具有消息标识符id的can消息(由msg(idk)指定),并通过执行学习步骤200的微控制器14处理。在操作210,进行检查以验证当前接收
到的消息msg(idk)是否存在于白名单wl中。如果是,则执行计算时间戳ts的步骤220。如果不是,则执行操作215,其中“不允许访问”nw的告警被发送到例如网络10上处理告警的节点或其他软件/硬件模块,这些模块被配置为在访问不允许或异常的情况下采取对策。
[0050]
关于计算时间戳ts的第二步骤220,这包括提取相应的值,例如通过标准库,即专门用于从收到的消息或帧中提取时间戳的库函数,从消息的数据结构域中提取信息,例如nxp的can_pal库(另请参见url https://www.nxp.com/docs/en/release-note/s32sdk_for_s32k1xx_rtm_3.0.0_rn.pdf)。在变型实施例中,可以访问监控和防护设备20的微控制器的时钟,并且在接收到的每个消息关联从时钟读取的时间变量x。通常,如何获取can消息到达节点的时间,特别是时间戳,构成了该领域技术人员的平均知识的一部分。
[0051]
在提取与时间戳ts对应的时间信息后,例如属于通用消息标识符idk的通用时间戳ts(idk),该时间信息根据其在相应数据结构中所属的消息标识符id来分配,该时间信息被分配给上述消息标识符id以用于收集时间戳ts的步骤230。因此,收集步骤230包括填充学习向量或阵列直到在向量中获得一组数据,其数量足以计算上述数据集上每个白名单wl允许的消息标识符id1...,idn的统计参数或指数(基本上是平均值和样本方差和置信区间),上述统计参数使得构建决策阈值(操作240)和分配隶属度投票(操作250),以根据它们属于传输节点11的概率以及根据通信异常是否存在以执行消息msg(idk)的分类成为可能。
[0052]
如图5的示意图所示,由220指定的是测量时间变量ts(idk)或时间戳的操作。在时间变量或时间戳ts的每次测量220,基于消息msg(idk)所对应的消息标识符id,根据它是否是id1,...,idn之一,在各自的学习向量中收集上述测量值,因此将包含标识符idk的时间戳ts
idk
。图6特别示出了对应n个标识符id
n,...,
id1的n个学习向量每个学习向量长度为m;即,它可以包括多达m个值,即时间戳ts
idk
(m),...,ts
idk
(1),从在学习步骤200中接收到的相应数量的消息msg(idk)中获得。可以注意到,收集数据的操作230的持续时间取决于要收集的消息的数量m(学习向量的长度)以及具有最长传输周期的消息(或消息组)的传输周期t。消息msg通常由每个节点11以周期性的方式发送,其周期t对传输节点11来说是特定的。如果t
max
是最长的消息传输周期,可以估计出数据收集操作230的等待时间t
elspse
为应当注意,即使学习步骤200在车辆设置步骤之后开始,这并不意味着车辆在等于等待时间t
elapse
的时间间隔内不能使用,但仅意味着在上述持续时间的时间间隔中为学习步骤200记录ecu 11之间的通信流量。
[0053]
此外还应注意,如果n是网络的节点数,则n≥n,其中n是白名单wl允许的消息标识符的总数(操作210)。
[0054]
后续阈值计算240的操作包括从先前存储的时间测量向量开始计算统计参数。利用该假设,由此经由本文所述的监视和防护方法100分析的消息msg是周期性的;因此,对于同一个消息标识符idk,一个时间戳ts与下一个时间戳之间的差异,在理论上是常数(等于相应的周期ti)。特别地,给定相同的传输周期t,假设与由不同ecu(即节点11)发送的消息msg相关联的每个消息标识符id将具有与其相关联的时间变量(特别是时间戳ts),其变化范围与其他ecu的不同。这一基于技术证据的假设确保,无论节点11彼此如何相似,并且
即使在软件级别设置了相同的传输周期,物理电路差异也会导致所测量的时间变量ts的变化对于每个节点11(并且因此对于具有给定消息标识符id的每个消息msg)是唯一的。因此,操作240包括计算以下提到的统计参数及其置信区间。
[0055]
在所述的实施例中,计算统计参数240包括:根据包含时间测量(如下所示的ts(idk)或)的相应学习向量中所包含的值,与各自的消息标识符idk相关联的值,特别是在最大似然估计的基础上,通过应用以下公式(1)来计算期望值和样本方差
[0056][0057]
其中,指数i表示学习向量中的第i个位置,并且其范围从1到m。因此,对于每个消息标识符idk,得到期望值和样本方差的一对值并用于再次在操作240中计算置信区间ick。
[0058]
根据所述的方法,双边置信区间是利用给定的统计置信水平α

计算的(也可以理解为学习算法200的调整参数)。
[0059]
计算期望值的置信区间250源自以下公式中出现的段落。表示为与第k个消息标识符idk的时间变量的统计分布相关的随机变量,对于前面所述的工作假设,它合理地对应于高斯类型的概率分布这种高斯类型的概率分布使得计算当前时间测量值xk可以有效关联到上面的消息标识idk的概率p成为可能,其中时间测量值xk根据先验知识被认为与消息标识符idk相关联和对应时间戳的值,概率p的置信度为α,如以下公式(2)中所示:
[0060][0061]
公式(2)定义了概率p(xk∈idk),时间测量xk可以归类为属于第k个消息标识符idk,其统计置信度为(100-α)%。数量和xk是当考虑分布时概率计算区间的极值,因此事先不知道。利用随机变量的数据分布是高斯分布的假设,我们可以得到关于均值和方差归一化的变量是一个具有标准高斯(或正态)分布的变量即这使得能够利用上述分布的对称性和概率计算区间的极值解释的特性作为在给定的统计置信水平α

的分位数z
α
用于新随机变量中数据的分布。特别地,通过对称性,这样,假设正态分布的分位数可通过分布本身的分布函数值表获得,则概率算子的参量只有已知项。
[0062]
因此,可以使用以下公式(3)表示期望值的置信区间:
[0063][0064]
基本上,公式(3)可操作地用于决定时间测量xk是否以较高概率属于与第k个消息标识符idk关联的类别。每个置信区间的基数,用ick表示并等于被理解为一组值的“长度”,该一组值的测量值以较高概率隶属于该类,由数量给出。
[0065]
为了描述用于投票分配的量化置信区间250的后续操作(在操作340中执行),首先参考以下极限情况,其中消息msg具有相同周期性但来自不同节点,即,例如,来自标识符id1和id2。当两个消息标识符具有相同的期望值但方差不同就会出现这种极限情况,也就是说,它们具有相同的中心,但相关置信区间的宽度不同,如图6中示意性表示的,该图示出了在水平轴上的时间测量值x的值。用ic1表示消息标识符id1的置信区间,用ic2表示消息标识符id2的置信区间。由于区间ic2包括区间ic1,而两个区间都以期望值而两个区间都以期望值为中心。
[0066]
根据置信区间的经典理论,如果新测量值xc,图6中用叉号表示,落在属于置信区间ic1和ic2二者的值的区间内,它必须与具有置信度指数α的两个类相关联。因此,设想引入一个决策度量来关联类中的隶属度投票,即标识符idk的类。定义为置信区间的量化是以下的方式:将中心的距离到区间本身的宽度成比例:
[0067]-时间变量的测量值x与区间中心的距离定义为和(在这个极限情况下的例子中,这些距离是等价的:d1=d2);以及
[0068]-测量值x相对于置信区间宽度的相对比例定义为,例如,上述距离与置信区间的半长l1/2,l2/2之间的比率:p1=2d1/l1和p2=2d2/l2;因此,测量值x相对于置信区间的宽度进行归一化。
[0069]
这使得可以通过在操作340中的使用来定义隶属度投票vk(x),其与属于消息标识符idk的测量时间变量x的分类相关联,如下公式(4)所示:
[0070][0071]
投票vk(x)指的是来自白名单过滤下游允许的消息标识符中第k个消息标识符idk。因此,一般来说,针对测量的时间变量x会有n票v1(x),...,vn(x)。
[0072]
因此,与测量时间变量x属于消息标识符idk(或相应的类别)的分类相关联的隶属度投票vk(x),既取决于它与期望值(即平均值)的接近程度,也取决于期望值本身的置信区间的宽度,通过方差(或标准差)定义,通过分位数z
α
的置信水平定义,以及通过为给定标识符idk收集的时间变量样本xi的数量m定义。由于我们需要使用样本近似,因此收集的样本数量越多,即m越大,置信区间就越能准确地表示某个测量量分布的可能值范围。考虑图6
中表示的极限情况,可能会注意到与标识符或类相关联的隶属度投票的定义与给出的示例一致。事实上,如果μ1=μ2,要决定哪个投票最高,只要考虑方差或标准差就足够了,若v1》v2,在这种极限情况下,根据公式(4),即s2》s1。这个结果是一致的,因为在距置信区间中心的距离相同的情况下,如果置信区间的宽度不同,则意味着测量量更接近于其中一个区间的极值,这使得测量量不太可能属于与较窄置信区间相关联的标识符id。
[0073]
根据公式(4)定义的投票还涵盖了第二个极限情况,即两个置信区间具有相同宽度但具有不同中心的情况。在这种情况下,仅根据与置信区间相关联的测量值和期望值之间的距离来决定投票。尤其,v1》v2暗示|μ
2-x|》|μ
1-x|。在任何情况下都可以说,这除了是分析术语中的极限情况外,实际上是一种“反常”情况。如前所述,无论两个物理上不同的ecu11如何彼此相似,它们总是以它们自己的系统时钟为特征,具有独有的波动。因此,图4所示的示例情况不太可能发生,而甚至没有考虑μ1=μ2和s1=s2的情况。然而,两个消息标识符id可能由与值彼此非常接近的置信区间相关联的期望值和样本方差来表征。将分析限制在期望值的置信区间,即使可以通过投票的定义来区分隶属度,也可能会出现投票差异不是很明显的情况,因此分类结果可能不尽如人意。
[0074]
为了防止无决断力的情况,除了期望值的置信区间之外,在步骤240中,方差vick的置信区间因此也被计算。
[0075]
以下提供构造方差vick的置信区间的基本过程。如果β表示方差的置信度指数,那么方差测量属于第k个消息标识符idk的概率其中标识符的方差与之相关联(通过样本知识估计其隶属度值的区间)可以表示为以下公式(5):
[0076][0077]
公式(5)利用以下事实即归一化样本方差服从具有m-1个自由度的卡方分布。数量χ
β,m-1
和χ
β,m-1
代表具有m-1个自由度的卡方分布的水平β的分位数。尤其,χ
β,m-1
是在其左侧留下β/2概率的分位数,然而χ是在其右侧留下相同概率的分位数。
[0078]
β,m-1
[0079]
对概率算子的参量进行操作,我们获得与第k个id相关联的(样本)方差的置信区间,如以下公式(6)所示:
[0080][0081]
方差vick的每个置信区间,与我们在期望值的置信区间的投票分配中看到的方式非常相似,需要知道中心点和宽度。第k个方差置信区间的中心点和宽度的表达式出现在以下公式(7)中:
[0082][0083]
公式(7)的表述,其中表示方差置信区间的中心点,表示它的宽度或长度,考虑到中心点到区间的长度的距离(以类似于对期望值的置信区间所做的方式),使得能够定义投票wk(s2)也用于方差的测量,如以下公式(8):
[0084][0085]
s2表示当前测量值x的方差。
[0086]
出现在公式(4)和(8)中的投票,如下文进一步详细解释,然后在随后的分类和异常检测步骤300中计算。将在随后的分类和异常检测步骤300中使用的计算统计参数和置信度阈值的步骤240而是以计算公式(7)的表达式结束。
[0087]
因此,在学习步骤200之后,对于包含在白名单wl中的每个消息标识符idk,存储了计算消息标识符投票所需的量。因此,在学习过程200结束时,对于每个消息标识符idk,防护和监控设备20中存储了以下量,即置信区间的统计参数向量
[0088][0089]
即,平均值(置信区间ick的中心点),平均值的置信区间(即ick),样本方差的置信区间(即vick),和置信区间vick的中心点这是在操作340中计算投票所需的量。
[0090]
这使得优化嵌入式系统实现中的内存使用成为可能,因为在数据收集步骤230(即学习向量的填充)中所需的内存空间而言,可以被释放。包含要在后续分类和监控步骤300中使用的信息所需的空间(在学习步骤200结束时仍分配)由六个分量的数组表示,即,300中使用的信息所需的空间(在学习步骤200结束时仍分配)由六个分量的数组表示,即,对于每个消息标识符id,相对于学习向量
由于前面介绍的操作假设,维度m远大于6。
[0091]
图6具体示出了防护和监控方法100的一般流程图,其中还指示了内存分配的操作,例如在微控制器14中。如上所述,防护和监控方法100包括在第一时间间隔内执行的在线学习步骤200,特别是车辆测试步骤,以及随后在第二时间间隔内执行的分类和异常检测步骤300,一般对应于通信网络10和在其中运行的车辆的正常使用,即,当车辆由最终用户或购买者使用时。
[0092]
对于图6中指示的学习步骤200是大小为m的时间戳向量其可以在过滤210之后分配,基于白名单wl中设想的消息标识符的数量n,经由存储器分配211的操作分配设备20(微控制器14)的内存中的内存空间与n
×
m成比例。显然,在变体实施例中,如果从白名单wl的设置导出的值n是已知的,则分配也可以发生在过滤210之前。
[0093]
然后执行操作220-250直到置信区间的统计参数的向量,250直到置信区间的统计参数的向量,作为学习步骤200的输出而获得,上述向量包括用于定义置信区间和投票的统计参数。对于上述统计参数执行内存分配251,分配与n
×
q成比例的内存空间,其中q是使用的统计参数的数量,在示例中对应于6。然后对先前为时间戳向量分配的维度为n
×
m的内存执行释放(deallocation)操作252。
[0094]
再次参考图3,现在详细描述分类步骤300的一些操作。
[0095]
操作310、320基本上对应于操作210、220。
[0096]
关于操作330,在对消息流量进行分类和异常检测的步骤300中,要收集一定量的数据,即对应于时间戳ts'
idk
的时间变量值,以便能够得到期望值和样本方差的相应测量值类似于如前所述的分配被监控的时间戳向量的操作230的方式,这些向量不仅被填充,而且在流量分析期间根据fifo的方法被连续地填充和清空。特别地,对于每个消息标识符idk,用时间测量ts'
idk
填充一个被监控的时间戳向量(其方式类似于在收集步骤230中对时间戳向量所做的方式)。被监控的时间戳向量的基数,即大小或长度,理论上应该与学习的时间戳向量的大小或长度相同,即m,但出于形式数学的目的,它表示为m。因此,对于样本均值和方差的第一次评估,有必要为每个消息标识符id1,...,idn,等待m次测量,以便有足够数量的样本进行推断,即计算期望值和方差的测量,然后将通过先前定义的投票vk(x)和wk(s2)进行评估。从上述数量的测量值可用的那一刻起,就有可能在收集到的每个新的时间测量上重新评估每个消息标识符id1,...,idn的期望值和方差。为了对大小为m的集合进行评估,选择在相应的被监控的时间戳向量中收集第k个消息标识符idk的最后一次时间测量,并丢弃最早的时间测量。这使得可以在分类和异常检测步骤300的每个步骤中监控样本期望值和样本方差的演化。
[0097]
举例说明了时间演化的概念,用于评估通用消息标识符idk的m组连续时间测量集。
[0098]
在这方面,通用的被监控的时间戳向量基于从t0到t
m+h
的不同时刻进行描述。
[0099]
tj表示的是其中接收收集到的新的时间测量ts'
idk
[tj]的第j个时刻。在初始时刻t0,被监控的时间戳向量包括初始化为零的m个元素(向量)。在下一时刻t1,存储在向量的第一个元素是接收到的第一个时间戳ts'
idk
[t1](向量)。在下一时刻t2,第二个时间戳ts'
idk
[t2]存储在向量的开头,在第一个时间戳ts'
idk
[t1]已被向右移动一位之后。对后续接收到的时间戳遵循相同的过程,直到在时刻tm,得到由元素ts'
idk
[tm],ts'
idk
[t
m-1
],...,ts'
idk
[t2],ts'
idk
[t1]填充的向量对于在向量被填充之后接收到的后续时间戳,执行向右移动,从ts'
idk
[t1]开始逐渐从向量中消除最早的样本。在随后的时刻t
m+h
,其中h表示接收到的额外时间戳的数量,向量包括ts'
idk
[t
m+h
],ts'
idk
[t
m+h-1
],...,ts'
idk
[t
h+2
],ts'
idk
[t
h+1
]。
[0100]
因此,在分类和异常检测步骤300期间,期望值和样本方差这些量应理解为时变的。这意味着在随后的步骤340中计算的投票也是时变的。
[0101]
因此,在操作340中,基于监控向量根据在操作330中测量的期望值和样本方差值并且根据在学习步骤200的操作250中计算的置信区间统计参数根据公式(4)和(8)计算对应投票vk和wk。
[0102]
在下文中,为了简单起见,有时会省略表示与操作300有关的量的撇号“'”,例如
[0103]
因此,存在测量,例如,
[0104][0105]
其中测量变量是在第二时间间隔中(例如,在车辆的正常使用期间)测量的时间戳样本的平均值
[0106]
同样计算如下:
[0107][0108]
其中测量变量s2是在第二个时间间隔中测量的时间戳样本的样本方差
[0109]
因此,每当m时间戳样本到达(对于k范围从1到n的每个标识符),计算均值和样本方差,根据先前的学习步骤中计算的置信区间为两者分配投票。
[0110]
此外,在操作340中,每个第k个向量关联两个(时变的)n元组和
包含与每个消息标识符id1,...,idn关联的关于期望值和样本方差的隶属度投票。这两个n元组具有公式(9)中出现的结构:
[0111][0112]
tj表示一个通用时刻,例如在t0和t
m+h
之间,在任何情况下都属于第二个时间间隔。
[0113]
因此,在内存分配层面,对于白名单wl中的每个消息标识符id1,...,idn,需要一个n
×
2维的数组,共n个n
×
2维的数组,如果要连续分配,对应2n 2
个固定分配的变量。
[0114]
然后,在随后的计数操作350中,设想提供计数器阵列包含各自的计数器cv
l,k
,其中,为了清楚起见,从现在起用范围从1到n的指数l表示标识符id
l
,其置信区间的参数由步骤250提供,而指数k表示的是在步骤300中当前收到的消息msg'的标识符idk,上述计数器cv
l,k
与每张投票相关联,以及各自的计数器与每张投票相关联。
[0115]
以下公式(10)中提供了计数器阵列的结构:
[0116][0117]
其中cv
l,k
表示的是,每当针对第k个标识符idk的期望值的测量接收到与第l个标识符id
l
关联的置信区间中的隶属度的最多投票时,计数器就会递增。同样,cw
l,k
表示的是,每当对第k个标识符idk的样本方差测量接收到与第l个标识符id
l
关联的方差置信区间中的隶属度的最多投票时,计数器就会递增。
[0118]
计数器cv
l,k
和cw
l,k
被定义为l≠k,就理论上而言cv
k,k
和cw
k,k
会无限增加。相反,在操作360中,计数器cv
l,k
和cw
l,k
用于确定错误标识符归因的最大数,即接受将标识符id彼此“混淆”的最大次数。计数器cv
l,k
和cw
l,k
的增量遵循下面出现的过程(伪代码版本)。
[0119]
cv
l,k
=0
[0120]
cw
l,k
=0
[0121][0122][0123]
if cv
l,k
=0∶cv
l,k
=cv
l,k
+0
[0124]
if cv
l,k
》0∶cv
l,k
=cv
l,k-1
[0125][0126]
if cw
l,k
=0∶cw
l,k
=cw
l,k
+0
[0127]
if cw
l,k
》0∶cw
l,k
=cw
l,k-1
[0128]
因此,只要计数器cv
l,k
和cw
l,k
中的值低于所述的错误归因的最大数,步骤300,特别是操作360,不会产生告警al。一旦计数器超过错误归因的最大数的阈值,则生成告警al或警告,其类型或内容取决于计数器cv
l,k
和cw
l,k
采用的值的组合。生成警告的组合和原因如下:
[0129]-在第一种组合中,针对第k个消息标识符idk的期望值
[0130]
落在第l个标识符id
l
的期望值的置信区间内的次数大于给定阈值(即计数器cv
l,k
超过错误归因的阈值),然而,关于样本方差计数器保持在上述阈值内。在这种情况下,很可能第k个消息标识符idk以第l个标识符的id
l
的周期性发送的。其逻辑是将此信息与标识符id属于ecu的先验知识以及消息的周期性相结合,以便能够推断出攻击的类型。特别是,如果第l个标识符id
l
的期望周期t
l
远高于第k个消息标识符idk的期望周期tk,但第k个标识符idk的优先级反而高于该第l个标识符的id
l
的优先级,则监控系统会发出警告,表明与第k个消息标识符idk关联的ecu已更改其行为。根据攻击的标准定义,流量被高频高优先级的消息阻塞,则很可能会发生拒绝系统(denial-of-system,dos)类型的攻击,而可能的攻击者正是根据先验知识,与第k个消息标识符idk相关联的ecu。
[0131]-在第二种组合中,落在第l个标识符id
l
的样本方差的置信区间内的次数大于给定的相应阈值(即对应的计数器cw
l,k
超过错误归因的阈值),然而,关于对于第l个标识符的期望值计数器保持在阈值内。这可能是这样的情况,第k个标识符idk以正确的周期t发送,但由于方差与预期不同,源/ecu,(即节点11)可能已更改,这可能是与第l个标识符id
l
关联的源/ecu。根据定义,从所监控的网络/子网中的消息流量的角度来看,这是一次弱攻击。然而,这是一个不可忽略的流量异常,它会在使用第k个标识符idk发送的消息的信息内容上产生问题。考虑这样一个事实,即最初必须发送具有第k个标识符idk的消息的ecu 11与输入(传感器)相连,它从中获取有关车辆状态的信息,该信息通常不同于与第l个标识符id
l
关联的ecu的信息。因为这是发送带有第k个标识符idk的消息的“新”ecu,消息的信息内容(在数据帧的意义上)被改变了;
[0132]-在第三种组合中,期望值和样本方差二者落在预期置信区间之外的次数大于共同阈值或各自阈值。这可能意味着第k个标识符idk改变了它的周期tk和源(即发送节点11)。这种情况使前两种组合所描述的攻击问题更加复杂,并突出了另一种异常现象的存在。周期性发生变化并且期望值的测量与另一个标识符id
l
相关联(例如,关联到ecu 11
l
),因此而可变性/方差的测量与标识符id
p
相关联(例如,关联到ecu 11
p
),即的事实,可能暗示以下两种报警情况中的其中之一:
[0133]
o电子控制单元11
p
冒充ecu 11
l
,实际上发送具有允许传输的标识符id的消息(可以通过白名单wl用先验知识验证),但信息内容与预期的不一致。此外,此类消息可能由“错误的”ecu 11
p
发送,具有与先验知识不一致的周期性,例如也表示dos攻击;或者
[0134]
o外部ecu连接到网络,并发送带有标识符idk的消息,具有与标识符id
l
预期的周期性相似的周期性,但是与设备的物理和内在特性最相关的时间测量的可变性与发送带有标识符id
p
的消息的ecu相关联。周期性的置信区间与可变性置信区间之间明显的不一致可能
与在被监控网络的拓扑结构中未设想到的设备/ecu的存在有关。
[0135]
因此,基于已描述的内容,本文公开的方法用于通信网络10,特别是can(控制器区域网络)中的车辆网络攻击防护,该网络包括:
[0136]
通信总线10,特别是can总线;
[0137]
多个节点11,其以信号交换关系关联到所述通信总线10,并且至少部分地关联到用于控制车辆功能的控制单元,
[0138]
所述节点11交换在所述多个节点11的节点之间传递的消息msg、msg’,
[0139]
所述消息msg由各自的消息标识符id区分,
[0140]
所述方法100包括,在与所述通信总线10相关联的控制节点20处:
[0141]
执行防护和监控过程100,包括:
[0142]
学习步骤200,其在第一时间间隔期间执行并且包括:
[0143]
在设备20获取210、220、230在网络10上交换且根据相应的消息标识符idk排序的消息msg的到达时间值ts
idk
的集合
[0144]
计算240所述到达时间值ts
idk
的集合的一个或多个统计参数,例如以及
[0145]
随后获得250所述到达时间值ts
idk
的集合的所述一个或多个统计参数的置信窗口的统计参数
[0146]
以及
[0147]
随后的分类和异常检测步骤,具体由300指定,其在第二时间间隔期间执行并且包括:
[0148]
在设备20获取310、320、330消息msg'的到达时间ts'
idk
的值的集合
[0149]
计算340与所述到达时间值ts'
idk
的集合对应的一个或多个统计参数,例如,以根据所述到达时间值ts
idk
的集合的所述一个或多个统计参数的置信窗口的所述统计参数获得所述到达时间值ts'
idk
的集合的所述一个或多个统计参数在学习步骤200期间获得的到达时间值ts'
idk
的集合的置信窗口中的隶属度投票v、w;以及
[0150]
根据上述隶属度投票v、w评估350、360发出恶意消息报警al。
[0151]
另外,在上述方法中,在所述学习步骤200中获取210、220、230到达时间值ts
idk
的集合的所述操作包括:
[0152]
经由白名单过滤,根据消息标识符id对消息msg进行预过滤的操作;
[0153]
计算时间戳ts以用作计算统计量的测量变量x的操作220;
[0154]
数据收集操作230,其中,对于每个消息标识符idk,用相应的时间戳测量tsk填充相应的学习向量
[0155]
随后获得250针对所述到达时间值ts
idk
的集合的所述统计参数的置信窗口的统计参数包括:量化置信区间的操作,其中所述一个或多个统计参数特别是均
值或样本方差,相对于各自置信区间的宽度被归一化,例如以获得归一化统计参数p
i,
并且根据所述一个或多个归一化统计参数pi
,
计算各自的投票;
[0156]
在分类和异常检测步骤300中,在设备20获取310、320、330消息msg'的到达时间值ts'
idk
的集合包括:
[0157]
通过用所述白名单wl过滤的方式,基于消息msg’的消息标识符id对消息msg’进行相应过滤操作310,
[0158]
数据收集操作330,其中,对于每个消息标识符idk,用相应的时间戳测量ts'k填充对应的监控向量特别是所述监控向量
[0159]
以先进先出(fifo)方式填充;
[0160]
根据包含在所述置信区间统计参数中的归一化的所述一个或多个统计参数p
i,
执行根据在学习步骤200确定和提供的置信区间统计参数计算隶属度投票v k
,wk的操作340;
[0161]
基于所述隶属度投票v、w评估350、360发出恶意消息告警al的所述操作包括:对于至少一个被监控的消息标识符idk,
[0162]
对被监控的所述标识符的到达时间的一个或多个统计参数
[0163]
的隶属度投票v、w在除被监控的所述标识符idk以外的消息标识符id1,...,idn的置信区间中呈现隶属度的最大值的相应次数进行计数,以及
[0164]
如果在除所述被监控的标识符idk以外的消息标识符id1,...,idn的至少一个所述置信区间,所述相应次数超过相应阈值
[0165]
发出网络异常告警al,其内容取决于除所述被监控标识符idk[0166]
以外的消息标识符id1,...,idn,其所述计数超过相应阈值
[0167]
此外,在所述方法中,所述计算240所述到达时间值ts
idk
的集合的一个或多个统计参数包括:
[0168]
对于每个消息标识符idk,计算各自的到达时间的平均值和到达时间的样本方差
[0169]
以及包括:分别针对到达时间的平均值和到达时间的样本方差获得250置信窗口的统计参数
[0170]
所述计算340所述到达时间值ts'
idk
的集合对应的一个或多个统计参数以获得隶属度投票v,w包括:计算340分类和异常检测步骤300中到达时间的平均值和所述到达时间值ts'
idk
的集合的样本方差以获得对到达时间的平均值
[0171]
和对所述到达时间值ts'
idk
的集合的置信窗口的每个置信区间的样本方差的隶属度投票v、w,
[0172]
所述基于所述隶属度投票v、w评估350、360发出恶意消息告警al包括:对于至少一个被监控的消息标识符idk,
[0173]
对被监控的所述标识符的到达时间的平均值和到达时间的样本方差的隶属度投票v、w在除被监控的所述标识符idk以外的消息标识符id1,...,idn的平均值和方差的置信区间中呈现隶属度的最大值的相应次数进行计数,以及
[0174]
如果在除所述被监控的标识符idk以外的消息标识符id1,...,idn的平均值(例如)以及方差(例如)的至少一个所述置信区间,对所述被监控的标识符idk的到达时间的平均值和到达时间的方差的相应次数超过相应的阈值
[0175]
发出360网络异常告警al,其内容取决于除所述被监控的标识符idk以外的消息标识符id1,...,idn的平均值和方差的至少一个置信区间,其所述计数超过相应阈值
[0176]
此外,在上述方法中,关于网络拓扑和/或发送节点11和/或由每个节点发送的消息的标识符id的数量和类型的信息是预先已知的,可用于执行该方法的操作。
[0177]
此外,上述方法包括白名单过滤操作,仅接受与控制节点关联的所述白名单中有效存在的消息标识id。与列表无关的标识符类型id可以被丢弃,记录在有意提供的数据结构中,并可能通过特定信号通知用户。
[0178]
此外,在上述方法中,所述测量到达时间的操作通过获取消息到达的时间戳来执行,或者通过防护设备20的时钟信号进行测量来执行。
[0179]
此外,在上述方法中,所述发出网络异常告警al的操作360,其内容取决于除所述被监控的标识符idk以外的消息标识符id1,...,idn的平均值和方差的至少一个置信区间,就其而言,其所述计数超过相应阈值包括评估:
[0180]-在第一种组合中,如果被监控的标识符idk的期望值落在不同标识符id
l
的期望值的置信区间内的次数大于给定阈值,如果不同标识符id
l
预期的周期t
l
远高于被监控的标识符idk预期的周期tk,发出告警al以指示与该被监控的消息标识符idk关联的节点11改变了它的行为;
[0181]-在第二种组合中,如果被监控的标识符idk的方差落在不同标识符id
l
的期望值的置信区间内的次数大于给定阈值,则指示传输节点可能变化;
[0182]-在第三种组合中,如果期望值和样本方差两者落在被监控的标识符预期的置信区间之外的次数均大于共同阈值或各自阈值,表明该被监控的标识符idk改变了它的周期tk和发送节点11,通过告警al指示消息由与被监控的消息标识符关联的节点之外的节点发送或由网络10外部的节点发送。
[0183]
一种用于在车辆的通信网络,特别是can(控制器局域网)中的网络攻击防护的设备20,该网络包括:
[0184]
通信总线10,特别是can总线;和
[0185]
多个节点11,其以信号交换关系关联到所述通信总线10,并且至少部分地关联到
用于控制车辆功能的控制单元,
[0186]
所述节点11交换在所述多个节点11的节点之间传递的消息m,
[0187]
所述消息m由各自的消息标识符id来区分,这样的设备被配置为根据上述方法进行操作。
[0188]
具体地,所述防护设备构造为can节点11,包括:
[0189]-can收发器12,与can总线10相关联,配置为管理can总线10的电平;
[0190]-can控制器13,其与can收发器12连接,用于管理can总线10的逻辑电平和序列化;以及
[0191]-微控制器14,其包含消息发送和接收逻辑,所述微控制器14特别地被配置为根据上述方法进行操作。
[0192]
因此,根据上面的描述,所提出的解决方案的优势显而易见。
[0193]
有利地,所述的解决方案使得可以提供一种用于防护和监控can总线上的流量的设备,该设备可以集成在基于微控制器和应用处理器的系统上,并且可以插入到车辆的通信网络中,以识别电子设备(即车辆架构内部的节点)之间通信本身的任何类型的异常,特别是基于识别从一个节点发送到另一个节点的消息的时间漂移的过程。
[0194]
所提出的解决方案是可扩展的,并且已经在具有与应用程序处理器(例如,cortex-a系列的类型,但不限于此)兼容的计算能力的系统以及在具有计算能力和内存限制的平台(例如,cortex-m系列的类型,但不限于此)上实施。
[0195]
具体地关于到达时间的一个或多个统计参数的计算描述了该方法,在示例中这些参数是期望值(或平均值)和方差。如前所述,仅考虑期望值的置信区间,即使可以通过投票定义来区分隶属度,也可能出现投票差异不是很大的情况,因此分类结果可能不尽如人意。然而,在变型的实施例中,显然所述到达时间的一个或多个统计参数可以仅包括期望值或平均值,因此仅计算关于平均值的投票,并且仅基于平均值在消息标识符相应类别中的隶属度发出告警。更一般地,到达时间的所述一个或多个统计参数可以包括其他指数或统计矩,在这种情况下,采用上述量的置信区间的极值,并且投票的计算方式与在说明书中针对均值和方差的描述一致。

技术特征:
1.一种在车辆通信网络(10),特别是can(控制器局域网)中的网络攻击防护的方法,所述车辆通信网络包括:通信总线(10),特别是can总线;多个节点(11),其以信号交换关系关联到所述通信总线(10),并且至少部分地关联到用于控制车辆功能的控制单元,所述节点(11)交换在所述多个节点(11)的节点之间传递的消息(msg,msg’),所述消息(msg)由各自的消息标识符(id)区分,所述方法(100)包括,在与所述通信总线(10)相关联的控制节点(20)处:执行防护和监控过程(100),包括:学习步骤(200),其在第一时间间隔期间执行并且包括:在设备(20)获取(210,220,230)在网络(10)上交换且根据相应的消息标识符(id
k
)排序的消息(msg)的到达时间值(ts
idk
)的集合计算(240)所述到达时间值(ts
idk
)的集合的一个或多个统计参数以及随后获得(250)所述到达时间值(ts
idk
)的集合的所述一个或多个统计参数的置信窗口的统计参数以及随后的分类和异常检测步骤(300),其在第二时间间隔期间执行并且包括:在设备(20)获取(310,320,330)消息(msg')的到达时间值(ts'
idk
)的集合计算(340)所述到达时间值(ts'
idk
)的集合对应的一个或多个统计参数以根据所述到达时间值(ts
idk
)的集合的所述一个或多个统计参数的置信窗口的所述统计参数获得所述到达时间值(ts’idk
)的集合的所述一个或多个统计参数在学习步骤(200)期间获得的所述到达时间值(ts’idk
)的集合的置信窗口中的隶属度投票(v,w),以及根据所述隶属度投票(v,w)评估(350,360)发出恶意消息告警(al)。2.根据权利要求1所述的方法,其中:在所述学习步骤(200)中所述获取(210、220、230)到达时间值(ts
idk
)的集合的操作包括:通过白名单过滤,根据消息(msg)的消息标识符(id)对消息(msg)进行预过滤(210)的操作;计算时间戳(ts)以用作计算统计量的测量变量(x)的操作(220);数据收集操作(230),其中,对于每个消息标识符(id
k
),用相应的时间戳测量(ts
k
)填充相应的学习向量随后获得(250)针对所述到达时间值(ts
idk
)的集合的统计参数的置信窗口的统计参数包括:量化置信区间的操作,其中所述一个或多个统计参数特别是均
值或样本方差,相对于各自置信区间的宽度被归一化并且根据归一化的所述一个或多个统计参数计算各自的投票;在分类和异常检测步骤(300)中,在设备20获取(310,320,330)消息(msg')的到达时间值(ts'
idk
)的集合包括:通过使用所述白名单(wl)过滤的方式,基于消息(msg’)的消息标识符(id)对消息(msg’)进行相应过滤(310)的操作,数据收集操作(330),其中,对于每个消息标识符(id
k
),用相应的时间戳测量(ts'
k
)填充相应的监控向量特别是所述监控向量以先进先出方式填充;根据包含在所述置信区间统计参数中的归一化的所述一个或多个统计参数执行根据在学习步骤(200)确定和提供的置信区间统计参数计算隶属度投票(v
k
,w
k
)的操作(340);所述基于所述隶属度投票(v、w)评估(350、360)发出恶意消息告警(al)的操作包括:对于至少一个被监控的消息标识符(id
k
):对被监控的所述标识符(id
k
)的到达时间的一个或多个统计参数的隶属度投票(v,w)在除被监控的所述标识符(id
k
)之外的消息标识符(id1...,id
n
)的置信区间中呈现隶属度的最大值的相应次数进行计数,以及如果在除所述被监视的标识符(id
k
)之外的消息标识符(id1,...,id
n
)的所述至少一个置信区间,所述相应次数超过相应阈值发出网络异常告警(al),其内容取决于除了被监视的标识符(id
k
)之外的消息标识符(id1,...,id
n
),其所述计数超过相应阈值3.根据权利要求1或2所述的方法,其中:所述计算(240)所述到达时间值(ts
idk
)的集合的一个或多个统计参数包括:对于每个消息标识符(id
k
),计算各自的到达时间的平均值和到达时间的样本方差以及包括:分别针对到达时间的平均值和到达时间的样本方差获得(250)置信窗口的统计参数所述计算(340)所述到达时间值(ts'
idk
)的集合对应的一个或多个统计参数以获得隶属度投票(v,w)包括:计算(340)分类和异常检测步骤(300)中到达时间值(ts'
idk
)的集合的平均值和样本方差以获得对到达时间的平均值和对所述到达时间值(ts’idk
)的集合的置信窗口的每个置信区间的样本方
差的隶属度投票(v,w),所述基于所述隶属度投票(v、w)评估(350、360)发出恶意消息告警(al),包括:对于至少一个被监控的消息标识符(id
k
),对被监控的所述标识符(id
k
)的到达时间的平均值和到达时间的样本方差的隶属度投票(v,w)在除所述被监控的标识符(id
k
)以外的消息标识符(id1,...,id
n
)的平均值和方差的置信区间中呈现隶属度的最大值的相应次数进行计数;以及如果在除所述被监控的标识符(id
k
)以外的消息标识符(id1,...,id
n
)的平均值以及方差的至少一个所述置信区间,对所述被监控的标识符(id
k
)的到达时间的平均值和到达时间的方差的相应次数超过相应的阈值发出(360)网络异常告警(al),其内容取决于除所述被监控的标识符(id
k
)以外的消息标识符(id1,...,id
n
)的平均值和方差的至少一个置信区间,其所述计数超过相应阈值4.根据前述权利要求中任一项所述的方法,其中,关于网络拓扑和/或发送节点(11)和/或由每个节点发送的消息的标识符(id)的数量和类型的信息是预先已知的,可用于执行所述方法的操作。5.根据前述权利要求中任一项所述的方法,包括使用白名单(wl)进行过滤的操作(210、310),其仅接受与控制节点关联的所述白名单(wl)中有效存在的消息标识符(id)。6.根据前述权利要求中任一项所述的方法,其中,所述获取(210、220、230)到达时间(ts,ts')的操作通过获取消息到达的时间戳来执行,或者通过防护设备(20)的时钟信号进行的测量来执行。7.根据权利要求3所述的方法,其中所述发出(360)网络异常告警(al),其内容取决于除所述被监控的标识符(id
k
)之外的消息标识符(id1,...,id
n
)的平均值和方差的至少一个置信区间,其所述计数超过相应阈值的操作,包括评估:-在第一种组合中,如果被监控的标识符(id
k
)的期望值落在不同标识符(id
l
)的期望值的置信区间内的次数大于给定阈值,如果不同标识符(id
l
)预期的周期(t
l
)远高于被监控的标识符(id
k
)预期的周期(t
k
),发出告警al以指示与该被监控的消息标识符(id
k
)关联的节点(11)改变了它的行为;-在第二种组合中,如果被监控的标识符(id
k
)的方差落在不同标识符(id
l
)的期望值的置信区间内的次数大于给定阈值,则指示传输节点可能变化;-在第三种组合中,如果期望值和样本方差两者落在被监控的标识符预期的置信区间之外的次数均大于共同阈值或各自阈值,表明该被监控的标识符(id
k
)改变了它的周期(t
k
)和发送节点(11),通过告警(al)指示消息由与被监控的消息标识符关联的
节点之外的节点发送或由网络(10)外部的节点发送。8.一种用于在车辆通信网络,特别是can(控制器局域网)中的网络攻击防护的设备(20),包括:通信总线(10),特别是can总线;以及多个节点(11),其以信号交换关系关联到所述通信总线(10),并且至少部分地关联到用于控制车辆功能的控制单元,所述节点(11)交换在所述多个节点(11)的节点之间传递的消息(m),所述消息(m)由各自的消息标识符(id)区分,所述设备被配置为根据如权利要求1至7中的一项或多项所述的方法进行操作。9.根据权利要求8所述的防护设备,其中,所述设备构造为can节点(11),包括:-can收发器(12),其与can总线(10)相关联,被配置为管理can总线(10)的电平;-can控制器(13),其与can收发器(12)连接,并被配置为管理can总线(10)的逻辑电平和序列化;以及-微控制器(14),其包含消息发送和接收逻辑,所述微控制器(14)特别地被配置为根据权利要求1至7中的一项或多项所述的方法进行操作。

技术总结
本申请描述了一种在车辆通信网络,特别是CAN(控制器局域网)中的防护网络攻击防护的方法。所述网络包括:通信总线,特别是CAN总线;多个节点,其以信号交换关系关联到所述通信总线,并且至少部分地关联到用于控制车辆功能的控制单元,所述节点交换在所述多个节点的节点之间传递的消息(MSG,MSG’),所述消息(MSG)由各自的消息标识符(ID)区分。所述方法包括在与所述通信总线相关联的控制节点处:执行防护和监控过程,包括:学习步骤,其在第一时间间隔期间执行;以及随后的分类和异常检测步骤,其在第二时间间隔期间执行。第二时间间隔期间执行。第二时间间隔期间执行。


技术研发人员:C
受保护的技术使用者:马瑞利欧洲公司
技术研发日:2023.02.02
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐