本发明在一些实施方案中涉及向车载网络提供安全性。
背景技术:
本部分中的陈述仅提供涉及本发明的背景信息,并不会必然构成现有技术。
入侵检测系统(intrusiondetectionsystem,ids)和入侵保护系统(intrusionprotectionsystem,ips)已经广泛用于网络安全中。ids监测网络活动并检测可疑行为。ips表示具有对检测到的入侵作出响应(例如通过阻止可能影响系统的信号)的功能或能力的系统。通常,ids和ips一起用于称为入侵检测和防御系统(intrusiondetectionandpreventionsystem,idps)的系统中。
随着车辆上配备的电子控制单元(ecu)数量不断增加,并且车辆又通过有线和无线网络连接到外部网络,引入ids或idps来检测和处理对车辆内部网络的安全威胁。
技术实现要素:
技术问题
本发明旨在提供适用于安装在车辆上的入侵检测系统(ids)的架构和操作多种检测方案的有效方法,以能够减少所需的系统资源,同时保持针对恶意消息检测的鲁棒性。
技术方案
本发明的至少一个方面提供了一种用于向车载网络提供安全性的入侵检测系统,该系统包括消息队列模块、存储装置以及规则引擎。消息队列模块配置为将从车载网络收集到的网络消息存储在消息队列中。存储装置配置为安全地存储多种检测技术中使用的规则集。规则引擎配置为:以从外部网络上的后端服务器下载的新规则集对存储在存储装置中的规则集进行更新,对收集到的网络消息顺序地应用多种检测技术,以确定收集到的网络消息是否为安全威胁消息。多种检测技术可以包括静态检测技术、误用检测技术以及异常检测技术。
入侵检测系统的实施方案可以进一步包括以下特征。
在一些实施方案中,规则引擎配置为:响应于多种检测技术中的任何一种将收集到的网络消息确定为安全威胁消息,跳过其余检测技术对收集到的网络消息的后续应用。
在一些实施方案中,规则引擎配置为:以静态检测技术、误用检测技术和异常检测技术的顺序对收集到的网络消息应用所述检测技术。
在一些实施方案中,入侵检测系统嵌入以下任意一个:①中央网关,其配置为将外部网络与车载网络连接;②子网关,其配置为将车载网络的每个功能域与中央网关连接;以及③电子控制单元(ecu),其属于所述每个功能域。
在一些实施方案中,规则引擎配置为:响应于多种检测技术全部确定收集到的网络消息不是安全威胁消息,允许将收集到的网络消息传输到中央网关、子网关或电子控制单元的软件应用程序。
在一些实施方案中,入侵检测系统是作为节点连接到车载网络的独立计算装置。
在一些实施方案中,入侵检测系统进一步包括:加密模块,其配置为执行规则集的加密和解密并管理相关的密钥。
在一些实施方案中,入侵检测系统进一步包括:接口管理器,其配置为管理与后端服务器的通信链接,使得能够从后端服务器下载新规则集,或者能够将检测日志发送到后端服务器。
在一些实施方案中,车载网络是控制器局域网(can)。
本发明的另一方面提供了一种由入侵检测系统执行的用于向车载网络提供安全性的方法,其包括:从外部网络上的后端服务器下载多种检测技术中使用的规则集,从而对预先存储的规则集进行更新;将从车载网络收集到的网络消息存储在消息队列中,并且对收集到的网络消息顺序地应用多种检测技术,以确定收集到的网络消息是否为安全威胁消息。
在一些实施方案中,顺序地应用多种检测技术包括:响应于多种检测技术中的任何一种将收集到的网络消息确定为安全威胁消息,跳过其余检测技术对收集到的网络消息的后续应用。
上述方法可以由至少一种电子装置执行,该电子装置包括至少一个处理器和其中记录有指令的存储器。例如,在由至少一个处理器执行时,所述指令使电子装置执行上述方法。
本发明的又一方面提供一种用于向车载网络提供安全性的系统,其包括:第一电子装置,其配置为操作为车载网络上的第一节点;以及第二电子装置,其配置为操作为第二节点。第一电子装置和第二电子装置中的每一个可以与前述入侵检测系统结合或嵌入其中。第一电子装置可以是:中央网关,其配置为将外部网络与车载网络连接;或子网关,其配置为将车载网络的每个功能域与中央网关连接。第二电机装置可以是电子控制单元(ecu),其属于每个功能域。第一电子装置可以利用静态检测技术、误用检测技术以及异常检测技术。第二电子装置可以仅利用静态检测技术、误用检测技术以及异常检测技术中的一部分。
有益效果
如上所述,利用所提供的方法和电子装置,能够在快速检测攻击消息的同时保持针对恶意消息检测的鲁棒性,从而提高整体检测效率。
附图说明
图1示出ids在控制器局域网(can)上可以部署的位置。
图2为根据本发明的至少一个实施方案的ids或idps的功能框图。
图3为根据本发明的至少一个实施方案的操作ids的说明性方法的流程图。
具体实施方式
下文中,将参考附图对本发明的一些实施方案进行详细描述。在下面的描述中,尽管元件在不同的附图中示出,但是相同的附图标记表示相同的元件。此外,在一些实施方案的以下描述中,为了清楚和简洁的目的,将省略已知功能和其中包括的配置的详细描述。
另外,诸如第一、第二、a、b、(a)、(b)等各种术语仅用于区分一个组件与另一个组件,而不用于隐含或暗示组件的本质、顺序或次序。在整个说明书中,当部件“包括”或“包含”组件时,该部件表示进一步包括其他组件,不排除其他组件,除非有相反的明确说明。诸如“单元”、“模块”等术语表示用于处理至少一个功能或操作的一个或更多个单元,其可以通过硬件、软件或其组合来实现。
图1示出入侵检测系统(ids,intrusiondetectionsystem)在控制器局域网(can)上可以部署的位置(例如,
各个位置的优点和问题如下。
多个ids系统可以装备(或嵌入)于这样的位置
图2为根据本发明的至少一个实施方案的入侵检测系统(ids)的功能框图。
如图2所示,用于车载网络的ids可以包括消息队列模块20、规则引擎30、加密模块40、接口管理器50以及存储装置60。图2中示出的ids可以实现为嵌入在图1中所示的网关或ecu中或者链接到车载网络的专用电子控制单元。
消息队列模块20将由can总线收集的所有can流量数据存储在消息队列中。通过消息队列模块20处理ids的其他模块对所收集的流量数据的请求。
规则引擎(或称为“检测引擎”)30是操作为检测器和响应器(其为ids的基本功能)的模块。规则引擎30的功能可以大体上分为预处理31、检测处理32和后处理33。预处理31利用通过各种装置(例如,后端服务器、usb记忆棒、sd卡等)获得的规则集10来对存储在存储装置60中的规则集进行更新,或者对ids进行重置。检测处理32在行驶期间检测恶意消息。后处理33确定如何处理检测到的恶意消息。例如,后处理33可以删除或记录检测到的恶意消息或生成警报。
加密模块40对规则集和检测日志进行加密或解密,并管理相关的密钥。
接口管理器50管理与后端服务器的通信链路,使得其能够从后端服务器下载新的规则集10或将检测日志发送到后端服务器。规则集和检测日志由加密引擎进行加密,并安全地存储在存储装置60(例如,闪存)中。存储装置60可以由网络上的其他节点提供。在这种情况下,接口管理器50也可以管理与位于另一个节点处的存储装置60的通信链路。
图3为根据本发明的至少一个实施方案的操作ids的说明性方法的流程图。
ids可以配置为在车辆启动时执行预处理,然后重复执行检测处理和后处理,直到车辆熄火为止。
在预处理中,当重新启动时,ips检查规则集的版本,并且在当前存储在存储装置中的规则集不是最新版本时,ips利用例如通过ota或obd端口下载的规则集的最新版本来对规则集进行更新。此后,ids对存储在存储装置中的加密的规则集进行解密并将其加载到内部存储器(ram)中。当预处理终止时,检测处理开始,检测处理是ids的实质性的检测操作。
规则集是在检测处理中执行的多种检测技术所使用的预定义规则的集合,该检测处理用于检测与安全威胁相关的网络消息。规则集包括在静态检测中利用的can数据库(db)、在误用检测中利用的黑名单以及在异常检测中利用的简档,将在下文进行描述。
在检测处理中,ids可以响应于新的can消息到达消息队列来顺序地执行静态检测、误用检测和异常检测技术,以确定新的can消息是否是与安全威胁相关的网络消息,其称为“安全威胁消息”、“异常消息”、“恶意消息”、“攻击消息”或未通过检查的消息或“未通过的消息”。
在后处理中,将根据检查can消息的结果采取诸如传递、阻止、记录或警告的操作。例如,ids可以通过can网络将包含检测日志的can消息传递到网关或远程信息处理装置,该装置可以以通信方式链接到远程网络,使得将检测日志发送到远程网络上的后端服务器。
上述入侵检测技术的特征、优点和问题如下。
静态检测是一种用于监测消息id、消息长度、消息传输周期等并通过将监视的数据与预定规则进行比较来执行有效性检查的技术。具体地,在静态检测中,将针对制造商预先建立的“有效消息格式”来对收集到的消息进行检查。相比于误用检测和异常检测,静态检测消耗更少的系统资源。然而,仅有效性检查无法检测出消息中的恶意数据和其他数据。
误用检测是用于通过车辆系统的漏洞分析来检测预定的攻击模式的技术。这种攻击的模式也称为签名,所以误用检测也称为基于签名的检测。误用检测通过检查记录有恶意消息的签名的黑名单来确定收集到的消息是否为恶意消息,而无需考虑车辆的状态。误用检测的优势在于,它消耗更少的系统的资源并且具有较高的检测的可能性,但是它需要对每次新的攻击定义一个新的签名,从而需要大量时间和大量安全人力资源来应对新出现的攻击。该技术可能会导致偶尔遗漏实际的攻击的漏报(falsenegative)(第2类错误)问题。
异常检测是一种用于基于车辆的状态检查关注的消息是否在正常消息类别内的技术,并且异常检测基于车辆的状态和指令消息,按照检测规则来执行。异常检测是这样一种技术:其用于收集和分析网络上的常规行为,以定义正常模式(也可以称为“简档”),然后检测超出正常模式特定阈值的异常行为。异常检测也称为基于简档的检测。利用异常检测,即使在发生新的攻击时,如果这种攻击偏离正常模式也可以检测出,并且相比于误用检测方法,异常检测占用的安全人力资源更少。然而,异常检测会占用大量系统资源,并且可能导致将预定阈值内的正常活动误认为是入侵的误报(falsepositive)(第1类错误)问题。
根据图3所示的操作,在阻止或传递消息时,堆积在消息队列中的每条消息由检测处理确定,该检测处理由三种检测技术(即,静态检测→误用检测→异常检测的检测)组成。另外,在三种技术组成的检测处理之后,正常的can交换消息也传输到其所装备的网关或ecu的软件应用程序。然而,检测处理配置为响应于已应用的第一种检测技术将can网络消息确定为安全威胁消息,跳过其余检测技术对该消息的后续应用。这里,值得注意的是三种检测技术的应用顺序。越早地选择具有更高的检测效率、要求更低的计算能力、并且花费的时间更短的检测技术,整个检测处理的效率就越高。这通过本发明利用配置为首先应用预测占用更低的计算能力和更短的处理时间的这种技术的检测处理来实现。这种检测处理的配置能够提高整体检测效率,同时保持针对恶意消息检测的鲁棒性。
在图3所示的ids的操作中,在检测处理中利用了静态检测、误用检测和异常检测全部三种检测技术。然而,根据ids的安装或嵌入的位置,可能会省略三种检测技术中的一部分。例如,考虑到异常检测要求大量的计算能力和时间,ecu上配备的ids的检测处理可以布置为单独利用静态检测,或仅利用静态检测和误用检测。另一方面,装备在具有相对较高的计算能力的(中央网关/子网关)网关上的ids的检测处理可以使用全部三种检测技术。作为另一个示例,中央网关利用全部三种检测技术,子网关仅利用静态检测和误用检测,而ecu仅采用静态检测。
应当理解的是,上述说明性实施方案可以以许多不同的方式来实现。在一些示例中,本发明中描述的各种方法、装置、系统可以通过具有处理器、存储器、通信接口等的电子控制器、网关等来实现或包括在其中。例如,电子控制器可以用作这样的装置:该装置通过将软件指令加载到处理器中然后执行指令来执行上述方法,以执行本发明中描述的功能。
另一方面,本发明中描述的各种方法可以利用存储在非暂时性记录介质中的指令来实现,该指令可以由一个或多个处理器读取并执行。非暂时性记录介质包括例如所有类型的记录装置,其中,数据以计算机系统可读的形式存储。通过举例而非限制性的方式,非暂时性记录介质包括诸如可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存、光盘驱动器、磁性硬盘驱动器、固态驱动器(ssd)等存储介质。
尽管出于说明的目的已经描述了本发明的示例性的实施方案,但是本领域技术人员应当理解,能够进行各种修改、添加和删减,而不脱离所要求保护的发明的构思和范围。因此,为了简洁和清楚起见,已经描述了本发明的示例性实施方案。本实施方案的技术构思的范围不受说明的限制。因此,本领域的普通技术人员应当理解,所要求保护的发明的范围不受上述明确描述的实施方案的限制,而由权利要求及其等同形式限制。
相关申请的交叉引用
本申请要求2018年1月23日提交的申请us62/620,754的优先权,该申请的全部内容通过引用的方式并入本文。