用于利用传递熵矩阵的稀疏和低秩分解来对CAN总线数据进行异常检测的系统的制作方法

文档序号:17537097发布日期:2019-04-29 14:06阅读:203来源:国知局
用于利用传递熵矩阵的稀疏和低秩分解来对CAN总线数据进行异常检测的系统的制作方法

本发明以题名“sidechannelcausalanalysisfordesignofcyber-physicalsecurity”的美国政府合同编号d15pc00223在政府支持下做出。政府在本发明中具有特定权利。

相关申请的交叉引用

这是2016年10月7日提交的美国非临时专利申请序列号no.62/405,716,其全部内容通过引用并入于此。

本发明涉及一种异常检测系统,并且更具体地,涉及用于利用稀疏和低秩分解来检测有关can总线数据的异常的系统。



背景技术:

异常检测是可以检测异常数据以防止恶意数据的攻击或入侵的过程。针对汽车的许多已知攻击涉及某种形式的欺骗或改变can总线消息。例如,如果攻击者可以使另一模块进入诊断模式,那么他们可以阻止该模块的消息出现在总线上,这使得攻击者可以用自己的消息替换那些消息。取决于模块,这些欺骗消息可以潜在地造成乘客处于严重危险之中。

已经尝试解决这个问题。例如,tayler的研究人员提出了一种基于频率的异常检测方法来比较当前和历史分组定时(参见下面的包含参考文献列表,参考文献no.6)。他们的算法测量滑动窗口上的分组间定时。他们发现数据分组的汉明(hamming)距离是一种不可靠的正态(normality)度量。分组间定时统计对于利用一类支持矢量机检测插入的分组来说是可靠的。然而,如果正常分组不是周期性的,那么检测额外的插入可能更具挑战性。此外,他们的方法不太可能适用于其它类型的攻击,如更改分组次序。

因此,一直需要一种用于对can总线数据进行异常检测的系统。



技术实现要素:

本公开提供了一种用于基于对网络流量的分析来检测网络入侵的系统。所述系统包括一个或更多个处理器以及存储器。所述存储器是具有编码的可执行指令的非暂时性计算机可读介质,使得在执行所述指令时,所述一个或更多个处理器执行若干操作。在操作期间,所述系统对有关网络流量的消息定时执行统计分析,以生成表示所述网络流量中的不同消息类型之间的时间相关性的时间相关性矩阵。将时间相关性矩阵的集合分解成分量矩阵,其中,至少一个分量矩阵表示这些矩阵的典型特性,并且至少一个其它分量矩阵表示所述矩阵的非典型特性。基于新的网络流量生成新的时间相关性矩阵。最后,通过将新的时间相关性矩阵中的分量矩阵与在正常操作条件下的时间相关性矩阵的分量矩阵进行比较,在所述新的网络流量中检测异常行为。

在另一方面,表示所述网络流量中的不同消息类型之间的时间相关性的时间相关性矩阵是利用传递熵计算而生成的传递熵矩阵(tem)。

而且,将时间相关性矩阵的集合分解成分量矩阵是利用稀疏低秩分解执行的。

在另一方面,检测所述新的网络流量中的异常行为是通过首先执行单个传递熵矩阵(tem)的稀疏低秩分解并接着比较稀疏分量的l1范数||zs||1与训练集范数的均值执行的。

而且,检测所述新的网络流量中的异常行为还包括根据多个tem的稀疏低秩分解确定范数和标准偏差,并且执行t测试以确定所述新的网络流量是否超过预置界限。

在另一方面,在检测新的网络流量中的异常行为时,所述系统启动反应响应。所述反应响应包括使车辆启动安全模式,其中,至少一个车辆系统被禁用。

最后,本发明还包括一种计算机程序产品和计算机实现方法。所述计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可读指令,所述计算机可读指令可由具有一个或更多个处理器的计算机执行,使得在执行所述指令时,所述一个或更多个处理器执行本文列出的操作。另选的是,所述计算机实现方法包括使计算机执行这种指令并且执行所得操作的行为。

附图说明

根据下面结合参照附图对本发明各个方面的详细描述,本发明的目的、特征以及优点将变清楚,其中:

图1是描绘根据本发明各个实施方式的系统的组件的框图;

图2是具体实施本发明一方面的计算机程序产品的例示图;

图3a是例示根据本发明一些实施方式的异常检测处理的流程图;

图3b是描绘示例传递熵矩阵(tem)的例示图;

图4a是描绘示例tem数据矩阵的例示图;

图4b是描绘针对损坏数据的18次评估的示例结果的图形;

图5a是描绘给定类型的所有消息被延迟了小时间增量(delta)的示例结果的图形;

图5b是描绘去除了符合给定消息类型的第一消息的示例结果的图形;

图5b是描绘去除了符合给定消息类型的第二消息的示例结果的图形;以及

图6是描绘各种实施方式中用于所述系统的处理流程的流程图。

具体实施方式

本发明涉及一种异常检测系统,并且更具体地,涉及用于利用稀疏和低秩分解来检测有关can总线数据的异常的系统。呈现以下描述以使本领域普通技术人员能够制造和使用本发明并将其并入特定应用的背景中。各种变型以及不同应用方面的多种用途对于本领域技术人员来说是显而易见的,并且本文定义的一般原理可以应用于广泛的方面。因此,本发明不旨在限于所呈现的方面,而是符合与本文所公开原理和新颖特征相一致的最广范围。

在下面的详细描述中,阐述了许多具体细节,以便提供对本发明的更详尽理解。然而,本领域技术人员应当明白,本发明可以在不必受限于这些具体细节的情况下来实践。在其它情况下,公知结构和装置按框图形式而不是按细节示出,以便避免模糊本发明。

将读者的注意引向与本说明书同时提交的所有文件和文档,并且该文件和文档可以利用本说明书开放以供公众查阅,所有这些文件和文档的内容通过引用并入于此。本说明书中公开的所有特征(包括任何所附权利要求、摘要,以及绘图)可以用服务相同、等同或相似目的的另选特征来代替,除非另有明确说明。因此,除非另有明确说明,所公开的每个特征仅仅是通用系列的等同或相似特征中的一个例子。

而且,权利要求书中没有明确陈述“用于执行指定功能的装置”或“用于执行特定功能的步骤”的任何部件不被解释为如在35u.s.c.section112,paragraph6中指定的“装置”或“步骤”条款。具体地,在本文的权利要求书中使用“…的步骤”或“……的动作”不旨在援引35u.s.c.112,paragraph6的规定。

在详细描述本发明之前,首先提供了引用参考文献的列表。接下来,提供了对本发明各个主要方面的描述。随后,介绍向读者提供了对本发明的一般理解。最后,提供本发明各个实施方式的具体细节以取得对具体方面的理解。

(1)并入参考文献列表

贯穿本申请引用以下参考文献。为了清楚和方便起见,这些参考文献在此被列为读者的中心资源。下列参考文献通过引用并入于此,就像在此完全陈述的一样。这些参考文献通过参照如下对应文献参考号而在本申请中加以引用,如下:

1.e.candes,x.li,y.ma,andj.wright,“robustprincipalcomponentanalysis?”,ieeepami2011。

2.m.mardani,g.mateos,andg.b.giannakis,“unveilinganomaliesinlarge-scalenetworksviasparsityandlowrank,”inproc.of45thasilomarconf.onsignal,systemsandcomputers,pacificgrove,ca,nov.2011,pp.403–407。

3.kang-yuniandtsai-chinglu,“informationdynamicspectrumcharacterizessysteminstabilitytowardcriticaltransitions,”epjdatascience,3:28,2014。

4.thomasschreiber,“measuringinformationtransfer”,phys.rev.lett.85(2):461-464,2000。

5.mstaniek,klehnertz,“symbolictransferentropy”.phys.rev.lett.100(15),2008。

6.taylor,adrian,nathaliejapkowicz,andsylvainleblanc."frequency-basedanomalydetectionfortheautomotivecanbus",wcicss2015。

7.t.zhouandd.tao.“godec:randomizedlow-rank&sparsematrixdecompositioninnoisycase.”icml2011。

(2)主要方面

本发明的各种实施方式包括三个“主要”方面。第一个是用于异常检测的系统。该系统通常采用计算机系统操作软件的形式或采用“硬编码”指令集的形式。该系统可以并入提供不同功能的各种各样的装置中。第二个主要方面是通常采用软件的形式的一种方法,其利用数据处理系统(计算机)进行操作。第三个主要方面是计算机程序产品。该计算机程序产品通常表示存储在诸如光存储装置(例如,光盘(cd)或数字万用盘(dvd))或诸如软盘或磁带的磁存储装置的非暂时性计算机可读介质上的计算机可读指令。计算机可读介质的其它非限制示例包括:硬盘、只读存储器(rom)以及闪速型存储器。这些方面将在下面进行更详细描述。

图1中提供了描绘本发明的系统(即,计算机系统100)的示例的框图。计算机系统100被配置成执行与程序或算法关联的计算、处理、操作和/或功能。在一个方面,本文中讨论的某些处理和步骤被实现为驻留在计算机可读存储器单元内并由计算机系统100的一个或更多个处理器执行的一系列指令(例如,软件程序)。在执行时,所述指令使计算机系统100执行特定动作并展现特定行为,如本文所描述的。

计算机系统100可以包括被配置成传送信息的地址/数据总线102。另外,一个或更多个数据处理单元(如处理器104(或多个处理器)与地址/数据总线102联接联接。处理器104被配置成处理信息和指令。在一方面,处理器104是微处理器。另选地,处理器104可以是不同类型的处理器,诸如并行处理器、专用集成电路(asic)、可编程逻辑阵列(pla)、复杂可编程逻辑器件(cpld)或现场可编程门阵列(fpga)。

计算机系统100被配置成利用一个或更多个数据存储单元。计算机系统100可以包括与地址/数据总线102联接联接的易失性存储器单元106(例如,随机存取存储器(“ram”)、静态ram、动态ram等),其中,易失性存储器单元106被配置成存储用于处理器104的信息和指令。计算机系统100还可以包括与地址/数据总线102联接的非易失性存储器单元108(例如,只读存储器(“rom”)、可编程rom(“prom”)、可擦除可编程rom(“eprom”)、电可擦除可编程rom(“eeprom”)、闪速存储器等),其中,非易失性存储器单元108被配置成存储用于处理器104的静态信息和指令。另选的是,计算机系统100可以执行从诸如“云”计算中的在线数据存储单元取回的指令。在一方面,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个接口,如接口110。所述一个或更多个接口被配置成使得计算机系统100能够与其它电子装置和计算机系统连接。由所述一个或更多个接口实现的通信接口可以包括有线(例如,串行电缆、调制解调器、网络适配器等)和/或无线(例如,无线调制解调器、无线网络适配器等)通信技术。

在一个方面,计算机系统100可以包括与地址/数据总线102联接的输入装置112,其中,输入装置112被配置成将信息和命令选择传送至处理器100。根据一个方面,输入装置112是字母数字输入装置(如键盘),其可以包括字母数字键和/或功能键。另选的是,输入装置112可以是除字母数字输入装置之外的其它输入装置。在一方面,计算机系统100可以包括与地址/数据总线102联接的光标控制装置114,其中,光标控制装置114被配置成将用户输入信息和/或命令选择传送至处理器100。在一方面,光标控制装置114利用诸如鼠标器、轨迹球、轨迹板、光学跟踪装置,或触摸屏的装置来实现。前述尽管如此,但在一方面,诸如响应于使用与输入装置112相关联的特殊键和键序列命令,光标控制装置114经由来自输入装置112的输入而被引导和/或激活。在另选方面,光标控制装置114被配置成通过话音命令指引或引导。

在一方面,计算机系统100还可以包括一个或更多个可选的计算机可用数据存储装置,如与地址/数据总线102联接的存储装置116。存储装置116被配置成存储信息和/或计算机可执行指令。在一个方面,存储装置116是诸如磁或光盘驱动器(例如,硬盘驱动器(“hdd”)、软盘、光盘只读存储器(“cd-rom”)、数字万用盘(“dvd”))的存储装置。依据一个方面,显示装置118与地址/数据总线102联接,其中,显示装置118被配置成显示视频和/或图形。在一方面,显示装置118可以包括:阴极射线管(“crt”)、液晶显示器(“lcd”)、场发射显示器(“fed”)、等离子体显示器,或适于显示视频和/或图形图像以及用户可识别的字母数字字符的任何其它显示装置。

本文所呈现的计算机系统100是根据一方面的示例计算环境。然而,计算机系统100的非限制示例并不严格受限于计算机系统。例如,一个方面提供了计算机系统100表示可以根据本文所述各个方面使用的一类数据处理分析。此外,还可以实现其它计算系统。实际上,本技术的精神和范围不限于任何单一数据处理环境。因此,在一方面,使用通过计算机执行的诸如程序模块之类的计算机可执行指令来控制或实现本技术的各个方面的一个或更多个操作。在一个实现中,这样的程序模块包括被配置成执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,和/或数据结构。另外,一方面提供了本技术的一个或更多个方面通过利用一个或更多个分布式计算环境来实现,如其中任务是由通过通信网络链接的远程处理装置执行的,或者如其中各种程序模块位于包括存储器-存储装置的本地和远程计算机存储介质中。

图2中描绘了具体实施本发明的计算机程序产品(即,存储装置)的例示图。该计算机程序产品被描绘为软盘200或诸如cd或dvd的光盘202。然而,如先前提到,该计算机程序产品通常表示存储在任何兼容的非暂时性计算机可读介质上的计算机可读指令。如关于本发明所使用的术语“指令”通常指示要在计算机上执行的一组操作,并且可以表示整个程序的片段或单个分离软件模块。“指令”的非限制性示例包括计算机程序代码(源或目标代码)和“硬编码”电子装置(即,编码到计算机芯片中的计算机操作)。该“指令”被存储在任何非暂时性计算机可读介质上,如存储在计算机的存储器中或软盘、cd-rom以及闪存驱动器上。无论如何,这些指令被编码在非暂时性计算机可读介质上。

(3)介绍

针对诸如汽车系统的系统的许多已知攻击涉及某种形式的欺骗或改变can总线消息。例如,如果攻击者可以使另一模块进入诊断模式,那么他们可以阻止该模块的消息出现在总线上,这允许攻击者用自己的消息替换那些消息。根据模块,这些欺骗消息可以潜在地造成乘客处于严重危险之中。本文所述系统通过查看总线消息的定时来防御像这样的攻击。欺骗消息的任何尝试都将难以避开对消息之间的相对定时的改变。如果系统可以检测到这种定时变化,那么该系统可以用于检测宽泛范围的不同攻击。

因此,本公开提供了一种异常检测方法,该方法适于检测can总线消息的定时的细微变化。该方法首先计算针对消息事件的传递熵(te)矩阵。te矩阵(tem)被用于捕捉一个消息事件与另一消息事件的发生之间的因果关系。然后应用稀疏和低秩(slr)分解技术来学习正常te矩阵的子空间。为了确定给定观察数据是正常还是异常,该系统计算can总线消息定时的tem。然后,将每个tem分解成正常tem子空间中的分量和稀疏残余分量。稀疏残余分量被用于确定给定数据是正常还是异常。

本领域技术人员应当清楚,存在可以实现本文所述系统和方法的许多应用。例如,可以将该系统并入车辆(例如,汽车、飞机、无人机等)中用于网络安全,以解决针对车辆(特别是汽车)的网络入侵检测问题。针对受黑客入侵汽车的越来越多的媒体关注非常清楚地表明很多商用汽车潜在地容易受到危及生命的网络攻击。该系统和方法解决了在这样的攻击可能造成严重损害之前检测它们的存在的问题。然而,虽然本公开中描述的分析专注于对特定于汽车的can总线数据的分析,但在其它交通工具(如飞机)中也存在可以应用这些相同的分析技术的类似数据总线。鉴于这些相似之处,本发明的潜在应用范围可以是从提供用于汽车的网络入侵监测器一直到用于商用飞机的网络入侵监测的任何地方。

(4)各个实施方式的具体细节

本公开提供了一种新的异常检测方法,该方法适于检测can总线消息的定时的细微变化。针对汽车的许多已知攻击涉及某种形式的欺骗或改变can总线消息。例如,如果攻击者可以使另一模块进入诊断模式,那么他们可以阻止该模块的消息出现在总线上,然后他们可以用自己的消息替换那些消息。根据模块,这些欺骗消息可以潜在地造成乘客处于严重危险之中。本发明通过基于以下假设查看总线消息的定时来防御这样的攻击:假设欺骗消息的任何尝试将难以避免改变消息之间的相对定时。因此,如果该系统或方法可以检测到这种定时变化,那么该系统可以检测宽泛范围的不同攻击。

如图3a中所示,该系统首先计算300针对可信消息的消息事件的传递熵(te)矩阵(即,时间相关性矩阵)来建立正常基线(即,可以在正常操作条件下指定为正常te矩阵)。图3b中示出了这种te矩阵320的示例。can总线消息时间序列的传递熵分析提供了不同消息类型之间的时间相关性的度量。在图3b中的te矩阵320(29×29像素,因为使用了29种消息类型)中,每列表示几种can总线消息类型中的一种,对于每行来说同样如此。因此,te矩阵320是时间相关性矩阵。亮的方块显示给定列中的消息类型往往前面是对应行的消息类型。

这里,每种消息类型都被视为尖峰事件,而不管消息内容如何。每种消息类型的时间序列是尖峰时间序列,其中一个表示该消息类型的事件。矩阵320捕捉这些消息类型之间的te关系。基本上,如果一种消息类型与另一种消息类型的出现之间存在某种因果关系,那么这应当在te矩阵320中显示出来。利用can总线消息的合适时间序列,系统最终计算te矩阵的时间序列。这些矩阵捕捉到这样的事实:消息类型之间的消息定时和基本因果结构可以随着车辆在不同驾驶模式之间转换而改变。

再次参照图3a,下一步骤是计算302在一系列外出(outing)(例如,车辆外出等)时捕捉的多个te矩阵的稀疏低秩slr分解。假设这些是从未受损害的车辆捕获的,slr分解提供了作为正常te矩阵的范围应当是什么样子(在正常操作下)的紧凑表示的一个矩阵(低秩分量),和描述te矩阵的、不能用低秩分量(异常属性)来表征的各个方面的另一矩阵(稀疏分量)。这是矩阵近似的残差(residual)或误差。

如上提到,利用稀疏低秩分解,系统针对已知的良好模式,向与稀疏矩阵相组合的低秩矩阵执行最佳拟合。当新数据拟合该相同的低秩矩阵时,稀疏矩阵残差的量值提供如图4a和图4b所示的异常度量。图4a描绘了tem数据矩阵400:堆叠每个29×29tem(图3b中示出了示例tem矩阵)作为列矢量并示出前1000列。y轴表示29×29tem的条目,而x轴表示时间戳,并且强度条表示tem条目的值。图4b是例示对损坏数据进行18次评估的结果的图形。误差条对应于18个不同的训练集404和对应测试集406,其中,测试数据已经去除了单个消息类型。在该示例中,观察到损坏数据的误差条406高于正常数据的误差条404,表明异常检测的能力。注意,x轴表示每个实验,而y轴表示残差(稀疏分量的l1范数,这将在后面加以描述)。

再次参照图3a,一旦确定了矩阵近似的残差或误差,系统就可以查看任何新的te矩阵,并根据该残差有多小来测量304与正常te矩阵的相似性。如果残差太大,则系统指定306can总线消息流量中存在一些异常。如果残差高于正常tem的误差条,则残差太大。下面提供关于该系统和处理的进一步细节。

(4.1)传递熵

传递熵(te)(例如,参见参考文献no.4)是时间序列对(如功耗、热状况,以及电磁发射侧信道以及can总线消息)之间的信息流的方向度量。本系统使用te通过识别系统模块之间的因果关系中的异常来检测入侵(针对这种系统模块的描述,参见参考文献no.3)。

该系统将传感器之间的相互作用描绘为具有节点和因果链接的图形,其中每个节点是一模块。te量化了信息从一个节点到另一节点从当前状态转移到未来状态的程度,因此是方向性的。从节点xj到节点xi的te度量被定义为:

其中,τ是信息传输的时延/时移。系统找到最大化时延相关的关联性的最佳时移,其允许系统确定因果链的强度。该应用中的节点是消息类型。

通过监测can总线消息和侧信道(sidechannel)的因果结构的变化来推断可疑活动。例如,模块可能开始处理先前忽略的消息,或者开始发送不应发送的消息;这可能会使因果结构偏离正常。利用尺度不变的te度量(在参考文献no.5中描述了尺度不变的te度量),系统可以标识宽泛范围的不同时间帧内的、由te矩阵表示的因果变化。

(4.2)稀疏和低秩(slr)分解

slr分解是一组可证明最优和高效的数学技术,其用于从高维原始数据识别并分解低变异性结构(针对slr的详细讨论,参见参考文献no.1)。其还被称为robustpca,因为其被设计成处理严重损坏的数据,而不是假设数据噪声是独立且相同分布的高斯(gaussian)噪声。假设有一个静止的摄像机正在查看针对入侵者的任务或前景检测的场景。如果在一天中获得了许多原始图像帧,那么每个帧都可以被堆叠为数据矩阵x的列矢量,其可以被分解成x=l+s,其中,l是表示背景场景的低秩矩阵,而s是表示稀疏前景和与凸朗伯(lambertian)模型的偏差的稀疏矩阵,其不能建模为高斯噪声,例如阴影和反射。低秩矩阵l相对于图像尺寸是极低的秩,列的长度按x。已经表明,通过以下凸优化、主分量追踪(pcp)(参见参考文献no.1),可以精确地分解数据矩阵x的低秩和稀疏分量,:λ

minl,s||l||*+λ||s||1,服从x=l+s

其中,核范数||l||*取l的奇异值之和,并且l1范数||s||1是s的条目的绝对和。最小化变量l为静止摄像机提供背景模板。最小化变量s包含所检测的前景。

(4.3)利用slr学习tem的正常状态

为了应用slr,传递熵矩阵被组织成数据矩阵x,其中,每一列是tem。应用快速slr法(在参考文献no.7中描述了快速slr法),其将矩阵x分解成三个矩阵:表示正常操作状态结构的低秩分量l、用于容忍偏离正常操作(异常操作)的少量数据矩阵条目的稀疏分量s以及高斯噪声分量g。这表达如下:

x=l+s+g,服从rank(l)≤r,||s||0≤k×n2×t

其中,r是一个小整数,||·||0是l0范数,其是非零条目的数量,k是稀疏百分比,n2是tem的大小,并且t是tem的总数,其通过在滑动窗口上计算tem来构造(这些滑动窗口通常是交叠的,但不必须交叠)。这个公式可以通过以下优化问题来求解(参见参考文献no.7):

服从rank(l)≤r,||s||0≤k×n2×t其中,||·||f是frobenius范数。frobenius范数是被定义为的矩阵范数,其中,aij是a的第ij个条目。通过求解以下子问题直到收敛来求解该优化问题

第一个子问题(其中稀疏矩阵s固定)是pca问题。求解该问题的经典方法是执行svd分解,按降序排序奇异值,并接着保留前r个奇异值而将其余值设定成零。这给出了精确的低秩矩阵解,但由于svd需要立方复杂性(cubiccomplexity),因而该算法对于大型数据集来说是不实际的。zhou等人的快速低秩近似法(即,参考文献no.7)使用双边随机投影(brp)。为了针对给定矩阵x近似具有秩r的低秩矩阵(对于第一个子问题来说,其是x-st-1),第一步是计算y1=xa1和y2=xta2,其中,a1和a2分别是m×r和n×r随机矩阵。然后x的秩r近似是该计算很快,因为是针对小r的r×r矩阵。第二个子问题通过硬阈值化求解。

(4.4)利用tem的slr的异常检测方法

在以下阶段和步骤中描述了本公开的异常检测方法:

(4.4.1)训练:

训练需要一组输入。针对正常数据的输入包括针对每种消息类型的can总线消息的定时。训练过程如下进行:

1.随着时间的推移构造tem,m×n×t张量(例如,当存在29种消息类型并且用于训练的滑动窗口总数为500时,29×29×500)。尽管不限于此,但这些是示例缩减到练习部分中的数量。通过计算持续时间δt的时间窗口上的成对消息定时的te值来获得每个tem。

2.通过将tem堆叠为列矢量来生成n2×t训练数据矩阵x。例如,数据矩阵的尺度为841×14751。

3.利用slr分解数据矩阵x:

x=l+s+g服从秩(l)≤r,||s||0≤k×n2×t,并且从所提取的低秩矩阵l中得到基矢量集uk(具有最大k个奇异值的基矢量)。

4.针对数据矩阵x的每个列矢量x,将其分解成三个分量:x=xl+xs+xg,其中,xl是x到uk矢量空间的投影,而xs是正交空间uk中的稀疏分量x,xg是残差。

5.在所有列矢量x上,计算稀疏分量的l1范数||xs||1的均值μ和标准偏差σ。

上述训练过程产生一组输出,该输出是基矢量空间uk、正常条件下稀疏误差的误差均值μ和标准偏差σ。

(4.4.2)检测

一旦系统设定,它可工作以监测消息并检测消息中的异常。例如,在工作期间,进入系统的输入包括观察数据,其包括针对每种消息类型的can总线消息的定时。检测还使用从训练中获得的基矢量空间uk、稀疏误差的误差均值μ和标准偏差σ。至少有两种在输入数据上实现该系统的方法。方法一致力于批处理。例如,车辆可以在系统中具有大批消息并且周期性地执行诊断功能,其中通过系统输入一批消息以供异常检测。另选地,方法二致力于流处理。例如,车辆或其它系统在消息流入或通过车辆或其它系统时简单地处理该消息。下面对这些方法中的每一个进行更详细描述。

(4.4.2.1)方法一(用于批处理):

1.随着时间的推移构造tem,n×n×t张量其中,通过计算持续时间δt的时间窗口上的成对消息定时的te值来获得每个tem。变量t指示滑动窗口的数量(每个窗口具有持续时间δt)。

2.通过将tem堆叠为列矢量来将重新整形成n2×t矩阵z。

3.针对测试矩阵z的每个列矢量z,将其分解成三个分量:z=zl+zs+zg,其中,zl是z到uk矢量空间的投影,而zs是正交空间uk中的稀疏分量z,zg是残差。

4.在所有列矢量z上,计算稀疏分量的l1范数||zs||1的均值μtest和标准偏差σtest。

5.执行统计测试,如t测试,以确定均值μtest和标准偏差σtest是否高于相对于均值μ和标准偏差σ的预定误差阈值,在这种情况下,系统指示输入数据包含异常活动。

该处理中的输出是稀疏误差的均值μ和标准偏差σ,并且异常指示符指示输入数据包含异常活动。

(4.4.2.2)方法二(用于流处理):

1.在每个时间间隔δt,计算该时间窗口上的成对消息定时的te值以获得n×ntem。

2.将该n×ntem重新整形成n2矢量z。

3.将矢量z分解成三个分量:z=zl+zs+zg,其中,zl是z到从训练获得的uk矢量空间的投影,而zs是正交空间uk中的稀疏分量z,zg是残差。

4.计算稀疏分量的l1范数||zs||1。

5.评估是否||zs||1>μ+pσ,其中,p是预定阈值,其定义了正常之外的足以触发异常警告的水平。

每当||zs||1>μ+pσ时,该方法的输出都是异常警告。

方法一评估多个tem以得到用于异常检测的稀疏误差的统计,而方法二评估单个tem以在每个时间步给出异常警告。方法一的异常指示符不太可能产生错误警报,因为其正在查看较长的数据窗口;而方法二提供更快的反馈,因为其只评估单个tem,因此,方法二更适合检测在非常短的时间内干扰can总线活动的瞬间黑客攻击。而且,在激活异常检测或警告之后,通过识别zs中的量值较大的条目,系统可以瞄准损坏的特定消息类型。这可以提供对正在尝试的黑客类型以及黑客正尝试影响的特定车辆子系统的一些洞察。

(4.4.3)响应

一旦检测到攻击,有很多响应选项。关键问题是响应不能比黑客本身更有害。因此,基本上,对检测到黑客的响应必须不干扰车辆(或实现本发明的其它系统)的正常安全操作,尤其是因为在检测到攻击时车辆可能处于运动中。本发明提出了以下非限制性另选反应响应集,其可以响应于检测到异常数据或入侵而启动:

1.在检测到异常时,系统向驾驶员提供警告灯或声音,以便他们立即意识到可能存在问题。然后,这将使驾驶员根据当前情形决定恰当的行动。例如,如果驾驶员以高速行驶在高速公路上,那么他们可能决定尽快离开高速公路,并坚持在地面道路行驶,直到他们可以到达附近的经销商。

2.在检测到异常时,系统向汽车制造商提供电子消息。制造商可能能够从多个车辆收集黑客信息,从而确定多车辆攻击的潜在威胁。

3.在检测到异常时,系统触发或启动车辆的“安全模式”,其暂时禁用所有高级自动驾驶和自动停车配件,这些配件有可能控制制动器、转向或其它重要功能。其还将切断诸如信息娱乐系统和任何can总线插件装置的组件对can总线的所有非必要访问。基本上,在这种安全模式下,这辆车可驾驶,但会暂时缺少增强驾驶体验的大部分增加的豪华功能。重置车辆以脱离“安全模式”将需要访问经销商或远程软件刷新。

(4.5)简化以实践

为了证明本文所述系统有效地工作,利用从车辆收集的can总线数据执行异常检测方法。该数据由作为消息类型的消息活动时间戳连同消息类型中的内容构成。时间序列是由每种消息类型(存在29种消息类型,时间序列的长度为15251),利用消息活动的集总时间戳构成的。每个时间序列都是0和1的序列,其中,0指示在该时间戳处没有消息类型的活动,而1指示在该时间戳记处的消息类型的活动。用于tem计算的时间窗口间隔δt为500,从而存在14751个窗口。根据该数据,提取未改变的时间序列的子集(t=500)进行训练,并且以各种方式手动改变时间序列的另一子集(t=500)以模拟各种类型的攻击。例如,并且如图5a所示,通过延迟时间序列中一个特定消息类型的出现来改变正常数据。这可能模仿攻击者故意阻止出现在总线上的特定消息但随后重新插入具有不同内容的相同类型消息的效果。在另一数据集中并且如图5b中所示,去除出现的第一条消息,以注意特定消息类型。在第三数据集中并且如图5c中所示,去除第二条消息以注意特定消息类型。图5a到图5c中示出了这些测试的结果(利用方法一)。在每个标绘图中,根据18组训练和测试数据示出了18个结果。误差条示出了在一个标准偏差内的残差大小。正常数据误差条502用于正常数据,而评估误差条500用于被修改的数据。当评估误差条500(在该示例中在图形的顶部上的那些)高于正常数据误差条502时,出现真正的异常检测。据观察,两个误差条中的大多数都是分开的,表明检测异常的能力。因此,利用稀疏低秩分解,即使对can总线时间序列进行了相对细微的改变,该系统也可以识别异常。

因此,总之并且如图6所示,在一些实施方式中,该系统通过以下步骤来操作:对有关网络流量的消息定时执行统计分析600,以生成表示网络流量中的不同消息类型之间的时间相关性的时间相关性矩阵;将时间相关性矩阵的集合分解成分量矩阵602;基于新的网络流量生成新的时间相关性矩阵604;并且检测新的网络流量中的异常行为606。如果检测到异常行为,则可以启动多种动作。例如,系统可以启动反应响应608,如使车辆启动安全模式,其中,至少一个车辆系统被禁用。

最后,虽然本发明已经根据几个实施方式进行了描述,但本领域普通技术人员应当容易地认识到本发明在其它环境中可以具有其它应用。应注意,许多实施方式和实施都是可以的。而且,下面的权利要求书绝不是旨在将本发明的范围限制成上述具体实施方式。另外,“用于…的装置(means)”的任何陈述都旨在唤起对一部件和一权利要求的装置加功能的解读,而不具体使用陈述“用于…的装置(means)”的任何部件不是旨在被解读为装置加功能组件,即使权利要求以其它方式包括了单词“装置(means)”。而且,虽然已经按特定次序陈述了特定的方法步骤,但该方法步骤可以按任何希望次序发生并且落入本发明的范围内。

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