一种针对TPM可信计算的TOCTOU攻击响应方法技术

技术编号:3841455 阅读:418 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种针对TPM可信计算的TOCTOU攻击响应方法,方法组件包括功能增强的虚拟TPM设备程序和特权域代理模块。和现有的方法一样采用了更新PCR寄存器信息的方式,但是更新事件的产生和执行方式不同,确保了下面两种情况的TPM指令都能正确地反映客户虚拟域平台当前状态:1在监测到TOCTOU攻击时TPM指令处理结果还没有被送出虚拟TPM设备程序的TPM指令,2在监测到TOCTOU攻击时还没有被虚拟TPM设备程序接收的TPM指令。本发明专利技术在考虑安全的同时充分考虑了系统性能,通过采用事件驱动、避免额外的用户空间进程调度措施来确保了系统资源有效利用率和可扩展性。

【技术实现步骤摘要】

本专利技术涉及计算机信息安全可信计算领域,特别是指一种针对TPM可信计算的TOCTOU攻击响应方法。本专利技术的响应方法利用Xen虚拟机技术,通过更新可信平台模块存储的平台信息来防御针对TPM可信计算的TOCTOU攻击。
技术介绍
计算机信息的安全问题很难单靠软件解决。为了解决现有PC机结构上的不安全问题,可信计算平台联盟TCPA (后来更名为TCG)提出通过增强现有的终端体系结构的安全性来保证整个系统的安全,主要思路是在各种终端硬件平台上引入具有安全存储和加密功能的可信平台模块(又称为可信芯片)TPM;将启动操作系统的过程分为几个相对独立的层,以TPM作为可信计算平台的信任根,下层先对上层进行完整性度量,并将度量结果存入TPM芯片的平台寄存器PCR中,然后传递系统的运行控制权,层层迭代,构建一条信任链。PCR中的数据在计算机启动后只能进行摘要值的扩展,不能重置和篡改,因此用户可以根据相应PCR的数值判断当前运行环境是否可信,某些环节是否出现安全问题。目前大多数商用操作系统将内核程序(包括加载模块)设计成拥有超级用户权限,而且内核程序使用共享线性内存以便为提高系统效率,这导致了仅仅提供软件加载验证的TCG体系结构容易遭受TOCTOU (time of check vstime of use)的攻击,具体而言,攻击者利用程序度量和程序使用这两个时间点的时间差,对程序的内存进行篡改,导致TPM所提供的平台信息无法3反映出实际平台的运行情况。防御针对TPM可信计算的TOCTOU攻击需要解决两个问题(1)如何检测TOCTOU攻击;(2)如何响应攻击。 一 种检测TOCTOU攻击的方案是通过修改内存管理单元(MMU),使其对内存更新进行实时监测,然而这种基于硬件的解决方案的可扩展性差。与此同时,利用开放源代码虚拟化产品Xen虚拟机技术可以实现一个具有上述检测方案的功能的纯软件解决方案。Xen虚拟机包括一个虚拟机监控器、 一个特权虚拟计算域和多个客户虚拟计算域,见图l。每个计算域运行一个操作系统,虚拟机监控器位于系统硬件平台与虚拟计算域操作系统软件之间,负责监控下层硬件,并将硬件抽象成可管理调度的实体供上层计算域使用,所有内存更新都要经过虚拟机监控器的确认; 一个Xen虚拟机至少要运行虚拟机监控器和特权域,即Xen虚拟机启动后,特权域是必须而且首先进入的操作系统,然后再根据具体情况创建和启动客户虚拟域;特权计算域具有最高的权限,特权域利用虚拟域管理工具控制客户计算域,包括创建、删除、访问物理设备等。图2为一种将虚拟化技术与可信计算技术有机结合的终端平台安全解决方案,通过在特权域为客户虚拟域提供一个纯软件TPM设备,客户虚拟域可以实现进行可信计算。针对如何响应所检测到的TOCTOU攻击,作者(Sergey Bratus, NihalD,Cunha, Evan Sparks, Sean Smith, TOCTOU, Traps, and Trusted Computing,TRUST 2008)提出了将捕获的攻击信息通过安全通道迅速反映到客户虚拟域的TPM设备PCR寄存器。流程如图3所示(1)虚拟域内核模块向虚拟机监控器报告所要监测的应用程序内存地址,(2)虚拟机监控器接收到从虚拟域传来的地址后,就会监测对它们的任何修改, 一旦监测到内存篡改,虚拟机监控器会向特权域发出一个虚拟中断,(3)特权域的内核接收到中断后,vTPM后端驱动会伪造一个来自客户虚拟域的TPM指令包,通过vTPM管理工具传递给vTPM设备程序,该指令内容是将一组随机数对指定的PCR寄存器内容进行扩展。由于CPU调度的不确定性,上述响应方法在下列情况下存在安全缺陷: 假设网络中一个客户端要对正在被检测的虚拟域进行远程验证,则虚拟域通 过vTPM前端驱动向vTPM后端驱动发送一个读PCR值请求包,这个请求 被放入vTPM后端驱动与vTPM设备管理工具通信管道;而与此同时,虚拟 机监控器监测到该虚拟域内存被篡改,随即通知vTPM后端驱动会产生一个 更新PCR的请求,这个请求也被放入请求队列,有可能被置于先前读PCR 请求包之后;这样就会出现一个问题,返[Hj给虚拟域用于远程验证的PCR 信息不能反映出内存已被篡改了,即不能反映客户虚拟域平台的3前安全状 态。
技术实现思路
本专利技术的目的在于为避免上述现有技术中的不足而提供的一种针对 TPM可信计算的TOCTOU攻击响应方法。提出一种更新TPM存储的平台 信息的方法,本专利技术的响应方法由两部分组成(1)功能增强的vTPM设 备程序,(2)特权域代理模块。本专利技术的目的可以通过以下措施来达到一种针对TPM可信计算的TOCTOU攻击响应方法,方法组件包括功能 增强的虚拟TPM (vTPM)设备程序和特权域代理模块,响应方法的具体步 骤如下步骤1,当特权域代理模块接收到虚拟机监控器发来的TOCTOU攻击 消息后,会立即在/proc目录下创建一个特定标志文件,并将内容置成l,表 示虚拟域内存己被篡改;步骤2,功能增强的vTPM设备程序接收到来自客户虚拟域的TPM指 令时,先不处理TPM指令,而是查看/proc目录下是否存在特定文件,如果 没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统 时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc目录下特定文件的内容置成0,然后再处理TPM指令;步骤3,功能增强的vTPM设备程序将TPM指令的处理结果传出vTPM 设备程序之前,也先査看一下/proc目录下是否存在特定文件,这是防止客 户虚拟域内存在虚拟域发出TPM指令之后遭到篡改;如果没有或者文件存 在但内容为0,则正常传出;否则利用当前系统时间为种子,产生一随机数, 并用该随机数对指定的PCR寄存器内容进行扩展,同时/proc目录下的那个 文件的内容置成0,然后重新处理一遍刚才接收的TPM指令,再将结果传 递出去。本专利技术相比现有技术具有如下优点1. 更加有效地防御针对可信计算的TOCTOU的攻击,当监测到TOCTOU 攻击时,所有还未被vTPM设备程序处理完的TPM请求都将能正确地反映 客户虚拟域平台当前状态。2. 采用事件驱动的工作模式,和原有系统相比没有额外的用户空间的进 程调度,因此本专利技术的方法保持了原系统资源的有效利用率。3. 本方法扩展性强,可以无缝地与各种基于Xen虚拟机的监视系统协同 工作,来防御TCG体系中的TOCTOU攻击。附图说明图l.是本专利技术中使用的Xen虚拟机组件框架示意图。 图2.为一种客户虚拟域基于虚拟TPM进行可信计算的方法的组件框架示意图。图3.是本专利技术中提到的现有防御TOCTOU攻击的方法的示意图。 图4.是本专利技术设计的TOCTOU攻击响应方法的组件示意图。 图5.是本专利技术设计的功能增强的vTPM设备程序的工作流程图。 具体实施例方式本专利技术假设图2系统和图3的检测系统已经部署,下面给出本专利技术的响 应方法的部属步骤步骤1,将功能增强的vTPM设备程序替换图2方法提供的vTPM设 备程序。步骤2,在特权域中加载特权域代理模块。 下面结合图4和图5对本专利技术设计TOCTOU攻击响应方法的T.作流程 作详述(1) 当特权域代理模块接收到虚拟机监本文档来自技高网
...

【技术保护点】
一种针对TPM可信计算的TOCTOU攻击响应方法,其特征在于:方法组件包括功能增强的虚拟TPM(vTPM)设备程序和特权域代理模块,响应方法的具体步骤如下: 步骤1,当特权域代理模块接收到虚拟机监控器发来的TOCTOU攻击消息后,会立即在/proc目录下创建一个特定标志文件,并将内容置成1,表示虚拟域内存已被篡改; 步骤2,功能增强的vTPM设备程序接收到来自客户虚拟域的TPM指令时,先不处理TPM指令,而是查看/proc目录下是否存在特定文件,如果没有或者文件存在但内容为0,则正常处理TPM指令;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时将/proc目录下特定文件的内容置成0,然后再处理TPM指令; 步骤3,功能增强的vTPM设备程序将TPM指令的处理结果传出vTPM设备程序之前,也先查看一下/proc目录下是否存在特定文件,这是防止客户虚拟域内存在虚拟域发出TPM指令之后遭到篡改;如果没有或者文件存在但内容为0,则正常传出;否则利用当前系统时间为种子,产生一随机数,并用该随机数对指定的PCR寄存器内容进行扩展,同时/proc目录下的那个文件的内容置成0,然后重新处理一遍刚才接收的TPM指令,再将结果传递出去。...

【技术特征摘要】

【专利技术属性】
技术研发人员:常晓林刘吉强韩臻刘博何帆邢彬
申请(专利权)人:北京交通大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1