[发明专利]一种响应Xen客户硬件虚拟域可信计算TOCTOU攻击的方法无效
| 申请号: | 201010246036.X | 申请日: | 2010-08-05 |
| 公开(公告)号: | CN101950333A | 公开(公告)日: | 2011-01-19 |
| 发明(设计)人: | 常晓林;邢彬;左向晖;韩臻;刘吉强;窦招辉 | 申请(专利权)人: | 北京交通大学 |
| 主分类号: | G06F21/00 | 分类号: | G06F21/00 |
| 代理公司: | 北京正理专利代理有限公司 11257 | 代理人: | 张文祎 |
| 地址: | 100044*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 响应 xen 客户 硬件 虚拟 可信 计算 toctou 攻击 方法 | ||
技术领域
本发明涉及计算机信息安全可信计算领域,是一种在Xen硬件虚拟域环境下响应TCG可信计算TOCTOU攻击的有效方法。
背景技术
TCG体系结构利用固化在计算机主板上的TPM硬件芯片的PCR寄存器的内容来判定实际平台的安全性。然而大多数商用操作系统的设计模式使得仅仅提供软件加载验证的TCG体系结构容易遭受TOCTOU(time of check vs time of use)的攻击,该攻击被称为可信计算TOCTOU攻击。
Xen虚拟机是一个成熟的开放源代码虚拟化产品,包括一个虚拟机监控器、一个特权域和多个客户虚拟域。虚拟机监控器位于系统硬件平台与虚拟域操作系统软件之间,负责监控下层硬件,并将硬件抽象成可管理调度的实体供上层计算域使用,还为上层虚拟域提供有效的隔离机制,例如,所有内存更新都要经过虚拟机监控器的确认,使得各个虚拟域能实现资源隔离、性能隔离、故障隔离;一个Xen虚拟机至少要运行虚机监控器和特权域,即Xen虚拟机启动后,特权域是必须而且首先进入的操作系统,然后再根据用户的指令启动客户虚拟域;特权域具有最高的权限,可以利用虚拟域管理工具控制客户虚拟域,包括创建、删除和访问虚拟域的物理设备等。
Xenstore是Xen提供的一个位于特权域的树状数据库,存储了所有正在运行的虚拟域的配置信息,Xenstore提供一种“watch”监听机制,即当所监听的值发生改变的时候,立即提醒监听方,由监听方去获取变化后的值。
Xen虚拟机有2种工作模式,包括完全虚拟化和半虚拟化,并在不同的工作模式采用不同的虚拟设备模型。Xen虚拟机在完全虚拟化模式下,采用仿真设备模型,客户虚拟域需要特殊硬件的支持才能运行,因此完全虚拟化模式下的客户虚拟域又称为客户硬件虚拟域。客户硬件虚拟域是通过位于特权域用户空间的设备仿真器来实现对硬件的访问,对于任何一个硬件设备,设备仿真器必须有该硬件设备的仿真设备模块,否则客户硬件虚拟域将无法访问该硬件设备。图1给出了特权域处理一个来自客户硬件虚拟域的TPM指令的流程,其中可信仿真设备模块是设备仿真器的一个模块。特权域为每个客户硬件虚拟域提供一个独立虚拟可信设备(一个虚拟可信设备就是特权域用户空间的一个进程),每一个虚拟可信设备都有惟一标识,用变量vID来表示;每个客户硬件虚拟域都有一个标识(DomID);任何来自客户硬件虚拟域的TPM指令将经过可信仿真设备模块传到相应虚拟可信设备,虚拟可信设备将TPM指令的处理结果经过可信仿真设备模块传回到客户硬件虚拟域。
针对客户虚拟域发生的可信计算TOCTOU攻击,目前有许多基于虚机监控器的检测方法,但是如何来响应检测到的客户虚拟域发生的可信计算TOCTOU攻击,也就是如何让客户虚拟域的虚拟可信设备正确地反映客户虚拟域平台状态,目前还没有公开发表的方法。
发明内容
本发明的目的是提供一种响应Xen客户硬件虚拟域可信计算TOCTOU攻击的方法,在有效防范攻击的前提下充分考虑了系统的性能。该方法包括:当虚拟机监控器检测到攻击时,立即通知可信仿真设备模块;可信仿真设备模块接到通知后,一方面伪造TPM指令对被攻击的客户硬件虚拟域所使用的虚拟可信设备的PCR寄存器进行内容更新,另一方面对虚拟可信设备已经处理的、但处理结果还没有离开可信仿真设备模块的TPM指令,做相应的处理,保证这些TPM指令的处理结果能正确反映相应的客户硬件虚拟域平台状态。
本发明的具体实现方法为:
一种响应Xen客户硬件虚拟域可信计算TOCTOU攻击的方法,该方法的组件包括在特权域可信仿真设备模块中实现的转发模块PickM和攻击信号处理模块FpakM、在特权域内核空间实现的转发模块AgentM和在虚拟机监控器中实现攻击管理模块VMMmon;此外,在特权域与虚拟机监控器之间定义1个超级调用T_hypercall和10个虚拟中断T_vIRQ;响应方法的具体步骤如下:
步骤1,启动计算机,运行带有VMMmon模块、T_hypercall和T_vIRQ的Xen虚拟机监控器,并运行带有T_hypercall、T_vIRQ、FpakM和PickM的特权域系统,然后加载AgentM模块,在AgentM模块完成初始化过程后,接着在特权域执行启动客户硬件虚拟域的命令;在客户硬件虚拟域的内核启动之前,该客户硬件虚拟域所对应的可信仿真设备模块将以线程方式运行PickM模块,PickM模块在其初始化过程中将客户硬件虚拟域的DomID传递给AgentM模块,然后AgentM模块将DomID与T_vIRQ的绑定信息通过T_hypercall发送给VMMmon;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京交通大学,未经北京交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010246036.X/2.html,转载请声明来源钻瓜专利网。





