集中管控下的应用管控
来源:保密科学技术杂志 更新时间:2013-08-16
 
集中管控是目前解决涉密信息安全防泄露的有效手段。集中管控不仅需要管住文档,还必须有效地管住应用,才能保证信息内容的安全。本文分析了应用管控面临的问题,提出了解决这些问题的思路和方法,以及对应用系统的要求。
1  引言
 
    新形势下的保密管理工作,要求做到终端不存密、个人不留密,确保涉密电子信息管得住、控得了、不外泄,安全可靠,同时又要能做到信息的安全共享,实现信息化条件下的网络办公。集中管控是利用集中存储、统一认证、授权使用、精确控制、全程审计等技术和管理手段,对日常工作中产生的涉密和敏感电子信息实施安全管理和使用控制,是保密管理的发展趋势。
 
    传统的保密管理只关注对文档的管理,但在信息化条件下,涉密信息还包括应用产生和使用的数据,以及对这些文档和数据使用的过程。因此仅仅管理好文档是不够的,还必须有效地管控住应用,才能真正保护好有价值的信息内容。
 
    应用一般指的是应用软件(或应用系统)。应用软件往往运行在商用操作系统之上,而商用操作系统由于其功能丰富,强调通用性和开放性,其固有的保护机制很难映射到各种应用系统的安全策略,使得应用系统面临安全威胁,进而影响信息内容的可用性、完整性、机密性。应用安全的基本要求是要保护应用软件计算、使用、存储、转换的数据的可用性、完整性、机密性,以及访问这些数据的用户身份的真实性、不可抵赖性。
 
    解决应用安全问题,一般是采用将安全策略强制隔离在一个相对小型的、可信的部件内执行,免受其他部件影响。这个部件可以是 CPU、内存系统等硬件,也可以是操作系统内核、虚拟机等软件。Loki是一个带内存标记的系统架构,通过对内存的标记,控制应用对内存的读、写访问。操作系统可以利用Loki,将应用系统安全策略映射到这种内存保护机制。Overshadow统将应用软件运行于虚拟机中,并且利用特定程序对受保护应用的内存页面进行加密,将应用在商用操作系统环境中保护起来。
 
    在集中管控下,应用是指信息系统提供给用户达到其工作目的的功能集合,包括用户(主体)对信息内容(客体)访问和使用的全过程(人机交互—使用—存储),而不仅仅指应用软件本身。应用管控是对用户访问和使用信息内容的全部过程进行安全管理和控制,保证主体有条件、强制性、隔离性地访问客体,防止各种非法、越权操作。在信息保密领域,客体应该处于强制性的主导地位,而主体则处于从属地位。客体包含多方面的属性(如:秘密属性),利用这些属性对主体的访问和使用进行主动约束(见图1)。
 
 130209220546509039.png (437×135)
 
图1 应用与应用管控
 
    应用管控不仅要解决应用软件在主机上运行的安全问题,还需要解决用户接入、应用的发布与使用管理、内容管理、存储管理等多方面问题。
 
    接下来我们将探讨解决这些问题、实现应用管控的思路和方法,以及对应用系统的要求。
 
2  应用管控方法
 
    为实现应用管控,我们提出如下模型,如图2。
 130209220776332184.png (566×269)
 
 
图2 应用管控实现模型
 
    实现模型的三个关键元素是:
 
    (1)应用网关
 
    应用网关应具备以下功能:
 
    1)用户—资源(应用和内容)隔离;
 
    2)人机交互;
 
    3)应用接入。
 
    (2)应用管控策略
 
    包括用户接入管控、使用管控、内容管控和存储管控策略。
 
    (3)资源网关
 
    主要实现应用与内容的隔离,以及内容访问管理。资源网关应具备以下功能:
 
    1)用户、应用—内容隔离
 
    2)内容访问管理
 
2.1接入管控
 
    2.1.1用户—资源隔离
 
    首先要做到用户—资源隔离,一般要求做到:
 
    (1)阻断普通 IP流量,只有授权应用连接可以建立;
 
    (2)不同用户之间隔离;
 
    (3)通道加密。
 
    2.1.2人机交互
 
    传统的人机交互在应用计算机本地进行,用户直接通过键盘、鼠标输入信息,本地计算机进行功能实现和结果展现。
 
    随着终端、虚拟化技术的发展,出现了远程终端操作技术:用户通过操作终端上传键盘、鼠标等操作信息,终端上显示远程应用计算机上的画面信息。这样就把人机交互操作与功能使用操作进行某种程度上的分离,使得操作内容和操作过程都在应用计算机上,不在操作终端上保留,有利于信息安全保密。
 
    这种情况下,还要在操作终端上采取防拷屏、防操作录像等管控措施。
 
2.2使用管控
 
    2.2.1应用发布
 
    作为使用前管控措施,应用发布一般采用黑、白名单技术。
 
    白名单是获得安全审核的应用列表,反之,黑名单则是经审核为不安全的应用列表,这些应用不能在系统中运行。
 
    为使名单中的应用不被篡改,需要使用数字签名、哈希等手段,保证应用的完整性。使用白名单时,应将默认策略设置为不可执行。
 
    黑、白名单必须运行在系统级,因此必须确保建立在安全的系统上。
 
    2.2.2应用功能集
 
    本着最小权限(或最小适用性)原则,应该将应用功能细分,组成应用功能集。
 
    以常见的文档操作为例,常用功能可以定义为:阅读、编辑、复制、下载、打印等等。如果针对文档中的每一个段落定义功能集,则可以实现比文件更细粒度的管控。
 
    2.2.3应用隔离
 
    应用隔离是使用前和使用中的管控,为使用过程提供安全的环境。常用手段包括服务隔离、虚拟机隔离、物理主机隔离、网段隔离等。
 
    (1)服务隔离
 
    在终端服务架构中,不同的应用实例可以运行在不同的终端服务环境中,实现相互隔离。其隔离性取决于提供终端服务的操作系统
 
    (2)虚拟机隔离将不同的应用实例运行在不同的虚拟机上,其隔离性取决于虚拟机及虚拟机管理器。
 
    (3)物理主机隔离
 
    将不同的应用实例运行在不同的物理主机上,其隔离性取决于主机之间网络通信的控制。
 
    (4)网段隔离
 
    在不同的应用系统之间划分不同的安全域,通过逻辑隔离设备实现不同网段之间的隔离,其隔离性取决于逻辑隔离设备。
 
    这种隔离方式可以结合前面三种隔离方式,做到更好的隔离性。
2.2.4使用控制
 
    使用控制需要结合用户属性、应用功能集和信息属性集,实现用户在信息使用过程中的控制。使用控制应包括输入、输出控制。
 
    以打印控制为例,控制的内容包括:谁可以打印什么内容、打印份数、打印位置,等等(见图3)。
 
 130209221119201795.png (249×131)
 
图3 输入输出控制
 
    具体控制功能的实现位置,可以分为:
 
    (1)终端控制
 
    对于普通的应用模式,人机交互与功能使用都在终端进行,需要在终端上进行使用控制。此时需要保证控制策略下发的安全性,以及控制策略在终端上的正确执行。
 
    (2)服务器控制
 
    对于功能使用在服务器端进行的应用模式,终端上只进行人机交互,具体使用控制在服务器端进行,不需要考虑控制策略下发。
 
2.3内容管控
 
    首先是内容的隔离。将不同管理域的内容分区管理,分区使用。例如可以划分为个人区、工作区、成品区。
 
    其次可以定义内容与应用相关属性(或标签)。以文档为例,常见的属性包括:密级、有效期、知悉范围、打印份数、拷贝份数、水印等等。利用这些属性,可以实现内容针对用户、应用系统的过滤,用在使用控制过程中,实现用户以授权的“合法”方式访问和使用授权的“合法”信息。
 
    资源网关上定义了“用户—应用—数据”的对应关系,可以将使用管控和内容管控结合起来,通过建立信息访问和交换的统一标准,实现跨系统的应用交换。这里的应用交换不是简单地把数据交给对方,而是把自己的应用逻辑延伸到对方,让对方以授权的“合法”方式访问和使用授权的“合法”信息,而信息本身还在拥有方控制中。
 
2.4存储管控
 
    信息存储在存储系统中,实际情况下很难做到不同应用系统对应各自独立的存储系统,往往是不同应用系统的数据共用存储。这种情况下,对存储进行管控是非常必要的,体现在以下几方面。
 
    (1)存储系统访问控制
 
    应用系统只有经过认证授权才能访问存储系统及其中的内容。
 
    基于网络访问的 CIFS、网络数据库系统均提供这方面的支持。
 
   (2)存储隔离
 
    不同管理域的信息可以存储在不同的区域,实现存储隔离。
 
   (3)存储加密
 
    为保信息内容不被窃取,应实现存储加密。对不同用户的数据采用不同的加密密钥,可以实现更好的加密保护。
 
2.5对应用的要求
 
    在本文的应用管控模型中,对应用系统要求:
 
    (1)功能的完备性、可细分
 
    以图4所示电子商务应用为例,完整的功能需要“App订单”“App支付”“App物流”等多个程序完成。由于“App订单”需要的数据还需要来源于“App支付”和“App物流”,而非统一来源于资源网关,因此不能只通过资源网关控制数据的访问和操作。
 130209221391797386.png (414×187)
 
 
图4 应用功能的交叉性
 
    因此需要“App订单”的功能是完备的,其对数据的访问全部来源于资源网关,才能通过资源网关控制数据的访问和操作。为实现应用功能的细粒度控制,还需要应用功能可细分。
 
   (2)应用可识别并传送用户身份
 
    对于单机应用,一般情况下每个用户对应独立应用进程。对于网络多用户应用,一般每个用户对应一个 Session ID。应用应具有区分用户Session ID,并在需要时可将用户身份与Session ID对应关系传递给资源网关。
 
2.6对内容的控制
 
    内容最常见的是文件系统和数据库系统。对于文件系统,由于每个文件的独立性,容易实现针对每个文件的访问控制。但对文件中某节、某段的控制,则需要应用软件本身功能支持。
 
    对于数据库系统,需要采用基于内容的访问控制手段,如 Oracle支持虚拟私有数据库(Virtual Private Database,VPD)技术,可以简单实现行级访问控制;列敏感策略特性,可以实现列级访问控制。在资源网关上实现文件的控制比较容易,要实现数据库的控制则需要实现基于数据库内容的访问控制功能。
 
3  有待解决的问题
 
    集中管控是一套复杂的系统,其中应用管控又是关键。
 
    应用管控中还有其他一些问题,需要进一步研究和探讨。
 
(1)应用标准化
 
    为实现功能的细粒度控制,需要标准化、精细化地定义应用的功能集。可以先从行业应用的标准化开始。
 
(2)资源标准化
 
    为实现资源的细粒度控制,需要标准化、精细化地定义资源属性集。可以先从行业数据的标准化开始。
 
(3)资源访问控制
 
    资源的访问控制,尤其是数据库资源的访问控制,需要在资源网关里实现。
 
(4)存储加密
 
    大型系统中,如何处理大数据流的实时加解密,加密状态下如何解决信息的快速检索,还有待研究与开发。
 
4  结语
 
    集中管控是保密管理的发展趋势,其中应用管控又是关键。
 
    通过对信息系统应用模型进行分析,我们提出了一个应用管控模型,对其中应用管控面临的问题提出了解决的思路和办法。
 
    基于此模型开发的系统已经在党政、军队多个单位使用,获得用户的一致认可。