CN101551839B - 多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 - Google Patents
多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 Download PDFInfo
- Publication number
- CN101551839B CN101551839B CN2009100802942A CN200910080294A CN101551839B CN 101551839 B CN101551839 B CN 101551839B CN 2009100802942 A CN2009100802942 A CN 2009100802942A CN 200910080294 A CN200910080294 A CN 200910080294A CN 101551839 B CN101551839 B CN 101551839B
- Authority
- CN
- China
- Prior art keywords
- virtual
- domain
- vtpm
- tpm
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及一种多虚拟域环境下针对TPM可信计算的TOCTOU攻击响应方法,方法组件包括特权域中实现的功能增强的特权域内核心文件、功能增强的虚拟域管理工具、功能增强的vTPM设备程序和特权域代理模块,以及虚拟机监控器中实现内存监控模块。特权域与虚拟机监控器之间额外定义了1个hypercall(T_hypercall),用于特权域向虚拟机监控器传递信息,定义10个虚拟中断(T_vIRQ),用于虚拟机监控器向特权域传递关于某个可信虚拟域的信息,每个虚拟中断对应一个运行的可信虚拟域。本发明的方法通过将虚拟TPM设备标识号与虚拟中断的绑定,解决了现有的针对TPM可信计算的TOCTOU攻击响应方法无法工作在多虚拟域环境的问题。
Description
技术领域
本发明涉及计算机信息安全可信计算领域,特别是涉及一种多虚拟域环境下针对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指令。
Claims (1)
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指令,再将结果传递出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100802942A CN101551839B (zh) | 2009-03-17 | 2009-03-17 | 多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100802942A CN101551839B (zh) | 2009-03-17 | 2009-03-17 | 多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551839A CN101551839A (zh) | 2009-10-07 |
CN101551839B true CN101551839B (zh) | 2010-10-27 |
Family
ID=41156084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100802942A Expired - Fee Related CN101551839B (zh) | 2009-03-17 | 2009-03-17 | 多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101551839B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750470B (zh) * | 2012-05-22 | 2014-10-08 | 中国科学院计算技术研究所 | 全虚拟化环境下启动加载器的可信验证方法和系统 |
CN108596598A (zh) * | 2018-04-27 | 2018-09-28 | 北京可信华泰信息技术有限公司 | 一种可信软件列表的更新方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917424A (zh) * | 2006-08-30 | 2007-02-21 | 深圳兆日技术有限公司 | 一种可信计算模块功能升级的方法 |
CN1988534A (zh) * | 2005-12-23 | 2007-06-27 | 联想(北京)有限公司 | 可信计算平台和在内核态下访问tpm服务的方法 |
-
2009
- 2009-03-17 CN CN2009100802942A patent/CN101551839B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988534A (zh) * | 2005-12-23 | 2007-06-27 | 联想(北京)有限公司 | 可信计算平台和在内核态下访问tpm服务的方法 |
CN1917424A (zh) * | 2006-08-30 | 2007-02-21 | 深圳兆日技术有限公司 | 一种可信计算模块功能升级的方法 |
Non-Patent Citations (2)
Title |
---|
刘宁.基于TPM的可信计算的研究.北京机械工业学院学报.2008,23(4),50-52. * |
谭兴烈.可信计算平台中的关键部件TPM.信息安全与通信保密.2005,29-31. * |
Also Published As
Publication number | Publication date |
---|---|
CN101551839A (zh) | 2009-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100938718B1 (ko) | 플랫폼 관리 능력을 os에 반출하기 위한 efi 기반메커니즘 | |
CN101488174B (zh) | 动态透明的虚拟可信平台模块的实现方法 | |
CN102811239B (zh) | 一种虚拟机系统及其安全控制方法 | |
WO2020028213A1 (en) | Remediation of flush reload attacks | |
DE202019005672U1 (de) | System zum Verhindern eines unautorisierten Zugriffs auf verschlüsselten Speicher | |
CN103034510A (zh) | 可按需要动态调整的uefi bios快速安全启动方法 | |
CN105610819B (zh) | 提供服务器信息的查询服务的方法和装置 | |
US20140181811A1 (en) | Hypervisor modification of advanced configuration and power interface (acpi) tables | |
CN104008330A (zh) | 基于文件集中存储及隔离技术的数据防泄漏系统及其方法 | |
CN105574415A (zh) | 一种基于信任根的虚拟机安全管理方法 | |
DE202017007430U1 (de) | Erkennen von Bussperrbedingungen und Vermeiden von Bussperren | |
US8429322B2 (en) | Hotplug removal of a device in a virtual machine system | |
CN101551839B (zh) | 多虚拟域环境下针对tpm可信计算的toctou攻击响应方法 | |
RU2606565C2 (ru) | Агент микропрограммного обеспечения | |
CN105550574B (zh) | 基于内存活动的边信道攻击取证系统及方法 | |
CN107608758A (zh) | 一种虚拟机文件完整性监控方法及系统 | |
CN102122330A (zh) | 基于虚拟机的“In-VM”恶意代码检测系统 | |
CN101599115B (zh) | 一种响应toctou攻击的轻量级方法 | |
CN104346572A (zh) | 一种通用的外置式智能终端安全运行环境构建方法 | |
CN101539973B (zh) | 完整性度量技术在可信虚拟域无缝运行的方法 | |
US9128730B2 (en) | Method for executing bios tool program in non-SMI mechanism | |
CN101636717B (zh) | 网格处理控制装置 | |
CN101488176B (zh) | 一种针对tpm可信计算的toctou攻击响应方法 | |
CN101488175B (zh) | 基于轮询机制的防止可信客户虚拟域启动崩溃的方法 | |
Carvalho et al. | PCI express hotplug implementation for ATCA based instrumentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101027 Termination date: 20120317 |