车辆网络入侵检测辅助方法、装置及系统与流程

文档序号:16307668发布日期:2018-12-19 05:08阅读:162来源:国知局
车辆网络入侵检测辅助方法、装置及系统与流程

本申请涉及车辆网络入侵检测技术领域,特别是涉及车辆网络入侵检测辅助方法、装置及系统。

背景技术

随着车辆智能化的发展,车载部件的可编程化和可远程控制化成为新的趋势,也越来越多的出现在市场上。通过这一技术,可以在汽车行驶过程中,由车联网平台实现对汽车的远程控制,例如,远程控制汽车变速、转向、开关车灯、开启车门,等等。这一智能化的趋势给用户带来便利的同时,也给黑客带来了新的入侵机会。并且由于车本身的价值和机动性,以及车内人员的生命财产安全性,入侵后将会带来比个人电脑更大的损失和风险。因此,针对车内网络进行入侵检测变得尤为重要。

为此,现有技术中出现了一些入侵检测方案,目的主要是为了检测出车内网络是否被入侵,如果检测到入侵行为,则可以采取关闭联网或远程控制功能等措施,以降低造成各项损失的风险。但是,现有技术中的入侵检测方案通常会比较复杂,例如,在一种方案中,通过检测周期性报文的时间属性来进行入侵分析,一旦发现某电子控制单元输出的周期性报文的时间属性出现偏差,且大于预设的阈值,则可以判定存在入侵异常。但是,上述方式主要用于检测针对已知id白名单发起的攻击,而且检测过程所耗费的计算资源量,相对于车内有限的数据处理能力而言,通常是非常大的,使得入侵检测与资源消耗之间产生矛盾。

因此,如何在更有效的进行入侵检测的同时,降低对车内计算资源的消耗,成为需要本领域技术人员解决的技术问题。



技术实现要素:

本申请提供了车辆网络入侵检测辅助方法、装置及系统,能够在保证车内网络安全性的同时,降低由于频繁的入侵检测所造成的对计算资源的损耗。

本申请提供了如下方案:

一种车辆网络入侵检测辅助方法,包括:

获得目标车辆控制器局域网络can总线上定义的正常数据报文的id白名单;

在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

一种车辆网络入侵检测辅助装置,包括:

白名单获得单元,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

一种车辆网络入侵检测辅助设备,所述设备用于连接到can总线,包括:

白名单获得单元,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

一种车辆网络入侵检测辅助系统,包括:

入侵检测辅助设备,用于连接到目标车辆can总线上,获得所述目标车辆can总线上定义的正常数据报文id白名单,并在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id,通过与所述白名单的对比,确定所述数据报文是否为疑似异常数据报文,根据疑似异常数据报文的检测结果触发入侵检测;

入侵检测设备,用于在接收到所述入侵检测辅助设备的触发信息后,启动对目标数据报文的入侵检测。

根据本申请提供的具体实施例,本申请公开了以下技术效果:

通过本申请实施例,能够在对车内网络执行具体的入侵检测之前进行辅助判断,具体辅助判断是将监听到的数据报文的id,与预置的白名单进行比对,如果出现在白名单中,则视为正常数据报文,否则,可以视为疑似异常数据报文,并根据具体疑似异常数据报文的检测结果,确定是否触发具体的入侵检测。通过这种方式,使得入侵检测的时机是可以控制的,并且只有在必要时才进行检测,因此,在保证车内网络安全性的同时,降低由于频繁的入侵检测所造成计算资源的损耗。换言之,在黑客尚未获得白名单时,攻击能力比较弱的情况下,可以更高效的进行检测,

当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的方法的流程图;

图2是本申请实施例提供的装置的示意图;

图3是本申请实施例提供的系统的示意图;

图4是本申请实施例提供的计算机系统的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解本申请实施例,首先对通过车联网进行远程控制,以及黑客的入侵方式进行简单介绍。

can是controllerareanetwork(控制器局域网络)的缩写,是iso国际标准化的串行通信协议,现已被广泛应用于汽车产业中。can具有总线架构,就像交换机一样,所有ecu(电子控制单元,包括引擎控制单元,车门控制单元,车灯控制单元,座椅控制单元,等等)都要经过这个“交换机”进行交换信息,协调指令。具体的,can总线上可以定义多种数据报文,并分别对应不同的id,每种数据报文对应一个具体ecu的一种控制指令。can总线通过数据报文的方式向各种ecu传输控制指令,根据ecu以及具体控制指令的不同,可以包括多个不同的数据报文,每种数据报文可以对应各自的id。对于同一车辆或者同一型号的车辆而言,针对同一ecu的同一控制指令而定义的数据报文的id是相同的。这样,在需要向某ecu发送某种控制指令时,该控制指令首先到达can总线,然后,由can总线将对应数据报文的id发送给该ecu,再由ecu做出具体的响应,执行具体的控制指令,包括转向,车速控制等等。

基于can总线架构的上述特点,车联网平台则可以借助于连接到can总线上的一个tbox等设备,实现与can总线的远程通信,并在预先获知can总线上各种数据报文id及其含义的情况下(车联网平台通常具有官方的性质,可以通过正当的官方途径获知所述数据报文id,但是,这种数据通常不会对外公布),通过远程向can总线发送控制指令,再通过can总线传输给具体的ecu执行对应的指令,以此实现对车内的各种实现远程控制。

但是,can总线架构还具有以下特点:它遵从csma/cd的交流方式,在任何一个节点搭上总线,都可以看到总线的数据;它支持多路访问,网络上所有节点接收数据都经过一条总线,所有数据都在一条线上,发的数据是广播的,所以可以看到很多控制器发的控制指令,如果控制指令是明文,那么就可以通过重放的方式控制汽车的一些设备。可见,只要知道can总线的数据报文id、发送周期等,那么黑客就可以通过重放来判断某个控制功能,进而借助市面上一些usb-can的工具与汽车的can总线相连,通过can总线进行对车辆ecu的控制或者使得ecu功能失效,同时黑客利用利用tsp平台及网联汽车的漏洞,对车辆进行远程攻击。

当然,本申请发明人在实现本申请的过程中发现,对于黑客而言,如果想要实现基于can总线的入侵,则一个重要的前提是,需要获知can总线上数据报文id及其含义等信息。如前文所述,正当的官方途径是不会将上述信息透露给黑客的,因此,黑客通常需要通过一些手段首先获取上述信息,之后,便可以实现对车辆的控制。而具体在获取上述信息时,黑客通常是首先借助市面上一些usb-can的工具与汽车的can总线相连,然后,试探性的向can总线发送数据报文,当然,这种试探性的报文通常并不是can总线上预先定义的报文,但是,在经过多次的试探之后,在某一次的报文能够被can总线识别的情况下,can总线可能会做出响应;而一旦做出响应,黑客就可能会获得can总线上的数据包。对于车身的某一项功能的控制,只需要一个can总线上的数据包即可,这时只需要单纯地重放即可达到攻击的目的。

也就是说,在黑客已经获知了can总线上的数据报文id之后,通常很难再区分出具体的数据报文是来自官方的车联网平台,还是来自于黑客,但是,在黑客尝试性的进行数据报文id窃取的过程中,则是有可能发现的,因此,可以通过在这一阶段进行入侵检测,来达到及早发现入侵行为的目的,并在车辆实际被攻击之前,起到防患于未然的效果。

基于上述分析,本申请实施例提供了一种入侵检测辅助方案,其中,之所谓称为辅助方案是因为,具体的入侵检测可以通过已有的方案来实现,本申请实施例的作用在于,通过对can总线上的数据报文id进行白名单判断,对是否可能存在入侵行为进行预判,如果存在,则触发进行具体的入侵检测分析,以进一步明确是否真正存在入侵风险;如果预判结果为不存在入侵行为,则可以不必执行入侵检测分析,从而实现只有在必要的情况下才入侵检测分析,否则可以不必启动具体的检测过程。这样,可以起到降低频繁的入侵检测所带来的计算资源的损耗。

具体的,在该方案中,可以包括硬件及软件两部分,对于硬件部分,主要是一种连接到can总线上的设备,例如,在通过usb连接的情况下,属于一种usb-can工具。具体从产品角度而言,可以开发独立的usb-can设备,用于实现本申请实施例真的入侵检测辅助功能;或者,将相应的入侵检测辅助功能集成到其他的usb-can工具中,例如,可以是实际执行入侵检测的设备等;再或者,还可以在车辆出厂前内置该硬件设备,等等。总之,对于需要进行入侵检测的车辆,可以预先通过多种方式将该入侵检测辅助设备连接到车辆的can总线上。而在设备内部,则可以通过软件的形式,实现具体的入侵检测辅助。对于软件部分,可以预先保存一份白名单,其中保存有车辆内can总线上定义的正常数据报文的id集合。在正常情况下,can总线内传输的数据报文的id,应该在该白名单内,如果can总线上出现了不在白名单内的数据报文,则可能会是由于黑客执行的试探性入侵行为产生的,因此,可以作为疑似异常数据报文来处理,并且可以触发具体是入侵检测设备进行具体的入侵检测分析操作。当然,在实际应用中,偶然出现的一个或者少数集合不在白名单内的数据报文,可能威胁性不会很大,因此,在优选的实现方式下,还可以对一定时间窗口内检测到的疑似异常数据报文的数量和/或占比进行统计,如果数量和/或占比超过某阈值,再触发进行具体的入侵检测分析操作。可见,通过本申请实施例提供的方案,可以通过预先设定的数据报文id白名单的方式,实现对是否可能存在入侵行为的预判,在预判结果为存在较大入侵风险的情况下,再触发进行具体的入侵检测分析,从而可以在更有效的进行入侵检测的同时,降低对车内计算资源的消耗。

下面对具体的实现方案进行详细地介绍。

实施例一

该实施例一首先提供了一种车辆网络入侵检测辅助方法,该方法可以应用于前述用于连接到can总线上的入侵检测辅助设备中,具体的,参见图1,该方法可以包括以下步骤:

s101:获得目标车辆can总线上定义的正常数据报文的id白名单;

正常数据报文也就是车辆内正常用于对各种电子控制单元进行控制的报文,车联网平台就是通过向can总线发送这种数据报文来实现对车辆的远程控制。由于对于同一目标车辆而言,这种正常数据报文通常是有限的,并且,正常数据报文的id是固定的,因此,可以预先将这些正常数据报文的id获取到,并生成白名单。这样,在进行入侵检测辅助处理的过程中,如果检测到一条数据报文,并且其id在该白名单内,则证明是正常的数据报文,否则,则可以视为疑似异常数据报文,之所以称为疑似,是因为,该数据报文也可能是正常的,具体的结果需要等到进行了实际的入侵检测之后,才能确定。

其中,具体获得所述白名单的方式可以有多种,例如,一种方式下,车联网平台的服务器中可能会保存目标车辆的正常数据报文id白名单,因此,可以直接从服务器进行下载。或者,即使没有保存当前目标车辆的白名单,也可能保存了与该目标车辆同款车辆的白名单,由于同款车辆之间的正常数据报文的id以及对应的含义通常是相同的,因此,也可以下载这种同款车辆的白名单。

或者,在另一种方式下,还可以通过检测的方式来获得。例如,可以在目标车辆不与外界通信的安全状态下,监听can总线上预置时间段内传输的数据报文,并抽取其中的数据报文的id,生成所述id集合。其中,所谓的不与外界通信的安全状态,也就是目标车辆关闭了远程控制功能,或者can总线上没有与远程控制功能相关的设备接入,等等,也即,在该状态下,无论是车联网平台还是网络黑客,都是无法向该目标车辆的can总线进行通信的。在这种状态下,can总线上产生的数据报文来自于车辆内部,例如,可能是由车内驾驶员发出的手动指令生成的,或者,由车内的自动驾驶辅助功能产生的,等等。总之,此时产生的数据报文是正常的数据报文,不会存在异常的情况。因此,可以在该状态下对can总线上产生的数据报文进行监听,并从中抽取出数据报文的id,生成id集合,也即白名单。

其中,具体实现时,can总线上产生的数据报文可以是以帧为单位,也即,每次产生一个或多个数据帧,本申请实施例中关于数据报文的id,具体可以是指每个数据帧的id。其中,关于具体数据帧的id,具体可以是从数据帧的整帧数据中提取出来的。具体的,由于can总线将数据帧分为标准帧以及扩展帧这样两种不同的类型,并对各种类型的数据帧的总长度,每个比特位的含义等具有明确的定义。例如,对于标准帧,总长度为127比特,其中,第2位到第12位为标识符。对于扩展帧,总长度为150比特,其中,第2位到第12位为标识符,第15到第32位为扩展标识符。基于上述不同,不同类项的数据帧的id表达方式可以是有所不同的。

其中,关于标准帧,可以从整帧的第2位到第12位读取共11位作为本数据帧的id。若为扩展帧,则先从整帧的第2位到第12位读取11位,再从第15位到第32位读取18位,拼接到前边的11位之后,作为本数据帧的id。

具体实现时,如果是由服务器预先保存各正常数据报文的id,则可以由服务器按照上述规则,生成各数据报文的id,并保存为白名单。而如果是通过上述在安装状态下进行监听的方式获得正常数据报文的id集合,则在监听到具体的数据报文之后,还可以首先判断具体数据帧的类型,包括具体属于标准帧还是扩展帧,然后,根据具体的数据帧类型以及对应的id生成规则,生成具体数据帧的id,并添加到白名单中。其中,具体在判断一个数据帧是标准帧还是扩展帧时,可以根据整帧数据在预置比特位的特征来进行判断。例如,如果整帧数据的第11位之后是连续的两个1,则表示是隐性位,并且,该数据帧是扩展帧,否则就是标准帧。当然,在具体实现时,还可以根据其他方式来进行判断,例如,根据整帧数据的长度进行判断,等等。

s102:在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

由于外界通信通常需要借助于tbox等设备连接到can总线,而本申请实施例中的入侵检测辅助设备也是连接在can总线上,因此,当有设备连接到can总线上时,该辅助设备可以发现该设备,进而可以确定出当前目标车辆已经能够与外界进行通信,车联网平台或者其他的网络黑客都有可能通过tbox往can总线发送数据包控制该当前车辆。此时,便可以开始监听can总线上产生的数据报文,并获得数据报文的id。

其中,具体获得数据报文id的方式,与前述在建立白名单是确定数据报文的方式可以是相同的,也即,先进行数据报文类型的判断,然后,根据具体类型对应的id提取方式,从整帧数据在提取出指定位数上的数据作为数据帧的id。当然,在实际应用中,如果不存在多种类型的数据报文,则也可以不必执行确定数据报文类型的操作,直接按照统一的规则进行id提取即可。

s103:根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

在确定出当前监听到的数据报文的id之后,便可以判断其是否出现在白名单中,如果是,则证明是正常的数据报文,然后,继续监听下一数据帧。如果没有出现在白名单中,则证明该数据报文可能是一个异常数据报文,并且可以进行标记。需要说明的是,在具体实现时,还可以对正常的数据报文的数量、疑似异常数据报文的数量等进行计数,以用于后续确定是否需要进行入侵检测。

s104:根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

具体在检测到疑似异常数据报文之后,就可以根据具体的检测结果确定是否需要执行入侵检测。其中,具体实现时,可以有多种具体的触发方式。例如,在一种方式下,可以是在检测到一条或多条疑似异常数据之后,便确定需要执行入侵检测。由具体的入侵检测工具或者程序,对疑似异常数据报文进行检测,并判断其是否真的存在异常,如果不存在,可以继续监听,否则,如果存在异常,则可以通过车辆内部的显示屏、扬声器等进行告警。在这种情况下,具体实现时,如果触发了具体的入侵检测之后,发现某疑似异常数据报文并不存在异常,则还可以将该数据报文的id加入到白名单中,从而扩展白名单,下次再监听到该数据报文时,则不会再作为疑似异常数据报文来看待。另外,即使是入侵检测程序判断出某数据报文确实存在异常,并向用户进行了告警,但是,经过用户的判断之后,确定并非真正的异常,此时,也可以在车内显示屏等处为用户提供取消该告警等操作选项。在这种情况下,同样可以将该数据报文的id添加到白名单中。

另外,在实际应用中,由于黑客在进行试探性窃取数据报文id等信息的过程中,通常是进行多次试探,才能够获得can总线的响应,因此,如果真正存在可能的入侵行为,则在该过程中能够监听到的疑似异常数据报文的数量或者占比会比较高。换言之,如果实际监听到的疑似异常数据报文数量很少,只是偶尔出现,则这种情况下实际遭受入侵的可能性会比较小。因此,在本申请可选实施方式中,还可以采用另一种对入侵检测的触发方式。具体的,可以在监听数据报文的过程中,可以预先设定一定长度的时间窗口,在这种时间窗口范围内,对疑似异常数据报文(id不位于白名单内)的数量进行计数,另外,在可选的方式下,还可以正常数据报文(id位于白名单内)的数量进行计数。这样,就能够统计出该时间窗口内的的疑似异常数据报文的数量和/或占比,并且,还可以与预先设定的数量阈值或占比阈值进行比较,如果超出阈值,则可以触发对该时间窗口内监听到的数据报文执行入侵检测。也就是说,如果时间窗口内的疑似异常数据报文的数量和/或占比比较高,则可能遭受入侵的概率会比较高,因此,具体在执行入侵检测时,可以是针对该时间窗口中监听到的全部数据报文进行入侵检测。也即,在这种情况下,即使是id位于白名单内的数据报文,也可能存在异常,需要通过入侵检测程序进行进一步的检测。

在这种方式下,进一步降低入侵检测对计算资源的消耗。另外,在实际应用中,入侵检测的结果可能会出现实际异常数据报文的数量或占比,比之前检测出的疑似异常数据报文的数量或占比高或者低的情况,相应的,还可以根据这种数量或者占比的变化,对阈值进行调整。例如,入侵检测结果发现,实际异常数据报文的数量或占比更高,则原来的阈值判断条件可能过于宽松,因此,可以降低阈值,使得更多的情况能够触发入侵检测。如果实际异常数据报文的数量或占比低于疑似异常数据报文的数量或占比,则原来的阈值判断条件可能过于严格,因此,可以提高阈值,进一步降低入侵检测的触发概率。当然,在实际应用中,可以是综合多次入侵检测结果,对阈值进行调整。也就是说,如果多次入侵检测结果,都发现实际异常报文数量或占比,要高于疑似异常数据报文的数量或占比,则证明原来的阈值判断条件可能过于宽松,因此,可以降低阈值,使得更多的情况能够触发入侵检测,等等。总之,可以根据预先设定的阈值触发入侵检测,入侵检测的实际检测结果还可以触发对判定阈值的更新,通过这种迭代过程,可以使得阈值更合理。

需要说明的是,关于具体的入侵检测方法,并不属于本申请实施例所关注的重点,因此,这里不再详述。

总之,通过本申请实施例,能够在对车内网络执行具体的入侵检测之前进行辅助判断,具体辅助判断是将监听到的数据报文的id,与预置的白名单进行比对,如果出现在白名单中,则视为正常数据报文,否则,可以视为疑似异常数据报文,并根据具体疑似异常数据报文的检测结果,确定是否触发具体的入侵检测。通过这种方式,使得入侵检测的时机是可以控制的,并且只有在必要时才进行检测,因此,使得在保证车内网络安全性的同时,降低由于频繁的入侵检测所造成的对计算资源的损耗。

实施例二

该实施例二是与实施例一相对应的,提供了一种车辆网络入侵检测辅助装置,参见图2,该装置可以包括:

白名单获得单元201,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元202,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元203,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元204,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

具体实现时,所述白名单获得单元具体可以用于:在所述目标车辆不与外界通信的安全状态下,监听can总线上预置时间段内传输的数据报文,并抽取其中的数据报文的id,生成所述id集合。

或者,所述白名单获得单元也可以用于:从服务器下载所述目标车辆或者所述目标车辆的同款车辆的id集合。

其中,所述监听单元具体在获得数据报文的id时,可以包括:

类型确定子单元,用于获得当前接收到的数据帧的整帧数据在预置比特位的特征,并根据所述特征确定当前数据帧的类型,所述类型包括标准帧或扩展帧;

id确定子单元,用于根据所述当前数据帧的类型,确定当前数据帧的id。

具体的,所述id确定子单元具体可以用于,如果当前数据帧为标准帧,则从整帧数据取出标识符字段所在比特位的数据,作为该当前数据帧的id。

或者,如果当前数据帧为扩展帧,则从整帧数据取出标识符字段所在比特位的数据,作为第一id段,以及扩展标识符字段所在比特位的数据,作为第二id段;然后,将所述第二id段拼接到所述第一id段之后,作为该当前数据帧的id。

具体实现时,所述触发单元具体可以用于,在检测到疑似异常数据报文时,确定需要对所述疑似异常数据报文执行入侵检测。

此时,该装置还可以包括:

白名单更新单元,用于如果入侵检测结果显示所述疑似异常数据报文为正常数据报文,则将所述疑似异常数据报文的id加入到所述白名单中。

或者,另一种实现方式下,所述触发单元具体可以用于,对预置时间窗口内的疑似异常数据报文数量和/或占比进行统计,如果超过预置的阈值,则确定需要对所述时间窗口内监听到的数据报文执行入侵检测。

此时,该装置还可以包括:

阈值更新单元,用于根据入侵检测结果中实际异常数据报文的数量或者占比,对所述阈值进行调整。

实施例三

如前文所述,实施例二所述的装置可以作为一个独立的设备存在,或者,也可以作为一个功能模块集成到其他设备中。针对前一种情况,该实施例三提供了一种车辆网络入侵检测辅助设备,所述设备用于连接到can总线,具体的,该设备可以包括:

白名单获得单元,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

关于实施例二以及实施例三中的未详述部分,可以参见前述实施例一中的记载,这里不再赘述。

实施例四

该实施例四还提供了一种车辆网络入侵检测辅助系统,参见图3,该系统具体可以包括:

入侵检测辅助设备301,用于连接到目标车辆的can总线上,获得所述目标车辆can总线上定义的正常数据报文id白名单,并在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id,通过与所述白名单的对比,确定所述数据报文是否为疑似异常数据报文,根据疑似异常数据报文的检测结果触发入侵检测;

入侵检测设备302,用于在接收到所述入侵检测辅助设备的触发信息后,启动对目标数据报文的入侵检测。

具体实现时,上述入侵检测辅助设备301以及入侵检测设备302可以分别为独立的设备,并分别连接到can总线上,或者,也可以将入侵检测辅助设备301集成到入侵检测设备302中,再将入侵检测设备302连接到can总线上。

另外,具体实现时,该系统还可以包括:

服务器303,用于确定多种车型can总线上定义的正常数据报文的id集合,并分别生成与具体车型对应的id白名单,接收到目标车辆的下载请求时,根据目标车辆所属的车型,提供给对应的id白名单。

也就是说,入侵检测辅助设备301所需的id白名单可以来自于服务器,由服务器对具体的白名单进行维护,并为具体的车辆提供下载。其中,服务器中的id白名单可以以具体的车型为单位来进行维护,同一车型对应同一份白名单。

在具体实现时,所述入侵检测设备还可以用于,在对疑似异常数据报文进行入侵检测后,如果确定该疑似异常数据报文为正常数据报文,则还可以将该数据报文的id提交到服务器;

此时,所述服务器还用于,将该数据报文的id添加到所述目标车辆所属车型对应的id白名单中,并重新提供给所述目标车辆的入侵检测辅助设备。这样,可以实现对白名单的扩展,避免出现误报等情况,进一步降低由于入侵检测所带来的计算资源的损耗。

另外,所述入侵检测设备还用于,在对疑似异常数据报文进行入侵检测后,如果确定该疑似异常数据报文为异常数据报文,则通过所述目标车辆的信息输出设备提供告警信息,以及用于对所述告警信息进行处理的操作选项。

此时,所述系统还可以包括:

车内控制设备304,用于在通过所述操作选项接收到针对所述告警信息的忽略处理后,将所述异常数据报文的id提交到所述服务器;

所述服务器还用于,将该数据报文的id添加到所述目标车辆所属车型对应的id白名单中,并重新提供给所述目标车辆的入侵检测辅助设备。

当然,在该系统中,同样可以在预置时间窗口内疑似异常数据报文的数量和/或占比超过阈值时,再触发入侵检测设备进行入侵检测。并且,还可以根据入侵检测结果,对阈值进行调整。具体的阈值调整过程,可以直接由入侵检测辅助设备301在当前车辆本地完成,或者,还可以通过服务器来完成。

具体的,所述入侵检测辅助设备具体用于,对预置时间窗口内的疑似异常数据报文数量和/或占比进行统计,如果超过预置的阈值,则确定需要对所述时间窗口内监听到的数据报文执行入侵检测,并将疑似异常数据报文数量和/或占比提交到服务器;

此时,所述入侵检测设备具体用于,在对所述时间窗口内的数据报文进行入侵检测后,将入侵检测结果中异常数据报文数量和/或占比提交到服务器;

所述服务器还用于:对同一车型中多次入侵检测结果中异常数据报文数量和/或占比,与对应的疑似异常数据报文数量和/或占比进行比对,根据比对结果对所述阈值进行调整,并将调整后的阈值更新到所述目标车辆的入侵检测辅助设备。

在通过服务器来完成的情况下,可以综合同一车型多个车辆的检测结果,进行更全面的统计,使得阈值调整更为合理。另外,也可以使得一个车辆中的检测结果信息,应用到同型号的多个车辆中,提高效率。

其中,关于实施例四中的未详述部分,也可以参见前述实施例一中的记载,这里不再赘述。

另外,本申请实施例还提供了一种计算机系统,该系统可以包括:

一个或多个处理器;以及

与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:

获得目标车辆can总线上定义的正常数据报文的id白名单;

在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

其中,图4示例性的展示出了计算机系统的架构,具体可以包括处理器410,视频显示适配器411,磁盘驱动器412,输入/输出接口413,网络接口414,以及存储器420。上述处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420之间可以通过通信总线430进行通信连接。

其中,处理器410可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。

存储器420可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储用于控制计算机系统400运行的操作系统421,用于控制计算机系统400的低级别操作的基本输入输出系统(bios)。另外,还可以存储网页浏览器423,数据存储管理系统424,以及入侵检测辅助系统425等等。上述入侵检测辅助系统425就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。

输入/输出接口413用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

网络接口414用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线430包括一通路,在设备的各个组件(例如处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,与存储器420)之间传输信息。

另外,该计算机系统400还可以从虚拟资源对象领取条件信息数据库441中获得具体领取条件的信息,以用于进行条件判断,等等。

需要说明的是,尽管上述设备仅示出了处理器410、视频显示适配器411、磁盘驱动器412、输入/输出接口413、网络接口414,存储器420,总线430等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

另外,本申请实施例还提供了:

a1、一种车辆网络入侵检测辅助方法,包括:

获得目标车辆控制器局域网络can总线上定义的正常数据报文的id白名单;

在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

a2、根据a1所述的方法,

所述获得目标车辆can总线上定义的正常数据报文的id白名单,包括:

在所述目标车辆不与外界通信的安全状态下,监听can总线上预置时间段内传输的数据报文,并抽取其中的数据报文的id,生成所述id白名单。

a3、根据a1所述的方法,

所述获得目标车辆can总线上定义的正常数据报文的id白名单,包括:

从服务器下载所述目标车辆或者所述目标车辆的同款车辆的id白名单。

a4、根据a1所述的方法,

所述获得数据报文的id,包括:

获得当前接收到的数据帧的整帧数据在预置比特位的特征,并根据所述特征确定当前数据帧的类型,所述类型包括标准帧或扩展帧;

根据所述当前数据帧的类型,确定当前数据帧的id。

a5、根据a4所述的方法,

所述根据所述当前数据帧的类型,确定当前数据帧的id,包括:

如果当前数据帧为标准帧,则从整帧数据取出标识符字段所在比特位的数据,作为该当前数据帧的id。

a6、根据a4所述的方法,

所述根据所述当前数据帧的类型,确定当前数据帧的id,包括:

如果当前数据帧为扩展帧,则从整帧数据取出标识符字段所在比特位的数据,作为第一id段,以及扩展标识符字段所在比特位的数据,作为第二id段;

将所述第二id段拼接到所述第一id段之后,作为该当前数据帧的id。

a7、根据a1至a6任一项所述的方法,

所述根据疑似异常数据报文的检测结果,确定是否执行入侵检测,包括:

在检测到疑似异常数据报文时,确定需要对所述疑似异常数据报文执行入侵检测。

a8、根据a7所述的方法,还包括:

如果入侵检测结果显示所述疑似异常数据报文为正常数据报文,则将所述疑似异常数据报文的id加入到所述白名单中。

a9、根据a1至a6任一项所述的方法,

所述根据疑似异常数据报文的检测结果,确定是否执行入侵检测,包括:

对预置时间窗口内的疑似异常数据报文数量和/或占比进行统计,如果超过预置的阈值,则确定需要对所述时间窗口内监听到的数据报文执行入侵检测。

a10、根据a7所述的方法,还包括:

根据入侵检测结果中实际异常数据报文的数量或者占比,对所述阈值进行调整。

b1、一种车辆网络入侵检测辅助装置,包括:

白名单获得单元,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

c1、一种车辆网络入侵检测辅助设备,所述设备用于连接到can总线,包括:

白名单获得单元,用于获得目标车辆can总线上定义的正常数据报文的id白名单;

监听单元,用于在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id;

判断单元,用于根据所述数据报文的id是否在所述白名单中,确定所述数据报文是否为疑似异常数据报文;

触发单元,用于根据疑似异常数据报文的检测结果,确定是否执行入侵检测。

d1、一种车辆网络入侵检测辅助系统,包括:

入侵检测辅助设备,用于连接到目标车辆can总线上,获得所述目标车辆can总线上定义的正常数据报文id白名单,并在所述目标车辆与外界通信的状态下,监听所述can总线上产生的数据报文,并获得数据报文的id,通过与所述白名单的对比,确定所述数据报文是否为疑似异常数据报文,根据疑似异常数据报文的检测结果触发入侵检测;

入侵检测设备,用于在接收到所述入侵检测辅助设备的触发信息后,启动对目标数据报文的入侵检测。

d2、根据d1所述的系统,还包括:

服务器,用于确定多种车型can总线上定义的正常数据报文的id集合,并分别生成与具体车型对应的id白名单,接收到目标车辆的下载请求时,根据目标车辆所属的车型,提供给对应的id白名单。

d3、根据d2所述的系统,还包括:

所述入侵检测设备还用于,在对疑似异常数据报文进行入侵检测后,如果确定该疑似异常数据报文为正常数据报文,则将该数据报文的id提交到服务器;

所述服务器还用于,将该数据报文的id添加到所述目标车辆所属车型对应的id白名单中,并重新提供给所述目标车辆的入侵检测辅助设备。

d4、根据d2所述的系统,还包括:

所述入侵检测设备还用于,在对疑似异常数据报文进行入侵检测后,如果确定该疑似异常数据报文为异常数据报文,则通过所述目标车辆的信息输出设备提供告警信息,以及用于对所述告警信息进行处理的操作选项;

所述系统还包括:

车内控制设备,用于在通过所述操作选项接收到针对所述告警信息的忽略处理后,将所述异常数据报文的id提交到所述服务器;

所述服务器还用于,将该数据报文的id添加到所述目标车辆所属车型对应的id白名单中,并重新提供给所述目标车辆的入侵检测辅助设备。

d5、根据d2所述的系统,

所述入侵检测辅助设备具体用于,对预置时间窗口内的疑似异常数据报文数量和/或占比进行统计,如果超过预置的阈值,则确定需要对所述时间窗口内监听到的数据报文执行入侵检测,并将疑似异常数据报文数量和/或占比提交到服务器;

所述入侵检测设备具体用于,在对所述时间窗口内的数据报文进行入侵检测后,将入侵检测结果中异常数据报文数量和/或占比提交到服务器;

所述服务器还用于:对同一车型中多次入侵检测结果中异常数据报文数量和/或占比,与对应的疑似异常数据报文数量和/或占比进行比对,根据比对结果对所述阈值进行调整,并将调整后的阈值更新到所述目标车辆的入侵检测辅助设备。

以上对本申请所提供的车辆网络入侵检测辅助方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

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