用于识别对现场总线的攻击的方法和设备与流程

文档序号:16320906发布日期:2018-12-19 05:41阅读:251来源:国知局
用于识别对现场总线的攻击的方法和设备与流程

本发明涉及一种用于识别对现场总线的攻击的方法。本发明还涉及一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。

背景技术

在it安全方面,每个用于识别针对计算机系统或计算机网络的攻击的系统都被称作攻击识别系统(intrusiondetectionsystem,ids)。尤其公知的是基于网络的ids(nids),所述基于网络的ids(nids)记录、分析在所要监控的网络中的所有包并且依据已知的攻击模式来报告可疑的活动。

wo2017042012a1公开了一种在车辆中的私人控制器局域网络(controllerareanetwork,can),以便通知没有直接受攻击的电子控制单元(electroniccontrolunit,ecu)有未经授权的尝试访问受攻击的ecu。在该私人的can上的每个ecu都存储共同的经加密的黑客通知密钥和明确的识别码。如果第一车辆系统ecu通过公共的can来识别未经授权的访问尝试,那么该第一车辆系统ecu通过封闭的、私人的can将报警通知发送给其它ecu。

us20150113638a1提出了一种攻击监控设备,所述攻击监控设备通过静态的模式识别来识别在can上的异常的并且怀有恶意的can通信。为此,可以嵌入一组规则或者将一组规则加载到攻击监控设备上,所述攻击监控设备会基于在can通信中的确定的模式连同周围环境条件来在该时间点识别攻击。



技术实现要素:

本发明提供了按照独立权利要求所述的一种用于识别对现场总线的攻击的方法、一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。

在这种情况下,所提出的方案基于如下认识:用于can的传统的ids的规则大多可以借助于在pc上的通信矩阵或can矩阵自动化地生成。然后,在所谓的应用的框架内,ids组件在其上运行的那个控制设备利用所生成的规则组来配置。因此,这些规则直至控制设备的下一次软件更新都是固定的,但是例如可以在网络通信中有变化的情况下利用要新生成的软件版本来更新。

在这种情况下,所提及的can矩阵包含如下信息,所述信息关于在相应的can中限定的标识符(identifier,id)并且关于哪个控制设备作为网络成员接收或发送哪些can数据帧(frame)。此外,详细规定了如下频率,在所述频率下,有关的消息由控制设备来发送,以及说明了包的数据长度(datalengthcode(数据长度码),dlc)。借助于这些信息可以设立如下规则,所述规则例如在实时运行时监控是否在特定的can总线中出现未经限定的can-id或者是否在can帧的频率方面出现大的偏差。此外,在can矩阵中也限定了关于传感器信号和状态信号的信息,所述传感器信号和状态信号在相应的can帧的有效数据(payload(有效载荷))中被传输。从所提及的说明的全体可以推导出如下规则,所述规则依据值极限、信号跳变、字节或比特位置等等来有关所传输的信号的有效性来检查所传输的信号。按意义,这些观察可以被转用于按照因特网协议(ip)运行的现场总线,而不脱离本发明的保护范围。

随后探讨的方案所基于的认识还在于:通常通过接线柱控制地来实现对控制设备的所谓的唤醒(wake-up)而且没有限定或者编排顺序地实现控制设备的启动特性。这样,通常并不同时启动车辆总线系统的所有控制设备。此外,即使车辆停下,一些控制设备也在待命状态(睡眠模式(sleepmode))下运行,在需要时通过它们的收发器(transceiver)从该状态“被唤醒”(接线柱30),而且这样可以与开关信号无关地来启动。而其它控制设备组(cluster(群))根据这种开关信号(接线柱15)来启动和关闭。

对于准备好运行的控制设备来说,考虑针对唤醒的不同的诱因。例如通过车钥匙的无线信号实现对控制设备a的本地唤醒(localwake-up)。如果控制设备a被启动并且准备好运行,那么控制设备a可以强制其它控制设备启动(boot),其方式是由a触发所谓的总线唤醒(buswake-up)。为此,a在总线上发送显性信号,由此其它控制设备的被供电的收发器促使所述其它控制设备启动。如果点火(接线柱15)被接通,那么其它控制设备启动,所述其它控制设备受开关控制地启动。根据现有技术,该事件也可以软件式地被通知。

现在提出的解决方案的优点在于所开启的如下可能性:针对ids组件在运行时制订规则组,用于监控在现场总线上传输的数据包、数据帧或者数据报文(在下文:“消息(botschaft)”)。在这种情况下基本思想是:使用车辆总线系统的唤醒模式以及控制设备的不同的启动特性,以便借此在运行时针对行驶循环制订附加的并且分别明确的规则,用于监控消息序列,所述消息序列并不能容易地从通信矩阵或者通过过程跟踪(tracing)来推导出。

通过在从属权利要求中提及的措施,对在独立权利要求中说明的基本思想的有利的扩展方案和改进方案都是可能的。这样可以规定:所要监控的现场总线是can。优点在于:用于监控消息序列的规则组被提取出,所述规则组不能通过can矩阵来推导。同样,从日志文件(logfile)中提取出可能的规则组是几乎不可能的,因为基于在运行时的不同的条件的启动特性导致分别不同的规则组。例如,考虑车钥匙到达无线电作用范围内的时间点、唤醒消息的时间点、接通点火的时间点或者控制设备的变化的启动时间,作为影响因子。基于附加的规则,安全性以及借此用于通过ids引起的攻击识别或其它异常识别的评价基础被改善。

同样被证明为有利的是:这些附加的规则与根据通信矩阵生成的规则相比不是静态的。基于在网络中的控制设备的唤醒模式和启动特性,针对每个行驶循环都可以在运行时计算不同的并且对于相应的行驶循环来说明确的规则组。因此,这些规则组对于攻击者来说会更困难地提前预料到并且因此会更困难地对付。

附图说明

本发明的实施例在附图中示出并且在随后的描述中进一步予以阐述。其中:

图1示出了现场总线的拓扑;

图2示出了在现场总线上的数据包的第一序列;

图3示出了在现场总线上的数据包的第二序列;

图4示出了按照本发明的一个实施方式的方法的流程图。

具体实施方式

对图1至3的综述应该阐明核心方面。为此,应做出如下假设:一旦相应的控制设备启动并且准备好运行,就以10、20或50ms的频率发送在图1中示出的控制设备a、b和c的网络消息。此外,还应以如下情况为出发点:控制设备a始终作为第一控制设备启动,控制设备b作为第二控制设备启动而控制设备c作为第三控制设备启动。

在图2和3中绘出的示例中,基于控制设备c的分别不同的启动特性,在网络通信的过程中仍然同样得到不同的can-id序列,所述can-id序列分别对于一个行驶循环来说是有效的并且重复地出现。如已经阐述的那样,控制设备的启动特性例如取决于:何时进行唤醒以及相应的控制设备对于启动(boot)过程来说已经消耗了多长时间来准备好运行并且发送第一个消息。这样,控制设备c的变化的启动时间例如可能会归因于:在按照图2的启动场景下由驾驶员进行的点火(接线柱15)比在按照图3的那个启动场景下接通得更早。

如果观察两个图表中的被标记的部分序列,那么确定得到基于系统在其运行时特定的并且在一定程度上随机的启动特性的序列。这可以被用于在运行时针对该行驶循环生成明确的规则组。

为此,网络通信从可限定的时间点t0起被记录。在此,在时间窗(window)内进行记录,其中分别有所限定的数目x个消息id(例如在使用以太网协议或者can承载以太网协议时的can-id或源ip地址和/或目标ip地址)按时间序列组合成一个数据组。如果具有数目x个消息id的时间序列是完整的,那么开始新的时间窗,在所述新的时间窗之内制订新的时间序列。因此,在假设的情况下,在连续地传输(这里以十六进制示出的)标识符03d、123、456、789、6a9、02f、0ad、123、456和03d的情况下,例如会得到如下五部分(quintupel):

(6a9,789,456,123,03d)

(03d,456,123,0ad,02f)。

其它通过现场总线20传输的数据包的标识符以相对应的方式被记录,直至可限定的时间点t1。

现在,如所描述的那样记录的数据按照适当的算法来分析并且在此推导出明确的规则用于监控消息序列。本领域技术人员常用的用于进行关联分析的方法例如包括ais算法、先验(apriori)算法或者fpgrowth算法。因为基于之前记录的数据组来分析和生成规则,所以针对每个行驶循环,根据控制设备的唤醒模式和起动特性,得到上面粗略描述的关于消息序列的结论。如果现在常常在所记录的时间窗内出现确定的序列,那么借助于所提到的方法可以从中形成关联规则。如下示例阐明了这种规则的形式:

[123,456]⇒[03d]。

该规则会按如下地来设计:如果在时间窗之内出现id123和456,那么id03d一定在同一时间窗之内出现。易于理解的是:这样的规则可以取任意的复杂性。

所提取的规则依据可限定的标准例如在使用一个或多个阈值(threshold)的情况下来过滤。主要考虑统计学特征参量、如相对频率(在所述相对频率下,规则是能应用的或者正确的),规则的一般意义或者规则彼此间的就相似程度或者疏远程度而言的相似性。这些参数基于在先前的步骤中执行的方法针对每个获得的规则来确定。这样的过滤是可选的并且首先用于减少关于供ids支配的资源方面的规则的数量。例如,可以这样对这些规则进行过滤,使得只有那些能最频繁地应用的规则以100%的置信水平(aussagewahrscheinlichkeit)留下。

根据所提到的参数还可以推导出扩展的规则。这样,例如可以从说明了相对频率(在所述相对频率的情况下,规则是正确的)的参数推导出其它规则,以便检查该参数的值被遵守还是剧烈地有偏差。这样,例如为50%的说明会意味着:该规则在统计学上每隔一次一定是正确的。因此,基于所生成的规则可以推导出其它规则,以便能够借助于之前列举的标准来实现对规则的统计值的监控。

在过滤之后剩余的规则可以被用于监控消息序列。这些消息序列可以被转交给如下组件,所述组件依据所生成的规则开始进行对网络通信的监控或者将所生成的规则与可能的静态规则相结合。在此,为了保证造假安全性,所生成的规则组应该以加密的方式来签名。如果另一控制设备用作ids,那么所制订的规则可以通过所要监控的网络本身来传输。

这些规则一直适用,直至在基于新的网络数据(参见上文)或者基于已经收集到的数据以及其它数据进行关联分析的过程中重新实施用于生成规则组的方法。这可以在行驶循环开始时进行一次或者在该行驶循环的过程中任意频繁地进行。

本发明的一个实施方式可以在中央控制设备、例如网络耦合器(gateway(网关))或者域控制器上使用,使得来自不同的网络的用于分析或生成规则的序列相结合。本发明的另一实施方式可以使从不同的网络中生成的规则合并,使得根据这里描述的方法10生成上级的规则。

该方法10例如可以以软件或硬件或者以软件和硬件的混合形式例如实现在控制设备中。

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