基于最小特权的过程控制软件安全架构的制作方法

文档序号:9546483阅读:267来源:国知局
基于最小特权的过程控制软件安全架构的制作方法
【技术领域】
[0001] 本申请总体上涉及过程工厂计算机系统,并且更具体地,涉及用于在过程或工厂 环境下保障设备(例如,计算机设备)内的软件进程的操作的方法和装置。
【背景技术】
[0002] 过程控制系统(例如,像那些在发电、化工、石油或其他过程中使用的分布式或可 扩展的过程控制系统)通常包括一个或多个控制器,所述一个或多个控制器通信地相互耦 合、经由过程控制网络耦合到至少一个主机或操作员工作站,并且经由模拟、数字或结合的 模拟/数字总线耦合到一个或多个现场设备。现场设备可以例如是阀、阀门定位器、开关和 发射机(例如,温度、压力以及流量传感器),所述现场设备可以在该过程或工厂内执行功 能,例如,打开或关闭阀门、开启和关断设备、以及测量过程参数。控制器接收对由现场设备 进行的过程或工厂测量进行指示的信号和/或与现场设备相关的其他信息,使用所述信息 来实现控制例程并且随后生成控制信号,所述控制信号通过总线被发送到现场设备以控制 过程或工厂的操作。通常使来自现场设备和控制器的信息对由操作员工作站执行的一个或 多个应用程序是可用的,以使操作员能够执行关于过程或工厂的任何期望的功能,例如,查 看工厂的当前状态、修改工厂的操作等。
[0003] 通常位于过程工厂环境内的过程控制器接收对由现场设备进行的或与现场设备 相关联的过程测量或过程变量进行指示的信号和/或与现场设备有关的其他信息,并且使 用所述信息来执行控制器应用程序。控制器应用程序实现例如做出过程控制决定、基于接 收到的信息生成控制信号、以及与现场设备(例如,现场总线 现场设备)中的控制模块或块协作的不同控制模块。过程控制器中的控制模块通过通信线 路或其他信号路径将控制信号发送到现场设备,以由此控制过程的操作。
[0004] 通常还使来自现场设备和过程控制器的信息经由过程控制网络来对一个或多个 其他硬件设备(例如,操作员工作站、维护工作站、服务器、个人计算机、手持设备、数据历 史记录、报告生成器、集中式数据库等)可用。通过网络所传输的信息使得操作员或维护人 员能够执行关于过程的所期望的操作和/或查看工厂的操作。例如,该信息允许操作员改 变过程控制例程的设置、修改过程控制器或智能现场设备内的控制模块的操作、查看过程 的当前状态或过程工厂内特定设备的状态、查看由现场设备和过程控制器生成的警报、出 于训练人员或测试过程控制软件的目的来对过程的操作进行仿真、诊断过程工厂内的问题 或硬件故障等。
[0005] 现场设备通常通过过程控制网络(其可以是,例如,以太网配置的LAN)与其他硬 件设备进行通信。网络通过各种网络设备来对过程参数、网络信息以及其他过程控制数据 进行中继并且将其中继到过程控制系统中的各种实体。通常的网络设备包括网络接口卡、 网络交换机、路由器、服务器、防火墙、控制器、以及操作员工作站。网络设备通常通过控制 数据流的路由、帧率、超时、以及其他网络参数来帮助数据流通过网络,但是其本身并不改 变过程数据。随着过程控制网络的规模和复杂度的增长,网络设备的数量和类型相应地增 长。系统和网络增长的结果是,这些复杂系统中的安全性和管理可能变得日益困难。例如, 每一个网络设备可以包括一个或多个通信端口,所述一个或多个通信端口提供用于使过程 控制系统部件和其他网络设备通过网络将彼此物理地互连的接入点或端口。然而,可以使 用这些端口或连接中的一些来将控制设备连接到可公开访问的网络(例如,互联网),以及 将便携存储器设备连接到控制系统设备。因此,设备上的公开端口可以通过添加其他设备 而成为用于网络扩展的接入点、或者可以允许恶意或非恶意的实体来访问网络并且启动不 期望的并且潜在有害的网络业务或者引入可能在工厂控制系统内导致严重问题的恶意软 件(例如,包括恶意程序、间谍或数据收集程序、广告软件、或其他不想要的并且潜在有害 的危险软件)。随着网络设备以及相关联的接入点的数量的增加,有效地监控或控制对控制 整个复杂过程控制系统的通信的网络内的设备上的所有端口的访问很快变得不切实际。
[0006] 同样地,在一般的工业控制系统中,工作站/服务器被按策略地放置在工厂网络 与执行控制以及数据获取功能的嵌入式设备(例如,控制器、PLC、RTU)之间,并且因此这些 工作站/服务器的主要安全目标是防止恶意软件进入控制系统并且不利地影响嵌入式设 备,以及防止恶意软件改变存储在工厂数据库中的配置和历史数据。尽管可以使用多个安 全特征(例如"反病毒"软件和"白名单")来解决这个目标,但是这些安全特征通常是不够 的。例如,反病毒软件不能对抗"零日"病毒,并且白名单仅防止未授权的应用程序运行。此 外,这些特征中的一些是过于侵入性的,以至于在过程控制系统中不能实际操作,这是因为 这些安全特征具有阻止工厂操作员活动的潜在可能。
[0007] -般而言,恶意软件(例如,处于零日攻击核心的恶意软件)通常经由外部存储器 设备(例如,可移除的闪存驱动器)或经由通信连接通过操作具有访问这些存储器设备、网 络端口或直接数据链路的特权或许可的应用程序或服务在特定设备处被引入到控制系统 中。(出于本专利的目的,通信连接包括经由通信网络连接或经由诸如调制解调器连接之 类的直接数据链路而进行的连接)。此后,恶意软件能够被传播到其他设备(例如,经由通 信或便携式存储器设备)和/或使用被该恶意软件感染的应用程序或服务的安全特权在设 备内执行。此外,恶意软件可以本地自我保持以允许其在重启后再次被执行。在一些情况 下,恶意软件可以使用该应用程序或服务在其中执行的账号的特权来升级宿主(例如,被 感染的应用程序或服务)的特权,并且通过这样做,恶意软件可能能够在要求更高特权的 过程控制设备或系统中执行动作或操作,并且由此通常更加有害于控制系统操作。在任何 事件中,感染了已经运行的应用程序的零日攻击在过程控制系统中造成严重问题,这是因 为并没有用于防止这些类型的攻击的良好技术。然而,当这些攻击破坏工厂控制系统的正 在进行的操作时,在过程工厂内,这些攻击可能具有严重的并且潜在的破坏性,甚至致命的 影响。

【发明内容】

[0008] 过程控制系统使用更有效地防止零日或其他类型的恶意软件攻击的新的安全特 征集合或软件安全架构。一般而言,所述新的安全特征或架构实现了当执行应用程序和服 务在任何特定控制系统设备(例如,在工作站、服务器、数据库、控制器、现场设备内等)内 运行时,使用本文中所称为的"最小特权",以便减少可能感染工作站、服务器、或其他设备 的恶意软件的影响。本文中的术语"特权"包括操作系统特权/权利和访问控制许可二者。 例如,用户可以被授予远程登录或模仿另一个用户的权利(特权),并且还被授予读/写/ 执行具体文件的访问(许可)。
[0009] 概括而言,基于最小特权的安全特征或架构通过例如将设备(例如,控制器、工作 站、服务器等)的全局命名空间划分为服务命名空间以及如果存在(例如,在桌面应用程序 中)划分为登录用户命名空间,来将"服务"进程与代表登录用户(本地或远程)运行的桌 面应用程序分离。该架构随后使用进程间通信(而不是共享存储器)来严格地控制在这些 不同命名空间中的进程(例如,应用程序和服务)之间的通信,以便防止被感染的服务或应 用程序能够直接感染或损坏其他的服务或应用程序。具体地,所述新的安全架构使用这样 的命名空间划分来防止桌面应用程序直接访问服务命名空间中的对象并且反之亦然。
[0010] 进一步地,所述新的安全架构以限制或降低被感染的服务或应用程序能够有害地 影响或感染其他服务或应用程序的能力的方式来限定授予服务和桌面应用程序的特权。一 般而言,所述安全架构将服务或应用程序或其他进程的操作系统特权限制为给予所述服务 或应用程序或其他进程在其下运行或所述服务或应用程序或其他进程在其下产生的账号 的特权的指定子集、将由登录用户启动的应用程序的特权限定为与该用户相关联的特权的 子集、以及防止经由桌面应用程序(运行在登录用户下)来执行特权的提升。在一种情况 中,该软件安全系统施行这样的限制:对通信端口或外部介质端口(例如,对经由诸如USB 端口等的外部介质端口连接的可移除存储设备)的访问必须通过具有受限特权的服务(并 且从不由桌面应用程序)来执行,其中服务的受限特权防止该服务写入到本地数据存储装 置(例如,磁盘)、防止经由通信网络端口或可移除介质端口中的另一个进行通信、或防止 以管理特权进行动作。以这种方式,如果服务受到感染,则感染成为良性的,这是因为感染 不能将自己存储在本地磁盘或其他存储器上、不能执行管理功能、不能访问桌面、如果其经 由外部介质端口来自可移除存储设备则其不能经由通信网络被传播、以及不能经由外部介 质端口被存储在可移除存储设备上或如果其经由通信端口来自通信连接则其不能被传播 到另一个通信连接。
[0011] 由此,该新的安全架构使用访问控制,所述访问控制施行哪些用户账号和哪些进 程(服务或桌面)被授权通过调用操作系统及其子系统来访问安全对象,并且包括防止较 低特权的进程向较高特权的进程中注入代码的机制。为了这样做,该安全架构包括或使用 通常被称为"分组"的账号,该账号允许用户账号和服务账号属于来自其他分组账号的继 承。
[0012] 这些安全特征的一个或多个的组合带来了过程控制系统或过程工厂内的更加安 全的软件环境,其更不容易受到病毒攻击(例如,零日病毒攻击)以及其他恶意软件的影 响,这是因为这些安全特征独立或相组合地使恶意软件难以如果不是不可能通过访问网络 连接或可移除/便携式存储介质连接(例如,USB端口)的桌面应用程序的操作而被导入 到系统中。这些安全特征还限制了恶意软件经由网络或外部设备被导入到内部数据存储设 备的能力、限制了使恶意软件提升服务的特权以使服务能够访问对请求该服务的应用程序 而言并不需要的设备、存储介质或进程等的能力。
[0013] 由此,使用这些特征,该新的软件架构设计对运行在过程控制自动化系统工作站 中以及在服务器中的服务和桌面应用程序进行划分(隔离),以达到减少它们的恶意软件 简档或表面的目的。此外,如果服务或由服务生成的其他进程受到感染,则它不会具有进行 它没有做过的动作的所必要的特权,并且它不会具有对它并不直接需要的资源进行访问的 许可。此外,如果桌面应用程序受到感染,则该桌面应用程序既不能直接访问操作系统的有 特权的功能,也不能直接写到网络或直接写到经由外部介质端口连接的可移除存储设备。 相反,该桌面应用程序必须请求所述动作由被设计为使对有特权的功能和资源的额外的访 问控制水平生效并且提供对有特权的功能和资源的额外的访问控制水平的服务和它们所 生成的进程来代表所述桌面应用程序被执行。
【附图说明】
[0014] 图1是具有分布式过程控制系统和进程自动化网络的过程工厂的示例性框图,其 包括被配置为实现本文描述的基于最小特权的软件安全架构和功能的一个或多个操作员 和维护工作站、服务器、控制器、现场设备、以及其他网络设备;
[0015] 图2是过程控制工厂内的工作站/服务器/控制器设备的示例性框图,其示出了 关于在过程控制软件架构中执行以实现改进的安全功能的应用程序、服务以及其他进程而 实现的各种命名空间和安全性限制;
[0016] 图3示出了包括分组账号和定制账号的账号的图,所述分组账号和定制账号根据 本文描述的最小特权软件安全架构来对与各种不同应用程序和服务相关联的特权集合进 行限定;
[0017] 图4是示出了图2的系统的工作站中的一个的软件和硬件部件的示例性结构图, 其示出了使用图3的账号的各种设备和应用程序之间的通信连接。
【具体实施方式】
[0018] 图1是被设置在例如过程工厂内的过程控制系统或过程自动化系统100的示意表 示,其中,各种计算机设备可以经受各种软件安全特征来增强软件安全性,并且有助于系统 /网络的管理和维护。更具体地,过程控制系统100包括一个或多个过程控制器110以及一 个或多个过程工厂数据库112 (例如,数据历史记录),其通过过程控制通信网络130通信地 连接到一个或多个主机工作
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1