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

文档序号:9546483阅读:来源:国知局
站或计算机120-122(其可以是任何类型的个人计算机、工作 站、服务器等)。控制器100和数据库112可以经由一个或多个网络接口卡132连接到通信 网络或总线130 (其可以是例如以太网通信网络)。进一步,控制器110可以经由输入/输 出(I/O)卡142连接到过程工厂或控制系统内的现场设备140、143和154。数据库112可以 包括一个或多个数据历史记录,其可以是具有任何期望类型的存储器的任何期望类型的数 据收集单元或存储器设备以及用于存储数据的任何期望的或已知的软件、硬件或固件。此 外,数据库112可以与一个或多个工作站或服务器120-122分离或是其一部分。例如可以 是费希尔罗斯蒙特系统(Fisher Rosemount System)公司销售的DeltaV?控制器的控制器 110经由例如以太网连接130或任何其他期望的通信网络,通过一个或多个网络卡或设备 132通信地连接到主机计算机120-122。网络设备132可以包括网络接口卡、网络交换机、 路由器、防火墙、或有助于通过网络130的数据传输而不改变底层数据(underlying data) 的任何其他设备中的一个或多个。
[0019] 如图1所示,服务器122连接到各种网络设备,所述各种网络设备可以物理上位于 通信或过程控制网络的任何部分并且在过程工厂的任何部分内,并且可以包括如本文所述 的安全功能的任何部分。在这个示例中,通信网络130通常是仅与控制系统中涉及的设备 连接的封闭的局域网(LAN)并且可以使用硬连线或无线技术来实现。此外,控制器110使 用与例如标准4-20mA设备协议、以太网协议、和/或诸如pOUMDATION?现场总线协议 (现场总线)、HART k协议、无线HART?协议、Profibus协议、CAN协议之类的任何智能通 信协议相关联的任何期望的硬件或软件来通信地连接到现场设备140。
[0020] 现场设备140、143和154可以是任何类型的设备,例如,传感器、阀、发射器、定位 器等,而I/O卡142可以是遵守任何期望的通信或控制器协议的任何类型的I/O设备。在图 1所示的实施例中,现场设备140是通过标准HART或模拟4-20mA线141与调制解调器或1/ 〇卡142进行通信的HART或4-20mA设备,而现场设备143是使用现场总线协议通信,通过数 字总线145或I/O网络与I/O卡142中的一个进行通信的智能设备,例如FOUNDATION^ 现场总线现场设备。当然,现场设备140和143可以遵守任何其他期望的标准或协议,包括 在将来开发的任何标准或协议。此外,现场设备140和143可以经由任何期望的无线通信 标准(例如,WirelHART?协议)无线地连接到控制器11〇。
[0021] 此外,现场设备154中的一个或多个可以经由专门的网络设备(例如,网关153) 连接到数字总线145。例如,现场设备154可以仅理解HART命令,并且I/O网络145可以实 现PR0FIBUS协议。为了这个目的,网关153可以提供双向的PR0FIBUS/HART转换。
[0022] 控制器110可以是在其中具有一个或多个处理器的工厂内的多个分布式控制器 中的一个或多个,所述控制器110实现或监视一个或多个过程控制例程。例程可以包括存 储在控制器110中或与其相关联的一个或多个控制回路。控制器110还通过网络130和相 关联的网络设备132与设备140、143、154进行通信,并且与主机计算机和服务器120-122 以及数据历史记录或其他数据库112进行通信,以用任何期望的方式来控制进程。应该注 意到,本文描述的任何控制例程或元件如果期望都可以具有由不同控制器或其他设备来实 现或执行的其部分。同样地,本文描述的要在过程控制系统100内实现的控制例程和元件 可以采取包括软件、固件、硬件等的任何形式。出于本次讨论的目的,过程控制元件可以是 过程控制系统的任何部件或部分,包括例如存储在任何计算机可读介质上的例程、块或模 块。可以是诸如子例程、子例程的部分(例如,代码行)等的模块或控制程序的任何部分的 控制例程可以以任何期望的软件格式实现,例如使用梯形逻辑、顺序功能图、功能块图、面 向对象编程或任何其他软件编程语言或设计范式。同样地,可以将控制例程硬编码至例如 一个或多个EPROM、EEPR0M、专用集成电路(ASIC)、或任何其他硬件或固件元件中。进一步 地,可以使用包括图形化设计工具或任何其他类型的软件/硬件/固件编程或设计工具在 内的任何设计工具来设计控制例程。由此,控制器110可以被配置为以任何期望的方式来 实现控制策略或控制例程。
[0023] 进一步地,如图1所示,另外的通信网络160连接到服务器122以及工作站120和 121,以使过程控制系统服务器122以及工作站120和121能够连接到工厂信息技术系统、 连接到商业系统或工厂内的其他网络化系统。
[0024] 一般而言,工作站和服务器120-122以及图1的网络内的其他设备实现本文所称 为的基于最小特权的安全架构,所述基于最小特权的安全架构(1)操作用于以各种方式将 在图1的各种计算设备(例如,工作站、服务器、数据库、控制器等)中执行的服务和其他更 低层次的进程与桌面应用程序隔离或分离,以及(2)将服务和桌面应用程序的特权限制为 仅这些进程执行它们的功能所需要的那些。这种基于最小特权的安全架构有助于防止恶意 软件能够被导入到过程控制系统设备中以及在过程控制系统设备内被实例化或执行。一般 而言,可以通过将过程控制系统的每一个计算机设备的全局命名空间划分为一个或多个服 务命名空间和一个或多个用户(桌面应用程序)命名空间来将任何计算设备内的桌面应用 程序与服务或其他进程隔离。这样的划分防止桌面应用程序能够直接访问在服务所使用的 命名空间中定义的对象(例如,互斥体),并且防止服务能够直接访问针对桌面应用程序所 使用的桌面命名空间定义的对象(例如,在桌面环境中)。相反,各种桌面应用程序和由操 作系统实现的服务之间的所有通信必须经由公知的并且受信任的进程间通信(IPC)来进 行通信,所述公知的并且受信任的进程间通信(IPC)提供了基于受信任的消息发送的通信 结构,所述基于受信任的消息发送的通信结构将通信限制为在其中实现该通信的设备/工 作站/服务器,并且由此防止或降低了一个应用程序或服务损坏、感染或干扰其他应用程 序和服务(例如,存储器空间)的操作的能力。以这种方式,经由桌面应用程序引入的恶意 软件不能被容易地导入到服务或其他更低层次的进程,并且反之亦然。
[0025] 进一步地,本文描述的基于安全的架构通过将授予给每一个服务和桌面应用程序 的特权限制为特权的指定子集,例如,限制为给予该服务和应用程序在其下运行或调用的 登录用户账号的特权的子集,来限定/限制恶意软件被引入到系统中或在系统内扩散的能 力。例如,在正常运行在管理员账号下的服务通常具有管理员的全部特权的情况下,所述新 的安全软件架构仅利用该服务执行其被设计执行的功能所需要的特定特权而不是利用所 有的管理员特权来生成或运行一些服务或所有服务。进一步地,具有通信网络访问(经由 通信网络端口)或经由可移除存储器端口(例如,USB端口)对可移除数据存储装置访问 的服务运行在具有严格限制的特权的账号下,其中,这些服务不具有管理特权,不具有本地 磁盘(即本地存储器)存储(写)特权,并且不能经由通信网络端口或可移除存储器端口 的另一个直接进行通信。这样的特征防止或至少降低了恶意软件使用由具有更高特权的用 户调用的服务使其能够访问该服务本身所不需要的设备或功能的能力,由此限制了恶意软 件感染其他设备或者简单地因为服务在登录用户账号下被执行或调用,就执行更高特权的 命令或服务的能力。
[0026] 同样地,安全特征可以自动限定应用程序(例如,由登录用户开启的桌面应用程 序)的特权,以防止特权的提升。在一些情况中,安全架构可以防止任何或所有桌面应用程 序能够对特权进行提升,使得要求用户提升特权的请求将指示该应用程序已经被感染。一 般而言,由桌面应用程序(运行在登录用户账号下)进行的特权提升当前通常要求授权用 户的批准来执行要求提升的操作。更新的操作系统通常通过对由包括管理员的登录用户启 动的应用程序仅授予标准用户特权(非提升的/管理员特权)并且要求特权的提升要由用 户特别授权来施行这个特征。新架构能够在任何事件中防止桌面应用程序的特权提升,由 此提供另一层次的安全性,所述另一层次的安全性限制恶意软件在系统内自动提升特权并 且使用所述提升来感染额外的进程或设备的能力。
[0027] 同样地,本文描述的安全架构也可以使用访问控制,所述访问控制通过调用操作 系统及其子系统(例如,文件、互斥体、事件)来施行哪些用户账号和哪些进程(服务或桌 面)被授权来访问安全对象;可以使用机制,所述机制防止较低特权的进程将代码注入到 较高特权的进程;并且可以使用基于分组的账号,其一般被称作"分组",来允许特权/许可 的继承。例如,用户A可能属于分组B,而分组B属于分组C。用户A因此从B和C两者继 承特权和许可。然而,尽管这些特权在登录用户账号侧是被共享或是可移植的,但是这些 特权并不能被传播到从在这些账号下运行的应用程序接收消息的服务或进程,这就防止了 服务和进程(例如,响应于从这些应用程序接收的消息而由操作系统实例化的那些)能够 具有提升的特权。由此,总体上,针对由操作系统生成或执行的服务和进程的特权相对于针 对登录用户账号定义的特权独立地被定义,使得在具有较高特权账号下运行的服务和进程 (在很多情况下,是应用)被限制为特权的子集,即对于服务或应用或其他进程的预期操作 而目是必需的最小特权。
[0028] 总体上,参照图2,将本文描述的安全特征和安全架构示出为实现在服务器或工作 站或控制器中,例如,图1的那些设备中的任何设备。然而,应该理解的是,本文描述的安全 概念可以以相同或类似的方式实现在其他类型的计算机设备或机器(例如,工作站、数据 库服务器等)中。更具体地,图2示出了连接到零个、一个或多个网络/数据链路230的工 作站/服务器/控制器220,所述网络/数据链路230中的一个可以是例如图1的网络130。 此外,在这种情况中,服务器/工作站220连接到一个或多个本地数据存储器235,所述一 个或多个本地数据存储器235在图2中被示出为在工作站/服务器/控制器220的内部或 与其直接连接。此外,工作站/服务器/控制器220可以包括或连接到用户界面或显示设 备237,并且包括零个、一个或多个可移除介质端口 239。外部或可移除存储器设备可以通 过其连接到设备220的可移除介质端口 239可以包括或是任何类型的存储器访问端口,包 括USB端口、到⑶或DVD驱动器的标准或专有连接、外部硬盘驱动器、闪存或固态存储器驱 动器、磁盘驱动器等。如图2所示,数据、程序等可以经由可移除或便携存储器设备(例如, USB闪存驱动器240、DVD或⑶241等)经由端口 239中的一个被提供给工作站/服务器/ 控制器220或从工作站/服务器/控制器220导出。
[0029] 此外,工作站/服务器/控制器220包括零个、一个或多个通信端口 245,其中的每 一个都连接到通信网络/数据链路或通信接口,所述通信网络/数据链路或通信接口可以 是例如有线或无线通信网络,例如,以太网络、WiFi网络、互联网协议网络、或任何其他局域 或广域网络或数据链路。
[0030] 如图2还示出的,工作站/服务器/控制器220被划分为两种类型的命名空间, 包括服务命名空间250和零个、一个或多个登录用户命名空间(在图2中被示为单个的登 录用户命名空间252)。当然,对登录到工作站/服务器/控制器220中的多个用户中的每 一个不同用户,可以有不同的登录用户命名空间(本文中也被称为用户命名空间),并且一 些设备(例如,服务器)可以不具有登录用户命名空间。如图2中还描绘的,桌面应用程 序258的集合存在并且运行在用户命名空间252中,同时服务260存在并且执行在服务命 名空间250内。一般而言,桌面应用程序258是在用户命名空间中执行的进程,而本文中 简称为服务的服务进程是独立于登录用户运行的进程,并
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1