如何理解Xen sHype/ACM安全架构
2015-06-16 13:54
453 查看
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)安全架构所代替,实在令人惋惜。
sHype/ACM的架构如上图所示,主要有三部分组成:
sHype/ACM安全模型的主体是虚拟机,即domain,客体是资源。资源主要包括以下三种类型:
sHype/ACM策略在配置完成后是XML可读格式的文件,Xen会将其编译成二进制格式,以供VMM使用。
性能方面,ChineseWall策略主要负责域操作,这部分代码不是性能攸关的,因此时间开销极小。Simple TE策略主要负责事件通道和grant table,文章称该部分也没有引入任何时间开销。这部分与开头的1%和9%的时间开销不太一致,笔者还不太理解。
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%的时间开销不太一致,笔者还不太理解。
相关文章推荐
- android开发者应该收藏的优秀博客和技术网站
- 网站安全狗最新版绕过测试
- 屏幕尺寸、密度,分辨率查询网站(手机、平板、显示器)
- 网站文件夹结构
- How-to: resolve regionserver died with "No lease on /hbase/oldWALs/..."
- 逻辑架构和物理架构
- 大型商贸系统(进货管理)技术解析(一)MVC架构搭建
- 做个网站玩玩-青集社区的诞生
- 大访问量网站架构设计
- CDNPlus的作用和架构
- 一例千万级pv高性能高并发网站架构
- 网站访客手机号码、qq号码的获取哪家成功率高
- Android基本架构
- 《Java项目开发全程实录》的实例08企业门户网站(Jsp+javabean)学习笔记
- 查找依赖结构有个不错的网站(备忘)
- 一个国外的ios学习网站
- 高并发高流量的大型网站架构设计
- 各家处理器资源网站
- 架构师速成2-概述
- 架构师速成2-概述 分类: 架构师速成 2015-06-15 21:40 228人阅读 评论(0) 收藏