用于基于边信道的网络攻击检测的系统和方法与流程

文档序号:21732625发布日期:2020-08-05 01:27阅读:195来源:国知局
用于基于边信道的网络攻击检测的系统和方法与流程

政府权利

本发明是在美国政府合同号d15pc00223“side-channelcausalanalysisfordesignofcyber-physicalsecurity(用于网络物理安全的设计的边信道因果分析)”的政府支持下完成的。政府拥有本发明的特定权利。

相关申请的交叉引用

本申请是2018年2月14日提交的美国临时申请no.62/630,675的非临时专利申请,其全部内容通过引用并入本文。

本申请还是2018年6月12日提交的美国临时申请no.62/684,181的非临时专利申请,其全部内容通过引用并入本文。

发明背景

(1)技术领域

本发明涉及入侵检测,并且更具体地涉及用于基于边信道的网络攻击检测的系统。

(2)相关技术的描述

网络攻击是困扰许多行业的问题而且是通过各种技术来实现的。例如,对汽车的许多已知攻击涉及某些形式的欺骗或更改can总线消息。控制器局域网(can)总线是一种健壮的交通工具总线标准,该交通工具总线标准被设计成允许微控制器与设备在没有主机的应用中彼此通信。这种can总线攻击可以通过交通工具无线接口远程地发生,或者它们可以通过对交通工具硬件接口的非法访问而发生。在任一情况下,一旦攻击者获得对一个交通工具子系统的控制,他们就可以通过获得对can总线的访问而对其它交通工具子系统造成严重破坏。例如,如果攻击者可以使用can总线来使另一个模块进入诊断模式,他们就可以停止该模块的消息出现在总线上,然后他们可以用他们自己的消息来替换这些消息。根据模块,这些欺骗消息可以通过在不适当的时刻禁用制动或触发自动化特征(诸如,停车辅助)而潜在地使乘客处于严重的危险中。在本发明中,我们利用边信道(side-channel)信息来提供检测这种攻击的手段。

边信道信息的最常见用途是使攻击者能够发现隐藏加密密钥以便侵入系统(参见所并入的参考文献列表,参考文献1)。通常,这些方法涉及将加密设备的边信道发射与各种另选输入相关联,使得这些变化可以一次揭示一位隐藏密钥。在实际使用中,攻击者必须能够访问设备硬件的边信道测量,诸如功耗、rf发射或声发射。这些发射中的变化虽然有很大噪声,但是可以指示在硬件中处理的不同比特串,并且因此可以揭示隐藏信息。这些方法的缺点是它们通常需要在非常大量的重复试验中对样本进行求平均,以便恢复所需的状态信息。

其它技术已利用边信道信息作为检查计算系统中的软件完整性的手段。在gonzalez等人的工作结果中,使用互相关方法来比较处理器边信道功率签名与从重复运行中获得的边信道轨迹(参见参考文献2)。通过手动选择所捕获的功率轨迹中的对应于特定代码执行片段的特定区段来获得签名。在一些情况下,轨迹的选定区段从多次运行中被获得,被对准,然后被一起求平均,以创建签名。在gonzalez等人的工作结果中,他们需要捕获恶意软件的签名以及正常软件的签名来区分差异。

在clark等人的工作结果中,在由分类器处理之前,首先提取边信道信号的统计特征集(参见参考文献3)。然后训练分类器以区分正常行为和反常行为。gonzalez等人和clark等人的工作的缺点是,他们需要正常行为和反常行为的多个预先存在示例,以便执行他们对入侵的检测。

因此,持续需要用于网络攻击检测的系统,该系统被设计为在多模块系统的背景下工作,这些模块通过数据总线通信,并且该系统能够检测异常而无需训练异常行为的先前示例。



技术实现要素:

本公开提供了一种用于基于边信道的网络攻击检测的系统。该系统可以是具有一个或更多个处理器和存储器的嵌入式系统。在各个方面,存储器是非暂时性计算机可读介质,该非暂时性计算机可读介质编码有可执行指令,使得在执行指令时,一个或多个处理器执行若干操作。例如,在操作中,系统将来自平台(例如,交通工具平台)的数据总线信号转换成系统状态的第一时间序列。该系统还将来自平台的模拟边信道信号转换成系统状态的第二时间序列。通过将系统状态的第一时间序列与系统状态的第二时间序列进行比较以识别对预定约束的违反,来检测平台的异常行为。在检测时,异常行为被指定为对平台的网络攻击,基于检测到的网络攻击使得平台发起动作。这些动作包括实现安全模式等。

在另一方面,平台是交通工具,并且在检测到网络攻击时,该交通工具执行从包括去激活互联网网络连接和将交通工具切换到安全模式以禁用一个或多个交通工具功能的组中选择的一个或多个动作。

在又一方面,数据总线是交通工具can总线。

此外,通过识别以下各项来检测异常行为:预定约束的违反、边信道状态和数据总线状态的不允许组合的集合、以及在系统状态的第一时间序列和系统状态的第二时间序列内同时且重复出现的不允许组合的同现。

在又一方面,在识别预定约束的违反时,数据总线状态与对应的边信道状态之间的可允许状态转变被指定为预定约束,使得对系统状态的第一时间序列和系统状态的第二时间序列中的预定约束的违反的观察被分类为对平台的网络攻击。

此外,将来自平台的数据总线信号转换成系统状态的第一时间序列还包括以下操作:保持具有通过数据总线上的消息发送的状态变量的值的k状态存储器,使得存储器中的所有值表示在数据总线上最新接收的值;以及以周期性间隔输出k状态存储器中的所有k状态变量作为系统状态的第一时间序列。

在又一方面,将来自平台的模拟边信道信号转换成系统状态的第二时间序列还包括以下操作:捕获模拟边信道信号;将模拟信号转换成数字表示;以表示针对不同系统状态的预期模式的所存储的至少一个模板对所述模拟信号的数字表示进行归一化和卷积;选择用于数字表示的最佳匹配模板;以及以周期性间隔输出所述最佳匹配模板的标识。

在另一方面,通过对跨子组件熔断器测量的电压进行放大来捕获模拟边信道信号。

在又一方面,通过使用射频接收器来执行捕获模拟边信道信号。

最后,本发明还包括计算机程序产品和计算机实现的方法。计算机程序产品可以被实现为交通工具嵌入式系统,该交通工具嵌入式系统包括存储在非暂时性计算机可读介质上的计算机可读指令,所述计算机可读指令能够由具有一个或更多个处理器的计算机执行,使得在执行所述指令时,一个或多个处理器执行本文列出的操作。或者,计算机实现的方法包括使计算机执行这些指令并执行所得操作的动作。

附图说明

通过以下结合附图对本发明的各个方面的详细描述,本发明的目的、特征和优点将变得显而易见,其中:

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

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

图3a是示出根据本发明的各个实施方式的用于基于边信道的网络攻击检测的处理的流程图;

图3b是描绘根据本发明的各个实施方式的系统组件的例示,其中系统提供检测从系统模块之间的数据通信识别出的交通工具状态与从子系统边信道识别出的状态之间的失配的能力;

图4是描绘了示出典型消息结构的can总线消息的短序列的示例的例示;

图5是根据本发明的各个实施方式的数据总线时间序列提取器的例示;

图6是根据本发明的各个实施方式的边信道状态时间序列提取器的例示;

图7是模板存储器中包含的多个边信道模板的示例的例示,其中各个模板表征与交通工具变速器的不同状态相对应的预期信号;

图8是示例性时间序列的例示,该示例性时间序列示出了与不同交通工具状态相对应的匹配模板的序列,其中原始边信道信号在背景中示出;

图9是描绘根据各种实施方式的设备的控制的框图;以及

图10是描绘边信道状态的表。

具体实施方式

本发明涉及入侵检测,并且更具体地,涉及用于基于边信道的网络攻击检测的系统。呈现以下描述以使本领域普通技术人员能够作出和使用本发明并将其结合到特定应用的背景中。各种修改以及不同应用中的各种用途对于本领域技术人员来说是非常显而易见的,并且本文限定的总体构思可以应用于广泛方面。因此,本发明不旨在限于所呈现的方面,而是涵盖与本文所公开的构思和新颖特征相一致的最广范围。

在下面的详细说明中,阐述了许多具体细节,以使得能够更加彻底地理解本发明。然而,本领域技术人员将明白,本发明可以在不需要限于这些具体细节的情况下实施。在其它情况下,公知结构和设备按框图形式示出而非详细示出,以免模糊本发明。

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

此外,权利要求中的未明确陈述用于执行指定功能的“装置”或用于执行特定功能的“步骤”的任何元素不被解释为在35u.s.c.第112节第6款中指定的“装置”或“步骤”条款。具体地,在本文的权利要求中使用“...的步骤”或“...的动作”不旨在援引35u.s.c.第112节第6款的规定。

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

(1)所并入的参考文献的列表

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

1.kocher,paul,joshuajaffe,benjaminjun,andpankajrohatgi.introductiontodifferentialpoweranalysis.journalofcryptographicengineering,1(1):5-27,2011.

2.carlosr.aguayogonzalezandjeffreyh.reed.powerfingerprintinginsdr&crintegrityassessment.inieeemilitarycommunicationsconference(milcom),2009.

3.shanes.clark,benjaminransford,amirrahmati,shaneguineau,jacobsorber.kevinfu,andwenyuanxu.wattsupdoc:powersidechannelstononintrusivelydiscoveruntargetedmalwareonembeddedmedicaldevices.inproceedingsofthe2013usenlxconferenceonsafety,security,privacyandinteroperabilityofhealthinformationtechnologies,healthtech,2013.

(2)主要方面

本发明的各个实施方式包括三个“主要”方面。第一是用于基于边信道的网络攻击检测的系统。该系统通常采用计算机系统操作软件的形式、或采用“硬编码”指令集的形式、或必须实现本文描述的系统的任何其它硬件或组件,包括处理器、放大器以及将模拟边信道信号数字化的a/d转换器。该系统可以结合到提供不同功能的各种各样的设备中。第二主要方面是使用数据处理系统(计算机)运行的通常采用软件形式的方法。第三主要方面是计算机程序产品。该计算机程序产品通常表示存储在诸如光学存储设备(例如,光盘(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还可以包括与地址/数据总线102联接的一个或更多个接口(诸如接口110)。所述一个或更多个接口被配置成使得计算机系统100能够与其它电子设备和计算机系统对接。由所述一个或更多个接口实现的通信接口可以包括can总线、有线通信技术(例如,串行电缆、调制解调器、网络适配器等)和/或无线通信技术(例如,无线调制解调器、无线网络适配器等)。例如,接口110可以是响应入侵警报的驾驶员警告系统或另一个交通工具控制器的输出接口。

在一个方面中,计算机系统100可以包括与地址/数据总线102联接的输入设备112。在各个方面,输入设备112可以是放大器和用于将模拟边信道数字化的a/d转换器。

在一个方面中,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个可选计算机可用数据存储设备(诸如存储设备116)。存储设备116被配置成存储信息和/或计算机可执行指令。在一个方面中,存储设备116是诸如磁或光盘驱动器(例如,硬盘驱动器(“hdd”)、软盘、光盘只读存储器(“cd-rom”)、数字通用盘(“dvd”))的存储设备。

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

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

(3)介绍

本公开提供了一种通过帮助检测攻击者的存在来保护联网平台(例如,交通工具等)免受网络攻击的系统和方法。虽然可以使用术语联网,但是它不一定意味着该平台也连接到外部设备。相反,在至少有两个模块通过数据总线在彼此之间传送状态信息的意义上,平台是联网的。在交通工具平台上,这由can总线处理。特别地,系统通过使用从源(称为边信道)得到的关于交通工具活动的辅助信息来检测在交通工具的数据总线或can总线上欺骗消息的任何尝试。众所周知,可以使用诸如功耗或rf发射之类的边信道来进行涉及密钥解密的网络攻击。本公开的方法提供了一种使用组件功耗、rf发射或类似边信道信号的装置,以通过可靠地识别交通工具子系统状态来防御攻击。该系统通过将从边信道检测到的状态与通过交通工具的数据总线传送的状态进行比较来工作,从而识别欺骗攻击的存在并允许校正动作。

图3a中描绘了该处理。在操作期间,系统将来自平台的数据总线信号转换320成系统状态的第一时间序列。系统通过将来自平台的模拟边信道信号转换322成系统状态的第二时间序列来继续进行。此后,系统可以操作为通过将系统状态的第一时间序列与系统状态的第二时间序列进行比较以识别对预定约束的违反来检测324平台的异常行为(异常行为被指定为对平台的网络攻击)。在检测时,系统继续进行以基于网络攻击使得326平台发起动作。因此,该系统可以操作为防止或减轻由欺骗攻击引起的问题。

对汽车的许多已知攻击涉及某些形式的欺骗或更改can总线消息。例如,如果攻击者可以使另一个模块进入诊断模式,则他们可以阻止该模块的消息出现在总线上,然后他们可以用他们自己的消息来替换这些消息。取决于模块,这些欺骗消息可能潜在地使乘客处于严重的危险中。本公开的系统通过查看can总线消息与边信道信号之间的关系以发现不一致性,来防御类似这样的攻击。假设在总线上的欺骗消息的任何尝试都将导致总线消息与边信道状态之间出现差异。如果本公开的系统能够检测这种差异,则系统能够潜在地检测大范围的不同攻击。因为该方法可以检测通常应当一致的两个信号之间的不一致性,所以该方法提供了新网络攻击的可靠指示符,对于这些网络攻击,可能没有待训练的预先存在示例。

如本领域技术人员可以理解的,存在可以实现和应用本公开的系统以提供网络安全的各种应用。作为非限制性示例,该系统可以用于解决针对交通工具(并且特别是汽车)的网络入侵检测的问题。媒体对被盗汽车的越来越多的关注很清楚地表明,许多商用汽车都可能遭受性命攸关的网络攻击。本发明解决了在攻击可能造成严重损害之前检测这些攻击的存在的问题。然而,尽管本公开中描述的分析聚焦于边信道数据与can总线数据(can总线数据是汽车所特有的)的比较,但是在诸如飞行器之类的其它交通工具中存在类似的数据总线,这些相同的分析技术可以应用于这些类似的数据总线。鉴于这些相似性,本发明的潜在应用范围可以是:从一直为汽车提供网络入侵监测到为商用飞行器或其它平台(诸如自主交通工具、无人机、机器人、卫星等)提供网络入侵监测。因此,虽然在整个公开中,术语交通工具用于说明性目的,但是本发明并不旨在局限于此。下面提供具体细节。

(4)各种实施方案的具体细节

如上所述,本公开提供了一种通过帮助检测攻击者的存在来保护交通工具免受网络攻击的系统和方法。该系统被设计为:借助于使用从边信道源得到的关于交通工具活动的辅助信息来检测在交通工具的数据总线上攻击者对于欺骗消息的尝试。本发明提供了一种方法,该方法用于将边信道信号分类为可识别交通工具状态,然后将这些状态与在交通工具的数据总线(称为控制器区域网络(can)总线)上发送的消息中识别的那些状态相关联。一旦在边信道状态与can总线状态之间建立了可靠的对应关系,与这些对应关系的任何偏差都被用来发出正在发生潜在网络攻击的警报的信号。

如图3b所示,该系统包括三个主要组件:数据总线时间序列提取器300、边信道状态时间序列提取器302和状态对应关系分析器304。数据总线时间序列提取器300监测数据总线上的状态消息306,并将这些状态消息转换成系统状态的时间序列308。第二模块(边信道状态时间序列提取器302)从放大器301接收模拟边信道信号310作为输入,并将这些模拟边信道信号310转换成系统状态的时间序列312。然后,这两个模块300和302将它们的时间序列输出308和312提供给状态对应关系分析器模块304。

应当注意,需要感测单元来捕获模拟信号。例如,在来自交通工具控制模块的rf边信道的情况下,感测单元可以是被调谐到与处理器时钟频率相关的频率的无线电接收器,使得可以检测处理器负载的变化。在一个非限制性示例中,系统可以通过使用现有熔断器连同运算放大器作为电流测量设备来测量消耗的功率。虽然本公开的系统独立于特定的感测单元,但是感测单元是系统的重要输入源。

状态对应关系分析器模块304使用can总线状态与边信道状态之间的先前已知关系来识别两个独立得到的时间序列308和312中的所观测状态之间的不一致性。只要检测到与已知关系的统计上显著的偏差,就产生输出警告信号。然后,该警告信号可以以各种方式应用在交通工具系统内,诸如a)向驾驶员激活警告灯以检查该交通工具,b)停用潜在地允许攻击者获得对交通工具的远程访问的各种连接模式,或者c)将交通工具切换到预先设计的"安全"模式,该预先设计的"安全"模式禁用可能允许攻击者获得控制的各种自动驾驶功能(例如,诸如终止自主驾驶、关闭交通工具、切断互联网访问等)。为了进一步理解,下面更详细地描述两个时间序列提取器300和302,并且以对应关系分析器304作为结束。

(4.1)数据总线时间序列提取器

针对各种交通工具(包括汽车、卡车、摩托车、雪地汽车、火车、公共汽车、飞行器以及用于农业、建筑、采矿和海运的交通工具),用于在系统组件之间交换状态信息的标准数据总线是can总线。其它交通工具可能会使用其它类型的数据总线,但是数据总线时间序列提取器300背后的原理将是类似的。数据总线承载从交通工具系统内的一个模块发送到另一个模块的消息。这些消息中的大多数包含关于各种交通工具子系统的状态的状态信息。数据总线时间序列提取器300的作用是将这些状态消息转换成系统状态的时间序列。

can总线提供多个模块之间的可靠高速通信。注意,对于具有不同特性的其它总线网络,时间序列提取的细节可以变化,但是本领域技术人员可以容易地将本公开的方法适配到这些其它总线。在can总线中,消息通过公共总线从各个模块广播到所有其它系统模块。如图4所示,发送的各个消息包括11位标识符字段400和可变长度数据字段402。还存在其它字段,但这些字段与本讨论无关。can消息的重要方面是它们不寻址到特定目的地。相反,任意数量的模块可以接收给定can消息,然后根据标识符字段确定消息数据字段的解释。实际上,多个模块同时在can总线上处于活动状态,并且使用总线仲裁规则来确保每当两个模块试图同时通信时,仅以一个消息为准。然后,将由另一个模块重新发送其消息。结果,通常从各个模块周期性地发送具有状态信息的消息,但是不同消息类型的更新周期将根据系统设计和消息优先级要求而变化。而且,作为总线仲裁的结果,不能保证任何给定消息的实际重复率是精确的,并且可以看到重复率的可变性。

鉴于消息定时的这种可变性,数据总线时间序列提取器300的作用是将这些消息的消息内容转换成在状态更新之间具有恒定时间间隔的系统状态变量的k维时间序列。如图5所示,数据总线时间序列提取器300使用存储k个状态变量的k状态存储器500来执行转换。当消息306到达can总线时,can消息解码器502读取消息内容并更新与消息中定义的状态变量相对应的k个状态变量的子集。在单独的线程中,周期性采样器504读取k状态存储器500内的所有变量,并且以规则的周期性间隔输出k状态存储器500中的全部内容作为系统状态308的时间序列。各个can总线消息仅包含k状态存储器中包含的变量的小子集。每当接收到消息时,can消息解码器502就在存储器中更新这些消息。同时,周期性采样器504以规则时间间隔读取整个k状态存储器500。因此,一些变量可以在这些时间间隔之间由解码器502更新许多次,而其它变量可以不在各个间隔之间更新。尽管更新中存在这些变化,但是周期性采样器504在对存储器进行采样时总是取所有变量的最新值。

该处理有效地将来自can总线的异步和非确定性状态更新转换为状态变量的定期采样序列(即,系统状态的时间序列308),该状态变量的定期采样序列可以用于匹配从边信道分析获得的状态。

(4.2)边信道状态时间序列提取器

为了获得状态时间序列的第二源,该系统使用从交通工具系统组件的功耗波动获得的模拟边信道信号。图6示出了使用这种边信道状态时间序列提取器302的本方法的示例实施方式。此处,通过感测交通工具中使用的跨用于感兴趣的子系统的标准熔断器602的电压波动来监测交通工具控制模块600的功耗。因为熔断器602施加了小的电阻,所以跨该电阻的电压变化指示所连接子系统的功耗波动。为了感测这些波动,在熔断器602(或适用于特定系统的其它组件)的两个端子上使用差分放大器604,以在放大器604的输出处获得所得的时变电压(即,模拟边信道信号310)。然后,将该模拟信号310转换606成数字信号608,对该数字信号608进行处理以获得感测模块的时变状态(即,系统状态的时间序列312)。可以使用任何适当的模数(a/d)转换器来执行模数转换606,其非限制性示例包括由位于12500tiboulevarddallas,texas75243usa的texasinstruments创建的tlc549cp芯片。

应当注意,存在许多其它方法来获得边信道信号,诸如通过使用环形天线来拾取射频发射,或者使用声传感器来监测振动。尽管发现描述的示例实施方式对于输入信号中的统计波动(即,信号噪声)是相当健壮的,但是本发明的工作与信号获取的特定手段无关。

卷积和归一化阶段610是将数字化后的边信道信号608转换成可识别系统状态的中心部分。系统开始于长度为l的边信道模板的集合,该集合存储在边信道模板存储器612中。在各种实施方式中,这些模板可以在各种已知状态期间从边信道信号的先前采样获得;模板还可以取自单个样本或取自被对齐然后一起被求平均的多个样本,或这些技术的任何组合。例如,图7描绘了从交通工具变速器模块获得的这种模板的示例,其中各个模板表征与交通工具变速器的不同状态相对应的预期信号。图7描述了模拟波形,其中垂直轴表示来自差分放大器的输出电压,而水平轴上的时间约为每单位2.27×10^-5秒。

这些模板中的各个模板都使用以下归一化处理来预归一化,所述归一化处理基于使用模板信号的均方根:

1.将模板的各个样本进行求平方;

2.将这些求平方的样本进行求和;以及

3.将模板的各个样本除以该和的平方根。

当获得输入的边信道信号时,使用以下步骤针对该信号创建归一化信号norm:

1.将信号的各个样本进行求平方;

2.将该求平方的信号与l个样本的模板进行卷积,各个样本的值为1;以及

3.取该卷积结果的各个样本的平方根,得到信号norm。

然后,系统对各个归一化模板执行以下步骤:

1.创建通过将时间反演的归一化模板(i)与传入信号进行卷积而获得的新信号conv(i);

2.将conv(i)的各个样本除以norm的对应样本;以及

3.扫描m个样本的各个块内的最大值的结果,其中m大于或等于l。调用该结果max(i)。

再次参考图6,一旦系统已经获得各个模板(i)的max(i),就执行排序或聚类识别步骤614。可以采用任何适当的排序或聚类识别处理,并将该处理编程到系统中,以获得状态序列(即,系统状态的时间序列312),下面提供状态序列的两个非限制性示例。

第一种方法是简单地比较所有模板(i)上的值max(i),并找出在各个时间间隔处具有最大max(i)值的模板(i)。然后,该(i)值可以被识别为在该(i)值最大的给定时间点的状态。这种(i)值的序列变为时间序列312。图8示出了状态时间序列312输出结果的示例。例如,图8描绘了示例时间序列,其示出了与不同交通工具状态相对应的匹配模板800的序列,其中背景中示出了原始边信道信号802。在没有模板匹配良好的点处,没有标签。

第二个选项是使用max(i)值的i维时间序列来根据从k均值聚类获得的距离度量分配状态。在此方案中,将存在由k个质心界定的k个状态,且在任何给定时间处的所识别状态将为在该时间到i维max向量的最小距离的质心的索引。在该示例中,时间序列312由一系列这些质心索引构成。

(4.3)状态对应关系分析器

该系统的第三方面是提供一种处理,该处理用于分析从can总线和边信道信号生成的时间序列308和312,以识别被指定指示网络攻击的异常。这里,问题是在can总线消息中发现的状态与从边信道获得的状态之间不总是存在固定的一一对应关系。相反,注意到存在若干可能的多对一和多对多关系。也存在这样的情况,即,首先can总线状态发生转变,随后边信道状态发生相关变化。同样,也存在相反的情况。为了处理这个问题,当边信道信号中允许的所有状态都是活动的时,各个can总线状态被映射到所有状态的集合。当can总线中允许的所有状态都是活动的时,各个边信道状态也被映射到所有状态。图10的表中描绘了这样的示例,在该示例中,沿水平轴有40个边信道状态,并且沿垂直轴有四个can总线状态。使用上述映射,系统可以将该图表中具有零条目的任意框识别为不应该同时被观察到的can总线和边信道状态的条件。

此外,该系统识别在特定边信道状态活动的情况下can总线状态之间可能的允许状态转变,并且反之亦然,即,该系统识别在特定can总线状态活动的情况下边信道状态的转变。例如,如表中所示,在can总线驱动-行驶状态期间存在许多可能的边信道状态。虽然这些状态中的任何状态都是允许的,但是系统可以生成边信道状态的转变矩阵,该转变矩阵识别哪些转变可能发生以及哪些转变可能不发生。在图10所示的示例矩阵或表中,顶部标记指示基于表中呈现的数据所确定的状态。具体地,dg表示驱动/行驶,p表示停车,rg表示倒车/行驶,ds表示倒车/停止,un表示未决定。对于可能从未发生的那些转变,系统可以生成已经发生异常的警报条件(例如,可听警报或可见警报)。

同时,不允许特定边信道状态与特定can总线状态同现的条件和在存在给定can总线状态时不允许边信道状态的特定时间序列的条件形成了约束集合,当观察到两个时间序列308和312时,必须不违反该约束。因此,对这些约束的任何违反被认为是反常或异常行为,并且成为用于信号发送警报的健壮条件。因此,在识别对预定约束的违反时,识别边信道状态和数据总线状态的不允许组合的集合,并且这些不允许组合在系统状态的第一时间序列和系统状态的第二时间序列内同时且重复出现的任何同现被分类为对平台的网络攻击。因此,对这些约束的任何违反被指定为网络攻击,其使得系统在适当时发起进一步的动作。下面将进一步详细描述可能发起的可能动作的讨论。

(4.4)设备的控制

如图9所示,处理器104可以用于基于识别出被指定为网络攻击检测的约束违反来发起动作以控制设备900(例如,交通工具或交通工具子系统、电机、机器、无人机、摄像头等)。例如,设备900可以被控制以使得设备移动或以其它方式基于检测发起动作。

如上所述,可以生成警告信号并将该警告信号提供给系统操作员。其它示例动作包括:停用各种连接模式或者切断到被认为是损坏的或者以其它方式在反常情况下操作的模块的互联网网络连接(电子地或者物理地利用执行器控制的门)。另外的示例包括将交通工具切换到预先设计的“安全”模式,该“安全”模式禁用各种交通工具功能,诸如变速器功能或自动驾驶功能。例如,可以终止一个或更多个自主领航或驾驶功能,以迫使驾驶员物理地重新取回对交通工具的控制。作为另一示例,可以使交通工具安全地停止移动,然后关闭。在该示例中,如果是汽车,则可以使汽车制动并缓慢地驶离道路,并且在停车时切断发动机和其它系统的动力。如可以理解的,存在可以基于对这样的网络攻击检测而发起的若干其它自动动作。这种动作的其它非限制性示例包括警告和警报、切断某些可以选功能、断开各种高风险控制模式、切换到另选安全软件模块(其可能缺少一些功能但具有更高的安全性)。

最后,虽然已经根据多个实施方式对本发明进行了说明,但本领域普通技术人员应当容易地认识到,本发明可以在其它环境中具有其它应用。应注意,可以有许多实施方式和实现。此外,所附权利要求绝不旨在将本发明的范围限于上述具体实施方式。另外,“用于…的装置”的任何用语旨在引发要素和权利要求的装置加功能的解读,而未特别使用“用于…的装置”用语的任何要素不应被解读为装置加功能要素,即使权利要求以其它方式包括了“装置”一词。此外,虽然已经按特定顺序陈述了特定方法步骤,但这些方法步骤可以按任何期望的顺序进行,并且落入本发明的范围内。

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