一种基于虚拟化技术的多级安全机制研究

2013-09-17 12:30静,
通信技术 2013年1期
关键词:信息流代理机制

程 静, 石 勇

(①中国电子科技集团公司电子科学研究院,北京 100041;②北京交通大学,北京 100044)

0 引言

多级安全(Multilevel Security)是指在计算机系统中处理多种不同安全级别(或敏感程度)信息的机制和能力。多级安全系统要能有效隔离不同安全级别的信息,防止它们之间的交叉污染(Cross-Contamination)。

从二十世纪六十年代以来,很多研究机构和学者都尝试通过一个基于安全操作系统的系统平台来支持多级安全,比较典型的系统有 Adept-50、有Multics、Mitre安全核、UCLA 数据安全 Unix、KSOS、PSOS、安全Xenix、SystemV/MLS、TUNIS、ASOS、DTOS、Flask、SE-Linux等[1],但是今天的发展现状证明了这些系统至少在大规模实际应用方面并不成功。

上述系统并不十分成功的深层原因有以下主要方面:首先,安全操作系统既要保证不同敏感度信息之间隔离强度尽量高,又要保证支持这些不同敏感度信息的支撑平台和工具的共享程度尽可能高,以最大程度降低系统成本,这两个保证要求之间是冲突的;其次,要保证不同敏感度信息之间的强隔离,系统参与处理这些信息的平台和工具必须可信,随着现代操作系统功能不断提升,提高系统的共享程度意味着系统可信代码范围的扩大,但是代码量越大,就越难保证其可信;其三,在同一个平台中支持多种不同敏感度的信息处理和存储,系统必须要支持对信息进行安全标记的处理能力,这要求现有应用、数据库、网络、数据都必须支持安全标记能力,这种改造对现有IT及其应用生态环境无论在技术上还是在经济上都不现实。

针对多级安全要求及安全操作系统的问题根源,本文提出一种基于虚拟化的多级安全机制模型(VBMSM,Virtualization Based Multilevel Security Model)。VBMSM 通过将多级安全系统划分为多个单级安全域,并通过虚拟机技术和多级安全代理机制将这些单级安全域进行安全隔离,并根据安全策略控制它们之间的信息流。VBMSM 无需对商用操作系统进行安全增强,也不需要对已有应用、数据和网络进行显示安全标记,完全保证应用及其环境的兼容性,从而最小化多级安全机制的应用复杂性和应用成本。

1 相关研究

从上世纪 60年代末历史上第一个支持多级安全机制的安全操作系统 Adept-50[2]开始,安全操作系统就和多级安全支持机制紧密的联系在一起。在这些安全操作系统中,系统为主体和客体分配安全标记,并基于这些安全标记实施访问控制,如基于BLP模型的数据保密访问控制[3,15-17]和基于Biba模型的数据完整性访问控制[4]。一九八五年,美国国防部制定的“可信计算系统评估准则”(TCSEC,Trusted Computer System Evaluation Criteria)[5]更是将系统对多级安全机制的支持作为系统可信的一个核心评估指标,要求B级或B级以上系统必须支持基于安全标记的多级安全机制。但是处理和存储不同安全级别信息的公共平台和工具可能会带来这些信息之间的交叉污染,即系统的安全隐通道问题;要减少安全隐通道,就必须提高系统安全机制的可信水平[5];而系统的可信水平与代码规模密切相关,当代码量超过10万行,系统是不可能被验证的[6];但是随着现代操作系统功能的增加,操作系统的代码规模急剧扩张,包括与安全相关的代码都远超过10万行,因此TCESEC提出的可信计算基(TCB)本身的可信也越来越不可能保证。另外,安全操作系统要求上层的网络和应用也要能够配套支持相关的安全机制,比如安全标记等,这也极大地限制了它的应用和发展。

除了安全操作系统的强制访问控制机制外,对多级安全机制的研究还包括信息流安全控制。与访问控制不同,信息流控制不对主客体的访问进行控制,而是基于安全标记对信息在文件、设备中的流动进行控制,比如用户A的安全级别即使支配数据文件B的安全级别,但是如果A所使用终端设备C的安全级别受B的安全级别支配,那么A就不能在C上读取 B。信息流安全控制包括静态的基于语言的信息流控制方法[7-8]和动态的基于操作系统的信息流控制方法[9-10]。基于语言的信息流控制需要使用专门的程序语言,为变量和表达式设置安全标记,并在编译过程中,根据这些安全标记和信息流控制规则对数据的流动进行全程安全检查;而基于操作系统的信息流控制则对系统中的文件、设备、内存、进程等要素设置安全标记,动态地根据安全标记和系统信息流安全规则对信息的流动进行检查和控制。这两种方法都有其特点,但是与安全操作系统类似,它们都需要对现有应用和程序进行修改,这也限制了它们的发展。

为了使多级安全机制能够更好地在应用在实际系统中,使之更易用、适应性更强,J. Alves-Foss等提出了MILS体系[11],通过结构化的域划分方法来设计安全系统。MILS将多级安全系统分割成多个单级安全组件域,并通过少量的多级安全组件将这些单级安全组件域连接起来。在 MILS中,隔离内核(SK,Separation Kernel)是基础,它将相关进程、数据都限制在一个域内,每个域内都是有相同的安全级别,SK还对域间的通信进行控制。MILS极大地简化了传统MLS的复杂度,使得每一个域都可以独立的评估,并可以采用商用操作系统和其它不可信的应用、工具,因此具有良好的适应性和实用性。目前美国国家安全局、海军、空军等机构与波音、洛克希德.马丁、洛克威尔.柯林斯等公司合作,将这一体系应用于高保证系统中。

本文将 MILS体系和虚拟机等技术相结合,提出一种基于虚拟化的多级安全机制模型(VBMSM,Virtualization Based Multilevel Security Model),并对其中的关键技术进行研究。

2 VBMSM

传统的基于安全操作系统结构的多级安全系统对操作系统和应用的可信要求很高,其代码规模和复杂度远远超出了目前的系统形式化描述和验证能力,因此将复杂系统通过结构化方法简化是一种必然选择。图1显示了一种将多级安全系统重新结构化并组织成一种多个单级安全系统的方法。

图1 将多级安全系统重组为多个单级安全系统结构

如图 1左边部分是目前基于安全操作系统的多级安全系统结构,在这种结构中,硬件、操作系统甚至应用都作为数据的公共处理平台,因而都要作为系统TCB的一部分。可以看出,TCB的规模非常庞大而且复杂;图1右边把多级安全系统拆分成多个单级安全系统,每一个安全级的数据都由独立的硬件、操作系统和应用来处理,各个单级安全系统之间的通信由多级安全代理控制;显然,各个单级安全系统之间不存在数据交叉污染的可能,在每个单级系统中即使出现违反安全策略的事件,其影响也局限在各自系统中;因而在每一个单级安全系统中,完全可以采用商用操作系统,甚至不可信的应用。

多级安全代理负责监控不同安全级别系统之间的通信,比如根据BLP保密模型,如果安全标记A支配安全标记B,既A的安全级别高于B的安全级别,那么安全标记为B的系统中的信息可以流向安全标记为A的系统;反之,反方向的信息流会被系统禁止。多级安全代理还需要支持人工或其他安全标记自动管理功能,提供人工或自动的信息降级能力,以支持特定情况下信息由高安全级别系统流向低安全级别系统。

但是图1的结构化方法会带来成本和使用方便性问题。在这种方式中,每一个安全级别的信息都需要至少一台物理机器和操作系统平台,甚至单独的网络连接;对那些安全级别比较高的用户,对应其被许可的每一个安全级别,都需要一台独立的物理终端;因此这种方式难以应用于实际系统中。

为减少对物理硬件的数量要求,降低系统成本,可以采用基于虚拟机技术的多单级安全系统结构,如图2所示。

图2 基于虚拟机技术的多单级安全系统结构

图2和图1的区别在于它采用了虚拟机技术,每个虚拟机都对应一个单级安全系统;各个单级安全系统之间通过安全虚拟机监控器实现了图1的多级安全代理功能。IBM已经在安全虚拟机监控器上开展了深入的研究,提出了一个基于VMM的sHype体系[12-13];sHype的设计目标是:首先是不可被旁路,并且尽量小;其次是要有高的性能;其三是安全有效。目前sHype能够支持Biba、Bell-LaPadula、Caernarvon、Type Enforcement以及 Chinese Wall等多种强制访问控制模型策略,其主要的6个安全功能包括:①多个虚拟机之间的强隔离保证;②虚拟机之间的受控信息共享;③平台和虚拟机内容完整性保证;④平台和虚拟机内容证明;⑤资源记账和控制;⑥安全服务(如审计等)。

图2结构仍然存在不足,它没有考虑到基于多个物理硬件平台的分布式多级安全结构。在实际系统中,即使属于同一安全级别的系统也可能跨越多个物理平台;另一方面,同一个物理平台可能同时支持属于多个安全级别的虚拟机。为此对图2结构进一步改进,提出分布式环境下的多单级安全系统结构,如图3所示。

图3 分布式环境下的多单级安全系统结构示意

图3示意中,每个安全域表示一个单级安全系统,每个物理机上都支持属于多个单级安全系统的虚拟机,同时每个单级安全系统都跨越多个物理机;同样,各单级安全系统之间的通信由多级安全代理监控。

3 关键技术

在VBMSM结构中,有两个关键技术需要进一步深入研究。一个是单级安全系统的安全标记和隔离机制,另一个是多级安全代理的信息流控制机制。

3.1 单级安全系统的安全标记和隔离机制

在图3所示的多单级安全系统结构中,每个单级安全系统中的计算环境与普通基于商用操作系统的应用环境兼容,无论是操作系统、应用还是数据都不需要显式的安全标记,由于都属于同一个安全级别,因此也不需要多级安全系统中基于安全标记的强制访问控制机制。

但是多级安全代理需要对不同单级安全系统进行安全标记识别和区分,以对这些单级安全系统之间的通信进行安全监控。因此每个单级安全系统在与多级安全代理进行通信过程中,必须标识各自系统的标记。

一种实现方式是在 VMM 中实现虚拟机安全标记管理功能。在虚拟机对外发送网络数据帧之前,在数据帧的帧头中增加该虚拟机的安全标记。为了保证和以太网协议兼容,可以将安全标记信息与以太网的802.1Q tag相结合:802.1Q是一个支持虚拟网络的协议,它通过帧头的12位Vlan tag可以标识最多4096个虚拟网络。但是在一般的局域网中,这个标识空间不会被用完,因此可以用其中一部分作为虚拟机的安全标记。这种方式的优点是实现简单,兼容性好,对虚拟机完全透明,而且不与现有的网络交换机等设备冲突;缺点是无论是 Vlan Tag还是安全标记的空间都非常受限,比如,如果选择其中6位作为Vlan Tag,那么只剩下6位可以用作安全标记,也就是VLan和安全标记的空间都分别只有64个;但是对一般环境,安全标记的空间取决于多级安全代理的要求,如果不从应用系统全局综合考虑,多级安全代理能够支持的单级安全系统数量决定了安全标记空间大小,比如如果从系统全局要求需要支持 1024个安全标记,但是每个多级安全代理可能受安全政策限制,最多支持 4个不同安全标记,那么只需要从802.1Q 的12位Vlan Tag空间里借用2位作为安全标记,因为系统可以通过安全管理中间件将1024个安全标记都转换为多级安全代理的局部安全标记。

将虚拟机安全标记和 VLan相结合有另外一个好处:它可以利用网络Vlan机制实现不同安全级别系统之间的隔离,但是同一安全级别系统下的虚拟机可以正常通信。

如果采用上述方案,需要对VMM进行安全改造的内容只有:①对进出虚拟机的网络帧进行安全标记处理,即根据安全标记管理策略在虚拟机向外发送的网络帧帧头的 802.1Q位中设置虚拟机的安全标记;对进入虚拟机的网络帧,要将帧头中802.1Q对应的虚拟机安全标记位清除;②禁止不同安全级别的虚拟机之间在VMM层的网络通信。

可以看出,VBMSM采用了两种安全标记方法:隐式安全标记和显式安全标记。在虚拟机内部,由于其所有资源都属于同一个安全级别,同时为了保证系统的兼容性,因此在虚拟机内部采用了隐式安全标记方法。隐式安全标记方法使得商业系统和既有应用可以无修改的运行在VBMSM中;在虚拟机之外,由于需要在许多资源共享环境下识别和区分虚拟机的安全级别,因此需要采用显示安全标记方法;显示安全标记只限于虚拟机与多级安全代理之间,并且采用了与既有网络协议兼容的格式,因此这种标识方法不会带来高昂的系统改造成本,在技术上也易于实现和使用。

3.2 多级安全代理的信息流控制机制

多级安全代理连接不同安全级别的系统并对它们之间的安全通信进行监控。对于数据安全保密要求,多级安全代理要支持以下信息流控制规则:

信息安全流控规则:信息能够从单级安全系统A流向单级安全系统B当且仅当系统A的安全标记支配于系统B的安全标记。

安全标记的支配关系解释参见TCSEC[5]。如图4所示。

图4 多级安全代理工作示意

图4表示了两个单级安全系统,分别用域A和域B表示;域A和域B的部分虚拟机可能在同一个物理主机上,而同一个系统的虚拟机也可能分布在不同的物理主机上。

多级安全代理通过网络帧中的虚拟机安全标记识别和判断该虚拟机属于哪个安全系统(图 4中的域A或者域B);然后基于信息安全流控规则对域A和域B之间的通信进行监控,如果图中安全标记A支配于安全标记B,那么多级安全代理允许信息从域A流到域B;否则禁止从域A到域B的信息流。

理论上,基于BLP模型,信息不能从高安全级别的系统流向低安全级别的系统,但是在实际应用中,在经过专门的脱密处理后,系统应该允许对信息进行降级处理。因此,多级安全管理系统应该能够提供人工安全管理接口,支持安全管理员对安全标记的动态管理。

多级安全代理未来也可能实现某种程度上的信息安全级别自动降级能力。Roy Indrajit等人提出了一种通过向输出结果添加随机数的方法实现差分隐私,降低信息的敏感程度,从而实现信息安全标记自动降级的能力[14]。

4 原型实现

VBMSM 中两个关键技术已经在基于开源虚拟机监控平台Xen上进行原型系统的开发和实现过程中。在Xen上的工作重点主要集中在Dom0的虚拟桥上,而多级安全代理则基于一个独立的硬件平台实现。

Xen中的各个虚拟机之间的通信都是通过事件通道和共享内存来实现的,为保证Xen的虚拟机监控器尽量小及其稳定性,主要在Dom0里对虚拟机之间的通信进行控制,并对其虚拟桥部分进行功能改动,包括虚拟桥出入口的安全标记管理、虚拟桥不同安全标记之间的过滤等。

多级安全代理原型系统主要实现了基于 BLP模型的信息安全流控规则,即信息可以由低安全级流向高安全级;基于自动的信息降级功能还在规划中。

原型系统的其它相关工作包括安全标记的管理及其界面功能。

VBMSM原型的研制结果证明了VBMSM的技术可行性。

5 结语

VBMSM 是一个基于虚拟化技术的多级安全机制模型。VBMSM 从结构上对传统的多级安全模型进行了修改,它通过多个单级安全系统的安全互联实现了多级安全的应用要求。VBMSM 克服了基于安全操作系统方式的多级安全系统难以形式化描述和验证的局限性,因此可以用于高安全性、高保证性系统的设计和建设中。

[1] 石文昌,孙玉芳.安全操作系统研究的发展(上)[J].计算机科学,2002,(29)6:1-8.

[2] Clark Weissman. Security Controls in the ADEPT-50 Time Sharing System[C].[s.l.]:AFIPS Press, 1969:119-133.

[3] BELL D E,LAPADULA LJ.Secure Computer System:Unified Exposition and Multics Interpretation[R].[s.l.]:MITRE Corporation,1976.

[4] BIBA K J.Integrity Considerations for Secure Computer Systems[R]. USA:USAF Electronic Systems Division,1977.

[5] Department of Defense. Trusted Computer System Evaluation Criteria (Orange Book) [EB/OL].(1983-08-15)[2012-03-01]. http:// csrc.nist.gov/publications/history/dod85.pdf.

[6] HARRISON W S,HANEBUTTE N,OMAN P W,et al.The MILS Architecture for a Secure Global Information Grid[J].The Journal of Defense Software Engineering,2005(10):20-24.

[7] SABELFELD A.Language-based Information-flow Security[J].IEEE Journal on Selected Areas in Communication,2003,21(01):5-19.

[8] MYERS AC,LISKOV B.Protecting Privacy by Using the Decentralized Label Model[J]. ACM Transactions on Software Engineering and Methodology, 2000,9(4)(2000): 410-442.

[9] ZELDOVICH N, SILAS Boyd-Wickizer,KOHLER E,et al.Making Information Flow Explicit in HiStar[J].Communications of the ACM,2011,54(11):93-101.

[10] EFSTATHOPOULOS P,KROHN M,VANDEBOGART S,et al.Labels and Event Processes in the Asbestos Operating System[M].Kingdom: ACM Press, 2005:17-30.

[11] Jim Alves-Foss, HARRISON W,OMAN C,et al.The MILS Architecture for High-assurance Embedded Systems[J]. International Journal of Embedded Systems,2006,2(3/4):1-9.

[12] SAILER R,VALDEZ E,JAEGER T,et al.sHype: Secure Hypervisor Approach to Trusted Virtualized Systems[R]. New York: Watson Research Center,2005.

[13] Sailer R,Jaeger T,Valdez E, et al. Building a MAC-based Security Architecture for the Xen Open-source Hypervisor[C].Washington: IEEE Press,2005:140-148.

[14] INDRAJIT R,HANY R,SRIANTH S,et al.Airavat:Security and Privacy for MapReduce[C].[s.l.]:USENIX Association,2010:297-312.

[15] 王竹,戴一奇.一种基于BLP模型的多级安全局域网[J].通信技术.2012,45(06):1-4.

[16] 汤伟,陆松年,杨树堂.基于可信平台的多级安全访问控制模型研究[J].信息安全与通信保密,2009(06):93-96.

[17] 郑志蓉.可信计算平台可信计算基构建研究[J].信息安全与通信保密,2012(09):116-117.

[18] 段小芳,安红章,谢上明.空间通信安全协议研究[J].通信技术,2009,42(12):101-103,108.

猜你喜欢
信息流代理机制
基于信息流的作战体系网络效能仿真与优化
基于信息流的RBC系统外部通信网络故障分析
代理圣诞老人
战区联合作战指挥信息流评价模型
自制力是一种很好的筛选机制
破除旧机制要分步推进
基于任务空间的体系作战信息流图构建方法
注重机制的相互配合
108名特困生有了“代理妈妈”
打基础 抓机制 显成效