用于保护网络物理系统的系统、方法及计算机可读介质与流程

文档序号:31849484发布日期:2022-10-19 00:39阅读:56来源:国知局
用于保护网络物理系统的系统、方法及计算机可读介质与流程

1.本发明是在政府的支持下根据能源部授予的合同号de-oe0000833完成的。政府对本发明有一定的权利。


背景技术:

2.操作物理系统(例如,与动力涡轮机、喷气引擎、机车、自动车辆等相关联)的工业控制系统越来越多地连接到因特网。因此,这些控制系统越来越容易受到威胁,诸如网络攻击(例如,与计算机病毒、恶意软件等相关联),这些网络攻击可能扰乱发电和配电、损坏引擎、造成车辆故障等。目前的方法主要考虑信息技术(“it”,诸如存储、检索、传送和操纵数据的计算机)和操作技术(“ot”,诸如直接监控装置和通信总线接口)中的攻击检测。网络攻击仍然可以穿透这些保护层,并到达物理“域”。这样的攻击可能会降低控制系统的性能,并可能导致完全关闭,或甚至对工厂造成灾难性损害。在某些情况下,可能会同时发生多个攻击(例如,控制系统装置内部的一个以上的执行器、传感器或参数可能同时被未经授权的一方恶意更改)。注意,网络攻击的一些微妙后果,诸如发生在域层的秘密攻击,可能不容易检测到(例如,当检测算法中仅使用一个监控节点(诸如传感器节点)时)。确定监控节点何时遇到故障(而不是恶意攻击)以及在某些情况下准确地确定发生的是哪种类型的故障也很重要。现有的保护网络物理系统的途径可以使用离线训练的分类决策边界。这些决策边界在实时操作环境中可能经受假阳性和假阴性。因此,考虑到离线环境与实时环境之间的差异,期望以自动和准确的方式保护网络物理系统免受网络攻击。


技术实现要素:

3.根据一些实施例,提供了一种系统,包括:多个实时监控节点,用于随时间接收表示网络物理系统的当前操作的监控节点信号值的流;以及威胁检测计算机平台,其耦接到多个实时监控节点,以:接收监控节点信号值;计算异常得分;将异常得分与自适应阈值进行比较;以及基于比较检测特定监控节点和系统中的一个在决策边界的外部,并将特定监控节点或系统分类为异常。
4.根据一些实施例,提供了一种方法,包括:从多个实时监控节点接收监控节点信号值的流,其中,监控节点信号值表示网络物理系统的当前操作;计算异常得分;将异常得分与自适应阈值进行比较;以及基于比较检测特定监控节点和系统中的一个在决策边界的外部,并将特定监控节点或系统分类为异常。
5.根据一些实施例,提供了一种存储有程序代码的非暂时性计算机可读介质,该程序代码可由计算机处理器执行以使处理器执行保护与多个监控节点相关联的网络物理系统的方法,每个监控节点随时间生成表示网络物理系统的当前操作的一系列当前监控节点值,该方法包括:从多个实时监控节点接收监控节点信号值的流;计算异常得分;将异常得分与自适应阈值进行比较;以及基于比较检测特定监控节点和系统中的一个在决策边界的外部,并将特定监控节点或系统分类为异常。
6.本文公开的一些实施例的一些技术优点是改进的系统和方法,以自动和准确的方式保护一个或多个网络物理系统免受异常,诸如网络攻击。
附图说明
7.图1a是可以根据一些实施例提供的系统的高级框图。
8.图1b是根据一些实施例提供的边界的模型。
9.图2是可以根据一些实施例提供的方法。
10.图3a是可以根据一些实施例提供的系统的高级框图。
11.图3b是可以根据一些实施例提供的系统的框图。
12.图3c是可以根据一些实施例提供的系统的框图。
13.图3d是可以根据一些实施例提供的系统的框图。
14.图3e是可以根据一些实施例提供的图表。
15.图4是根据一些实施例的模型创建方法。
16.图5是根据一些实施例的异常警报方法。
17.图6示出了根据一些实施例的离线处理。
18.图7示出了根据一些实施例的实时处理。
19.图8是根据一些实施例的与网络物理系统引擎相关联的示例。
20.图9示出了根据一些实施例的传感器输出的三个维度。
21.图10是根据一些实施例的异常警报系统。
22.图11至图13示出了根据一些实施例的各种参数的特征向量的边界和位置。
23.图14是当系统中涉及多个燃气涡轮机时根据一些实施例的全局异常保护系统的示例。
24.图15是根据一些实施例的检测和定位系统架构。
25.图16是根据一些实施例的确定攻击是独立攻击还是依赖攻击的方法。
26.图17是根据一些实施例的网络物理系统保护平台。
27.图18是根据一些实施例的表格式网络物理系统数据库的一部分。
具体实施方式
28.在下面的详细描述中,为了提供对实施例的透彻理解,阐述了许多具体细节。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践实施例。在其他实例中,没有详细描述公知的方法、过程、组件和电路,以便不使实施例模糊。
29.下面将描述本发明的一个或多个具体实施例。为了提供对这些实施例的简明描述,在说明书中可以不描述实际实现的所有特征。应当理解,在任何这样的实际实现的开发中,就像在任何工程或设计项目中一样,必须做出许多具体实现的决定,以实现开发人员的具体目标,诸如遵守与系统相关和与业务相关的限制,这些限制可能因实现而异。此外,应当理解,这种开发工作可能是复杂和耗时的,但对于受益于本公开的普通技术人员来说,仍将是设计、制造和制作的常规工作。
30.图1a是可以根据一些实施例提供的系统100的高级框图。系统100包括监控节点110,诸如传感器、致动器和控制器参数,其随时间生成表示网络物理系统(例如,工业资产)
的当前操作的一系列当前监控节点值112。系统100还可以包括异常检测计算机平台150、全局状态确定模块120、局部状态确定模块130和由自适应阈值化系统145提供的自适应阈值140。确定模块120、130中的每一个可以具有与其相关联的相应检测模型(例如,异常检测模型355(图3a))。如关于图3a至图14所述,异常检测计算机平台150的全局状态确定模块120和局部状态确定模块130可基于特征向量和/或监控节点值112、决策边界122(例如,图1b和图9)和自适应阈值140的比较来生成“异常”决策。具体地,全局状态确定模块120可基于异常得分126(由全局状态确定模块生成)与自适应阈值140(由自适应阈值化系统145生成)的比较来生成全局状态124,该状态指示网络物理系统是否经历“正常”或“异常”操作。局部状态确定模块130可以基于异常得分132(由局部状态确定模块130生成)与自适应阈值140的比较,为每个监控节点生成局部状态128,该状态指示该监控节点是否经历“正常”或“异常”操作。
31.图1b是3d特征空间中的决策边界122,以及决策边界122的内部134和外部136的点的示例。使用模拟和/或历史现场数据训练模型,以用作异常决策边界。决策边界122可以是高维空间中的流形(manifold),等于被分析的特征的数目。如下文进一步描述的,决策边界122是检测模型355(例如,神经网络)的数学表示。
32.图2是可以根据一些实施例提供的方法。本文描述的流程图并不意味着步骤的固定顺序,并且本发明的实施例可以以任何可行的顺序实施。注意,本文描述的任何方法可以通过硬件、软件或这些方法的任何组合来执行。例如,计算机可读存储介质可以在其上存储指令,当由机器执行时,这些指令导致根据本文描述的任何实施例的性能。
33.在s210,异常检测计算机平台150可以从多个实时监控节点110接收监控节点信号值112。
34.然后,在s212,异常检测计算机平台150可分别为给定监控节点110和系统100中的至少一个计算异常得分132/126。可以通过执行相应确定模块120、130的检测模型355(图3a)来计算异常得分132/126。异常得分132/126可以指示给定监控节点110和/或系统100在每个时间实例处经历异常的概率。异常得分132/126可以从0到1缩放。作为非详尽的示例,异常得分越接近(或可选地,越远离)1,节点/系统经历异常的可能性就越大。注意,模块120包含一个检测模型并使用一个阈值用于系统级别的异常检测,但模块130可以包含一个或多个检测模型并使用一个或多个阈值用于每个单独节点的异常位置(例如,每个节点的单独模型和阈值)。输出128是每个节点的异常状态和对应的异常得分的向量。
35.在s214,威胁检测计算机平台150然后可以将异常得分132/126与自适应阈值140进行比较。如上所述,对于局部得分132,可以存在由模块145为每个节点计算的单独阈值。如上文关于图1b进一步描述的,决策边界122是检测模型的数学表示,使得决策边界122将监控节点(关于局部状态确定模块)和系统(关于全局状态确定模块)的正常状态与异常状态分开。实施例还可以包括附加转向参数(异常得分的阈值)。通过计算异常得分126/132与自适应阈值140之间的差值,计算(在特征空间中的)每个点相对于决策边界122的距离和位置。在异常得分126/132大于自适应阈值140的情况下,该点在边界136的外部,因此异常。差值越大,点越在边界136的外部(“越不正常”)。在异常得分126/132小于自适应阈值140的情况下,该点在边界134的内部,因此正常。
36.接下来,在s216,威胁检测计算机平台150可以基于比较来检测特定监控节点和系
统中的一个在决策边界136的外部,并且然后可以分别将该特定监控节点或系统分类为异常。
37.图3a是根据一些实施例的系统300的高级架构。系统300可以包括监控节点传感器310mn1至mnn、“正常空间”数据源320和“异常空间”数据源330。正常空间数据源320可以为多个监控节点310中的每一个随时间存储表示网络物理系统的正常操作的一系列正常值(例如,如图3a中的虚线所示,由模型生成或从实际传感器数据中收集)。异常空间数据源330可以为监控节点310中的每一个存储表示网络物理系统的异常操作(例如,当系统经历网络攻击或故障时)的一系列异常值。
38.可以将来自正常空间数据源320和异常空间数据源330的信息提供给异常检测模型创建计算机360,其使用该数据来创建决策边界(即,将正常行为与受威胁行为分开的边界)。决策边界然后可利用自适应阈值140由执行异常检测模型355的异常检测计算机350使用。例如,异常检测模型355可以监控来自监控节点310的数据流,包括来自传感器节点、致动器节点和/或任何其他关键监控节点(例如,传感器/致动器/控制器节点mn1至mnn)的数据,并且在适当时自动向一个或多个远程监控装置370输出全局和局部异常警报信号(例如,用于向操作者显示或根据本文描述的任何实施例将全局和局部信息融合)。如本文所使用的,术语“自动”可以指例如可以在很少或没有人工干预的情况下执行的动作。根据一些实施例,关于检测到的威胁的信息可以被发送回网络物理系统控制系统。
39.如本文所使用的,装置(包括与系统300和本文所描述的任何其他装置相关联的装置)可以经由任何通信网络交换信息,该通信网络可以是局域网(“lan”)、城域网(“man”)、广域网(“wan”)、专有网络、公共交换电话网络(“pstn”)、无线应用协议(“wap”)网络、蓝牙网络、无线lan网络和/或诸如因特网、内联网或外联网的因特网协议(“ip”)网络中的一个或多个。注意,本文描述的任何装置可以经由一个或多个这样的通信网络进行通信。
40.异常检测模型创建计算机360可以将信息存储到诸如正常空间数据源320和/或异常空间数据源330的各种数据存储器中和/或从各种数据存储器中检索信息。各种数据源可以本地存储或远离异常检测模型创建计算机360驻留。尽管在图3a中示出了单个异常检测模型创建计算机360,但是可以包括任何数量的这样的装置。此外,根据本发明的实施例,可以组合本文描述的各种装置。例如,在一些实施例中,异常检测模型创建计算机360和一个或多个数据源320、330可以包括单个设备。异常检测模型创建计算机360的功能可以在分布式处理或基于云的体系结构中由联网设备群来执行。
41.用户可以经由监控装置370之一(例如,个人计算机(“pc”)、平板电脑或智能电话)访问系统300,以根据本文所述的任何实施例查看关于威胁信息的信息和/或管理威胁信息。在一些情况下,交互式图形显示界面可以让用户定义和/或调整某些参数(例如,异常检测触发级别、其他触发等)和/或提供或接收来自异常检测模型创建计算机360和/或异常检测计算机350的自动生成的推荐或结果。
42.因此,本文描述的一些实施例可以使用来自物理(即,工业或企业)资产的一个或多个监控节点310的时间序列数据,并提供具有低假阳性率的可靠异常检测。该系统可以从时间序列数据中提取每个监控节点的特征。例如,术语“特征”可以指数据的数学特征。应用于数据的特征的示例可以包括最大值和最小值、均值、标准差、方差、建立时间、快速傅立叶变换(“fft”)谱分量、线性和非线性主分量、独立分量、稀疏编码、深度学习等。每个监控节
点的特征的类型和数量可以使用领域知识和/或特征发现过程来优化。例如,可以在滑动窗口上用来自时间序列数据的指定持续时间的连续样本计算特征。窗口的长度和每个批的重叠持续时间可以根据领域知识和数据检查或使用批处理来确定。注意,可以在局部级别(与每个监控节点相关联)和全局级别(与所有监控节点,即整个资产,相关联)计算特征。根据一些实施例,可以对节点或其提取的特征的时域值进行归一化,以获得更好的数值调节。
43.图3b示出了包括根据一些实施例的自适应阈值化系统145的框图。监控节点原始值112可以由系统150,并且特别是数据预处理模块302接收。预处理模块302可以过滤和/或平滑噪声数据(例如,以解决数据中的间隙、坏数据、离群值等)。接下来,预处理(“干净的”)数据可由特征提取模块304接收。特征提取模块304可以使用当前监控节点信号值112生成用于当前监控节点的特征向量306。注意,特征向量的生成可以包括经由特征变换、身份变换和基于特征的动态模型中的一个进行处理。根据一些实施例,当前监控节点特征向量中的至少一个与主成分、统计特征、深度学习特征、频域特征、时间序列分析特征、逻辑特征、基于地理或位置的位置和/或交互特征相关联。
44.如上所述,可以由全局状态确定模块120和局部状态确定模块130的分类模型355接收特征向量306。
45.在一些实施例中,模型355可以离线训练,如上所述,使得当执行模型355时,它们分别为监控节点110或全局系统100输出异常得分132/126。然后,确定模块120、130可以将异常得分132/126与自适应阈值140进行比较,以实时地对节点/系统(局部检测/全局检测)做出异常决策(分类)。
46.为了确定数据点(对于节点或系统)是在决策边界的内部还是在决策边界的外部,传统系统可以将模型输出的异常得分与在离线训练期间设置的该模型的单个阈值进行比较。该单个阈值可能是离线优化的,但对于训练数据集中没有捕获模型不确定性和变化的系统来说可能不是理想的。例如,由于包括但不限于操作或环境条件的改变、控制器和系统模式的改变、性能退化、设备的老化等因素,使用单个阈值可能导致实时操作环境中的假阳性和假阴性。在模拟中可能没有捕获现场中发生的这些实时操作因素,或者可用的历史数据,这意味着当确定单个阈值时,这些因素没有被考虑,并且在确定阈值的数据中存在间隙。此外,为系统的整个操作空间设置异常得分的单个阈值,可能会导致过于保守或过于激进的设计。作为间隙的结果,当模型355部署在现场时,确定模块120、130可以报告不是异常的异常(假警报)或者可以遗漏异常。
47.为了解决这个问题,一个或多个实施例提供自适应阈值化系统145,其不改变异常检测模型结构或特征计算,而是可以提供自适应(改变)阈值140,用于与异常得分132/126进行比较。自适应阈值140可以降低假阳性/假阴性率。自适应阈值140还可以提供对检测/定位性能的低成本改进,而不是改变基础模型和整个决策边界的处理。
48.还注意到,一些实施例可以使用多种方法的组合来计算自适应阈值,其中,自适应阈值140包括两个项的和-离线确定的过程值(例如,单个阈值)和在线实时计算的精细项。
49.如图3e中的图表312所示,自适应阈值化系统145可以应用离散处理308或连续处理310来生成自适应阈值140。自适应阈值化系统145可以基于系统的操作空间的领域知识、预期的实时操作和环境变化的不确定性量化以及用于训练数据集生成的模拟系统模型的保真度来选择处理(308、310)。
50.离散处理308也可称为“多级”阈值处理。离散处理308可将阈值量化为多个级别,其中,每个级别可对应于节点/系统的操作模式、操作区域、一个或多个环境级别、天气事件等。多级阈值可以使用基于规则的逻辑或机器学习(诸如决策树)来计算。在该处理308中,阈值在有限(也称离散)数目的值之间切换。利用该处理308,应用于异常得分126/132的自适应阈值140可基于触发元素314(即,操作模式、环境级别等)在预设/离散阈值级别之间切换。在一个或多个实施例中,作为模型训练处理的一部分,可以离线优化与每个触发元素314相关联的阈值级别。如上所述,离散处理308可以适用于信号空间和特征空间两者,其中,异常检测计算机150的输入变量是预处理后从节点110(信号空间)接收的原始数据和从特征(特征空间)导出的特征向量。
51.作为非详尽的示例,考虑燃气涡轮机模拟。燃气涡轮机可以在各种系统“模式”下操作(例如,基于系统性能和涡轮机中的环境因素)。控制模式可能与正常功率生产、启动模式、旋转储备、dln模式(控制nox污染)、稳定状态模式等相关联。当燃气涡轮机在稳定状态下操作时,检测模块使用的阈值可以与通过上述离线处理确定的阈值相同。这是因为大部分时间燃气涡轮机可能在稳定状态下操作,因此阈值是基于大部分时间适用来确定的。然而,在燃气涡轮机的正常操作期间,存在一些快速瞬态(即系统的动态行为响应比其余运行更快的运行模式)。使用离线阈值可导致这些快速瞬态登记为假警报(将快速瞬态数据点的异常得分与离线阈值的比较可将数据点置于边界136的外部)。在燃气涡轮机的瞬时示例中,燃气涡轮机产生功率,并且大部分时间,涡轮机以恒定的稳定状态操作模式操作,根据控制器的指令具有恒定的输出/功率,在功率命令周围有潜在的轻微波动。在这些时间内,动力学是恒定的-系统在稳定状态下操作。但是,还有一些其他事件可能会触发控制器的快速响应。例如,除了功率调节之外,用于燃气涡轮机系统的控制器还可以调节nox(一氧化二氮)水平,因为nox是由燃气涡轮机释放的污染物。当控制器检测到nox的量增加到超过可接受水平时,控制器可以将燃气涡轮机置于另一操作模式,该操作模式可以快速改变涡轮机的操作(不是稳定状态操作模式)以控制释放的nox的量。这种变化可能仅持续很短的时间(例如,几秒钟),可能被认为是快速瞬态。由控制器的操作发出的这种变化可能导致控制器信号的变化,如果与该信号相关联的异常得分与离线确定的阈值相比较,则这种变化可能登记为假警报。然而,由控制器发出的操作模式的这种变化是燃气涡轮机控制器正常操作的一部分。对于燃气涡轮机的示例,类似的情况可能会发生控制器对进口排气加热(ibh)的不同调整。
52.根据一些实施例,自适应阈值化系统145可以将控制器的不同操作(例如,稳定状态和快速瞬态)存储为不同的触发元素314,其中,每个触发元素与相应的离散阈值级别相关联。在本示例中,在快速瞬态期间可以使用阈值a(例如,增加的阈值),并且当快速瞬态通过并且稳定状态返回时-如由触发元素314中的变化所指示的-可以使用阈值b(例如,较低的阈值)。以这种方式,当系统/节点的操作发生变化时,触发元素314可以是自适应阈值化系统145的输入,该系统/节点进而输出相应的自适应阈值级别140。确定模块120、130然后可以将异常得分126/132与该输出自适应阈值水平140进行比较,以将节点/系统分类316为正常或异常。注意,确定模块120/130还可以将异常得分126/132单独输出到用户界面或其他系统。
53.注意,虽然本文描述的示例是关于操作模式(即,稳定状态相对于快速瞬态),但触
发元素314可以是环境条件的变化(例如,如果第一温度范围,则触发元素a/阈值a,而如果第二温度范围,则触发元素b/阈值b)。作为非穷尽的示例,可以为环境条件(对应于用于在不同条件下训练离线边界的模型的不同精度水平)中的差异提供不同的阈值。以温度和燃气涡轮机为例。温度越冷(特别是非常冷的温度),模型就越不确定。因此,在一个温度范围内,可能期望使用阈值a,因为它赋予给定的精度,而在另一温度范围内,可能期望使用阈值b。
54.连续处理310可以不像离散处理308那样在有限/预设数量的值之间切换,而是可以生成可以使用静态模型318和动态模型320中的一个连续适配的任何值。连续处理310可以是基于模型的方法,其中,针对自适应阈值140的建模可以成为异常检测模型/模块训练的一部分。
55.静态模型
56.关于自适应阈值140的静态模型318,注意,当阈值改变时,控制阈值中的改变的基础模型(检测模型355)是静态的。存在可用于实时地连续改变自适应阈值140的静态模型的两个非穷尽示例:阈值查找表模型324和回归模型326。阈值查找表模型324本身是恒定的,但是可以实时地用于计算自适应阈值140的最新值。阈值查找表模型324可以通过使用离线计算的预存储的查找表来实时确定自适应阈值140。预存储的查找表可以包括输入参数和自适应阈值140。作为异常检测模型355的训练处理的一部分,可以离线确定查找表中的输入参数(来自节点的原始值、计算的特征(例如,均值、标准差等)或来自特征的特征向量)。自适应阈值化系统145可以在阈值查找模型324处接收输入参数,并执行阈值查找模型324以输出自适应阈值140。注意,在一个或多个实施例中,在输入参数导致在自适应阈值140之间的输出的情况下,阈值查找模型324可以执行内插操作。
57.关于用于自适应阈值的回归模型326,回归模型326是机器学习模型,其不是为了异常检测而训练,而是为了学习自适应阈值而训练的。可以使用任何合适的机器学习方法,包括但不限于线性回归、多项式模型、广义线性模型、极限学习机(elm)回归和深度神经网络。回归模型326根据预处理的原始信号(监控节点值)或特征或两者的组合离线训练。与查找表模型324一样,预存储回归模型326,并基于其输入的接收值(即,回归模型中的自变量)实时评估以改变自适应阈值140。
58.注意,在具有静态模型的离散/多级处理或连续处理的实例中,可以仅使用输入的当前时间值来计算自适应阈值140。
59.动态模型
60.图3c示出了与图3b相同的体系结构,除了这里使用动态模型322,并且可以包括多个缓冲器328。动态模型322可以是自适应阈值的时间序列模型,其不仅考虑输入变量的当前值,而且考虑输入变量的先前值和先前阈值以计算自适应阈值140的当前值。这与静态模型318(在确定当前自适应阈值140时仅考虑当前输入值)不同。动态模型322的非穷尽示例可以是动态数据驱动模型,诸如var、arx、arma、armax、arima、arimax、指数平滑器,或可用于实时生成自适应阈值140的任何其他合适模型。缓冲器328堆叠并提供动态阈值模型所需的输入的当前值和先前值两者。动态模型322也可以是非线性的,诸如narx、narmax或递归神经网络(rnn)。预处理的原始测量值、特征或阈值的当前值或先前值的任何组合可用于计算自适应阈值140的更新值。模型322的顺序(即,滞后/先前值的数目)可以使用aic或bic标
准来确定,或者通过学习处理来确定(例如,当使用rnn时)。
61.如前所述,自适应阈值系统145计算全局检测和定位模块两者的阈值(例如,每个节点一个阈值)。这些阈值中的每一个可以使用所描述的方法和模型类型中的任何一个来计算。
62.在确定自适应阈值140时,注意,可能不期望自适应阈值140是接近被认为是“正常”的值。其原因是,如果自适应阈值太接近正常值,如果节点/系统经历与正常值的一点点变化,则这些值可能通过自适应阈值并在确定模块120/130的输出中产生假警报。为了确保自适应阈值与异常得分126/132的分布之间的安全距离,一个或多个实施例在生成自适应阈值140时使用由自适应阈值化系统145处的安全裕度计算机139提供的安全裕度规则138,如图3d所示。注意,虽然在图3d中沿着动态阈值模型侧示出了安全裕度计算机139,但其对于其他自适应阈值计算处理也类似地工作。安全裕度规则138可强制生成自适应阈值140,当系统/节点状态正常时,该自适应阈值保持合理地高于异常得分126/132的正常波动。安全裕度规则138可以基于异常得分126/132的当前值和先前值。安全裕度规则138可经由数据驱动处理142和基于模型的处理144设置自适应阈值与异常得分的正常变化之间的距离。可以使用设置距离的其他合适的处理。可以基于异常检测系统精确度(假阳性率和假阴性率)要求、可用的在线计算能力和系统的模拟或历史异常得分的可用量(以在基于模型的方法中构建预测异常得分的模型)来选择该处理。对于数据驱动处理142和基于模型的处理144两者,自适应阈值140可以被设置为来自所使用的自适应阈值化方法的值的最大值和被设置为满足到异常得分126/132的最小距离的值。
63.数据驱动处理142可以在滑动窗口上在线/实时地计算异常得分的均值、标准差和极值中的至少一个。在模拟期间,可能示出异常得分有变化。因此,可以计算异常得分的正态分布的范围。然后可以基于该正态分布来计算安全裕度规则138。作为非详尽的示例,只要系统/节点的状态在时间窗口期间保持正常,安全裕度规则138就可以将自适应阈值140设置为与为异常得分计算的均值相差至少三个标准差。
64.基于模型的处理144可以使用异常得分的时间序列模型来预测下一时间实例中的异常得分(其可以是与用于确定自适应阈值的时间序列模型不同的时间序列模型,如上所述)。异常得分的时间序列模型可以是离线训练的模型或在线模型,诸如指数平滑器。由模型提供的一步预测的输出(基于先前得分的预测异常得分)与实际的下一步得分(异常得分)之间的残差可以被认为是新息信号(innovation signal)。注意,预测可以使用高斯分布或任何其他连续分布,其可以通过在离线训练期间将异常得分拟合到统计分布来确定。基于所选择的异常得分的分布,可以计算置信区间。作为非穷尽的示例,对于高斯分布,新息信号协方差可用于使用x2分布来计算安全裕度规则138的99%或95%(或其他适当百分比)置信度界限(即,异常得分将在该上限和下限中的置信度百分比),使得自适应阈值140必须在该界限的外部。
65.在一些实施例中,安全裕度规则可以基于数据驱动处理142和基于模型的处理144的组合。例如,一些节点的定位的安全裕度可以使用数据驱动处理142来设置,而一些其他节点的定位的安全裕度使用基于模型的处理144来设置。
66.图4示出了可以由关于图3a描述的系统300的一些或全部元件执行的模型创建方法。在s410,系统可以针对多个监控节点(例如,传感器节点、ac、控制器节点等)中的每一个
随时间检索表示网络物理系统(“cps”)的正常操作的一系列正常值,并且可以生成正常特征向量集合。类似地,在s420,系统可针对多个监控节点中的每一个随时间检索表示网络物理系统的异常操作的一系列异常(例如,受攻击)值,并且可生成异常特征向量集合。例如,可以通过在网络物理系统上运行实验设计(“doe”)来获得正常和/或异常值的系列。在s430,可以基于正常特征向量集合和异常特征向量集合自动计算异常检测模型的决策边界。根据一些实施例,决策边界可以与线、超平面、将正常空间与受威胁空间分开的非线性边界和/或多个决策边界相关联。此外,决策边界可以包括多类决策边界,其将正常空间、受攻击空间和降级操作空间(例如,当发生传感器故障时)分开。此外,注意,异常检测模型可能与决策边界、特征映射函数和/或特征参数相关联。
67.然后可以使用决策边界来检测异常操作(例如,在网络攻击期间可能发生)。例如,图5是根据一些实施例的异常警报方法。在s510,系统可以从多个监控节点随时间接收表示网络物理系统的当前操作的一系列当前值。在s520,攻击检测平台计算机然后可基于所接收的一系列当前值生成当前特征向量集合。在s530,可执行异常检测模型以在适当时(例如,当检测到网络攻击时)基于当前特征向量集合、异常得分126/132、自适应阈值140和决策边界发送异常警报信号。根据一些实施例,当发送异常警报信号时,可以执行一个或多个响应动作。例如,系统可能会自动关闭网络物理系统的全部或部分(例如,让检测到的潜在的网络攻击得到进一步的调查)。作为其他示例,可以自动修改一个或多个参数,可以自动触发软件应用程序以捕获数据和/或隔离可能的原因等。
68.本文描述的一些实施例可以通过从调谐的高保真设备模型和/或实际的“工作中”数据先验地学习来利用控制系统的物理特性,以检测对系统的单个或多个同时的对抗性威胁。此外,根据一些实施例,可以使用高级基于特征的方法将所有监控节点数据转换为特征,并且可以基本上实时地监控控制系统的实时操作。可以通过将所监控的数据分类为“正常”或中断(或降级)来检测异常。该决策边界可以使用动态模型来构造,并且可以帮助能够早期检测漏洞(并潜在地避免灾难性故障),从而允许操作者及时地将控制系统恢复到正常操作。
69.注意,可以自动(例如,经由算法)提取和/或手动输入的适当的多维特征向量集合可以包括低维向量空间中测量数据的良好预测器。根据一些实施例,可以使用经由与doe技术相关联的科学原理获得的数据集在多维空间中构建适当的决策边界。此外,可以使用多种算法方法(例如,支持向量机或机器学习技术)来生成决策边界。由于边界可能由测量数据(或从高保真模型生成的数据)驱动,定义的边界边缘可能有助于在多维特征空间中创建异常区域。此外,边缘本质上可以是动态的,并且基于设备的瞬态或稳定状态模型进行调整,和/或在操作系统(如在来自输入数据流的自学习系统中)时获得。根据一些实施例,训练方法可用于监督学习以教导决策边界。这种监督学习可以考虑操作者对系统操作的知识(例如,正常操作和异常操作之间的差异)。
70.图6示出了根据一些实施例的离线边界创建处理600。关于威胁、欺骗、攻击媒介(attack vectors)、漏洞等610的信息可被提供给使用doe技术创建的模型620和/或训练和评估数据库650。模型620例如可以模拟来自监控节点的数据630,以用于计算被组装成特征向量640以存储在训练和评估数据库650中的特征。然后,可以使用训练和评估数据库650中的数据来计算决策边界660,以区分正常操作和异常操作。根据一些实施例,处理600可包括
监控节点和预期攻击媒介的优先级化,以形成一个或多个数据集以开发决策边界。攻击媒介是关键输入端(可以在域级别创建恶意攻击,从而使系统进入受威胁/异常空间)的异常值。此外,模型620可包括可用于创建数据集(例如,将威胁空间描述为“系统中威胁条件的级别相对于来自监控节点的量”的集)的高保真模型。来自监控节点的数据630可以是例如从传感器节点、致动器节点和/或控制器节点捕获的长度为60至80秒的量(并且可以针对“系统中的正常操作条件水平相对于来自监控节点的数量”获得类似的数据集)。该处理将产生“异常空间”和“正常空间”的数据集。60至80秒长的量可用于使用特征工程来创建特征向量来计算特征640。然后,可以使用这些特征向量来获得将异常空间和正常空间的数据集分开的决策边界(用于检测异常,诸如网络攻击)。
71.由于攻击可能是多管齐下的(例如,多个攻击可能同时发生),doe实验可能被设计成捕获攻击空间(例如,使用全阶乘、田口筛选、中心合成和/或box-behnken)。当模型不可用时,这些doe方法也可以用于从现实世界的资产控制系统中收集数据。实验可以例如使用不同的同时攻击组合运行。可以运行类似的实验来为正常操作空间创建数据集。根据一些实施例,相对于威胁或攻击,系统可以检测“降级”或故障操作。这样的决策可能需要使用用于降级和/或故障操作空间的数据集。
72.图7示出了根据一些实施例的用于保护网络物理系统的实时处理。在s710,可以收集来自监控节点的当前数据(例如,以60到80秒的批次)。在s720,该系统可以计算特征并形成特征向量。例如,系统可能使用来自主成分分析的权重作为特征。在s730,异常检测引擎可以将特征向量的位置与决策边界进行比较以做出决定(并且如果需要,输出异常信号)。如上所述,特征向量的位置(相对于决策边界)可以基于所计算的异常得分126/132与自适应阈值140之间的差值。根据一些实施例,来自模型(或来自真实系统)的监控节点数据可以用特征来表示,因为特征是领域知识的高级表示并且可以直观地解释。此外,实施例可以处理表示为向量的多个特征,并且多个感测量之间的交互可以用“交互特征”来表示。
73.注意,如上所述,根据本文描述的任何实施例,可以利用许多不同类型的特征,包括主成分(用自然基本集构造的权重)和统计特征(例如,时间序列信号的均值、方差、偏度、峰度、最大值、最小值、最大值和最小值的位置、独立成分等)。其他示例包括深度学习特征(例如,通过挖掘实验和/或历史数据集生成)和频域特征(例如,与傅立叶或小波变换的系数相关联)。实施例还可以与时间序列分析特征(诸如互相关、自相关、自回归的阶数、移动平均模型、模型的参数、信号的导数和积分、上升时间、稳定时间、神经网络等)相关联。其他示例还包括逻辑特征(具有诸如“是”和“否”的语义抽象)、地理/位置方位和交互特征(来自多个监控节点和特定位置的信号的数学组合)。实施例可以结合任意数量的特征,随着系统更多地了解物理处理和威胁,更多特征允许方法变得更准确。根据一些实施例,来自监控节点的不同值可以被归一化到无单位空间,这可以允许比较输出和输出强度的简单方法。
74.图8是根据一些实施例的与网络物理系统相关联的示例800。具体地,该示例包括遭受致动器和控制器攻击的控制器和致动器部分810、遭受状态攻击的燃气涡轮机部分820、以及遭受传感器攻击的传感器830。仅作为示例,传感器830可包括与温度、气流、功率级别等相关联的物理和/或虚拟传感器。致动器可与例如电动机相关联。通过监控网络物理系统中的信息,威胁检测平台可以检测出可能造成巨大损失的网络攻击(例如,使用特征向量和决策边界)。
75.图9示出了根据一些实施例的监控节点输出的三个维度900。具体地,图表910在三个维度上绘制监控节点输出(“+”),诸如与主成分特征(“pcf”)相关联的维度:w1、w2和w3。此外,图表910包括正常操作空间决策边界920的指示。尽管在图9中示出了单个相邻边界920,但是实施例可以与多个区域相关联。注意,pcf信息可以表示为降维的权重。例如,来自每个监控节点的数据可以被转换为低维特征(例如,权重)。根据一些实施例,监控节点数据被归一化如下:
[0076][0077]
其中,s代表“k”时刻的监控节点数量。此外,然后,输出可以表示为基函数的加权线性组合,如下所示:
[0078][0079]
其中,s0是具有所有威胁的平均监控节点输出,wj是第j个权重,ψj是第j个基向量。根据一些实施例,使用监控节点的数据矩阵的协方差来获得自然基向量。一旦基向量已知,可以使用以下等式(假设基本集是正交的)找到权重:
[0080]
wj=(s-s0)
t
ψj[0081]
注意,权重可能是在特征向量中使用的特征的示例。
[0082]
因此,实施例可以使用来自监控节点的实时信号来实现对多类异常操作的指示的被动检测。此外,检测框架可以允许开发工具,该工具促进将本发明扩展到多个地理位置中的各种系统(例如,涡轮机)。根据一些实施例,由该技术启用的分布式检测系统(跨多种类型的设备和系统)将允许收集协调的数据以帮助检测多管齐下的攻击。注意,本文描述的基于特征的方法可以允许扩展的特征向量和/或在新的学习和替代的数据源变得可用时将新特征合并到现有向量中。因此,当系统更多地了解其特征时,实施例可以检测相对广泛的网络威胁(例如,隐身、重放、隐蔽、注入攻击等)。实施例还可以降低假阳性率,因为系统包含有用的关键新特征并移除冗余的或不太重要的特征。注意,本文描述的检测系统可以向网络物理系统操作者提供预警,以便可以挫败攻击(或者可以减弱攻击的影响),减少对设备的损害。
[0083]
根据一些实施例,系统可以进一步将威胁的起源定位到特定监控节点。例如,与跨越与另一监控节点相关联的决策边界的时间相比,可以根据跨越与一个监控节点相关联的决策边界的时间来执行局部化。根据一些实施例,特定监控节点的指示可以包括在威胁警报信号中。
[0084]
该算法的一些实施例可以利用基于高保真物理模型和/或机器操作数据(这将允许该算法部署在任何系统上)的基于特征的学习技术来建立高维决策边界。因此,可以使用多个信号以更高的精度进行检测,使得检测更准确,假阳性更少。此外,实施例可以检测对控制信号的多次攻击,并合理化根本原因攻击的起源。例如,该算法可以决定信号是否由于先前的信号攻击而异常,或者它是否独立地受到攻击。例如,这可以通过监控特性的演变以及计算攻击之间的时间延迟来实现。
[0085]
网络攻击检测和定位算法可以处理实时网络物理系统信号数据流,并且然后计算
特征(多个标识符),然后可以将其与特定于信号的决策边界或预处理的原始信号进行比较,然后再将其与特定于信号的决策边界进行比较。图10中提供了根据一些实施例的利用特定于信号的网络物理系统异常检测和定位算法的系统1000的框图。具体地,作为非详尽的示例,燃气涡轮机1032向传感器1034提供信息,该信息帮助具有电子设备和处理器的控制器1036调节致动器1038。威胁检测系统1060可以包括与涡轮机1032相关联的一个或多个高保真的基于物理的模型1042或数据驱动的模型,以创建正常数据1010和/或异常数据1020。正常数据1010和异常数据1020可由特征发现组件1044访问,并由决策边界算法1046在离线时(例如,不必在燃气涡轮机1032运行时)处理。决策边界算法1046可以生成包括用于各种监控节点的决策边界的异常模型。每个决策边界可以在高维空间(其是通过运行二元分类算法来构建的)中分离两个数据集,诸如对于每个监控节点信号(例如,来自传感器1034、控制器1036和/或致动器1038)使用正常数据1010和异常数据1020的支持向量机。
[0086]
实时威胁检测平台1050可以接收边界以及来自监控节点的数据的流。平台1050可以包括在每个监控节点元件1052上的特征提取和正常决策1054,其具有使用信号特定决策边界和自适应阈值检测单个信号中的攻击的算法,以及使对多个信号的攻击合理化,以宣布哪些信号受到攻击(或以其他方式异常),以及哪些信号由于经由定位模块1056对系统的先前攻击而变得异常。调节元件1058可以生成输出1070,诸如异常决策指示(例如,异常)警报信号)、控制器动作和/或异常监控节点的列表。
[0087]
在实时检测期间,连续批次的控制信号数据可由平台1050处理、归一化并提取特征向量。然后可以将每个信号的向量在高维特征空间中的位置(通过向量的异常得分与自适应阈值的比较确定的位置)与相应的决策边界进行比较。如果它落在异常区域内,则可能会宣布网络攻击。然后,该算法可以做出关于攻击最初发生在哪里的决定。攻击有时可能在致动器1038上,并且然后在传感器1034数据中表现出来。可以在后决策模块(例如,定位元件1056)中执行攻击评估,以分离攻击是否与传感器、控制器或致动器有关(例如,指示监控节点的哪个部分)。这可以通过随时间单独监控特征向量相对于硬决策边界的位置来完成。例如,如关于图11至图13所述,当传感器1034被欺骗时,受攻击的传感器特征向量将比其余向量更早地跨过硬决策边界。如果传感器1034被宣布为异常,并且随后确定对辅助设备的命令为异常,则可以确定诸如信号欺骗的原始攻击发生在传感器1034上。相对照地,如果首先确定到辅助设备的信号是异常的,然后随后在传感器1034反馈信号中表现出来,则可以确定到设备的信号最初受到攻击。
[0088]
根据一些实施例,可以通过使用局部决策边界、特定信号特征的实时计算和自适应阈值140来检测信号是否在正常操作空间(或异常空间)中。此外,算法可以区分被攻击的传感器与被攻击的辅助设备的信号。控制中介参数和控制逻辑也可以使用类似的方法进行分析。注意,算法可能会使变得异常的信号合理化。然后可以识别对信号的攻击。
[0089]
图11示出了根据一些实施例的用于各种监控节点参数的边界和特征向量1100。具体地,对于每个参数,图表包括表示值权重1(“w1”)、特征1的第一轴和表示值权重4(“w2”)、特征4的第二轴。例如,w1和w2的值可以与对输入数据执行的主成分分析(“pca”)的输出相关联。pca可能是算法用来表征数据的特征之一,但注意,也可以利用其他特征。
[0090]
提供了压缩机排气温度1110、压缩机压力比1120、压缩机进口温度1130、燃料流量1140、发电机功率1150和燃气涡轮机排气温度1160的图表。每个图表包括硬边界1112(实线
曲线)、内边界1116(虚线曲线)和外边界1114(短划线)以及与每个监控节点参数的当前特征位置相关联的指示(在图表上用“x”示出)。如图11所示,当前监控节点位置在最小边界与最大边界之间(即,“x”在虚线与短划线之间)。因此,系统可以确定网络物理系统控制系统的操作是正常的(并且没有检测到指示系统当前受到攻击或发生了自然发生的故障的威胁)。
[0091]
图12示出了这些参数的后续边界和特征向量1200。例如,考虑用于压缩机排气压力的特征向量移动1212。即使特征向量1212已经移动,它仍然在最大边界和最小边界内,并且因此,可以确定该监控节点的正常操作。图12中的前五个图表就是这种情况。在该示例中,用于燃气涡轮机排气温度的特征向量移动1262已经超过最大边界,因此,可以确定该监控节点的异常操作。例如,排气温度标度因子(其是校正值)可能存在威胁。结果是,图12所示的用于中间监控节点信号特征向量的特征移动1262,使得它是异常的。该算法检测到这种网络攻击,并可能启动两个并行动作。一个动作可能是对信号进行后处理,以发现被攻击的内容,在这种情况下,如果系统一直在监控每个排气热电偶,它可能会得出结论,它们当前都没有异常。因此,可能确定用于计算该特征的某些东西受到了攻击。另一动作可能是持续监控和检测额外的攻击。这样的方法可以促进对多个信号攻击的检测。
[0092]
给出图12的示例,假设燃气涡轮机排气温度信号受到攻击。这可能导致系统以这样一种方式响应,以便使其他信号进入异常状态。这在图13中示出1300,其中,已经检测到攻击,并且现在其他信号被显示为异常。具体地,压缩机排出压力1312、压缩机压力比1322、压缩机进口温度1332和燃料流量1342的特征移动都变得异常(加入燃气涡轮机排气温度1362的特征向量)。注意,发电机功率的特征向量没有变得异常。为了确定这些信号1312、1322、1332、1342是否确实当前正受到攻击,可以将具有相关特征向量信息的历史批次保持一段时间。然后,当在另一信号上检测到攻击时,对该批进行检查,并对燃气涡轮机排气温度和几个后续元素的确认攻击的时间进行分析。
[0093]
注意,一个信号合理化可能与系统时间延迟相关联。即,在传感器受到攻击后,系统可能会有一段时间才能恢复到稳定状态。在该延迟之后,任何变得异常的信号都可能是由于攻击而不是系统响应。
[0094]
当前用于检测监控节点的异常情况的方法受限于故障检测隔离和调节(简称“fdia”),其本身就非常有限。本文所述的网络攻击检测和定位算法不仅可以检测传感器的异常信号,还可以检测发送到辅助设备、控制中间参数和/或控制逻辑的信号。该算法还可以理解多重信号攻击。正确识别网络攻击威胁的一个挑战是,它可能会在多个传感器受到恶意软件影响的情况下发生。根据一些实施例,算法可以实时识别攻击已经发生,哪个传感器受到影响,并宣布故障响应。为了实现这样的结果,必须知道系统的详细物理响应,以创建可接受的决策边界。例如,这可以通过在高保真模型上运行doe实验来为正常和异常区域构造数据集来实现。每个传感器的数据集可以包括给定威胁值(例如,温度、气流等)的特征向量。全阶乘、田口筛选、中心合成和box-behnken是一些用于创建攻击空间的已知设计方法。当模型不可用时,这些doe方法也被用于从现实世界的网络物理系统中收集数据。实验可以在不同的同时攻击组合下运行。在一些实施例中,与网络攻击相反,系统可以检测降级/故障操作。这样的决策可以利用与降级/故障操作空间相关联的数据集。在该处理结束时,系统可以创建诸如“攻击相对于(v/s)正常”和“降级相对于正常”的数据集,以便在构造
决策边界时使用。此外,注意,可以使用特征空间中的数据集为每个信号创建决策边界。可以使用各种分类方法来计算决策边界。例如,二元线性和非线性监督分类器是可以用于获得决策边界的方法的示例。
[0095]
注意,可以检查多个向量属性,并且可以处理关于图11至图13描述的信息以确定在检测到攻击时信号是否已沿特定方向趋向(或者它是否只是由于噪声而移动)。如果信号在攻击发生时和攻击发生后都是一致的趋向,则该信号是对原始攻击的反应,而不是独立攻击。
[0096]
根据一些实施例,系统可以定位或以其他方式分析对特定监控节点的威胁的来源。例如,与跨越与另一监控节点相关联的决策边界的时间相比,可以根据跨越与一个监控节点相关联的决策边界的时间来执行局部化。根据一些实施例,特定监控节点的指示可以包括在威胁警报信号中。
[0097]
本文描述的一些实施例可以通过从调谐的高保真设备模型和/或实际的“工作中”数据先验地学习来利用网络物理系统的物理特性,以检测对系统的单个或多个同时的对抗性威胁。此外,根据一些实施例,可以使用高级基于特征的方法将所有监控节点数据转换为特征,并且可以基本上实时地监控网络物理系统的实时操作。可以通过将所监控的数据分类为“正常”或中断(或降级)来检测异常。该决策边界可以使用动态模型来构造,并且可以帮助能够早期检测漏洞(并潜在地避免灾难性故障),从而允许操作者及时将网络物理系统恢复到正常操作。
[0098]
因此,一些实施例可以提供高级异常检测算法来检测例如对关键网络物理系统控制传感器的网络攻击。该算法可以使用控制信号特定的决策边界来识别哪些信号正在受到攻击,并且可以通知网络物理系统采取调节动作。具体地,检测和定位算法可以检测传感器、辅助设备输入信号、控制中间参数或控制逻辑是处于正常状态还是异常状态。可以分析的网络物理系统监控节点的一些示例包括:关键控制传感器;控制系统中间参数;辅助设备输入信号;和/或逻辑命令。
[0099]
网络攻击检测和定位算法可以处理实时网络物理系统信号数据流,并且然后计算特征(多个标识符),然后将其与传感器特定的决策边界进行比较。在一些实施例中,生成特征可以涉及简单地执行身份转换。即,原始信号可以按原样使用。
[0100]
特征向量可以在逐个监测节点的基础上生成,并且可以被认为是每个特定监控节点的“局部”。图14是当系统中涉及多个燃气涡轮机时,根据一些实施例的“全局”异常保护系统1400的示例。具体地,全局系统1400包括三个涡轮机(a、b和c),并且针对在一段时间内(例如,60至80秒)生成的每个节点收集来自监控节点的值1410的批次。每个节点的值可能是给定节点的“局部”值。根据一些实施例,来自监控节点的值1410的批次在时间上重叠。例如,来自监控节点的值1410可以存储在按时间(t1、t2等)和按监控节点的类型(s1、s5等)排列的矩阵1420中。特征工程组件1430可以使用每个矩阵1420中的信息来为三个涡轮机中的每一个创建特征向量1440(局部特征向量)(例如,涡轮机c的特征向量1440可以包括fs
c1
、fs
c2
等)。然后可以将三个局部特征向量1440组合成用于系统1400的单个全局特征向量1450。可以应用交互特征1460(例如,与a*b*c、a+b+c等相关联),并且异常检测引擎1470可以将结果与决策边界进行比较,并在适当时输出全局异常警报信号。
[0101]
因此,系统可以生成局部正常/异常决策(对于每个监控节点)和全局正常/异常决
策(对于整个网络物理系统)两者。
[0102]
图15是根据一些实施例的检测和定位系统架构1500。在对监控节点数据执行特征提取1510之后,将结果提供给全局检测1520和局部检测1530。全局检测1520使用特征和全局决策边界来确定初始全局状态。局部检测1630使用动态模型、局部边界和多变量正态分布表在逐节点的基础上确定初始局部状态。来自全局检测1520和局部检测1530的决策经过决策融合1550以生成融合的全局和局部状态。
[0103]
根据一些实施例,一致性测试1560可以基于因果依赖矩阵、传播路径、控制循环时间约束等进一步确定(在逐节点的基础上)异常局部状态是“独立的”还是“依赖的”(可能由存在于另一监控节点处的异常引起)。例如,图16是根据一些实施例确定攻击是独立攻击还是依赖攻击的方法。根据一些实施例,可以执行以下三个测试来确定攻击是否应该被分类为“独立攻击”或“依赖攻击”:(1)因果相关性测试,(2)传播路径测试,以及(3)时间分离测试。在本文中,这三个测试可以一起称为“攻击依赖一致性测试”。在s1610,因果依赖矩阵可用于确定当前攻击是否可能由先前攻击引起。如果当前攻击不可能是由s1610先前攻击造成的,则在s1620将其分类为“独立攻击”。在该因果关系测试中,系统可以检查在新检测到的攻击与先前在其他监控节点上检测到的任何攻击之间是否存在潜在的因果关系。例如,该检查可以基于任意两个节点之间因果依赖关系的二元矩阵。根据一些实施例,可以基于领域知识来生成因果依赖矩阵。如果不存在这种可能的依赖关系,则在s1620处将攻击报告为“独立攻击”。否则,系统可执行第二次检查。
[0104]
在s1630,传播路径映射可用于确定当前攻击是否潜在地从先前攻击传播。如果当前攻击不可能是从s1630先前攻击传播的,则在s1620将其归类为“独立攻击”。在该传播测试中,对于每个因果依赖,系统可以检查传播路径是否满足。这可能意味着,例如,如果节点1受到攻击的影响通过节点3传播到节点4,则仅当节点3已经异常时,节点1中的异常才会导致节点4上的异常。异常传播路径也可以由领域知识定义并预先存储在定位系统中。如果没有满足这样的传播路径,则攻击在s1620被报告为“独立攻击”。否则,系统可能执行第三次检查。
[0105]
在s1640,控制循环时间约束可用于基于时间分离来确定当前攻击是否潜在地由先前攻击引起。如果基于s1640的时间间隔,当前攻击不可能是由以前的攻击造成的,则在s1620将其归类为“独立攻击”。这种时间分离测试可以利用这样一个事实,即如果所调查的受攻击监控是闭环反馈系统的伪影,则该影响应该在监控节点对应的控制回路的上升时间与稳定时间之间的时间窗口内产生。然而,由于系统使用动态估计器,可能需要在整个估计器中添加传播时间。使用模型中的n个特征和p个滞后,动态估计器将具有n*p个状态,从而在系统中添加n*p个采样时间延迟。因此,依赖攻击发生的预期时间窗口可能由以下定义:
[0106]
1.5*τ+n*p<δt<5*τ+n*p
[0107]
其中,δt是在对已经通过检查1和检查2的其他节点的任何先前检测的攻击之后的时间,τ是负责当前被调查节点的控制循环的时间常数。如果这样的时间分离检查没有通过,则系统在s1820将攻击报告为独立攻击。如果在s1650确定当前攻击满足时间分离测试(并且因此也满足s1630的传播测试和s1840的因果相关性测试两者),则在s1650将当前攻击分类为“依赖攻击”。
[0108]
注意,其他攻击和异常检测技术可能仅提供整个系统的二进制状态(无论是否受
到攻击)。本文描述的实施例还可以通过定位攻击并不仅确定系统是否处于攻击(不处于攻击)之下,而且确定哪个节点确切处于攻击之下来提供附加的信息层。注意,当响应攻击时,攻击定位信息可能很重要,包括操作者行动计划和攻击下的弹性控制。本文描述的实施例可以处理系统中的多个同时异常,这超出了传统故障检测系统的能力。这也可以让本文描述的方法用作更复杂的多故障场景的故障检测和隔离技术。此外,由本文描述的实施例跨多个设备和系统启用的分布式检测和定位系统可以允许数据的协调以检测和精确地定点协调的多叉攻击。这可以进一步使得能够实现在攻击后执行取证和/或分析的相对快速的方式。
[0109]
注意,一些实施例可以分析特征空间中的信息,这与在原始信号空间中工作相比具有许多优点,包括高级数据抽象和建模高维空间而不增加实质性的计算复杂性。用于定位的基于特征的方法还可以扩展特征向量和/或在新的学习或替代数据源变得可用时将新特征合并到现有向量中。本文所述的实施例还可以在大规模互连系统中使用异构传感器数据,即使数据来自许多地理空间定位的异构传感器(即,传统植物传感器、非常规传感器,诸如电话数据、逻辑传感器等)。这可能为攻击后的事后分析提供额外的商业优势。
[0110]
注意,本文描述的实施例可以使用任何数量的不同硬件配置来实现。例如,图17是网络物理系统保护平台1700的框图,该平台可以例如分别与图1a的系统100和图3a的系统300、和/或本文描述的任何其他系统相关联。网络物理系统保护平台1700包括处理器1710,诸如以单芯片微处理器形式耦接到被配置为经由通信网络(图17中未示出)进行通信的通信装置1720的一个或多个商业上可用的中央处理器(“cpu”)。通信装置1720可用于例如与一个或多个远程监控节点、用户平台、数字孪生等通信。网络物理系统保护平台1700还包括输入装置1740(例如,用于输入网络物理系统参数和/或建模信息的计算机鼠标和/或键盘)和/输出装置1750(例如,用于呈现显示、提供警报、发送建议和/或创建报告的计算机监控器)。根据一些实施例,移动装置、监控物理系统和/或pc可用于与网络物理系统保护平台1700交换信息。
[0111]
处理器1710还与存储装置1730通信。存储装置1730可以包括任何适当的信息存储装置,包括磁存储装置(例如,硬盘驱动器)、光存储装置、移动电话和/或半导体存储装置的组合。存储装置1730存储用于控制处理器1710的程序1712和/或网络物理系统保护引擎1714。处理器1710执行程序1712、1714的指令,从而根据本文描述的任何实施例进行操作。例如,处理器1710可以从检测模型接收每个监控节点的异常得分,然后将该异常得分与自适应阈值进行比较以确定每个监控节点是否具有“正常”或“异常”的局部状态。处理器1710还可以从检测模型接收整个系统的异常得分,然后将该异常得分与自适应阈值进行比较以确定系统是否具有“正常”或“异常”的全局状态。处理器1710然后可以为每个监控节点输出“正常”或“异常”的局部状态。处理器1710还可以为系统输出“正常”或“异常”的全局状态。
[0112]
程序1712、1714可以以压缩的、未编译的和/或加密的格式存储。程序1712、1714还可以包括其他程序元素,诸如操作系统、剪贴板应用程序、数据库管理系统和/或处理器1710用于与外围装置接口的装置驱动器。
[0113]
如本文所使用的,信息可以由例如:(i)来自另一装置网络物理系统保护平台1700;或(ii)来自另一软件应用程序、模块或任何其他来源的网络物理系统保护平台1700内的软件应用程序或模块“接收”或“发送”到(i)来自另一装置网络物理系统保护平台
1700;或(ii)来自另一软件应用程序、模块或任何其他来源的网络物理系统保护平台1700内的软件应用程序或模块。
[0114]
在一些实施例中(诸如图17所示的实施例),存储装置1730进一步存储网络物理系统数据库1800。现在将参考图18详细描述可结合网络物理系统保护平台1700使用的数据库的示例。注意,本文描述的数据库仅是一个示例,并且附加的和/或不同的信息可以存储在其中。此外,根据本文描述的任何实施例,可以拆分或组合各种数据库。
[0115]
参考图18,示出了表示根据一些实施例可存储在网络物理系统保护平台1700处的网络物理系统数据库1800的表。该表可以包括例如识别用于监控节点/系统的触发器事件和阈值级别的条目。该表还可以为每个条目定义字段1802、1804。根据一些实施例,字段1802、1804可以指定:触发事件1802和相关联的阈值级别1804。例如,当监控或建模新的物理系统、检测到攻击等时,可以创建和更新网络物理系统数据库1800。
[0116]
下面示出本发明的各种附加实施例。这些并不构成所有可能实施例的定义,并且本领域技术人员将理解本发明可应用于许多其他实施例。此外,尽管为了清楚起见简要描述了以下实施例,但本领域技术人员将理解,如果需要,如何对上述设备和方法进行任何改变,以适应这些和其他实施例和应用。
[0117]
尽管本文描述了特定的硬件和数据配置,但是注意,根据本发明的实施例,可以提供任何数量的其他配置(例如,与本文描述的数据库相关联的一些信息可以组合或存储在外部系统中)。此外,尽管一些实施例聚焦于燃气涡轮机,但是本文所述的任何实施例都可以应用于其他类型的网络物理系统,包括电网、大坝、机车、飞机和自动车辆(包括汽车、卡车、无人机、潜艇等)。
[0118]
仅出于说明的目的,已经根据几个实施例描述了本发明。本领域技术人员将从该描述中认识到,本发明不限于所描述的实施例,而是可以通过仅受所附权利要求的精神和范围限制的修改和改变来实施。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1