掌桥专利:专业的专利平台
掌桥专利
首页

工业系统事件检测和对应的响应

文献发布时间:2023-06-19 11:32:36


工业系统事件检测和对应的响应

相关申请的交叉引用

本专利申请要求2018年9月17日提交的题为“Systems and Methods ofIndustrial System Event Detection and Corresponding Response”的美国临时申请第62/732394号的优先权,并通过引用将其并入本文。

技术领域

根据本公开的至少一个实施例总体上涉及用于提供工业系统网络安全事件检测的系统和方法,更具体地,涉及提供工业系统网络安全事件检测和对应的响应的系统和方法。

背景技术

目前的过程控制系统是从之前的气动和电子模拟控制系统演变而来。这些早期控制系统被设计成以自主但协调的方式为生产过程的控制回路或多个相关控制回路提供过程控制功能,其中协调通常通过对多个控制器的设置点进行适当设置来实现。因此,早期控制系统的架构与生产过程的工艺流程相一致,其中每个控制通常限于对操作的整个生产流程的一小部分或组件的控制。因此,每个过程控制器都可以合理地应用于其负责控制的操作的部分或组件,但在其他方面受到限制。

因此,尽管在工业系统和过程控制领域中已经取得了许多进步,但是很容易理解,仍然需要不断的改进。

发明内容

描述了提供工业系统网络安全事件检测和对应的响应的系统和方法。该系统和方法利用工业控制系统中已经可用的各种端点传感器和相关联的监控过程,基于传感器收集的数据来检测网络安全和其他安全威胁。网络安全监控过程可以用已知威胁的传感器数据模式和行为来训练,以识别潜在恶意(malicious)活动。这样的过程还可以学会识别新的威胁并在新的威胁上进行训练,还可以合并每个新的威胁以跟上演变的工业威胁。这允许企业在很少或没有现有工业过程的干扰或中断的情况下利用其现有的工业基础设施来检测和应对工业系统的各种威胁。

总的来说,在一个方面,本公开涉及提供工业系统网络安全事件检测和对应的响应的方法。此外,方法包括从工业系统中的一个或多个工业传感器接收传感器输出,该工业传感器用于监控和控制工业系统中的工业过程,并从传感器输出中导出传感器数据,该传感器数据反映工业过程的一个或多个工业处理方面。该方法还包括使用一个或多个模式识别算法处理传感器数据,该一个或多个模式识别算法被训练成识别指示工业系统上的潜在网络攻击的潜在可疑/恶意模式。该方法还包括确定一个或多个模式识别算法是否将传感器数据识别为潜在可疑/恶意模式;以及响应于传感器数据被识别为潜在可疑/恶意模式,执行恶意模式响应过程。

根据前述实施例中的任何一个或多个,恶意模式响应过程包括一个或多个过程控制动作,该一个或多个控制动作基于每个模式、基于一组模式或针对所有模式来定义,和/或该一个或多个过程控制动作包括不做任何事情、通知一组用户、监控工业过程的一个或多个方面的进一步变化、停止工业过程的一个或多个方面的部分或停止工业过程。

根据前述实施例中的任何一个或多个,该方法还包括响应于传感器数据被识别为潜在可疑/恶意模式,将传感器数据存储在模式识别储存库中,和/或响应于传感器数据未被识别为潜在可疑/恶意模式,执行补救响应过程。

根据前述实施例中的任何一个或多个,一个或多个模式识别算法是机器学习算法,通过在工业系统中的预定义点将一个或多个训练模式注入工业系统来训练机器学习算法,和/或将注入工业系统的一个或多个训练模式存储在训练模式库中。

根据前述实施例中的任何一个或多个,在云计算环境中或在工业系统本地执行传感器数据的处理,和/或一个或多个工业传感器包括一个或多个模拟传感器和数字传感器。

总的来说,在另一方面,本公开涉及用于提供工业系统网络安全事件检测和对应的响应的系统。此外,系统包括本地或虚拟处理器和通信地耦合到本地或虚拟处理器的存储设备,该存储设备存储用于其上的网络安全过程的计算机可读指令。当由处理器执行时,计算机可读指令使得系统从工业系统中的一个或多个工业传感器接收传感器输出,工业传感器用于监控和控制工业系统中的工业过程,并从传感器输出导出传感器数据,传感器数据反映工业过程的一个或多个工业处理方面。计算机可读指令还使得处理器使用一个或多个模式识别算法来处理传感器数据,该一个或多个模式识别算法被训练成识别指示工业系统上的潜在网络攻击的潜在可疑/恶意模式。计算机可读指令还使得处理器确定一个或多个模式识别算法是否将传感器数据识别为潜在可疑/恶意模式,并且响应于传感器数据被识别为潜在可疑/恶意模式,执行恶意模式响应过程。

根据前述实施例中的任何一个或多个,恶意模式响应过程包括一个或多个过程控制动作,该一个或多个控制动作基于每个模式、基于一组模式或针对所有模式来定义,和/或该一个或多个过程控制动作包括不做任何事情、通知一组用户、监控工业过程的一个或多个方面的进一步变化、停止工业过程的一个或多个方面的部分或停止工业过程。

根据前述实施例中的任何一个或多个,计算机可读指令还使得系统响应于传感器数据被识别为潜在可疑/恶意模式,将传感器数据存储在模式识别储存库中,和/或使得系统响应于传感器数据未被识别为潜在可疑/恶意模式,执行补救响应过程。

根据前述实施例中的任何一个或多个,一个或多个模式识别算法是机器学习算法,通过在工业系统中的预定义点将一个或多个训练模式注入工业系统来训练机器学习算法,和/或将注入工业系统的一个或多个训练模式存储在训练模式库中。

根据前述实施例中的任何一个或多个,一个或多个工业传感器包括一个或多个模拟传感器和数字传感器。

总的来说,在又一方面,本公开涉及一种在其上存储用于网络安全过程的计算机可读指令的非暂时性计算机可读介质。当由处理器执行时,该计算机可读指令使得处理器从工业系统中的一个或多个工业传感器接收传感器输出,工业传感器用于监控和控制工业系统中的工业过程,并从传感器输出导出传感器数据,传感器数据反映工业过程的一个或多个工业处理方面。网络安全过程还使得处理器使用一个或多个模式识别算法来处理传感器数据,该一个或多个模式识别算法被训练成识别指示工业系统上的潜在网络攻击的潜在可疑/恶意模式。网络安全过程还使得处理器确定一个或多个模式识别算法是否将传感器数据识别为潜在可疑/恶意模式,并且响应于传感器数据被识别为潜在可疑/恶意模式,执行恶意模式响应过程。

附图说明

这些附图不意图按比例绘制。在附图中,用各种附图例示的每个相同或几乎相同的组件由带划线的数字表示。为了清楚起见,并非每个组件都在每个附图中标记。在附图中:

图1示出了根据本公开的各种实施例的与工业系统相关联的各种设备的示例;

图2示出了根据本公开的各种实施例的用于提供工业系统网络安全事件检测和对应的响应的系统的组件的框图的示例;

图3示出了根据本公开的各种实施例的用于提供工业系统网络安全事件检测和对应的响应的系统的组件的框图的替代示例;

图4A示出了根据本公开的各种实施例的用于提供工业系统网络安全事件检测和对应的响应的训练过程的示例流程图;

图4B示出了根据本公开的各种实施例的用于提供工业系统网络安全事件检测和对应的响应的操作过程的示例流程图;

图5是根据本公开的实施例的通用计算机系统的功能框图;以及

图6是根据图5的通用计算机系统的通用存储系统的功能框图。

具体实施方式

本公开在其应用中不限于以下描述中阐述的或附图所示的构造细节和组件布置。本公开能够有其他实施例,并且能够以各种方式实践或实行。此外,这里使用的措辞和术语是为了描述的目的,不应被视为限制。这里使用的“包括”、“涵盖”、“具有”、“包含”、“涉及”及其变体是开放式的,即“包括但不限于”。

随着引入计算机技术作为过程控制的交付工具,自动协调控制的潜在范围急剧增加。这种数字计算机技术提供了在自动化、配置和缩放过程控制方面具有巨大能力和灵活性的控制系统。为了使这些新兴的数字控制系统更容易被现有市场接受,它们当中的许多系统都被编程为直接复制其模拟前身的功能和架构。然而,虽然数字控制系统提供了许多益处,但它们也有许多网络安全漏洞或异常,除了工业控制特定的漏洞或异常之外,这些漏洞或异常还会妨碍其他非工业计算机系统。

计算机安全和网络安全一般是指检测和防止破坏或干扰计算机网络或系统的企图和/或访问文件和渗透或窃取数据的努力。网络安全威胁可能以多种方式出现,其中一些示例包括网络钓鱼、特洛伊木马、僵尸网络、勒索软件、分布式拒绝服务(distributeddenial of service,DDoS)、擦拭攻击等。最近,网络威胁出现在物联网(Internet ofThings,IoT)以及特定的工业物联网(Industrial IoT,IIoT)的环境中,这是IoT在制造和加工环境的应用。这些网络威胁不断演变,适应新的网络安全措施,并随着计算技术的变化而变化。

工业控制环境中的网络安全问题需要具体考虑,而信息技术环境中的网络安全问题往往不需要。工业控制系统通常由相互连接的单个过程控制点或节点组成。这些单独的过程控制点或节点不具备检测和应对网络安全威胁的必要处理能力。此外,由工业控制系统控制的系统常常与大量重要基础设施相关联,例如电网、公共供水系统等,并且快速且正确地诊断网络威胁并对其采取行动以保持基础设施的完整性是一项重大挑战。

本公开的实施例通过提供利用工业控制系统中已经可用的各种端点传感器以及相关联的监控过程来基于传感器收集的数据检测网络安全和其他安全威胁的系统和方法,提出了对该挑战的解决方案。虽然这些端点传感器本身通常不具有检测这种威胁的必要处理能力,但是在此示出了利用端点传感器和它们本地收集的数据的监控过程,这产生了对网络安全和相关威胁的检测。此外,这样的过程可以用传感器数据模式和已知威胁的行为来预先训练,因此在能够检测潜在的恶意活动之前不需要一段时间来学习识别它们。这样的过程还可以学习识别新的威胁或在新的威胁上动态地训练,并将每个新威胁合并到网络安全评估过程,以跟上不断演变的行业威胁。利用本公开的实施例,用户获得了能够在很少或没有现有工业过程的干扰或中断的情况下利用他们现有的工业基础设施来检测对工业系统的各种威胁并对其采取行动的益处。

现在参照图1,管道和仪表图(piping and instrumentation diagram,P&ID)示出了根据本公开的各种实施例的与工业系统100相关联的装备的示例。系统100的这里所示的装备包括许多工业过程中常见的许多组件,诸如流体罐105、泵110、阀115、混合器120等。像工业系统100这样的大型操作领域会出现复杂且具有挑战性的协调控制问题。在大多数情况下,控制系统获得信息以监控和管理系统100或其中的工业过程的能力是向控制系统提供数据的边缘(即端点)传感器。因此,各种端点传感器安装在系统100周围的各个过程点或节点处,用于监控工业过程的各个方面,例如某些反应物的温度、某些流体中的污染物的量、罐液位、流体流速、压力、功耗和其他方面。这些工业传感器在图中显示为圆形符号,并且包括例如流速传感器125(Fx)、液位传感器130(Lx)、温度传感器135(Tx)、重量传感器140(Wx)、压力传感器145(Px)等。这些传感器125-145中的一些或全部可以是以数字格式输出其测量值的数字传感器,或者这些传感器中的一些或全部可以是以模拟格式输出其测量值的模拟传感器。如上所述,这些工业传感器本身一般不具备检测网络安全威胁的必要处理能力。因此,根据本公开的实施例,提供了工业网络安全系统架构150,其利用传感器和它们本地收集的数据(即,作为工业过程的一部分)来检测网络安全和相关威胁,如图2所示。

图2示出了用于工业系统(如系统100)的工业网络安全架构150的示例。该图示出了根据本公开的各种实施例的用于提供工业系统网络安全事件检测和对应的响应的组件的框图。这里使用的术语“网络安全事件”一般指网络攻击或对工业系统的其他未授权访问。所示的一系列组件和过程是更典型的使用数字传感器的基于数字的控制系统;然而,应该理解,许多现有的控制系统具有模拟和数字传感器的混合,并且一些控制系统仅具有模拟传感器。本公开的一个益处是,不管部署了混合模拟/数字工业系统还是仅模拟工业系统,本公开同样能够用于确定网络安全和相关的工业威胁。

如图2所示,多个工业传感器200a-n被用于测量各种过程参数并提供与工业传感器200a-n相关联的工业过程的各个方面的数据。工业传感器200a-n可以是有线或无线的(例如,蓝牙,Wi-Fi等),并且可以以模拟和/或数字格式输出测量值。示例可包括但不限于温度、湿度、流速、压力、加速度计、Coriolis、旋转编码器和接近传感器。每个工业传感器200a-n通常具有传感器预期操作所在的正常操作范围。在优选实施例中,工业传感器200a-n作为正在进行的工业过程的一部分已经存在于工业系统中,并且被额外用于网络安全目的。传感器200a-n的这种双重使用以无缝(或接近无缝)和无干扰的方式发生,而不改变传感器200a-n或它们的操作。当然应当理解,在本公开的范围内,为了工业网络安全架构150的目的,可以根据需要明确地安装额外的传感器。

工业网络安全架构150还利用至少一个用于接收和处理来自工业传感器200a-n的测量值的传感器I/O接口210。这种传感器I/O接口210是众所周知的聚集组件,其用于收集来自传感器200a-n的测量值,并使其符合为工业系统的特定数据类型和格式。每个传感器I/O接口210可以收集传感器数据,并向一个或多个后续过程(例如监控和控制工业系统的工业控制过程(未明确示出))提供传感器数据,例如传感器ID、测量值和/或日期和时间等。在传感器数据是模拟信号形式的情况下,传感器I/O接口210可以包括(或能够访问)模数转换能力。应当理解,传感器I/O设备210对于本公开的各种实施例不是强制性的,并且工业传感器200a-n可以取决于具体实施方式在有或没有传感器I/O接口210的情况下操作。

根据本公开,工业网络安全架构150包括网络安全过程220,其通过查看异常传感器行为或模式(即,意外传感器数据)来检测对工业系统的潜在网络安全威胁。网络安全过程220可以在一些实施例中以上述方式(例如,在通信路径215上)从传感器I/O接口210接收传感器数据,或者可以从工业系统中的另一个源接收数据,或者在一些实施例中直接从传感器200a-n接收数据。网络安全威胁可以由网络安全过程220使用各种网络安全和恶意动作检测和补救技术来检测,例如参考图4A和图4B讨论和描述的那些技术。网络安全过程220可以与使用经由传感器I/O接口210提供的传感器数据的任何后续过程串行或并行执行,例如前面提到的工业控制过程。在优选实施例中,网络安全过程220以不干扰传感器200a-n、传感器I/O接口210或任何后续过程的方式接入由传感器I/O接口210提供的传感器数据。

在一些实施例中,网络安全过程220可以是与组合的传感器处理设备230中的现有传感器I/O接口210同时操作的过程。在所示实施例中,组合的传感器处理设备230可以驻留或存在于计算系统235中,例如具有CPU和计算机可读存储介质(例如,非易失性存储设备)的本地通用计算机。网络安全过程220然后可以作为计算机可读指令存储在计算系统235上,并由传感器处理设备230与传感器I/O接口210一起执行。这种安排(即,本地执行)允许网络安全过程220实时检测潜在的网络安全威胁,并根据需要采取响应动作。

在一些实施例中,网络安全过程220也可以是在独立处理设备上操作的独立过程,该独立处理设备接入传感器I/O接口210以获得传感器数据。此外,网络安全过程220还可以驻留于工业系统的上述工业控制过程中,其中网络安全过程220可以作为工业控制过程的操作之一来实行。网络安全过程220还可以驻留在远程处理环境240(即,虚拟处理器)中,例如云计算环境或其他分散的计算资源(未明确示出),例如数据中心。驻留在远程处理环境240中的网络安全过程220的示例在图3中描述。

上述实施例的益处是,通过将网络安全过程220与工业传感器200a-n分开托管,没有额外的计算负载被置于传感器200a-n上。许多现有的工业传感器200a-n可能无法承受执行网络安全和恶意模式检测所必需的计算负载,例如,使用图4A和图4B所示的方法。然而,应当理解,一些单独的工业传感器200a-n可以具有托管这样的网络安全过程220的能力。因此,可以预见,在给定当前技术的情况下,可以存在可操作地连接到具有网络安全能力的设备或过程220的具有网络安全能力的传感器设备200a’、200b’和不具有网络安全能力的传感器设备200n的混合,其中网络安全过程220托管在具有网络安全能力的设备上。

网络安全过程220的操作一般包括接收传感器数据并将数据输入到一个或多个检测算法或模型221中,该检测算法或模型221可以检测或以其他方式识别潜在的可疑或恶意模式或活动。对于基于模拟和/或数字的传感器,从传感器数据中识别潜在可疑/恶意模式的能力在工业环境中特别有益,因为工业控制过程的许多可用输入是模拟的或模拟和数字输入的混合。通常,网络攻击或未经授权的入侵会有意或无意地导致工业过程的某些方面落入正常操作参数之外。这种偏离可以以不寻常或异常的传感器行为或数据的形式表现出来。

考虑具有从-50到+50摄氏度的操作范围的温度传感器,该温度传感器被用于通常从0到+25摄氏度操作的过程。偏离传感器范围的传感器读数可能指示传感器故障,而仅偏离过程范围的读数可能指示过程故障。然而,如果传感器读数以不寻常的模式偏离过程范围,例如在短时间内(例如,60秒)重复超出过程范围,则这可以指示可能的网络攻击。类似地,单独表现出正常行为的几个不同传感器在结合使用时可以指示可能的网络攻击,例如压力和温度传感器数据同时和/或以相同的百分比减少。还有其他示例可以包括在工业过程中的某些关键节点或点上表现出不寻常模式的传感器数据等。一个或多个检测算法221可以通过识别传感器的行为模式来检测传感器数据(其可能或可能不反映过程错误)是否指示这种可能的网络攻击。

本领域技术人员已知的几种类型的检测算法可以用作一个或多个检测算法221。具体来说,分类算法(例如决策树)、聚类算法(例如分层学习)、贝叶斯网络和/或真实值序列(例如卡尔曼滤波器)可用于识别潜在的可疑/恶意模式。其他模式识别和检测算法,通常称为机器学习(machine learning,ML)算法,也是可用的。在一些实施例中,可以使用一个以上的ML算法来识别和/或验证具体的可疑/恶意模式。

如果检测到潜在的可疑/恶意活动,响应动作模块222根据检测到的活动类型自动发起适当的响应动作(包括无动作)。响应动作模块222可以发起从记录事件发生的日期和时间、向工业控制过程和/或适当人员发送警报消息、到执行一个或多个过程控制动作(例如,切断装备电源以避免灾难性故障)等的动作。然后,响应动作模块222可以将检测到的潜在可疑/恶意活动作为威胁模式存储在威胁模式数据库223中。存储在数据库223中的威胁模式然后可以被验证并用于检测算法221的进一步训练和/或用于检测后续的可疑/恶意活动。威胁模式也可以被发送到处理环境240(例如,在工业通信总线225上)用于存储和进一步的处理和验证。警报消息同样可以被发送到处理环境240用于进一步处理。在一些实施例中,在响应动作模块222发起任何响应动作之前,任何可疑/恶意活动可能需要由适当的人员审查和验证。例如,预期在大多数实施方式中,装备关闭或其他过程改变动作将由操作员在验证可疑/恶意活动时执行,而不是由响应动作模块222执行。

在前述实施例中,应当理解,基于传感器I/O接口210的能力,工业传感器200a-n中的一个或多个可以连接到一个或多个传感器I/O接口210。还应当理解,存在不需要传感器I/O接口210的工业传感器200a-n,并且可以经由通信路径215直接通信到工业通信总线225。一个或多个这样的总线225可以存在于工业控制系统中,并且通常用于允许多个设备共享公共数据和/或控制路径。工业通信总线225可用于互连几个单独的传感器、聚合器、传感器I/O接口和/或过程控制元件,并允许这些元件之间的通信。

应当理解,传感器I/O接口210和通信路径215是各种各样的,并且可以包括有线、无线或包括两种类型连接的混合版本。有线连接类型可以包括但不限于任何物理布线方法,例如5类电缆、同轴电缆、光纤或任何其他物理介质,以传播电信号,目的可以包括向设备供电、传输数据或两者,例如以太网供电(Power Over Ethernet,POE)。无线数据连接可以包括但不限于个人区域网(Personal Area Networks,PAN)、局域网(Local AreaNetworks,LAN)、Wi-Fi、蓝牙、蜂窝、全球或基于空间的通信网络(即,卫星)。众所周知,各种通信路径可以通过具有可寻址或直接连接的任何类型的网络与任何类型的计算机化设备进行通信。

附加的示例性实施例在图3中详细描述,其中传感器I/O接口210的功能在控制处理环境240中提供。如果利用这些实施例,传感器数据将以由传感器提供的原始形式被接收,并被转换成可由传感器上游的各种过程和设备使用的形式。一些传感器I/O接口210可以包括模数转换器,以将模拟传感器数据转换成由其他过程或设备使用的数字数据。

参考图3,示出了用于提供工业系统网络安全事件检测和对应的响应的替代的工业网络安全架构160的组件的框图。在该实施例中,传感器I/O接口210、网络安全过程220和威胁模式数据库223托管在处理环境240中,例如云计算环境。然后,工业传感器可以直接连接到工业通信总线225,并向处理环境240提供测量数据,用于可疑/恶意活动检测。另外(或替代地),具有足够的处理能力以托管诸如网络安全过程220之类的网络安全过程的一个或多个高级工业传感器200a’、200b’可以可选地部署为传感器200a-n处。这些更先进的传感器200a’、200b’然后可以直接向在传感器上运行的网络安全过程提供测量数据,以检测潜在的可疑/恶意活动。检测到的潜在可疑/恶意活动可以由高级传感器200a-n转发到处理环境240,用于存储和经由工业通信总线225的进一步处理。

当使用ML算法作为检测算法之一时,在ML算法能够有效地执行其检测功能之前,应该对其进行适当的训练。训练可以使用监督学习方法来完成,其中表示已知的可疑/恶意模式或活动的数据(即,标签或标记数据)被用作ML算法的输入。将算法的输出与预期的或已知的输出进行比较,并且调整算法参数以减少误差(即,算法输出和已知输出之间的差异)。重复该过程,直到误差低于预定义的误差阈值。ML算法的训练可以使用训练模式在系统中执行,或者训练可以在别处进行,并且现有的ML算法后续被更新或者用最近训练的算法代替。数据准备和预处理是这个过程的组成部分,因为需要经过适当处理和标记的数据来产生准确的ML算法。同样,训练是迭代过程,通常需要大量的输入输出示例才能产生好的结果。一旦ML算法被适当地训练,它可以被部署为网络安全过程220中的检测算法之一,以识别潜在的可疑/恶意活动。

图4A示出了根据本公开的各种实施例的训练过程的示例流程图400,该训练过程可以与网络安全过程220一起用于ML算法训练,以提供工业系统网络安全事件检测和对应的响应。应当理解,广泛的工业系统可以利用本公开的实施例,并且不限于任何附图中示出的那些实施例。在工业系统运行之前或运行期间利用训练过程有许多益处。一个这样的益处是在生活环境中从系统调试到系统运行的时间被最小化。由于这种工业系统已经包括了用已知的网络漏洞或异常进行训练的网络安全过程,系统调试可以在算法训练完成后立即进行,而不需要等待在现场实际发生可疑/恶意活动时,算法才能学习并后续对网络威胁采取行动。

流程图400通常从在401处网络安全过程220自动或由操作员手动进入训练模式开始。在405处,已知的传感器数据模式作为训练模式被提供到一个或多个ML算法221中,以引发来自ML算法的响应。已知的传感器数据模式可以反映已知的漏洞或异常、已知漏洞或异常的变化以及可能不是漏洞的异常行为(即,不包含漏洞且不异常的模式)。可以利用训练模式库(例如,从威胁模式数据库223中导出的训练模式库)来提供已知的传感器数据模式,并且该库可以随着时间的推移而扩充,以与漏洞或异常保持同步。可以在工业系统的不同点注入训练模式,例如在工业传感器200a-n处、传感器I/O设备210处和/或直接在网络安全过程220中。

在训练期间,还可以使用一个或多个注入点来验证任何真实世界系统效应(例如处理延迟)对工业系统本身操作的影响。例如,如果训练模式被直接注入到网络安全过程220中,这可以是确定该网络安全过程是否如预期那样运行的一种方法。然而,如果选择了网络安全过程200的更上游的过程点,例如工业传感器200a-n本身,则可以进行额外的验证,以进一步向操作员保证,从传感器I/O接口到网络安全过程到远程环境的整个过程链按照所预期的注入训练模式进行操作。应当理解,这些注入本质上不需要是数字的,而是可以以已知的方式对模拟传感器进行调整,以产生应当被网络安全过程220识别的模式。

可以被注入的传感器数据模式的示例包括但不限于过程的典型操作参数之外的数据模式。作为一个示例,对于不规则变化的热物质,可能发生温度的快速变化。作为另一示例,传感器的通信速率变化,其中传感器可以有规律地以特定速率报告数据,但是该速率显著变化。作为又一示例,数据预期以特定顺序来自传感器,但是该顺序被改变或缺失。

一旦训练模式被注入(并输入到ML算法中),则在410处确定网络安全过程220的ML算法是否识别该模式。可替换地,该确定可以由操作员手动检查ML算法的输出来执行。如果ML算法不识别训练模式,则在415处,网络安全过程220可以向操作员提供基于训练模式手动训练(即,调整)算法的选项。这有助于网络安全过程220的后续运行,以更好地识别训练模式。这种手动训练可以包括将模式放入在网络安全过程220的训练中使用的训练模式库中,如果该模式还不在库中的话。

如果ML算法识别训练模式,则在420处,网络安全过程220验证该识别。该验证可以由网络安全过程220通过将ML算法的输出与基于训练模式的已知或预期输出进行比较来自动执行。这种验证可以由网络安全过程220使用用于识别模式的相同或相似算法来执行。可替换地,可以利用一个或多个其他算法来执行模式识别的验证。作为网络安全系统220验证的补充或替代,操作员还可以手动验证识别,以确保验证有效。

一旦该识别被验证,如在425处确定的,可以注入或重新注入额外的模式。训练会话可以包括一个或多个模式注入,以允许网络安全过程220学习识别什么模式。另外,工业控制过程对这种模式的响应也可以在此时被验证,因为工业系统对训练模式的实时响应可能不实用、不安全,或者在某些情况下甚至是不可能的。因此,训练过程允许以及时的方式安全地识别和验证各种威胁模式和产生的过程操作,从而促进工业系统的稳健调试。

一旦训练过程完成,在430处,网络安全过程220可以自动转换到操作模式,如图4B所示。可替换地,如果工业系统在稍后时间被调试,则网络安全过程220可以稍后进入操作模式。应当理解,在某些情况下,可以在工业系统的调试之后进入训练模式。此外,如果需要训练额外的模式或有必要重新学习现有模式,则可以根据需要重新训练网络安全过程。实际上,在一些实施例中,训练和再训练可以定期进行。由于训练模式库是定期更新的,所以定期再训练可能有利于识别最新的模式。请注意,工业系统不需要离线来完成此训练。

图4B示出了根据本公开的各种实施例,在提供工业系统网络安全事件检测和对应的响应时,网络安全过程220的操作模式的示例流程图431。流程图431通常从在435处的网络安全过程220自动或由操作员进入操作模式开始。一旦进入操作模式,在440处,由网络安全过程220检查由工业传感器200a-n生成的传感器数据。在一些实施例中,在445处,传入的传感器数据可以与模式识别储存库中的威胁模式(例如,从威胁模式数据库223中导出的威胁模式)进行比较或以其他方式针对威胁模式进行处理。为了保持最新和全面,这个储存库可以用附加模式定期更新,或者以其他方式扩充以包括更新的现有模式。可替换地,网络安全过程220可以在不特定引用模式识别储存库445(即,仅使用来自图4A的训练)的情况下处理传感器通信量,这取决于所使用的特定识别算法。

在450处,确定网络安全过程220是否识别出潜在的可疑/恶意模式。如果是,则在455处,网络安全过程220通过执行恶意模式响应过程来响应。该恶意模式响应过程可以包括基于每个模式定义的各种过程控制动作(即,每个模式引发特定响应)、一组模式(即,相关模式引发特定响应)或针对所有模式(即,所有模式引发相同响应)。响应于检测到的潜在可疑/恶意模式的控制动作可以包括但不限于,不做任何事情、通知一组用户、监控特定工业过程的进一步变化、停止部分工业过程、或完全停止工业过程。在优选实施例中,由于工业过程的潜在灾难性后果,改变或停止工业过程的动作仅由操作员执行,在这种情况下,网络安全过程220仅警告操作员。因此,应当理解,是否采取控制动作以及采取哪个特定动作的决定高度依赖于所识别的模式和/或对工业过程的其他部分的影响,在优选实施例中,操作员执行大多数控制动作。这种恶意模式响应过程455旨在是高度可配置的,以提供最大的灵活性,从而允许基于一个或多个检测到的模式的一个或多个期望的控制动作。

如果在450处传感器数据未被确定为反映潜在的可疑/恶意活动,则在460处,网络安全过程220确定该数据是否可以反映为过程异常或设备(例如,传感器)异常的模式。在一些实施例中,可以通过将传感器数据与模式识别储存库中的模式进行比较来进行这种异常类型确定,以查看该数据是否可能是网络安全过程220已经确定为最终可疑/恶意的现有模式的变体。这种确定可以基于例如将传感器数据与已知可疑/恶意模式的特定部分或百分比进行匹配或关联。如果有足够的匹配或关联来引起关注,则网络安全过程220可以在此时执行进一步的处理。

在上述情况下,在465处,网络安全过程220确定传感器数据反映的是过程异常还是设备异常。当过程本身可能落入规范之外,但不存在网络安全威胁时,会出现过程异常。在这种情况下,该过程仍然需要被纠正,但是网络安全过程220不需要执行恶意模式响应过程。相反,在470处,网络安全过程220将执行设备/过程问题过程,这可以包括向适当的人员发送警报和/或根据需要采取适当的控制动作。类似地,当一个或多个工业设备发生故障,但同样没有网络安全威胁时,会发生设备异常。在这种情况下,需要在设备(例如,传感器)上执行维护,但是网络安全过程220不需要执行恶意模式响应过程。应当理解,工业系统在本质上可能非常复杂,并且过程可能失败或偏离其预期的特定参数。此外,设备出现故障,也会偏离其预期的特定参数。在这些情况下,网络安全过程220发起补救动作而不是网络安全动作。

如果在465处没有检测到设备或过程异常,则在475处,网络安全过程220确定传感器数据是否会引起其他网络安全问题。这些其他网络安全问题不会上升到潜在的可疑/恶意活动的级别,但是这些数据可能需要进一步评估的级别,该进一步评估的级别可以根据需要基于具体实施方式而定义。如果没有检测到这样的网络安全问题,则网络安全过程220在440处继续检查传入的传感器数据,直到被用户或其自身中断。然而,如果基于对传感器数据的进一步评估检测到网络安全问题,则网络安全过程220可以执行如上所述的恶意模式响应过程455。这包括将传感器数据与检测到的可能是网络安全威胁或本质上是恶意的任何新的或增强的模式进行比较,并将传感器数据捕获到模式识别储存库中,以便将来用于检测网络安全威胁。

在前面的讨论中,本公开的各种实施例被描述为托管在虚拟或云计算环境中。同样,一个或多个通用计算机系统可以用于实施本公开的各种实施例。在本公开的各种实施例中使用的这种通用计算机系统可以是例如任何通用计算机,例如基于英特尔奔腾型处理器、摩托罗拉PowerPC、Sun UltraSPARC,Hewlett-Packard PA-RISC处理器或任何其他类型的处理器的计算机。

例如,本公开的各种实施例可以实施为诸如在图5所示的通用计算机系统500中执行的专用软件。计算机系统500可以包括连接到一个或多个存储设备530的处理器520,例如磁盘驱动器、存储器或用于存储数据的其他设备。存储器530通常用于在计算机系统500的运行期间存储程序和数据。计算机系统500还可以包括提供额外存储容量的存储系统550。计算机系统500的组件可以通过互连机制540耦合,互连机制540可以包括一个或多个总线(例如,集成在同一机器内的组件之间)和/或网络(例如,驻留在单独的分立机器上的组件之间)。互连机制540使得通信(例如,数据、指令)能够在系统500的系统组件之间交换。

计算机系统500还包括一个或多个输入设备510,例如键盘、鼠标、轨迹球、麦克风、触摸屏,以及一个或多个输出设备560,例如打印设备、显示屏、扬声器。此外,计算机系统500可以包含将计算机系统500连接到通信网络的一个或多个接口(未示出)(作为互连机制540的补充或替代)。

在图6中更详细地示出存储系统550,其通常包括计算机可读和可写的非易失性记录介质610,在该非易失性记录介质610中存储了信号,该信号定义由处理器执行的程序或存储在介质610上或介质610中的信息,该信息由程序处理以执行与这里描述的实施例相关联的一个或多个功能。该介质例如可以是磁盘或闪存。通常,在操作中,处理器使得数据从非易失性记录介质610被读取到允许处理器比非易失性记录介质610更快地访问信息的另一存储器620中。存储器620通常是易失性随机存取存储器,例如动态随机存取存储器(Dynamic Random-Access Memory,DRAM)或静态RAM(Static RAM,SRAM)。如图所示,它可以位于存储系统600中,或者位于存储系统530中。处理器520通常操纵集成电路存储器530、620内的数据,然后在处理完成后将数据复制到介质610。已知多种机制用于管理介质610和集成电路存储元件530、620之间的数据移动,并且本公开不限于此。本公开不限于特定的存储器系统530或存储系统550。

计算机系统可以包括专门编程的专用硬件,例如特定应用集成电路(application-specific integrated circuit,ASIC)。本公开的各方面可以在软件、硬件或固件或其任意组合中实施。此外,这些方法、动作、系统、系统元件及其组件可以作为上述计算机系统的一部分或作为独立组件来实施。

尽管计算机系统500以示例的方式被示出为在其上可以实践本公开的各个方面的一种类型的计算机系统,但是应当理解,本公开的各个方面不限于在如图6所示的计算机系统上实施。本公开的各个方面可以在具有图6所示的不同架构或组件的一个或多个计算机上实践。此外,在这里(或在权利要求中)将本公开的实施例的功能或过程描述为在处理器或控制器上执行的情况下,这种描述旨在包括使用多于一个处理器或控制器来执行这些功能的系统。

计算机系统500可以是使用高级计算机编程语言可编程的通用计算机系统。计算机系统500也可以使用专门编程的专用硬件来实施。在计算机系统500中,处理器520通常是商业上可获得的处理器,例如从英特尔公司获得的众所周知的奔腾类处理器。还有许多其他处理器可用。这种处理器通常执行操作系统,该操作系统可以是,例如,Windows 95、Windows 98、Windows NT、Windows 2000、Windows ME、Windows XP、Vista、Windows 7、Windows10、Windows 365,或可从微软公司获得的子操作系统,MAC OS System X,或可从苹果计算机获得的子操作系统,可从太阳微系统公司、UNIX、Linux(任何发行版)获得的Solaris操作系统,或可从各种来源获得的子操作系统。可以使用许多其他完整的或部分的操作系统。

处理器和操作系统共同定义了为其编写高级编程语言的应用程序的计算机平台。应当理解,本公开的实施例不限于特定的计算机系统平台、处理器、操作系统或网络。此外,对于本领域技术人员来说,显然本公开不限于特定的编程语言或计算机系统。此外,应当理解,也可以使用其他合适的编程语言和其他合适的计算机系统。

计算机系统的一个或多个部分可以分布在耦合到通信网络的一个或多个计算机系统上。例如,如上所述,确定可用功率容量的计算机系统可以远离系统管理器。这些计算机系统也可以是通用计算机系统。例如,本公开的各个方面可以分布在被配置为向一个或多个客户端计算机提供服务(例如,服务器)或者作为分布式系统的一部分执行整体任务的一个或多个计算机系统中。例如,本公开的各个方面可以在客户机-服务器或多层系统上执行,该客户机-服务器或多层系统包括分布在一个或多个服务器系统中的执行根据本公开的各个实施例的各种功能的组件。这些组件可以是使用通信协议(例如,TCP/IP)在通信网络(例如,因特网)上通信的可执行、中间(例如,IL)或解释(例如,Java、Python)代码。例如,一个或多个数据库服务器可用于存储诸如预期功耗的设备数据,该设备数据用于设计与本公开的实施例相关联的布局。

应当理解,本公开不限于在任何具体系统或系统组上执行。而且,应当理解,本公开不限于任何具体的分布式架构,网络或通信协议。

本公开的各种实施例可以使用面向对象的编程语言来编程,诸如SmallTalk、Java、Python、C++、Ada或C#(C-Sharp)。也可以使用其他面向对象的编程语言。可替换地,可以使用函数式、脚本式和/或逻辑编程语言,诸如BASIC、ForTran、COBoL、TCL、CoreNLP或Lua。本公开的各个方面可以在非编程环境中实施(例如,当在浏览器程序的窗口中查看时,以HTML、XML或其他格式创建的文档呈现图形用户界面的方面或执行其他功能)。本公开的各个方面可以被实现为编程或非编程元件,或者它们的任意组合。

在上面讨论的本公开的实施例中,分析结果可以被描述为实时提供的。如本领域技术人员所理解的,术语“实时”的使用并不意味着暗示结果是立即可用的,而是快速可用的,使设计者能够在短时间段内(例如几分钟内)尝试许多不同的设计。

因此,已经描述了至少一个实施例的几个方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。这种改变、修改和改进旨在成为本公开的一部分,并且旨在在本公开的范围内。因此,前述描述和附图仅作为示例。

相关技术
  • 工业系统事件检测和对应的响应
  • 用于测试一个存储器阵列的方法和带有一个故障响应信号通知模式的可测试的基于存储器的设备 ,用于当在故障模式中发现预定的对应关系时仅以一个无损耗压缩响应的形式用信号通知这样一个故障模式
技术分类

06120112960282