用于识别过程控制系统的完整性降级的方法和装置与流程

文档序号:14847937发布日期:2018-07-03 18:49阅读:167来源:国知局
用于识别过程控制系统的完整性降级的方法和装置与流程

本发明概括而言涉及过程控制系统,更具体而言涉及用于识别过程控制系统的完整性降级的方法和装置。



背景技术:

安全漏洞是对于诸如过程控制系统(例如发电厂、炼油厂、化工设施等等)之类的计算系统的持续的威胁。过程控制系统的安全漏洞可能具有灾难性的后果。为了防止这种安全漏洞,有意地将过程控制系统与外部通信隔离。过程控制系统典型地包括执行该系统的日常操作所需要的全部组件并且不与外部系统通信。

然而,与过程控制系统相关联和/或由过程控制系统产生的一些信息可能需要在过程控制系统之外共享,例如提醒、错误消息、警告消息等等。用于在过程控制系统之外共享信息的常用技术包括电子通信系统,如因特网。然而,经由该电子通信系统的通信可能在过程控制系统中产生安全缺口。



技术实现要素:

一种用于识别过程控制系统的完整性降级的示例性方法包括识别该过程控制系统的文件系统上的文件。然后确定在系统档案中是否识别出该文件。该系统档案识别预期存在于该文件系统上的文件。当在该系统档案中未识别出该文件时,识别该过程控制系统的完整性降级。

一种用于识别过程控制系统的完整性降级的示例性装置包括文件系统验证器,用于将存储在过程控制节点的文件系统上的文件的属性与第一存储值之间的差异识别为完整性降级。该示例性系统进一步包括活动过程验证器,用于将由该过程控制节点执行的活动过程的属性与第二存储值之间的差异识别为完整性降级。

附图说明

图1是包括过程控制节点的示例性过程控制系统的方框图。

图2是包括完整性保护的图1的过程控制节点的示例性实现的方框图。

图3是图1和图2的示例性过程控制节点的完整性保护的示例性实现的方框图。

图4是用于表示可以执行来检测图1的过程控制系统的完整性改变的示例性方法的流程图。

图5是用于表示可以执行文件系统完整性验证的示例性方法的流程图。

图6是用于表示可以执行网络业务完整性验证的示例性方法的流程图。

图7是用于表示可以执行活动过程完整性验证的示例性方法的流程图。

图8是能够执行图4-7的示例性方法以实现图1和/或图2的示例性过程控制节点和/或图2和/或图3的示例性完整性保护的示例性处理器平台的方框图。

具体实施方式

过程控制系统的安全漏洞可能使得能够对过程控制系统进行对顾客(例如过程控制系统的操作员)和/或对过程控制系统的生产商(例如过程控制系统的供应商)有害的修改。影响顾客的修改可能包括取得过程控制系统的控制、获得对机密信息和/或过程控制系统的设置的访问、禁用过程控制系统等等。影响过程控制系统的生产商的修改可能包括获得对顾客本应需要付费的特征的访问。

为了解决安全漏洞,本文所述的示例性方法和装置包括过程控制系统中的一个或多个过程控制节点的完整性保护。示例性完整性保护监控并且验证过程控制节点并且从而监控并且验证过程控制系统的完整性。以多种方式监控过程控制节点的完整性。例如,完整性保护监控并且验证过程控制节点的文件系统,完整性保护监控并且验证过程控制节点的网络通信,并且/或者完整性保护监控并且验证过程控制节点的活动过程。

在顾客系统(例如个人计算机)中,使用防病毒系统来检测系统问题。防病毒系统使用已知问题的定义,如已知的恶意应用等等的签名和/或定义。防病毒系统然后通过主动地将系统上的应用和/或文件与这些定义进行匹配来识别问题。即,任何与定义匹配的东西都被认为是问题。相反,下文所示的实例的完整性保护通过被动地识别文件系统无规律、网络通信无规律和/或活动过程无规律,来识别过程控制节点和/或过程控制系统的完整性降级。即,任何与定义不匹配的东西都被认为是无规律和/或问题。

在本文所述的实例中,签名包括文件、应用、过程等等的一个或多个识别特征(例如大小、更新日期、内容等等),该识别特征使得完整性保护能够识别该文件、应用、过程等等。

在过程控制系统的完整性降级的检测之后,完整性保护可以向过程控制系统的管理员和/或过程控制系统的提供商发送提醒。如本文所述的,管理员可以是与该过程控制系统相关联和/或涉及该过程控制系统的任意人员和/或人员组。例如,过程控制系统的管理员可以是操作员、安装人员、管理员、用户、所有者或者应该接收与该过程控制系统相关的信息的任意其他人员和/或人员组。该提醒可以使得过程控制系统的管理员能够采取预防措施。该提醒可以允许过程控制系统的提供商识别顾客何时尝试修改该过程控制系统以例如获得对付费特征的访问。除了发送提醒之外和/或代替发送提醒,该完整性保护可以向管理员显示警告、结束非法过程、关闭系统或服务、执行安全验证等等。

图1是包括一个或多个过程控制节点115的示例性过程控制系统110的方框图100。在一些实例中,过程控制系统110操作发电厂、炼油厂、化工设施等等。

示例性的过程控制系统,如图1的过程控制系统110,典型地包括一个或多个过程控制节点115,其中过程控制节点115具有经由模拟、数字或组合的模拟/数字总线可通信地耦接到过程控制节点115的现场设备。该现场设备例如可以是阀、阀定位器、开关和发射器(例如温度、压强和流速传感器),其执行过程控制系统110之中的过程控制功能,如开启或关闭阀以及测量过程控制参数。过程控制节点115接收用于指示由现场设备进行的过程测量的信号,处理该信息以实现控制例程,并且生成控制信号,该控制信号在过程控制系统110中发送以控制该过程的操作。按照类似的方式,过程控制节点115可以经由总线和/或可通信地耦接现场设备的其他通信链路,使用现场设备来执行并且协调控制策略。在一些实例中,过程控制节点115与过程控制系统110外部的资源进行通信以例如提供提醒和/或警告,获取将要用于过程控制系统110中的参数等等。

由过程控制系统提供商120向过程控制系统110的操作员提供所示实例的过程控制系统110。过程控制系统提供商120与过程控制系统110进行通信,以例如接收提醒、向过程控制系统110提供更新、确保合适的许可等等。在所示实例中,过程控制系统提供商120经由因特网125与过程控制系统110进行通信。然而,可以另外或可替换地使用任意其他类型的通信介质,如虚拟专用网(VPN)、拨号连接等等。

在所示实例中,过程控制系统110由过程控制系统管理员130管理。如本文所述的,过程控制系统管理员130可以是与该过程控制系统110相关联和/或涉及该过程控制系统110的任意人员和/或人员组。例如,过程控制系统管理员130可以是操作员、安装人员、管理者、用户、所有者或者应当接收与该过程控制系统110相关的信息的任意其他人员和/或人员组。所示实例的过程控制系统管理员130操作并且/或者维护过程控制系统110。在一些实例中,过程控制系统管理员130部署并且/或者配置过程控制系统110。因为过程控制系统管理员130牵涉过程控制系统110的配置,所以过程控制系统管理员130可能无意地或者有意地激活和/或安装另外付费的功能。在一些实例中,当操作尚未被购买的特征和/或功能时,过程控制系统110提醒过程控制系统管理员130。相反,当已经购买的特征和/或功能未被安装、配置和/或未正确地操作时,过程控制系统110可以提醒过程控制系统管理员130。

图2是图1的过程控制节点115的示例性实现的方框图。示例性节点115包括过程控制组件210、文件系统220、网络通信器230、处理器240和完整性保护250。

图2所示的实例的示例性过程控制组件210包括输入设备,该输入设备能够接收输入以经由例如阀、泵、风扇、加热器、冷却器和/或其他设备来控制过程。示例性过程控制组件210还包括能够生成输出的输出设备,如温度计、压力计、流量计和/或其他设备。在一些实例中,过程控制组件210可通信地耦接到控制器(例如DeltaVTM控制器),该控制器收集由输出设备输出的信息并且向输入设备发送指令以引起过程的改变。由过程控制组件210使用的信息包括例如过程信息、环境信息和过程变量的值(例如测量到的过程变量,如反应器入口压强)。

图2所示的实例的示例性文件系统220存储用于操作过程控制组件210和/或更一般性而言用于操作过程控制节点115的信息。在所示实例中,通过硬盘驱动器来实现文件系统220。然而,文件系统220可以是用于存储数据的任意设备,如闪存、磁介质等等。此外,存储在文件系统220中的数据可以具有任意数据格式,如新技术文件系统(NTFS)、文件分配表(FAT)等等。

图2所示的实例的示例性网络通信器230是以太网接口。在所示实例中,网络通信器230接收来自过程控制系统110中的其他过程控制节点115和/或过程控制系统110外部的其他设备(例如因特网125上的设备等等)的网络通信(例如HTTP请求等等)并且/或者向过程控制系统110中的其他过程控制节点115和/或过程控制系统110外部的其他设备(例如因特网125上的设备等等)发送网络通信(例如HTTP请求等等)。虽然在所示实例中,网络通信器230是以太网接口,但是可以另外或可替换地使用任意其他类型的接口。例如,网络通信器230可以包括蓝牙接口、WiFi接口、数字用户线路(DSL)接口、T1接口等等中的一个或多个。虽然在所示实例中显示了单个网络通信器230,但是可以另外或可替换地使用任意数量和/或类型的网络通信器。例如,可以使用两个网络通信器(例如以太网接口)。

图2所示的实例的示例性处理器240处理信息以操作过程控制节点115。图2的示例性处理器240由执行指令的处理器来实现,但是可以可替换地由专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其他电路来实现。在所示实例中,处理器240基于存储在文件系统220中的机器可读指令来处理信息。然而,可以将该指令存储在任意其他位置,如存储器、因特网资源等等中。在过程控制节点115的完整性降级(例如安全漏洞等等)的情况下,该指令可能被修改以致当处理器240执行该指令时过程控制节点115不按计划运行。

图2所示的实例的示例性完整性保护250监控并且验证过程控制节点115并且从而监控并且验证过程控制系统110的完整性。过程控制节点115的完整性可以用多种方式来监控,包括例如监控并且验证过程控制节点115的文件系统220、监控并且验证去向和/或来自过程控制节点115的网络通信器230的网络通信,和/或监控并且验证正在由过程控制节点115的处理器240执行的活动过程。

图3是图1和图2的示例性过程控制节点115的完整性保护250的示例性实现的方框图。示例性完整性保护250包括文件系统验证器310、网络通信验证器320、活动过程验证器330、档案存储器340和报警器350。示例性档案存储器340包括文件系统档案311、网络通信档案321和活动过程档案331。虽然在所示实例中将文件系统档案311、网络通信档案321和活动过程档案331都显示为独立的档案,但是文件系统档案311、网络通信档案321和活动过程档案331可以组合并且/或者安排到单个档案(例如系统档案)中。

示例性文件系统验证器310由执行指令的处理器实现,但是可以可替换地由ASIC、DSP、FPGA或其他电路来实现。在所示实例中,文件系统验证器310监控并且/或者验证文件系统220的完整性。在所示实例中,文件系统验证器310通过相对于存储在档案存储器340中的文件系统档案311检查文件系统220上的文件来验证文件系统220的完整性。在一些实例中,文件系统验证器310计算文件系统220上的文件的哈希值,并且确定所计算的哈希值是否与存储在文件系统档案311中的文件的以前计算的哈希值匹配。在所示实例中,使用哈希算法(例如安全哈希算法1(SHA-1)、消息摘要5(MD5)等等)来计算哈希值。如果所计算的哈希值与以前计算的哈希值匹配,则文件未改变。然而,如果所计算的哈希值与以前计算的哈希值不匹配,则文件已经被修改。对于过程控制系统的特定文件的修改可以指示过程控制节点115的完整性降级。

在一些实例中,文件系统档案311包括针对特定文件和/或文件目录的例外。例如,文件系统档案311可以包括针对日志文件和/或日志文件目录(例如可以存储一个或多个日志文件的位置)的例外,使得日志活动不被识别为过程控制节点115的完整性降级。如果文件系统验证器310识别过程控制节点115的文件系统220的完整性降级,则文件系统验证器310经由报警器350提醒过程控制系统管理员130和/或过程控制系统提供商120。在一些实例中,文件系统验证器310采取行动去除(例如删除、隔离)已经导致过程控制节点115的完整性降级的文件。

所示实例的文件系统验证器310通过识别与已知系统的档案不匹配的项(例如文件、文件目录等等)来识别过程控制节点115的完整性降级。相反,已知防病毒系统通过匹配已知问题的定义来识别恶意文件。例如,防病毒系统将扫描文件系统以识别是否存在与特定病毒相关联的文件,而示例性文件系统验证器310识别何时存在未包括在该文件系统档案中的任意文件。

示例性网络通信验证器320由执行指令的处理器实现,但是可以可替换地由ASIC、DSP、FPGA或其他电路来实现。在所示实例中,网络通信验证器320通过识别去向和/或来自网络通信器230的网络通信的属性,来监控并且验证该网络通信。在所示实例中,有效通信的一个或多个属性存储在网络通信档案321中。所示实例的网络通信档案321存储在档案存储器340中。

在所示实例中,网络通信档案321包括用于识别通常被过程控制节点115使用的端口号的属性。当检测到尝试使用通常不被过程控制节点115使用的端口时,示例性网络通信验证器320将该尝试识别为过程控制节点115的完整性降级。另外或可替换地,网络通信档案321可以包括其他参数作为签名的一部分。例如,签名可以包括由过程控制节点115使用的目的地地址(例如因特网协议(IP)地址、域名、电子邮件地址等等)、由过程控制节点115使用的消息格式等等。

在一些实例中,当指向未被包括在网络通信档案321中的目的地的网络通信被传输时,网络通信验证器320确定该网络通信是否指示完整性降级。在一些实例中,网络通信验证器320使用挑战/响应机制来询问过程控制节点115的用于传输网络通信的过程。

如果网络通信验证器320检测到过程控制节点115的完整性降级,则网络通信验证器320经由报警器350提醒过程控制系统管理员130和/或过程控制系统提供商120。在一些实例中,网络通信验证器320阻挡网络通信,记录网络通信等等。

示例性活动过程验证器330由执行指令的处理器实现,但是可以可替换地由ASIC、DSP、FPGA或其他电路来实现。在所示实例中,活动过程验证器330监控并且/或者验证正在由处理器240执行的过程。在所示实例中,基于活动过程档案331监控并且/或者验证该过程。然而,可以另外或可替换地使用任意其他用于识别过程的方式。

在所示实例中,活动过程档案331包括用于识别通常被过程控制节点115使用的过程的签名(例如过程名称、由过程使用的动态链接库(DLL)等等)。在所示实例中,当活动过程验证器330与过程控制节点115的操作系统交互时,识别活动过程。在一些实例中,将活动过程识别为已经加载了一个或多个DLL。活动过程验证器330相对于活动过程档案331来验证由过程控制节点115的操作系统识别的每个过程。对过程进行检查,以确定例如它们是否是从文件系统220上的特定位置加载的,特定DLL是否被该过程加载,文件(例如可执行文件、DLL、配置文件)是否具有与存储在活动过程档案331中的哈希值匹配的所计算的哈希值。当发现过程与已知过程的签名不匹配时,活动过程验证器330执行诸如终止该过程、关闭过程控制节点115、记录过程的终止、经由报警器350提醒过程控制系统管理员130和/或过程控制系统提供商120之类的动作。

所示实例的档案存储器340存储与文件系统的已验证配置、已验证网络通信、已验证活动过程和/或以前的验证的结果相关的档案。档案存储器340可以是用于存储数据的任意设备,如闪存、磁介质、光介质等等。此外,存储在档案存储器340中的数据可以具有任意数据格式,如二进制数据、逗号分隔的数据、制表符分隔的数据、结构化查询语言(SQL)结构等等。虽然在所示实例中将档案存储器340示出为单个数据库,但是档案存储器340可以由任意数量和/或类型的数据库来实现。

在一些过程控制系统中,可能不存在给定的档案(例如文件系统档案311、网络通信档案321、活动过程档案331等等)。因此,在那些系统中,必须创建并且/或者初始化该档案。为了初始化档案,完整性保护识别过程控制节点115的文件系统上的文件并且计算它的哈希值。当然,可以另外或可替换地使用用于初始化档案的其他方法,例如识别正在由过程控制节点115执行的活动过程,监控过程控制节点115的网络通信等等。在所示实例中,在过程控制节点115安装时完成档案初始化。因此,档案表示在档案初始化时过程控制节点115的快照。然而,在一些实例中,档案初始化发生在稍后的时间,例如在配置改变之后,在第三方应用安装之后等等。然后将初始化的档案存储在档案存储器340中以便由完整性保护250将来使用。

在一些实例中,将档案存储器340和/或存储在其中的档案与远程档案(例如存储在远程档案服务器上的档案)进行同步。在所示实例中,远程档案服务器(未显示)是过程控制系统110中的服务器。然而,在一些实例中,由过程控制系统提供商120(例如经由因特网125)主控远程档案服务器。例如,在每个过程控制节点上初始化档案是不可行的。在一些实例中,从另一过程控制节点115获取档案(例如文件系统档案311、网络通信档案321、活动过程档案331等等)。因此,过程控制系统管理员130和/或过程控制系统提供商120可以创建已更新的档案并且在多个过程控制节点上使用该档案。在一些实例中,该档案被自动更新并且被推送到适当的节点(例如执行类似的功能的过程控制节点)以更新该过程控制节点。

在一些实例中,可能需要将第三方应用安装到过程控制节点115上,但是在安装时可能没有对档案进行适当的修改。因此,与该应用相关联的文件、网络通信和/或过程将有可能被识别为完整性降级。在一些实例中,向与最新安装的应用相关联的完整性降级所对应的日志条目增加标识符,以使得能够能够对该日志条目进行记账,以开始第三方应用。在所示实例中,将日志本地存储在过程控制节点115上作为基于文本的文件。然而,可以另外或可替换地使用用于存储该信息的任意其他方法,例如二进制文件、数据库、日志系统(例如Windows事件日志等等)。此外,可以在日志条目经由远程日志协议和/或系统,如syslog系统、简单网络监视协议(SNMP),出现时向系统传输该日志条目。这种日志可以发送给过程控制系统提供商120,过程控制系统提供商120然后可以更新档案,使得将第三方应用适当地识别为是否是完整性降级。

示例性报警器350由执行指令的处理器实现,但是可以可替换地由ASIC、DSP、FPGA或其他电路来实现。在所示实例中,报警器350向过程控制系统管理员130和/或过程控制系统提供商120提醒过程控制节点115,更一般性而言过程控制系统110,的完整性降级。在所示实例中,报警器350通过显示提醒消息(例如在计算机显示器上显示对话框)来提醒过程控制系统管理员130和/或过程控制系统提供商120。另外或可替换地,报警器350可以用任意其他形式,例如电子邮件(e-mail)消息、短消息服务(SMS)消息、系统消息、系统警告等等,来提醒过程控制系统管理员130和/或过程控制系统提供商120。

虽然在图3中已经示出了用于实现图2的完整性保护250的示例性方式,但是也可以用任意其他方式组合、分割、重组、省略、排除和/或实现图3中所示的元件、过程和/或设备中的一个或多个。此外,可以由硬件、软件、固件和/或硬件、软件和/或固件的任意组合实现示例性文件系统验证器310、示例性网络通信验证器320、示例性活动过程验证器330、示例性档案存储器340、示例性报警器350和/或更一般性而言,实现图3的示例性完整性保护250。因此,例如可以由一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)等等来实现示例性文件系统验证器310、示例性网络通信验证器320、示例性活动过程验证器330、示例性档案存储器340、示例性报警器350和/或更一般性而言,实现图3的示例性完整性保护250。当本专利的任意装置或系统权利要求读起来覆盖纯软件和/或固件实现时,示例性文件系统验证器310、示例性网络通信验证器320、示例性活动过程验证器330、示例性档案存储器340、和/或示例性报警器350中的至少一个在这里明确地被定义为包括存储有软件和/或固件的有形计算机可读介质,如存储器、DVD、CD、蓝光等等。此外,图2和/或图3的示例性完整性保护250可以除了图3中所示的那些元件、过程和/或设备之外另外或改为包括一个或多个元件、过程和/或设备,并且/或者可以包括多于一个任意或所有所示的元件、过程和设备。

图4-7中显示了用于实现图2和/或图3的完整性保护250的示例性方法的流程图。在这些实例中,过程可以包括由处理器(如下文结合图8所讨论的示例性处理器平台800中所示的处理器812)执行的程序。该程序可以被实现在软件中,该软件可以存储在有形的计算机可读介质中,如CD-ROM、软盘、硬盘驱动器、数字多用途盘(DVD)、蓝光盘或与处理器812相关联的存储器,但是可替换地,整个程序和/或它的一部分可以被除了处理器812之外的设备执行和/或被实现在固件或专用硬件中。此外,虽然参考图4-7中所示的流程图描述了示例性程序,但是可以可替换地使用许多其他用于实现示例性完整性保护250的方法。例如,可以改变方框的执行次序,并且/或者可以改变,去除或组合一些所述方框。

如上所述,可以使用存储在有形的计算机可读介质,如硬盘驱动器、闪存、只读存储器(ROM)、压缩盘(CD)、数字多用途盘(DVD)、高速缓冲存储器、随机访问存储器(RAM)和/或用于将信息存储任意持续时间(例如延长的时间段、永久地、简短的瞬间、临时地缓存和/或用于信息的高速缓冲存储)的任意其他存储介质上的编码指令(例如计算机可读指令)来实现图4-7的示例性过程。如本文所使用的,术语有形的计算机可读介质被明确地定义为包括任意类型的计算机可读存储器并且排除传播信号。

另外或可替换地,可以使用存储在非瞬态计算机可读介质,如硬盘驱动器、闪存、只读存储器、压缩盘、数字多用途盘、高速缓冲存储器、随机访问存储器和/或用于将信息存储任意持续时间(例如延长的时间段、永久地、简短的瞬间、临时地缓存和/或用于信息的高速缓冲存储)的任意其他存储介质上的编码指令(例如计算机可读指令)来实现图4-7的示例性过程。如本文所使用的,非瞬态计算机可读介质明确地被定义为包括任意类型的计算机可读介质并且排除传播信号。如本文所使用的,当使用短语“至少”作为权利要求的前序中的过渡术语时,其与术语“包括”一样是开放式结尾的。因此,使用“至少”作为前序中的过渡术语的权利要求可以包括除了权利要求中明确记载的那些元素之外的元素。

图4是用于表示可以执行来检测图1的过程控制系统110的完整性的改变的示例性方法的流程图400。图4的方框410、420和430表示子过程并且并行地执行以检测过程控制系统110的完整性的改变。

在方框410中,完整性保护250的示例性文件系统验证器310监控并且/或者验证过程控制节点115的文件系统220。结合图5进一步描述了文件系统验证器310的操作。在方框420中,完整性保护250的示例性网络通信验证器320监控并且/或者验证过程控制节点115的网络通信器230的网络通信。结合图6进一步描述了网络通信验证器320的操作。在方框430中,完整性保护250的示例性活动过程验证器330监控并且/或者验证由过程控制节点115的处理器240执行的活动过程。结合图7进一步描述了活动过程验证器330的操作。

如上所述,方框410、420和430表示子过程并且彼此并行地被执行。在所示实例中,连续地执行方框410、420和430。然而,可以另外或可替换地使用用于执行这些子过程的任意其他方法。例如,可以周期性地执行方框410、420和430以降低所利用的系统资源的数量(例如每5分钟、每小时、每天等等执行一次监控和/或验证过程)。另外或可替换地,可以使用连续的执行和周期性的执行的组合来执行这些子过程。例如,文件系统验证器310可以每小时监控文件系统220一次(方框410),网络通信验证器320可以连续监控网络通信器230的网络通信(方框420),活动过程验证器330可以每5分钟监控并且/或者验证由处理器240执行的活动过程一次(方框430)。但是,可以另外或可替换地使用周期性的和/或连续的执行的任意其他组合。

在所示实例中,向报警器350传输通知。该通知可以告知报警器350该监控和/或验证过程的状态。该通知可用于识别完整性降级的检测。可以用任意形式(例如网络通信、过程间通信、向文件写入通知、过程(例如方框410、420和/或430)终止等等)来传输该通知。在接收该通知之后,报警器350确定是否已经检测到完整性降级(方框440)。如果没有完整性降级,则控制前进以终止。如上文所解释的,可以周期性地和/或连续地执行图4中所述的过程。

如果存在完整性降级,则控制前进到方框450,在方框450中报警器350向过程控制系统管理员130提醒该完整性降级。在所示实例中,报警器350通过显示提醒消息(例如在计算机显示器上显示对话框)来提醒过程控制系统管理员130(方框450)。在所示实例中,报警器350通过显示提醒消息(例如在计算机显示器上显示对话框)来提醒过程控制系统提供商120(方框460)。然而,可以另外或可替换地使用任意其他用于提醒过程控制系统管理员130和/或过程控制系统提供商120的方法。例如,报警器350可以例如通过发送电子邮件(e-mail)消息、发送短消息服务(SMS)消息、触发系统警告、禁用过程控制系统110等等,来提醒过程控制系统管理员130和/或过程控制系统提供商120。

图5是用于表示可以执行文件系统完整性验证的示例性方法的流程图500。

图5的示例性方法表示图4的方框410中所述的子过程。当文件系统验证器310从档案存储器240加载文件系统档案311时,该示例性方法开始执行(方框510)。文件系统验证器310识别存储在文件系统220上的单独的文件(方框520)。可以例如通过与过程控制节点115的操作系统进行交互来识别文件。

文件系统验证器310可以确定所识别的文件是否被识别为文件系统档案311中的例外(方框530)。例如如果该文件位于特定目录中,该文件具有特定大小,该文件具有特定文件扩展名(例如图像(.jpg)、文本文档(.txt)等等),则该文件可能是例外。如果该文件被识别为该文件系统档案311中的例外,则控制前进到方框580,其中在方框580中确定是否存在更多的文件(方框580)。如果在方框530处该文件未被识别为例外,则控制前进到方框540。文件系统验证器310然后确定该文件是否包括在档案331中(方框540)。如果该文件未包括在档案331中,则文件系统验证器310记录检测到完整性的降级(方框570)。检测到未包括在该档案中并且未包括在该例外中的文件使得文件系统验证器310能够在新的文件出现在该文件系统上时检测到完整性降级。

如果在方框540中所识别的文件包括在该档案中,则文件系统验证器310确定(例如计算)所识别的文件的哈希值(方框550)。文件系统验证器310然后确定所识别的文件的计算哈希值是否匹配与该档案中的文件相对应的存储哈希值(方框560)。如果例如该文件已经被修改,则该计算哈希值可能不匹配该存储哈希值。比较该哈希值使得文件系统验证器310能够检测文件是否已经被改变。如果该计算哈希值不匹配该存储哈希值,则文件系统验证器310记录检测到完整性降级(方框570)。在所示实例中,文件系统验证器310通过将日志条目存储在过程控制节点115本地的日志中来记录检测到完整性降级。然而,在一些实例中,文件系统验证器310通过向记录位置(例如过程控制系统110本地的记录服务器、过程控制系统远程的(例如在过程控制系统提供商处的、在第三方等等处的)记录服务器)传输日志条目,来记录检测到完整性降级。在一些实例中,可以使用远程记录协议和/或系统(如syslog记录系统、简单网络管理协议(SNMP)等等)来传输日志条目。如果该计算哈希值匹配该存储哈希值,则文件系统验证器310继续前进以确定是否存在更多待验证的文件(方框580)。在所示实例中,如果没有额外文件待验证,则控制继续前进以终止图5的方法。报警器350然后接收已经完成子过程的通知。在一些实例中,重复并且/或者继续图5的操作,使得重验证文件系统220。

图6是用于表示用于执行网络业务通信验证的示例性方法的流程图600。图6的示例性方法表示图4的方框420中所述的子过程。

当网络通信验证器320从档案存储器340加载网络通信档案321时(方框610),图6的示例性方法开始执行。网络通信验证器320识别网络通信器230的网络通信(方框620)。网络通信验证器320然后确定所识别的网络通信是否包括在网络通信档案321中(方框630)。在所示实例中,网络通信档案321包括通常被过程控制节点115使用的端口号(例如传输控制协议(TCP)端口号等等)。当检测到使用通常被过程控制节点115使用的端口的尝试时,示例性网络通信验证器320将该尝试识别为过程控制节点115的完整性降级。当检测到过程控制节点115的完整性降级时,控制前进到方框640,在方框640中网络通信验证器320记录检测到完整性降级(方框640)。在所示实例中,网络通信验证器320通过将日志条目存储在过程控制节点115本地的日志中,来记录检测到完整性降级。然而,在一些实例中,网络通信验证器320通过向记录位置(例如过程控制系统110本地的记录服务器、过程控制系统远程的(例如在过程控制系统提供商处的、在第三方等等处的)记录服务器)传输日志条目,来记录检测到完整性降级。在一些实例中,可以使用远程记录协议和/或系统(如syslog记录系统、简单网络管理协议(SNMP)等等)来传输日志条目。

在一些实例中,网络通信验证器320可以基于其他参数例如源地址和/或目的地地址(例如因特网协议(IP)地址、域名、电子邮件地址等等)、由过程控制节点115使用的消息格式、网络通信的内容等等,来验证网络通信。如果网络通信验证器320检测到网络通信与预期被过程控制节点115使用的网络通信匹配,则控制前进到方框620,在方框620中网络通信验证器320继续监控并且验证网络通信器230的网络通信。如上所述,可以周期性地和/或连续地执行图6的操作。在所示实例中,连续地执行图6的方法。

图7是用于表示用于执行活动过程完整性验证的示例性方法的流程图700。图7的示例性方法表示图4的方框430中所述的子过程。

当活动过程验证器330从档案存储器340加载活动过程档案331时(方框710),图7的示例性方法开始执行。活动过程验证器330然后识别由处理器240执行的活动过程(方框720)。可以例如通过与过程控制节点115的操作系统进行交互来识别活动过程。活动过程验证器330然后确定所识别的过程是否被识别为活动过程档案331中的例外(方框730)。如果例如该过程是从特定目录加载的,该过程具有特定尺寸的存储器足迹等等,则该过程可能是例外。如果该过程在活动过程档案331中被识别为例外,则控制前进到方框780,在方框780中确定是否存在更多活动过程(方框780)。如果该过程未被识别为例外,则控制前进到方框740。活动过程验证器330然后确定该过程是否包括在活动过程档案331中(方框740)。如果该过程未被包括在活动过程档案331中,则活动过程验证器330记录检测到完整性降级(方框770)。在所示实例中,文件系统验证器310通过将日志条目存储在过程控制节点115本地的日志中,来记录检测到完整性降级。然而,在一些实例中,文件系统验证器310通过向记录位置(例如过程控制系统110本地的记录服务器、过程控制系统远程的(例如在过程控制系统提供商处的、在第三方等等处的)记录服务器)传输日志条目,来记录检测到完整性降级。在一些实例中,可以使用远程记录协议和/或系统(如syslog记录系统、简单网络管理协议(SNMP)等等)来传输日志条目。如果新过程(例如未知的过程、欺骗过程、第三方过程等等)正在被执行,则检测到未包括在该档案中并且未包括在例外中的过程使得活动过程验证器330能够检查完整性降级。如果所识别的过程包括在该档案中,则活动过程验证器330确定(例如计算)与该过程相关联的文件(例如可执行文件、DLL、配置文件等等)的哈希值(方框750)。

活动过程验证器330确定所识别的文件的计算哈希值是否匹配与该档案中的识别文件相对应的存储哈希值(方框760)。如果例如与该过程相关联的文件已经被修改,则该计算哈希值可能不匹配该存储哈希值。比较该哈希值使得活动过程验证器330能够检测文件是否已经被改变。如果该计算哈希值不匹配该存储哈希值,则活动过程验证器330记录检测到完整性降级(方框770)。在所示实例中,活动过程验证器330通过将日志条目存储在过程控制节点115本地的日志中,来记录检测到完整性降级。然而,在一些实例中,活动过程验证器330通过向记录位置(例如过程控制系统110本地的记录服务器、过程控制系统远程的(例如在过程控制系统提供商处的、在第三方等等处的)记录服务器)传输日志条目,来记录检测到完整性降级。在一些实例中,可以使用远程记录协议和/或系统(如syslog记录系统、简单网络管理协议(SNMP)等等)来传输日志条目。如果该计算哈希值匹配该存储哈希值,则活动过程验证器330继续前进以确定是否存在更多待验证的文件(方框780)。在所示实例中,如果没有额外文件待验证,则控制继续前进以终止图7的机器可读指令。报警器350然后接收已经完成子过程的通知。在一些实例中,重复并且/或者继续图7的机器可读指令,使得重验证活动过程。

图8是能够执行图4-7的示例性方法以实现图1和/或图2的示例性过程控制节点以及/或者图2和/或图3的示例性完整性保护的示例性处理器平台800的方框图。该示例性处理器平台800可以是例如服务器、个人计算机、移动电话(例如手机)、个人数字助理(PDA)、因特网应用或任意其他类型的计算设备。

该实例的系统800包括处理器812。例如,处理器812可以由来自任意希望的家族或制造商的一个或多个微处理器或控制器实现。

处理器812包括本地存储器813(例如高速缓冲存储器)并且经由总线818与包括易失性存储器814和非易失性存储器816的主存储器进行通信。易失性存储器814可以由同步动态随机访问存储器(SDRAM)、动态随机访问存储器(DRAM)、RAMBUS动态随机访问存储器(RDRAM)和/或任意其他类型的随机访问存储器设备实现。非易失性存储器816可以由闪存和/或任意其他希望类型的存储器设备实现。可以由存储器控制器控制对主存储器814和816的访问。

处理器平台800还包括接口电路820。接口电路820可以由任意类型的接口标准,如以太网接口、通用串行总线(USB)和/或PCIExpress接口实现。

一个或多个输入设备822连接到接口电路820。输入设备822允许用户将数据和命令输入到处理器812中。输入设备可以例如由键盘、鼠标、触摸屏、跟踪板、跟踪球、滑鼠和/或语音识别系统实现。

一个或多个输出设备824也连接到接口电路820。输出设备824可以例如由显示器设备(例如液晶显示器、阴极射线管显示器(CRT)、打印机和/或扬声器)实现。接口电路820因此典型地包括图形驱动卡。

接口电路820还包括通信设备(例如网络通信器230),如调制解调器或网络接口卡,以助于经由网络826(例如以太网连接、数字用户线路(DSL)、电话线、同轴电缆、蜂窝电话系统等等)与外部计算机进行数据交换。

处理器平台800还包括一个或多个用于存储软件和数据的大规模存储设备828。大规模存储设备828的实例包括软盘驱动器、硬盘驱动器、压缩盘驱动器和数字多用途盘(DVD)驱动器。大规模存储设备828可以实现文件系统220和/或档案存储器。

可以将用于实现图4-7的方法的编码指令存储在大规模存储设备828中、存储在本地存储器813中、存储在易失性存储器814中、存储在非易失性存储器816中和/或存储在可去除的存储器介质,如CD或DVD上。

从前文中将要认识到,上述方法、装置和制品提供了检测过程控制系统的完整性改变(例如降级)的能力。

虽然本文已经描述了特定示例性方法、装置和制品,但是本专利的覆盖范围不限于此。相反,本专利覆盖确切地落入本专利的权利要求的范围中的全部方法、装置和制品。

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