首页> 中国专利> 多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法

多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法

摘要

本发明涉及一种多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法,方法组件包括特权域中实现的功能增强的特权域内核心文件、功能增强的虚拟域管理工具、功能增强的vTPM设备程序和特权域代理模块,以及虚拟机监控器中实现内存监控模块。特权域与虚拟机监控器之间额外定义了1个hypercall(T_hypercall),用于特权域向虚拟机监控器传递信息,定义10个虚拟中断(T_vIRQ),用于虚拟机监控器向特权域传递关于某个可信虚拟域的信息,每个虚拟中断对应一个运行的可信虚拟域。本发明的方法通过将虚拟TPM设备标识号与虚拟中断的绑定,解决了现有的针对TPM可信计算的TOCTOU攻击响应方法无法工作在多虚拟域环境的问题。

著录项

  • 公开/公告号CN101551839A

    专利类型发明专利

  • 公开/公告日2009-10-07

    原文格式PDF

  • 申请/专利权人 北京交通大学;

    申请/专利号CN200910080294.2

  • 申请日2009-03-17

  • 分类号G06F21/00(20060101);

  • 代理机构11257 北京正理专利代理有限公司;

  • 代理人张占榜

  • 地址 100044 北京市海淀区上园村3号

  • 入库时间 2023-12-17 22:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-08

    未缴年费专利权终止 IPC(主分类):G06F21/00 授权公告日:20101027 终止日期:20120317 申请日:20090317

    专利权的终止

  • 2010-10-27

    授权

    授权

  • 2009-12-02

    实质审查的生效

    实质审查的生效

  • 2009-10-07

    公开

    公开

说明书

技术领域

本发明涉及计算机信息安全可信计算领域,特别是涉及一种多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法。本发明的响应方法通过更新可信平台模块存储的平台信息来防御针对TPM可信计算的TOCTOU攻击。

背景技术

目前大多数商用操作系统将内核程序(包括加载模块)设计成拥有超级用户权限,而且内核程序使用共享线性内存以便为提高系统效率,这导致了仅仅提供软件加载验证的TCG体系结构容易遭受TOCTOU(time of check vstime of use)的攻击。利用Xen虚拟机可以实现一个纯软件方案,来监测针对客户虚拟域TPM可信计算的TOCTOU攻击。目前也有针对TPM可信计算的TOCTOU攻击响应方法。基于图1所示的将虚拟化技术与可信计算技术有机结合的终端平台安全解决方案,作者(Sergey Bratus,Nihal D’Cunha,EvanSparks,Sean Smith,TOCTOU,Traps,and Trusted Computing,TRUST2008)设计了监测以及响应TOCTOU攻击的方案,方法的示意图见图2。针对图2响应系统的安全缺陷,北京交通大学常晓林老师申请了一个克服以上缺陷的响应方法的专利(申请号200910078201.2,一种针对TPM可信计算的TOCTOU攻击响应方法,如图4所示。),图3为该响应方法的组件示意图,该方法组件包括功能增强的vTPM设备程序和特权域代理模块。

但是以上两种响应方法只适用于单可信虚拟域环境,而在实际大多数情况下,Xen虚拟环境中很可能同时运行多个客户虚拟域,我们有必要实现一种多域环境下针对TOCTOU攻击的响应方法。

发明内容

本发明的目的在于为避免上述现有技术中的不足而提供的一种多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法。本发明的方法采用更新TPM存储的平台信息的手段,响应方法的组件包括特权域中实现的(1)功能增强的特权域内核心文件、(2)功能增强的虚拟域管理工具、(3)功能增强的vTPM设备程序、和(4)特权域代理模块,以及虚拟机监控器中实现内存监控模块。在本发明提供的方法中,特权域与虚拟机监控器之间额外定义了1个hypercall(T_hypercall),用于特权域向虚拟机监控器传递信息,定义10个虚拟中断(T_vIRQ),用于虚拟机监控器向特权域传递关于某个可信虚拟域的信息,每个虚拟中断对应一个运行的可信虚拟域。

本发明的目的可以通过以下措施来达到:

1.多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法,方法组件包括特权域中实现的功能增强的特权域内核心文件、功能增强的虚拟域管理工具、功能增强的vTPM设备程序和特权域代理模块,以及虚拟机监控器中实现内存监控模块;响应方法的具体步骤如下:

步骤1,特权域中通过功能增强的虚拟域管理工具启动虚拟域,功能增强虚拟域管理工具维护一张T_vIRQ与vTPM设备标识号对应表(每个可信客户虚拟域有一个独立的vTPM设备标识号),该对应表存放在/etc目录下;虚拟域管理工具为每个启动的可信客户虚拟域分配一个没有使用的T_vIRQ,同时更新对应表;当可信客户虚拟域不工作时,虚拟域管理工具解除该虚拟域与T_vIRQ的绑定关系,同时更新对应表;每当对应表内容发生变化时,虚拟域管理工具都将该对应表传递给特权域代理模块,然后特权域代理模块通过T_hypercall传递给虚拟机监控器的内存监控模块;

步骤2,当特权域代理模块接收到虚拟机监控器通过T_vIRQ发来的TOCTOU攻击消息后,会立即根据T_vIRQ的标识号到/etc/目录下的对应表查找对应项,获得vTPM设备标识号;然后在/proc目录下创建文件名为vTPM%s的文件,其中%s表示vTPM设备标识号,并将内容置成1,表示虚拟域内存已被篡改;

步骤3,功能增强的vTPM设备程序接收到来自客户虚拟域的TPM指令时,先不处理TPM指令,而是根据自身的vTPM设备标识号去查找是否有/proc/vTPM$s文件,如果没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc/vTPM$s文件的内容置成0,然后再处理TPM指令;

步骤4,功能增强的vTPM设备程序将TPM指令的处理结果传出vTPM设备程序之前,也先根据自身的vTPM设备标识号去查找是否有/proc/vTPM$s文件,如果没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc/vTPM$s文件的内容置成0,然后重新处理一遍刚才处理的TPM指令,再将结果传递出去。

本发明的原系统是指特权域部署了纯软件实现的虚拟TPM(vTPM)设备程序、vTPM设备管理工具、vTPM后端驱动、和支持vTPM的虚拟域管理工具,客户虚拟域安装了vTPM前端驱动软件;在特权域每个可信客户虚拟域的虚拟TPM设备用惟一的设备标号来标识;客户虚拟域可信软件可以基于特权域中的vTPM设备程序无缝地运行。

在多可信域环境下,属于下面情况的TPM指令都将能正确地反映客户虚拟域平台当前状态:(1)在监测到TOCTOU攻击时TPM指令处理结果还没有被送出虚拟TPM设备程序的TPM指令,(2)在监测到TOCTOU攻击时vTPM设备程序还没有接收到的TPM指令。

本发明相比现有技术具有如下优点:

1、提供了适用于多域环境的针对TOCTOU攻击的响应方法。

2、由于采用事件驱动的工作模式,而且避免额外的进程调度,因此本发明的方法保持了原系统资源有效利用率。

3、本发明的方法扩展性强,可以无缝地与各种基于Xen虚拟机的监视系统协同工作,来防御针对TPM可信计算的TOCTOU攻击。

附图说明

图1为一种客户虚拟域基于虚拟TPM进行可信计算的方法的组件框架示意图。

图2是本发明中提到的现有防御TOCTOU攻击的方法的示意图。

图3是本发明提到的申请号为200910078201.2的专利申请提供的TOCTOU攻击响应方法的组件示意图。

图4是本发明提到的申请号为200910078201.2的专利提供的TOCTOU攻击响应方法的vTPM设备程序的工作流程图。

图5是本发明设计的TOCTOU攻击响应方法的组件示意图。

图6是本发明设计的的功能增强的vTPM设备程序的工作流程图。

具体实施方式

本发明假设图1系统已经部署,下面给出本发明的响应方法的部属步骤:

步骤1,将内存监控模块整合到虚拟机监控器,然后在虚拟机监控器和特权域内核增加T_hypercall和T_vIRQ,最后重新启动计算机。

步骤2,将功能增强的虚拟域管理工具替换图1方法提供的虚拟域管理工具。

步骤3,将功能增强的vTPM设备程序替换图1方法提供的vTPM设备程序。

步骤4,在特权域中加载特权域代理模块。

下面结合图5和图6对本发明设计TOCTOU攻击响应方法的工作流程作详述:

(1).特权域中通过功能增强的虚拟域管理工具启动虚拟域,功能增强虚拟域管理工具维护一张T_vIRQ与vTPM设备标识号对应表(每个可信客户虚拟域有一个独立的vTPM设备标识号),该对应表存放在/etc目录下。虚拟域管理工具为每个启动的可信客户虚拟域分配一个没有使用的T_vIRQ,同时更新对应表;当可信客户虚拟域不工作时,虚拟域管理工具解除该虚拟域与T_vIRQ的绑定关系,同时更新对应表。每当对应表内容发生变化时,虚拟域管理工具都将该对应表传递给特权域代理模块,然后特权域代理模块通过T_hypercall传递给虚拟机监控器的内存监控模块。

(2).当特权域代理模块接收到虚拟机监控器通过T_vIRQ发来的TOCTOU攻击消息后,会立即根据T_vIRQ的标识号到/etc/目录下的对应表查找对应项,获得vTPM设备标识号;然后在/proc目录下创建文件名为vTPM%s的文件,其中%s表示vTPM设备标识号,并将内容置成1,表示虚拟域内存已被篡改。

(3).功能增强的vTPM设备程序接收到来自客户虚拟域的TPM指令时,先不处理TPM指令,而是根据自身的vTPM设备标识号去查找是否有/proc/vTPM$s文件,如果没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc/vTPM$s文件的内容置成0,然后再处理TPM指令。

功能增强的vTPM设备程序将TPM指令的处理结果传出vTPM设备程序之前,也先根据自身的vTPM设备标识号去查找是否有/proc/vTPM$s文件,如果没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc/vTPM$s文件的内容置成0,然后重新处理一遍刚才处理的TPM指令,再将结果传递出去。

通过上述方法,在多可信虚拟域环境下,属于下面情况的TPM指令都将能正确地反映客户虚拟域平台当前状态:(1)在监测到TOCTOU攻击时TPM指令处理结果还没有被送出虚拟TPM设备程序的TPM指令,(2)在监测到TOCTOU攻击时vTPM设备程序还没有接收到的TPM指令。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号