CN109117632B - 一种确定车辆被入侵之风险的方法和装置 - Google Patents

一种确定车辆被入侵之风险的方法和装置 Download PDF

Info

Publication number
CN109117632B
CN109117632B CN201810838179.6A CN201810838179A CN109117632B CN 109117632 B CN109117632 B CN 109117632B CN 201810838179 A CN201810838179 A CN 201810838179A CN 109117632 B CN109117632 B CN 109117632B
Authority
CN
China
Prior art keywords
event
count
vehicle
correlation
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810838179.6A
Other languages
English (en)
Other versions
CN109117632A (zh
Inventor
阚志刚
彭建芬
卢佐华
陈彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bangcle Technology Co ltd
Original Assignee
Beijing Bangcle Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bangcle Technology Co ltd filed Critical Beijing Bangcle Technology Co ltd
Priority to CN201810838179.6A priority Critical patent/CN109117632B/zh
Publication of CN109117632A publication Critical patent/CN109117632A/zh
Application granted granted Critical
Publication of CN109117632B publication Critical patent/CN109117632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Alarm Systems (AREA)

Abstract

本申请提供了一种确定车辆被入侵之风险的方法和装置,涉及网络安全领域。所述方法包括:检测所述车辆的IVI系统中的第一异常事件;检测所述车辆的CAN总线上的第二异常事件;分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;根据所述相关性确定所述车辆被入侵的风险。所述方法分别检测IVI系统和CAN总线的异常事件,并比较两种异常事件在发生时间上的相关性,相关性越高,则所述车辆被入侵的风险就越高,从而提出了一种简单易行的确定车辆被入侵风险的方法。

Description

一种确定车辆被入侵之风险的方法和装置
技术领域
本申请涉及网络安全领域,尤其涉及一种确定车辆被入侵之风险的方法和装置。
背景技术
随着车辆智能化的发展,尤其是互联网汽车的发展,车载部件的可编程化和可远程控制化成为新的趋势,越来越多的出现在市场上。这一智能化、互联网化的趋势给用户带来便利的同时,也给黑客带来了新的入侵机会。并且由于车本身的价值和机动性,入侵后将会带来比个人电脑更大的损失和风险。如何判断车辆是否被黑客入侵,如何避免入侵,如何处置入侵,是目前面临的急需解决的问题。
IVI(In-Vehicle Infotainment,车载信息娱乐系统)系统,是采用车载专用中央处理器,基于车身总线系统和互联网服务,形成的车载综合信息处理系统。IVI能够实现包括三维导航、实时路况、IPTV(交互式网络电视)、辅助驾驶、故障检测、车辆信息、车身控制、移动办公、无线通讯、基于在线的娱乐功能及TSP(汽车远程服务提供商)服务等一系列应用,极大的提升的车辆电子化、网络化和智能化水平。
CAN(Controller Area Network,控制器局域网络)总线是由以研发和生产汽车电子产品著称的德国BOSCH(博世)公司开发的,并最终成为国际标准ISO(国际标准组织)11898,是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
一般的,网关连接着CAN总线。攻击者如果获得网关连接设备的root权限,比如特斯拉的CID(Centre Information Display)的权限,进而攻击网关及车内网系统,之后绕过完整性校验,刷写ECU(Electronic Control Unit,电子控制单元)固件,攻击控制ECU,并可以发送数据到CAN网络。
发明内容
本申请的目的是:提供一种确定车辆被入侵之风险的方法和装置,以解决上述问题中的至少一个。
为解决上述技术问题,第一方面,本申请提供了一种确定车辆被入侵之风险的方法,所述方法包括:
检测所述车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险。
第二方面,本申请提供一种确定车辆被入侵之风险的装置,所述装置包括:
一第一检测模块,用于检测所述车辆的IVI系统中的第一异常事件;
一第二检测模块,用于检测所述车辆的CAN总线上的第二异常事件;
一分析模块,用于分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
一确定模块,用于根据所述相关性确定所述车辆被入侵的风险。
第三方面,提供一种确定车辆被入侵之风险的装置,所述装置包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
检测所述车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险。
第四方面,提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
检测所述车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险。
所述方法和装置,分别检测IVI系统和CAN总线的异常事件,并比较两种异常事件在发生时间上的相关性,相关性越高,则所述车辆被入侵的风险就越高,从而提出了一种简单易行的确定车辆被入侵风险的方法。
附图说明
图1是本发明一个实施例所述确定车辆被入侵之风险的方法流程图;
图2是本发明一个实施例中确定所述相关性的方法流程图;
图3是本发明另一个实施例中确定所述相关性的方法流程图;
图4是本发明另一个实施例中确定所述相关性的方法流程图;
图5是本发明一个实施例中计算动态时间弯曲距离时两个序列的对应点示意图;
图6是本发明一个实施例所述确定车辆被入侵之风险的装置的模块结构示意图;
图7是本发明一个实施例所述第一检测模块的模块结构示意图;
图8是本发明另一个实施例所述第一检测模块的模块结构示意图;
图9是本发明另一个实施例所述第一检测模块的模块结构示意图;
图10是本发明一个实施例所述第二检测模块的模块结构示意图;
图11是本发明另一个实施例所述第二检测模块的模块结构示意图;
图12是本发明一个实施例所述分析模块的模块结构示意图;
图13是本发明另一个实施例所述分析模块的模块结构示意图;
图14是本发明另一个实施例所述分析模块的模块结构示意图;
图15是本发明另一个实施例所述确定车辆被入侵之风险的装置的结构示意图;
图16是一个实施方式中所述装置在所述车辆中的分布结构示意图;
图17是另一个实施方式中所述装置在所述车辆中的分布结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员理解,在本发明的实施例中,下述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本发明中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
本发明提供一种确定车辆被入侵之风险的方法,如图1所示,所述方法包括:
S120:检测车辆的IVI系统中的第一异常事件;
S140:检测所述车辆的CAN总线上的第二异常事件;
S160:分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
S180:根据所述相关性确定所述车辆被入侵的风险。
所述方法,分别检测IVI系统和CAN总线的异常事件,并比较两种异常事件在发生时间上的相关性,相关性越高,则所述车辆被入侵的风险就越高,从而提出了一种简单易行的入侵风险的检测方法。
以下将结合附图和具体实施方式详细说明所述方法每个步骤的功能。
S120:检测车辆的IVI系统中的第一异常事件。
所述第一异常事件也就是IVI系统的异常事件。发明人在研究过程中发现,黑客对车辆的入侵一般都是借助病毒或木马程序实现的。当存在入侵行为时,车辆的IVI系统往往会表现为进程的异常启动,文件或端口的异常访问等。因此,本申请可以进行相应的检测,以识别IVI系统的异常事件。
在一种实施方式中,所述步骤S120可以包括:
S120a:对照一病毒库判断所述车辆的IVI系统是否感染病毒,如果感染病毒,认为所述IVI系统出现第一异常事件。
所述病毒库可以从一网络服务器获取,比如从一些杀毒软件提供商的服务器上获取。对于是否感染病毒的判断,可以参照目前成熟的计算机病毒检测技术实现。
在另一种实施方式中,所述步骤S120可以包括:
S120b:对照一网络行为异常模式库判断所述车辆的IVI系统的网络行为是否异常,如果异常,认为所述IVI系统出现第一异常事件。
类似上一实施方式,可以从一网络服务器获取网络行为异常模式库,并进而通过对比当前IVI系统的网络行为,判断是否存在异常的网络行为。
在另一种实施方式中,所述步骤S120可以包括:
S120d:判断所述车辆的IVI系统中是否存在安全性不符合要求的应用程序运行,如果存在,认为所述IVI系统出现第一异常事件。
在该实施方式中,可以比如从一网络服务器获取非安全应用程序库,进而对比当前运行的应用程序,判断是否存在安全性不符合要求的应用程序运行。
但是,由于应用程序的更新换代以及新的应用程序不断涌现,通过上述对比方式,仍然可能存在安全风险。因此,在一个实施方式中,上述步骤S120进一步包括:
S120c:根据所述应用程序的软件功能描述和所述应用程序所申请或使用的权限判断所述应用程序的安全性。
计算机系统内的权限大致可以分为用户空间权限和设备空间权限,用户安装的应用程序正常情况下只需要用户空间权限,不需要设备空间权限。一般地,一个应用程序的功能和其所申请或使用的权限是对应的,比如一个地图程序往往会申请对定位结果的访问权限。如果某个应用程序的功能和其所申请或使用的权限明显不相关,或者明显超出其所需要的权限范围,则据此可以认为该应用程序是不安全的。举例来说,比如恶意应用程序ZNIU,利用“脏牛”(DirtyCow)安全漏洞获取设备空间的权限(订阅权限),在后台自动订阅增值服务,给用户带来了资费消耗。
S140:检测所述车辆的CAN总线上的第二异常事件。
CAN总线是车辆上广泛应用的现场总线,车辆的传感器和控制器均通过CAN总线互联。因此,当车辆被入侵时,其CAN总线上也会出现异常事件,比如表现为车辆上报文发送频率异常,或者报文内容异常等。所述第二异常事件也就是CAN总线上的异常事件。
在一种实施方式中,所述步骤S140可以包括:
S140a:判断所述车辆的CAN总线上传输的报文的ID(identification)是否在白名单中,如果不在所述白名单中,认为所述CAN总线上出现第二异常事件。
所述报文的ID与所述报文的接收设备相对应,如果某一个报文的ID不在白名单内,则表示该报文有极大的风险是来自外部的攻击报文,因此这是一种CAN总线上的异常事件。其中,所述白名单优先是与报文相对应的白名单,也就是说,每一种报文有一个对应的白名单,从而提高安全性。当然,为了降低实现复杂度和减少运算量,也可以所有的报文共用一个白名单,该白名单包括所有已知的合法ID。
在另一个实施方式中,所述步骤S140可以包括:
S140b:判断一报文出现的周期与安全基线的报文周期之间的误差是否超过一第一预定值,如果超过所述第一预定值,认为所述CAN总线上出现第二异常事件。
安全基线的报文周期是指在系统处于安全状态下(或者认为安全的状态下)检测得到或者根据理论推算得到的某一报文的出现周期。在CAN总线上有些报文的出现会呈现周期性,比如发动机转动的报文,有些报文的出现则没有周期性,是以事件型传输模式进行的,比如诊断、网络管理报文。该实施方式中主要基于那些具有周期性的报文实现。
正常情况下,CAN总线具有周期性的报文出现的周期和安全基线的报文周期是基本一致的,其误差一般不会超过一阈值,比如0.1秒。如果该误差范围超出该阈值,则可以认为所述CAN总线上出现了第二异常事件。具体地,对于所述误差的计算,可以如下:将某一报文的多个实测周期分别与对应的安全基线的报文周期计算方差值,然后将多个方差值的期望作为误差的计算结果;或者,根据同一ID的多个报文周期实测值计算报文的周期平均值,然后根据实测值和平均值计算实测方差值,将实测方差值与安全基线的方差之差作为误差的计算结果。
S160:分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性。
如果所述IVI系统或者所述CAN总线上单独出现异常事件,除了车辆被入侵,还有可能是系统对入侵的误判导致的。但是,如果两个系统都出现异常事件,并且时间上表现出明显的相关性,或者说相关性高于某一阈值,则可以断言车辆被入侵了。
在一种实施方式中,为了减少运算量,可以选择一个时间窗口,并在该时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性。所述时间窗口的长度可以根据实时性的要求进行设置,或者也可以根据系统负载进行设置,亦或根据用户设定的占用系统资源的百分比进行设置,比如可以设置为5秒。
在一种实施方式中,所述时间窗口优选设置为滑动时间窗口。具体地,假设有一系列随时间无尽延长的等长的时间片段组成一个时间片段序列。进一步假设滑动时间窗口覆盖第二预定值个时间片段,比如是5个。每过一个时间片段的时间,滑动时间窗口往后滑动一个时间片段。该滑动时间窗口按照时间先后,依次覆盖的5个时间片段的序号比如是:12345,23456,34567……。也就是说,随着时间的流逝,有一个新的时间片段产生时,滑动时间窗口就往后滑动一下。
使用滑动窗口,可以用一个长度合适的时间段(即滑动时间窗口的时长)进行系统的特征统计,又可以每过一个时间片段(即系统响应的灵敏性)就进行一次判断并决定是否报警。为了较好的反映出系统的特征,可以实时灵活调整滑动时间窗口的长度,但是又保持系统的灵敏性。
在一种实施方式中,可以采用一比值判决法确定所述相关性。如图2所示,在该实施方式中,所述步骤S160具体包括:
S161a:将所述时间窗口划分为第二预定值个子时间窗口。
所述第二预定值大于1,其大小和上述时间窗口的长度相关,一般的,所述时间窗口越长,则所述第二预定值越大。另一方面,所述第二预定值的大小还和所述方法的准确度相关,所述第二预定值越大,也即将所述时间窗口划分的份数越多,则所述方法的准确度越高,误检的概率越低。一般地,当所述时间窗口为5秒时,所述第二预定值比如可以设置为25,也就是每个子时间窗口的长度为0.2秒。另外,当所述时间窗口是滑动时间窗口时,所述子时间窗口也就是上文的时间片段。
S162a:遍历每个所述子时间窗口,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零。
该步骤中,所述第一计数是反应所述第一异常事件和所述第二异常事件的同步性的计数,因此,当所示第一异常事件和所述第二异常事件在某一时间窗口中均发生或均不发生时,所述第一计数的值都会自动加1,而当在某一时间窗口中只有一个发生时,所述第一计数的值不变。
所述第二计数是反应所述第一异常事件和所述第二异常事件在一个时间窗口中均发生的次数,因此,只有当两类异常事件均发生时,所述第二计数才增加1,其他情况下均保持不变。
具体地,假设所述第一计数为X,所述第二计数为Y,X和Y的初始值均为0。假设所述子时间窗口的数量为10。
假设在第1个子时间窗口中,所述第一异常事件和所述第二异常事件均未发生,则X增加1更新为1,Y保持为0。
继续假设在第2个子时间窗口中,所述第一异常事件和所述第二异常事件均未发生,则X增加1更新为2,Y仍然保持为0。
继续假设在第3个子时间窗口中,所述第一异常事件和所述第二异常事件均发生,则X增加1更新为3,Y仍然保持为1。
继续假设在第4个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X保持为3,Y仍然保持为1。
继续假设在第5个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X仍保持为3,Y仍然保持为1。
继续假设在第6个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X仍保持为3,Y仍然保持为1。
继续假设在第7个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X仍保持为3,Y仍然保持为1。
继续假设在第8个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X仍保持为3,Y仍然保持为1。
继续假设在第9个子时间窗口中,所述第一异常事件和所述第二异常事件均发生,则X增加1更新为4,Y增加1更新为2。
继续假设在第10个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X保持为4,Y仍然保持为2。其中X和Y在最终值就是所述第一计数和所述第二计数的统计值。
S163a:根据所述第一计数和所述第二计数的统计值确定所述相关性。
在一种实施方式中,该步骤具体包括,在所述第二计数的统计值非零的情况下,将所述第一计数的统计值和所述第二预定值的比值作为所述相关性的代表值。继续上述假设,所述第一计数的统计值也就是X的最终值为4,所述第二计数的统计值也就是Y的最终值为2,所述第二预定值N为10,从而可以得到所述相关性的代表值为R-1=4/10=0.4。
本领域技术人员理解,如果所述第二预定值保持不变(比如所述时间窗口的长度固定不变且准确度的要求固定不变),该步骤中,还可以在所述第二计数的统计值非零的情况下,将所述第一计数的统计值作为所述相关性的代表值。
另外,当所述时间窗口是滑动时间窗口,可以设置每隔一预定时间执行一次所述步骤S161a~S163a,所述预定时间比如可以刚好是所述子时间窗口的长度,也就是说,时间每流逝一个子时间窗口,所述滑动时间窗口向前滑动一个子时间窗口,同时所述步骤S161a~S163a执行一次。从而,可以使风险检测的结果既较好地反映出系统的特征,又保持系统的灵敏性。
在另一种实施方式中,可以采用周期判决法确定所述相关性。如图3所示,在该实施方式中,所述步骤S160具体包括:
S161b:将所述时间窗口划分为第二预定值个子时间窗口。
该步骤可以与所述步骤S161a相同,不再赘述。
S162b:基于所述子时间窗口确定所述第一异常事件中每一类异常事件的第一发生周期。
该步骤中,首先需要对所述第一异常事件进行分类,确定不同类别的第一异常事件。对所述第一异常事件的分类可以基于相应事件的触发原因和/或触发器件等。比如,所述第一异常事件可以简单分为以下四类:检测到带病毒的文件出现在文件系统中、检测到未经官方许可的软件的安装、检测到未授权的权限访问、检测到密码输入错误的用户登录。
然后统计每类第一异常事件的发生周期,即所述第一发生周期。所述第一发生周期以所述子时间窗口的数量表示,比如为3个子时间窗口。如果存在多于一个的第一发生周期,该步骤实际上可以得到一个所述第一发生周期的列表,可以记作第一周期列表。
S163b:基于所述子时间窗口确定所述第二异常事件中每一类异常事件的第二发生周期。
该步骤中,首先需要对所述第二异常事件进行分类。对所述第二异常事件的分类也可以基于相应事件的触发原因和/或触发器件等。比如,所述第二异常事件可以简单分为以下多类:检测到CAN总线上某一个器件发出载荷数据有异常的数据包(每个器件对应一类异常事件)、检测到重复频率异常的报文。
然后统计每类第二异常事件的发生周期,即所述第二发生周期。所述第二发生周期也以所述子时间窗口的数量表示。如果存在多于一个的第二发生周期,该步骤实际上可以得到一个所述第二发生周期的列表,可以记作第二周期列表。
S164b:根据所述第一发生周期和所述第二发生周期确定所述相关性。
CAN总线上的异常事件可能是IVI系统中的异常事件导致的,当存在入侵行为时,CAN总线上的异常事件和IVI系统中的异常事件的发生周期表现出更强的相关性。
在一种实施方式中,该步骤可以根据相同的所述第一发生周期和所述第二发生周期的对数确定所述相关性,所述对数越多,则所述相关性越高。
举例来说,假如初始的对数值为0,所述第一发生周期包括A个周期值,可以认为是包括A个周期值的第一周期列表,所述第二发生周期包括B个周期值,可以认为是包括B个周期值的第二周期列表,假设A小于B,则可以将第一周期列表中的A个周期值中的每个依次和B个周期值进行比较,如果有相同的,则所述对数值增加1,否则,对数值不变。依次遍历所述A个周期值后,得到的对数值的结果就是相同的所述第一发生周期和所述第二发生周期的对数。可以假设该对数值最终为S。
一种实施方式中,可以直接用S表示所述相关性的代表值。或者,也可以综合考虑所述第一异常事件和所述第二异常事件的种类T=(A+B)/2,然后用比值S/T作为所述相关性的代表值R2
本领域技术人员理解,对于所述第一发生周期和所述第二发生周期的计算,并非一定要基于所述子时间窗口,当然也可以基于所述第一异常事件和所述第二异常事件的绝对发生时间计算。但是,由于过于精确,当按照绝对发生时间计算时,计算结果往往难以反映所述相关性。实验表明,上述实施方式中,基于所述子时间窗口确定所述发生周期,提高了所述方法的容忍度,会将原本发生周期相接近的同类异常事件统计为发生周期相同的异常事件,最终结果更能反映所述相关性。
在另一种实施方式中,可以采用概率分布法确定所述相关性。如图4所示,在该实施方式中,所述步骤S160具体包括:
S161c:将所述时间窗口划分为第二预定值个子时间窗口。
该步骤可以与所述步骤S161a相同,不再赘述。
S162c:根据所述第一异常事件在每个所述子时间窗口内的发生次数,统计得到所述第一异常事件在所述时间窗口内的第一分布律。
所述第一分布律也就是所述第一异常事件在所述时间窗口内按照时间先后顺序的发生次数的序列。举例来说,假设所述子时间窗口的数量为10,所述第一异常事件在从第1至第10个子时间窗口内的发生次数依次为0,1,3,5,2,1,7,1,0,0,则所述第一分布律可以表示为次数序列[0,1,3,5,2,1,7,1,0,0]。
S163c:根据所述第二异常事件在每个所述子时间窗口内的发生次数,统计得到所述第二异常事件在所述时间窗口内的第二分布律。
类似于所述步骤S162c,通过统计在每个子时间窗口内所述第二异常事件的发生次数,可以得到所述第二异常事件在所述时间窗口内的发生次数的序列。假设第二异常事件在从第1至第10个子时间窗口内的发生次数依次为0,0,0,1,3,5,2,1,7,2,可以得到表示第二分布律的次数序列[0,0,0,1,3,5,2,1,7,2]。
S164c:根据所述第一分布律和所述第二分布律确定所述相关性。
该步骤中,可以根据对应两个分布律的次数序列的距离确定所述第一分布律和所述第二分布律的相关性。所述距离可以比如是明可夫斯基距离或动态时间弯曲距离等。所述距离越小,则所述相关性越高。简单起见,本申请仅对所述次数序列[0,1,3,5,2,1,7,1,0,0]和[0,0,0,1,3,5,2,1,7,2]动态时间弯曲距离的计算进行说明。
为了方便与一个阈值进行比较,先对两个次数序列分别进行归一化处理:每个子时间窗口上的次数,除以整个序列的次数之和。经过归一化处理后,最终得到的动态时间弯曲距离的取值区间为[0,1]。类似的,当所述距离为明可夫斯基距离也可以通过类似处理使得最终得到的明可夫斯基距离的取值区间为[0,1]。
[0,1,3,5,2,1,7,1,0,0]=>[0,1/(1+3+5+2+1+7+1),3/20,5/20,…,0]=>[0,0.0500,0.1500,0.2500,0.1000,0.0500,0.3500,0.0500,0,0];
[0,0,0,1,3,5,2,1,7,2]=>[0,0,0,1/21,3/21,…,2/21]=>[0,0,0,0.0476,0.1429,0.2381,0.0952,0.0476,0.3333,0.0952];
动态时间弯曲得到的对应点如图5所示。
动态时间弯曲距离如下:
D=(0.05-0.0476)^2+(0.15-0.1429)^2+(0.25-0.2381)^2+(0.1-0.0952)^2+(0.05-0.0476)^2+(0.35-0.3333)^2+(0.05-0.0952)^2=0.00254851
在一个实施方式中,可以令所述相关性的代表值R3=1-D,显然R3的值越大,相关性越高。
S180:根据所述相关性确定所述车辆被入侵的风险。
该步骤中,可以将相关性与一阈值进行比较,如果高于所述阈值,则可以确定所述车辆存在被入侵的风险,否则,不存在被入侵的风险。
在一种实施方式中,可以直接将上述阈值设置为0,对于上述三种确定所述相关性的方法中的任一种,只要所述相关性的代表值高于0,则所述车辆存在被入侵的风险;否则,如果所述相关性的代表值为0,则所述车辆没有被入侵的风险。
另一种实施方式中,所述阈值可以设置为多个,并可以确定不同等级的入侵风险。
比如,当按照所述比值判决法确定所述相关性的代表值R1时,可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应的,如果所述相关性的代表值R1为0,则所述车辆没有被入侵的风险;如果所述R1介于0至0.3,则存在低级入侵风险;如果R1介于0.3至0.7,则存在中级入侵风险;如果R1介于0.7至1,则存在高级入侵风险。
再比如,当按照所述周期判决法确定所述相关性的代表值R2时,也可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应的,如果所述相关性的代表值R2为0,则所述车辆没有被入侵的风险;如果所述R2介于0至0.3,则存在低级入侵风险;如果R2介于0.3至0.7,则存在中级入侵风险;如果R2介于0.7至1,则存在高级入侵风险。
类似地,当按照所述概率分布法确定所述相关性的代表值R3时,也可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应的,如果所述相关性的代表值R3为0,则所述车辆没有被入侵的风险;如果所述R3介于0至0.3,则存在低级入侵风险;如果R3介于0.3至0.7,则存在中级入侵风险;如果R2介于0.7至1,则存在高级入侵风险。
综上,本申请所述方法,可以采用比值判决法、周期判决法或者概率分布法分析确定所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性,根据该相关性可以确定所述车辆被入侵的风险,进而可以根据风险等级或者是否存在风险进行相应的风险排除处理,比如启动杀毒程序等。
另外,当存在入侵时所述第一异常事件和所述第二异常事件之间除了时间上的相关性,还可能表现为其他方面的相关性。本领域技术人员,可以据此拓展出新的检测风险的方法。
图6是本申请一种确定车辆被入侵之风险的装置的模块结构示意图。如图6所示,所示装置600包括:
一第一检测模块620,用于检测车辆的IVI系统中的第一异常事件;
一第二检测模块640,用于检测所述车辆的CAN总线上的第二异常事件;
一分析模块660,用于分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性。
一确定模块680,用于根据所述相关性确定所述车辆被入侵的风险。
以下结合附图具体实施方式详细说明各个模块的功能。
所述第一检测模块620,用于检测车辆的IVI系统中的第一异常事件。
所述第一异常事件也就是IVI系统的异常事件。发明人在研究过程中发现,黑客对车辆的入侵一般都是借助病毒或木马程序实现的。因此,当存在入侵行为时,车辆的IVI系统往往会表现为进程的异常启动,文件或端口的异常访问等。因此,本申请可以进行相应的检测,以识别IVI系统的异常事件。
在一种实施方式中,如图7所示,所述第一检测模块620包括:
一病毒对照单元621,用于对照一病毒库判断所述车辆的IVI系统是否感染病毒,如果感染病毒,认为所述IVI系统出现第一异常事件。
所述病毒库可以从一网络服务器获取,比如从一些杀毒软件提供商的服务器上获取。对于是否感染病毒的判断,可以参照目前成熟的计算机病毒检测技术实现。
在另一种实施方式中,如图8所示,所述第一检测模块620包括:
一模式对照单元622,用于对照一网络行为异常模式库判断所述车辆的IVI系统的网络行为是否异常,如果异常,认为所述IVI系统出现第一异常事件。
类似上一实施方式,可以从一网络服务器获取网络行为异常模式库,并进而通过对比当前IVI系统的网络行为,判断是否存在异常的网络行为。
在另一种实施方式中,如图9所示,所述第一检测模块620还包括:
一应用程序判断单元624,用于判断所述车辆的IVI系统中是否存在安全性不符合要求的应用程序运行,如果存在,认为所述IVI系统出现第一异常事件。
在该实施方式中,可以比如从一网络服务器获取非安全应用程序库,进而对比当前运行的应用程序,判断是否存在安全性不符合要求的应用程序运行。
但是,由于应用程序的更新换代以及新的应用程序不断涌现,通过上述对比方式,仍然可能存在安全风险。因此,在一个实施方式中,如图9所示,所述第一检测模块620还包括:
一安全性判断单元623,用于根据所述应用程序的软件功能描述和所述应用程序所申请或使用的权限判断所述应用程序的安全性。
计算机系统内的权限大致可以分为用户空间权限和设备空间权限,用户安装的应用程序正常情况下只需要用户空间权限,不需要设备空间权限。一般地,一个应用程序的功能和其所申请或使用的权限是对应的,比如一个地图程序往往会申请对定位结果的访问权限。如果某个应用程序的功能和其所申请或使用的权限明显不相关,或者明显超出其所需要的权限范围,则据此可以认为该应用程序是不安全的。
所述第二检测模块640,用于检测所述车辆的CAN总线上的第二异常事件。
CAN总线是车辆上广泛应用的现场总线,车辆的传感器和控制器均通过CAN总线互联。因此,当车辆被入侵时,其CAN总线上也会出现异常事件,比如表现为车辆上的报文发送频率异常,或者报文内容异常等。所述第二异常事件也就是CAN总线上的异常事件。
在一种实施方式中,如图10所示,所述第二检测模块640包括:
一白名单单元641,用于判断所述车辆的CAN总线上传输的报文的ID是否在白名单中,如果不在所述白名单中,认为所述CAN总线上出现第二异常事件。
所述报文的ID与所述报文的接收设备相对应,如果某一个报文的ID不在白名单内,则表示该报文有极大的风险是来自外部的攻击报文,因此这是一种CAN总线上的异常事件。其中,所述白名单优先是与报文相对应的白名单,也就是说,每一种报文有一个对应的白名单,从而提高安全性。当然,为了降低实现复杂度和减少运算量,也可以所有的报文共用一个白名单,该白名单包括所有已知的合法ID。
在另一个实施方式中,如图11所示,所述第二检测模块640包括:
一周期判断单元642,用于判断一报文出现的周期与安全基线的报文周期之间的误差是否超过一第一预定值,如果超过所述第一预定值,认为所述CAN总线上出现第二异常事件。
正常情况下,CAN总线具有周期性的报文出现的周期和安全基线的报文周期是基本一致的,其误差一般不会超过一阈值,比如0.1秒。如果该误差范围超出该阈值,则可以认为所述CAN总线上出现了第二异常事件。具体地,对于所述误差的计算,可以如下:将某一报文的多个实测周期分别与对应的安全基线的报文周期计算方差值,然后将多个方差值的期望作为误差的计算结果;或者,根据同一ID的多个报文周期实测值计算报文的周期平均值,然后根据实测值和平均值计算实测方差值,将实测方差值与安全基线的方差之差作为误差的计算结果。
所述分析模块660,用于分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性。
如果所述IVI系统或者所述CAN总线上单独出现异常事件,除了车辆被入侵,还有可能是系统误判导致的。但是,如果两个系统都出现异常事件,并且时间上表现出明显的相关性,或者说相关性高于某一阈值,则可以断言车辆被入侵了。
在一种实施方式中,为了减少运算量,所述分析模块660可以选择一个时间窗口,并在该时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性。所述时间窗口的长度可以根据实时性的要求进行设置,或者也可以根据系统负载进行设置,亦或根据用户设定的占用系统资源的百分比进行设置,比如可以设置为5秒。
在一种实施方式中,所述时间窗口优选设置为滑动时间窗口。
在一种实施方式中,可以采用一比值判决法确定所述相关性。如图12所示,在该实施方式中,所述分析模块660包括:
一划分单元661a,用于将所述时间窗口划分为第二预定值个子时间窗口。
所述第二预定值大于1,其大小和上述时间窗口的长度相关,一般的,所述时间窗口越长,则所述第二预定值越大。另一方面,所述第二预定值的大小还和所述方法的准确度相关,所述第二预定值越大,也即将所述时间窗口划分的份数越多,则所述方法的准确度越高,误检的概率越低。一般地,当所述时间窗口为5秒时,所述第二预定值比如可以设置为25,也就是每个子时间窗口的长度为0.2秒。
一统计单元662a,用于遍历每个所述子时间窗口内,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零。
在该统计单元662a中,所述第一计数是反应所述第一异常事件和所述第二异常事件的同步性的计数,因此,当所示第一异常事件和所述第二异常事件在某一时间窗口中均发生或均不发生时,所述第一计数的值都会自动加1,而当在某一时间窗口中只有一个发生时,所述第一计数的值不变。
所述第二计数是反应所述第一异常事件和所述第二异常事件在一个时间窗口中均发生的次数,因此,只有当两类异常事件均发生时,所述第二计数才增加1,其他情况下均保持不变。
具体地,假设所述第一计数为X,所述第二计数为Y,X和Y的初始值均为0。假设所述子时间窗口的数量为10。
假设在第1个子时间窗口中,所述第一异常事件和所述第二异常事件均未发生,则X增加1更新为1,Y保持为0。
继续假设在第2个子时间窗口中,所述第一异常事件和所述第二异常事件均未发生,则X增加1更新为2,Y仍然保持为0。
继续假设在第3个子时间窗口中,所述第一异常事件和所述第二异常事件均发生,则X增加1更新为3,Y仍然保持为1。
继续假设在第4个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X保持为3,Y仍然保持为1。
继续假设在第5个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X仍保持为3,Y仍然保持为1。
继续假设在第6个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X仍保持为3,Y仍然保持为1。
继续假设在第7个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X仍保持为3,Y仍然保持为1。
继续假设在第8个子时间窗口中,所述第一异常事件发生,所述第二异常事件未发生,则X仍保持为3,Y仍然保持为1。
继续假设在第9个子时间窗口中,所述第一异常事件和所述第二异常事件均发生,则X增加1更新为4,Y增加1更新为2。
继续假设在第10个子时间窗口中,所述第一异常事件未发生,所述第二异常事件发生,则X保持为4,Y仍然保持为2。其中X和Y在最终值就是所述第一计数和所述第二计数的统计值。
一确定单元663a,用于根据所述第一计数和所述第二计数的统计值确定所述相关性。
在一种实施方式中,在所述第二计数的统计值非零的情况下,将所述第一计数的统计值和所述第二预定值的比值作为所述相关性的代表值。继续上述假设,所述第一计数的统计值也就是X的最终值为4,所述第二计数的统计值也就是Y的最终值为2,所述第二预定值N为10,从而可以得到所述相关性的代表值为R1=4/10=0.4。
本领域技术人员理解,如果所述第二预定值保持不变(比如所述时间窗口的长度固定不变且准确度的要求固定不变),在所述确定单元663a中,还可以在所述第二计数的统计值非零的情况下,将所述第一计数的统计值作为所述相关性的代表值。
在另一种实施方式中,可以采用周期判决法确定所述相关性。如图13所示,在该实施方式中,所述分析模块660包括:
一划分单元661b,用于将所述时间窗口划分为第二预定值个子时间窗口。
该划分单元661b可以与所述划分单元661a相同,不再赘述。
一第一确定单元662b,用于基于所述子时间窗口确定所述第一异常事件中每一类异常事件的第一发生周期。
该单元中,首先需要对所述第一异常事件进行分类,确定不同类别的第一异常事件。对所述第一异常事件的分类可以基于相应事件的触发原因和/或触发器件等。比如,所述第一异常事件可以简单分为以下四类:检测到带病毒的文件出现在文件系统中、检测到未经官方许可的软件的安装、检测到未授权的权限访问、检测到密码输入错误的用户登录。
然后统计每类第一异常事件的发生周期,即所述第一发生周期。所述第一发生周期以所述子时间窗口的数量表示,比如为3个子时间窗口。如果存在多于一个的第一发生周期,该步骤实际上可以得到一个所述第一发生周期的列表,可以记作第一周期列表。
一第二确定单元663b,用于基于所述子时间窗口确定所述第二异常事件中每一类异常事件的第二发生周期。
该单元中,需要对所述第二异常事件进行分类,对所述第二异常事件的分类也可以基于相应事件的触发原因和/或触发器件等。比如,所述第二异常事件可以简单分为以下多类:检测到CAN总线上某一个器件发出载荷数据有异常的数据包(每个器件对应一类异常事件)、检测到重复频率异常的报文。
然后统计每类第二异常事件的发生周期,即所述第二发生周期。所述第二发生周期也以所述子时间窗口的数量表示。如果存在多于一个的第二发生周期,该步骤实际上可以得到一个所述第二发生周期的列表,可以记作第二周期列表。
一第三确定单元664b,用于根据所述第一发生周期和所述第二发生周期确定所述相关性。
在一种实施方式中,该第三确定单元664b可以根据相同的所述第一发生周期和所述第二发生周期的对数确定所述相关性,所述对数越多,则所述相关性越高。
举例来说,假如初始的对数值为0,所述第一发生周期包括A个周期值,可以认为是包括A个周期值的第一周期列表,所述第二发生周期包括B个周期值,可以认为是包括B个周期值的第二周期列表,假设A小于B,则可以将第一周期列表中的A个周期值中的每个依次和B个周期值进行比较,如果有相同的,则所述对数值增加1,否则,对数值不变。依次遍历所述A个周期值后,得到的对数值的结果就是相同的所述第一发生周期和所述第二发生周期的对数。可以假设该对数值最终为S。
一种实施方式中,可以直接用S表示所述相关性的代表值。或者,也可以综合考虑所述第一异常事件和所述第二异常事件的种类T=(A+B)/2,然后用比值S/T作为所述相关性的代表值R2
本领域技术人员理解,对于所述第一发生周期和所述第二发生周期的计算,并非一定要基于所述子时间窗口,当然也可以基于所述第一异常事件和所述第二异常事件的绝对发生时间计算。但是,由于过于精确,当按照绝对发生时间计算时,计算结果往往难以反映所述相关性。实验表明,上述实施方式中,基于所述子时间窗口确定所述发生周期,提高了所述方法的容忍度,会将原本发生周期相接近的同类异常事件统计为发生周期相同的异常事件,最终结果更能反映所述相关性。
在另一种实施方式中,可以采用概率分布法确定所述相关性。如图14所示,在该实施方式中,所述分析模块660具体包括:
一划分单元661c,用于将所述时间窗口划分为第二预定值个子时间窗口。
该划分单元661c可以与所述划分单元661a相同,不再赘述。
一第一统计单元662c,用于根据所述第一异常事件在每个所述子时间窗口内的发生次数,统计得到所述第一异常事件在所述时间窗口内的第一分布律。
所述第一分布律也就是所述第一异常事件在所述时间窗口内按照时间先后顺序的发生次数的序列。举例来说,假设所述子时间窗口的数量为10,所述第一异常事件在从第1至第10个子时间窗口内的发生次数依次为0,1,3,5,2,1,7,1,0,0,则所述第一分布律可以表示为次数序列[0,1,3,5,2,1,7,1,0,0]。
一第二统计单元663c,用于根据所述第二异常事件在每个所述子时间窗口内的发生次数,统计得到所述第二异常事件在所述时间窗口内的第二分布律。
类似地,通过统计在每个子时间窗口内所述第二异常事件的发生次数,可以得到所述第二异常事件在所述时间窗口内的发生次数的序列。假设第二异常事件在从第1至第10个子时间窗口内的发生次数依次为0,0,0,1,3,5,2,1,7,2,可以得到表示第二分布律的次数序列[0,0,0,1,3,5,2,1,7,2]。
一确定单元664c,用于根据所述第一分布律和所述第二分布律确定所述相关性。
该单元中,可以根据对应两个分布律的次数序列的距离D确定所述第一分布律和所述第二分布律的相关性。所述距离D可以比如是明可夫斯基距离或动态时间弯曲距离等。通过比如归一化等处理,可以使所述距离D的取值区间为[0,1]。进而,可以使所述相关性的代表值R3=1-D,显然R3的值越大,相关性越高。
所述确定模块680,用于根据所述相关性确定所述车辆被入侵的风险。
该模块中,可以将相关性与一阈值进行比较,如果高于所述阈值,则可以确定所述车辆存在被入侵的风险,否则,不存在被入侵的风险。
在一种实施方式中,可以直接将上述阈值设置为0,对于上述三种确定所述相关性的方法中的任一种,只要所述相关性的代表值高于0,则所述车辆存在被入侵的风险;否则,如果所述相关性的代表值为0,则所述车辆没有被入侵的风险。
另一种实施方式中,所述阈值可以设置为多个,并可以确定不同等级的入侵风险。
比如,当按照所述比值判决法确定所述相关性的代表值R1时,可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应的,如果所述相关性的代表值R1为0,则所述车辆没有被入侵的风险;如果所述R1介于0至0.3,则存在低级入侵风险;如果R1介于0.3至0.7,则存在中级入侵风险;如果R1介于0.7至1,则存在高级入侵风险。
再比如,当按照所述周期判决法确定所述相关性的代表值R2时,也可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应地,如果所述相关性的代表值R2为0,则所述车辆没有被入侵的风险;如果所述R2介于0至0.3,则存在低级入侵风险;如果R2介于0.3至0.7,则存在中级入侵风险;如果R2介于0.7至1,则存在高级入侵风险。
类似地,当按照所述概率分布法确定所述相关性的代表值R3时,也可以分别设置第一阈值0、第二阈值0.3和第三阈值0.7。相应的,如果所述相关性的代表值R3为0,则所述车辆没有被入侵的风险;如果所述R3介于0至0.3,则存在低级入侵风险;如果R3介于0.3至0.7,则存在中级入侵风险;如果R2介于0.7至1,则存在高级入侵风险。
本发明实施例所述装置的一种结构如图15所示。本发明具体实施例并不对所述装置的具体实现做限定,参见图15,所述装置1500可以包括:
处理器(processor)1510、通信接口(Communications Interface)1520、存储器(memory)1530,以及通信总线1540。其中:
处理器1510、通信接口1520,以及存储器1530通过通信总线1540完成相互间的通信。
通信接口1520,用于与服务器通信。
处理器1510,用于执行程序1532,具体可以执行上述图1所示的方法实施例中的相关步骤。
具体地,程序1532可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1510可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1530,用于存放程序1532。存储器1530可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1532具体可以执行以下步骤:
检测车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险。
程序1532中各步骤的具体实现可以参见上述实施例中的相应步骤或模块,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
图16是一个实施方式中所述装置在所述车辆中的分布结构示意图,如图16所示,所述装置600可以整体设置于车辆1600的IVI系统1610中,所述IVI系统1610和所述CAN总线1620通过固有的有线或无线方式连接。
图17是另一个实施方式中所述装置在所述车辆中的分布结构示意图,如图17所示,该实施方式中,所述IVI系统1610和所述CAN总线1620之间本身无连接。所述装置600的第一检测模块620、分析模块660和确定模块680设置于车辆1600的IVI系统1610中,所述第二检测模块640设置于CAN总线1620中。所述第一检测模块620和所述分析模块660通过有线或无线方式相连接。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,控制器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (21)

1.一种确定车辆被入侵之风险的方法,其特征在于,所述方法包括:
检测所述车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险;
所述分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
所述在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
将所述时间窗口划分为第二预定值个子时间窗口;
遍历每个所述子时间窗口,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零;
根据所述第一计数和所述第二计数的统计值确定所述相关性。
2.如权利要求1所述的方法,其特征在于,所述检测所述车辆的IVI系统中的第一异常事件包括:
对照一病毒库判断所述车辆的IVI系统是否感染病毒,如果感染病毒,认为所述IVI系统出现第一异常事件。
3.如权利要求1所述的方法,其特征在于,所述检测所述车辆的IVI系统中的第一异常事件包括:
对照一网络行为异常模式库判断所述车辆的IVI系统的网络行为是否异常,如果异常,认为所述IVI系统出现第一异常事件。
4.如权利要求1所述的方法,其特征在于,所述检测所述车辆的IVI系统中的第一异常事件包括:
判断所述车辆的IVI系统中是否存在安全性不符合要求的应用程序运行,如果存在,认为所述IVI系统出现第一异常事件。
5.如权利要求4所述的方法,其特征在于,所述检测所述车辆的IVI系统中的第一异常事件还包括:
根据所述应用程序的软件功能描述和所述应用程序所申请或使用的权限判断所述应用程序的安全性。
6.如权利要求1所述的方法,其特征在于,所述检测所述车辆的CAN总线上的第二异常事件包括:
判断所述车辆的CAN总线上传输的报文的ID是否在白名单中,如果不在所述白名单中,认为所述CAN总线上出现第二异常事件。
7.如权利要求1所述的方法,其特征在于,所述检测所述车辆的CAN总线上的第二异常事件包括:
判断一报文出现的周期与安全基线的报文周期之间的误差是否超过一第一预定值,如果超过所述第一预定值,认为所述CAN总线上出现第二异常事件。
8.如权利要求1所述的方法,其特征在于,所述时间窗口是滑动时间窗口。
9.如权利要求1所述的方法,其特征在于,所述根据所述第一计数和所述第二计数的统计值确定所述相关性包括:
在所述第二计数的统计值非零的情况下,将所述第一计数的统计值和所述第二预定值的比值作为所述相关性的代表值。
10.一种确定车辆被入侵之风险的装置,其特征在于,所述装置包括:
一第一检测模块,用于检测所述车辆的IVI系统中的第一异常事件;
一第二检测模块,用于检测所述车辆的CAN总线上的第二异常事件;
一分析模块,用于分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
一确定模块,用于根据所述相关性确定所述车辆被入侵的风险;
所述分析模块,用于在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
所述分析模块包括:
一划分单元,用于将所述时间窗口划分为第二预定值个子时间窗口;
一统计单元,用于遍历每个所述子时间窗口,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零;
一确定单元,用于根据所述第一计数和所述第二计数的统计值确定所述相关性。
11.如权利要求10所述的装置,其特征在于,所述第一检测模块包括:
一病毒对照单元,用于对照一病毒库判断所述车辆的IVI系统是否感染病毒,如果感染病毒,认为所述IVI系统出现第一异常事件。
12.如权利要求10所述的装置,其特征在于,所述第一检测模块包括:
一模式对照单元,用于对照一网络行为异常模式库判断所述车辆的IVI系统的网络行为是否异常,如果异常,认为所述IVI系统出现第一异常事件。
13.如权利要求10所述的装置,其特征在于,所述第一检测模块包括:
一应用程序判断单元,用于判断所述车辆的IVI系统中是否存在安全性不符合要求的应用程序运行,如果存在,认为所述IVI系统出现第一异常事件。
14.如权利要求13所述的装置,其特征在于,所述第一检测模块还包括:
一安全性判断单元,用于根据所述应用程序的软件功能描述和所述应用程序所申请或使用的权限判断所述应用程序的安全性。
15.如权利要求10所述的装置,其特征在于,所述第二检测模块包括:
一白名单单元,用于判断所述车辆的CAN总线上传输的报文的ID是否在白名单中,如果不在所述白名单中,认为所述CAN总线上出现第二异常事件。
16.如权利要求10所述的装置,其特征在于,所述第二检测模块包括:
一周期判断单元,用于判断一报文出现的周期与安全基线的报文周期之间的误差是否超过一第一预定值,如果超过所述第一预定值,认为所述CAN总线上出现第二异常事件。
17.如权利要求10所述的装置,其特征在于,所述确定单元,用于在所述第二计数的统计值非零的情况下,将所述第一计数的统计值和所述第二预定值的比值作为所述相关性的代表值。
18.如权利要求10所述的装置,其特征在于,所述装置设置于所述车辆的IVI系统中。
19.如权利要求10所述的装置,其特征在于,所述第一检测模块和所述分析模块设置在所述车辆的IVI系统中,所述第二检测模块与所述CAN总线相连接。
20.一种确定车辆被入侵之风险的装置,其特征在于,所述装置包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
检测所述车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险;
所述分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
所述在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
将所述时间窗口划分为第二预定值个子时间窗口;
遍历每个所述子时间窗口,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零;
根据所述第一计数和所述第二计数的统计值确定所述相关性。
21.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序使计算机执行下述方法:
检测车辆的IVI系统中的第一异常事件;
检测所述车辆的CAN总线上的第二异常事件;
分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
根据所述相关性确定所述车辆被入侵的风险;
所述分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性;
所述在一个时间窗口内,分析所述第一异常事件的发生时间和所述第二异常事件的发生时间之间的相关性包括:
将所述时间窗口划分为第二预定值个子时间窗口;
遍历每个所述子时间窗口,统计所述第一异常事件和所述第二异常事件的发生情况:
在当前被统计的子时间窗口中,如果所述第一异常事件和所述第二异常事件均发生,则第一计数增加1,第二计数增加1,
如果所述第一异常事件和所述第二异常事件均未发生,则所述第一计数增加1,所述第二计数不变,
如果所述第一异常事件和所述第二异常事件中只有一个发生,则所述第一计数和所述第二计数均不变,
其中,所述第一计数和所述第二计数的初始值均为零;
根据所述第一计数和所述第二计数的统计值确定所述相关性。
CN201810838179.6A 2018-07-27 2018-07-27 一种确定车辆被入侵之风险的方法和装置 Active CN109117632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810838179.6A CN109117632B (zh) 2018-07-27 2018-07-27 一种确定车辆被入侵之风险的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810838179.6A CN109117632B (zh) 2018-07-27 2018-07-27 一种确定车辆被入侵之风险的方法和装置

Publications (2)

Publication Number Publication Date
CN109117632A CN109117632A (zh) 2019-01-01
CN109117632B true CN109117632B (zh) 2021-05-07

Family

ID=64862257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810838179.6A Active CN109117632B (zh) 2018-07-27 2018-07-27 一种确定车辆被入侵之风险的方法和装置

Country Status (1)

Country Link
CN (1) CN109117632B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275508B (zh) * 2019-05-08 2021-09-28 西安电子科技大学 车载can总线网络异常检测方法及系统
CN114138872A (zh) * 2021-12-13 2022-03-04 青岛华仁互联网络有限公司 一种应用于数字金融的大数据入侵分析方法及存储介质
CN114326676B (zh) * 2021-12-30 2023-10-24 北京三快在线科技有限公司 一种入侵检测方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279421A (zh) * 2014-06-19 2016-01-27 移威视信公司 一种基于车联网接入obdⅱ的信息安全的检测系统及方法
CN106650505A (zh) * 2016-12-28 2017-05-10 北京奇虎科技有限公司 一种车辆攻击检测方法和装置
CN106656705A (zh) * 2016-11-18 2017-05-10 成都信息工程大学 一种车载most/can安全网关及其入侵检测方法
CN107454117A (zh) * 2017-09-30 2017-12-08 中国联合网络通信集团有限公司 一种车联网的入侵检测方法及系统
EP3319275A1 (en) * 2016-11-07 2018-05-09 Magneti Marelli S.p.A. Method for monitoring data traffic in a motor-vehicle network
CN108111510A (zh) * 2017-12-20 2018-06-01 北京航空航天大学 一种车内网络入侵检测方法及系统
CN108183954A (zh) * 2017-12-28 2018-06-19 北京奇虎科技有限公司 一种车辆安全的检测方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279421A (zh) * 2014-06-19 2016-01-27 移威视信公司 一种基于车联网接入obdⅱ的信息安全的检测系统及方法
EP3319275A1 (en) * 2016-11-07 2018-05-09 Magneti Marelli S.p.A. Method for monitoring data traffic in a motor-vehicle network
CN106656705A (zh) * 2016-11-18 2017-05-10 成都信息工程大学 一种车载most/can安全网关及其入侵检测方法
CN106650505A (zh) * 2016-12-28 2017-05-10 北京奇虎科技有限公司 一种车辆攻击检测方法和装置
CN107454117A (zh) * 2017-09-30 2017-12-08 中国联合网络通信集团有限公司 一种车联网的入侵检测方法及系统
CN108111510A (zh) * 2017-12-20 2018-06-01 北京航空航天大学 一种车内网络入侵检测方法及系统
CN108183954A (zh) * 2017-12-28 2018-06-19 北京奇虎科技有限公司 一种车辆安全的检测方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Intrusion Detection System Based on the Analysis of Time Intervals of CAN Messages for In-Vehicle Network》;Hyun Min Song等;《2016 International Conference on Information Networking》;20160310;第63-68 *

Also Published As

Publication number Publication date
CN109117632A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
US11063970B2 (en) Attack detection method, attack detection device and bus system for a motor vehicle
US11934520B2 (en) Detecting data anomalies on a data interface using machine learning
KR102642875B1 (ko) 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
CN109299135B (zh) 基于识别模型的异常查询识别方法、识别设备及介质
CN109117632B (zh) 一种确定车辆被入侵之风险的方法和装置
CN109117639B (zh) 一种入侵风险的检测方法和装置
EP3402125B1 (en) Impropriety detection method, monitoring electronic control unit, and on-board network system
US9646156B2 (en) System and method for detecting OBD-II CAN BUS message attacks
KR101853676B1 (ko) 차량 침입 탐지 장치 및 방법
US20160366178A1 (en) System and Method for Guarding a Controller Area Network
CN108989319B (zh) 基于can总线的车辆入侵检测方法及车辆入侵检测装置
CN111352761B (zh) 一种车辆检测方法、装置、存储介质和电子设备
CN112514351A (zh) 异常检测方法及装置
CN109150847B (zh) 一种检测车辆的网络入侵风险的方法和装置
US20200106826A1 (en) Controlling can communication in a vehicle using shifting can message reference
CN110325410B (zh) 数据分析装置及存储介质
CN114268452A (zh) 一种网络安全防护方法及系统
US20220019661A1 (en) Log analysis device
US11694489B2 (en) Message monitoring system, message transmission electronic control unit, and monitoring electronic control unit
Bajpai et al. Towards effective identification and rating of automotive vulnerabilities
KR20230039397A (ko) 차량의 can 퍼징 장치 및 그 방법
CN113806131A (zh) 故障码库的访问控制方法、装置、电子设备及存储介质
JP7226248B2 (ja) 通信装置および異常判定装置
US11341238B2 (en) Electronic device intrusion detection
Mukherjee SAE J1939-specific cyber security for medium and heavy-duty vehicles

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant