虚拟化体系结构下度量技术总结

14 篇文章 0 订阅
7 篇文章 0 订阅
虚拟化体系结构下度量技术总结 http://hi.baidu.com/mars208/blog/item/de0c823ad29763f5838b13ee.html
        度量是可信计算最基本、最核心的一项关键技术。从TPM度量BIOS,在到OS、应用程序,建立系统信任就是依靠度量来完成。度量方法种类非常多,从最经典的IMA度量架构,到扩展的PRIMA,实现了操作系统内核模块、内核服务、进程的加载时的度量。再到Linux系统内核数据结构、关键变量的LKIM度量方法,再到一些动态度量方法,度量程序代码段、数据段等,采用COW(Copy on Write)实现一致性度量。
        上述度量方法都是在单个系统中实现,那么对于多个系统的虚拟化架构如何进行度量,成为了近两年度量研究的热点内容,提出了一些经典的解决方案,例如HIMA、VIMM等。
        下面我将对虚拟化体系结构下的度量技术的新技术研究点做一个总结。
1.度量内容、范围大幅度扩大。
        传统度量方法主要是针对程序的文件、代码镜像、内核模块、内核数据变量、程序内存页等进行度量,而在基于Hypervisor的体系下,可以度量系统调用、中断、异常等事件,这些事件发生时对系统的最新状态实施动态度量,这才是真正意义上的动态度量;还能够度量Guest OS的寄存器、堆栈等,度量的内涵变得越来越丰富。
2.调试技术、监控技术应用于度量。
        为了监控guest OS,Hypervisor需要查看guest OS的寄存器,堆,栈,主要包括:事件类型(如保存在EAX寄存器中的系统调用号),当前进程的页基地址(在CR3寄存器中),event的变量参数(存储在寄存器、堆栈中),运行进程的指令指针和栈指针。监控这些系统调用、中断、异常事件时必须陷入Hypervisor,实现方法就是设置一个非法地址,导致protection fault陷入Hypervisor,Hypervisor再进行度量。另外此时需要保存正确的系统调用返回地址,就采用调试寄存器保存,以便Hypervisor检查后能够设置Context的正确返回地址。
3.NX标志位控制度量的方法。
        通过Hypervisor层控制page的NX标志位,来验证Guest OS运行代码。所有Guest OS的new page标记上NX,当guest OS执行这些page代码时就会触发page fault,Hypervisor接管控制然后对这些page进行验证,只有验证通过后才取消这些page的NX标记,这些可执行代码才能执行。
4.其他方面的度量研究,如内存页的标识和保护,可执行内存页的重映射度量等等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值