如何理解Xen sHype/ACM安全架构


2005年,IBM Watson研究中心的Reiner Sailer等人在21st Annual Computer Security Applications Conference (ACSAC 2005)会议上发表文章《Building a MAC-basedsecurity architecture for the Xen open-source hypervisor》,第一次提出了Xen的安全架构sHype/ACM,该框架将强制访问控制(MAC)机制加入到Xen中,实现虚拟机之间的信息隔离,并尽可能降低隐蔽通道的威胁。文章称该方案的安全性能达到Common Criteria(CC)标准的EAL4级别,引入的性能攸关路径时间开销不超过1%,半虚拟化时间开销不超过9%。sHype/ACM是一个通用的架构,一开始是在rHype researchhypervisor和PHYP商业虚拟机上实现的,后来才对Xen进行实现。

sHype/ACM安全框架虽然从2005年就提出,但后来IBM没有再继续跟进、完善相关策略,仅有的Simple TE和Chinese Wall策略过于简单,无法适应企业应用需求。因此才会出现sHype/ACM从Xen 3.0左右集成到官方源码,在Xen 4.2开始就被废弃,由美国国家安全局NSA提出的XSM/Flask(类似于SELinux)安全架构所代替,实在令人惋惜。


第1章           应用场景


文中举了客户订单系统的例子,如下图所示。Order虚拟机负责订单处理,Advertising虚拟机负责营销,Computing虚拟机负责计算任务,vDisk Server虚拟机负责虚拟磁盘管理。客户需求是Order虚拟机和Advertising虚拟机都需要与vDisk Server虚拟机进行通信,这样就可以访问其虚拟磁盘,其它形式的虚拟机间通信都不被允许。这个场景是比较适合用sHype/ACM策略来实现。

 


第2章           sHype/ACM架构




sHype/ACM的架构如上图所示,主要有三部分组成:

1)策略管理器,文中说策略管理器位于策略管理VM中,但是实际该功能还是在Dom0中实现的;

2)Access Control Module(ACM),负责根据策略进行授权决策;

3)钩子函数,负责依据ACM的决策结果,对VM的访问请求进行访问控制。


文章称sHype/ACM架构支持多种MAC策略,包括Biba、BLP、Caernarvon、TE、Chinese Wall等,但是最终只实现了Simple TE和Chinese Wall。

sHype/ACM安全模型的主体是虚拟机,即domain,客体是资源。资源主要包括以下三种类型:


1)由VMM控制的VM之间共享的资源,包括事件通道、共享内存和域操作等。

2)由MAC domain控制的VM之间共享的资源,包括本地vLAN和虚拟磁盘等。

3)由MAC-bridging domain控制的VMM之间共享的资源,包括跨VMM vLAN等。


第3章           实现


文章实现了ChineseWall模型和Simple TE模型。两个策略type标签可以分开定义,分别称为CW-type和TE-type,但是在策略配置工具里这两个type是一起定义的。其中,CW-type只针对主体,即虚拟机,而TE-type则针对主体和客体。

sHype/ACM策略在配置完成后是XML可读格式的文件,Xen会将其编译成二进制格式,以供VMM使用。


3.1           Chinese Wall策略


Chinese Wall策略为每个VM打上一个type标签,并制定了冲突集,可以type标签加入到冲突集中。冲突集中的两个虚拟机禁止同时在同一个VMM中运行。这样可以有效防止隐蔽通道。


3.2           Simple TE策略


Simple TE策略主要约束VM对资源的访问,每个VM和资源可以打上多个type标签,这样的多个type标签称为coalition。只要某个VM与资源的coalition里含有至少一个共同的type标签,Simple TE策略就允许VM访问该资源。


第4章           实验


sHype/ACM架构实现了2600行代码,打了三个安全钩子,分别位于域操作、事件通道和共享内存的位置。

性能方面,ChineseWall策略主要负责域操作,这部分代码不是性能攸关的,因此时间开销极小。Simple TE策略主要负责事件通道和grant table,文章称该部分也没有引入任何时间开销。这部分与开头的1%和9%的时间开销不太一致,笔者还不太理解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Casbin开源社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值