发明名称 一种基于虚拟平台的安全可信运行保护方法
摘要 本发明提供一种基于虚拟平台的安全可信运行保护方法,围绕虚拟平台存在的安全问题,通过LLVM的虚拟机监控器静态分析、TPM和IPMI的平台完整性远程验证、管理域虚拟机完整性度量、用户虚拟机完整性度量和基于软件行为的数据流一致性分析模块组成实现虚拟平台的安全可信运行保证模型,结合目前云计算虚拟技术广泛的应用,同时带来了虚拟技术相关的安全挑战的现状,结合可信计算在信息安全中保障系统和硬件安全的技术日渐成熟。本文就是通过在虚拟化平台中引入可信计算技术,结合动态度量、管理域、虚拟机监控器、客户域运行完整性等保护方式,来构建一个安全可信的虚拟平台。信任链可信传递作为可信计算的一种模型,能够保护承接虚拟平台上下链条的绝对可信性,以此保证虚拟平台的安全可信运行。
申请公布号 CN104134038B 申请公布日期 2016.11.23
申请号 CN201410371685.0 申请日期 2014.07.31
申请人 浪潮电子信息产业股份有限公司 发明人 宋桂香
分类号 G06F21/53(2013.01)I 主分类号 G06F21/53(2013.01)I
代理机构 济南信达专利事务所有限公司 37100 代理人 姜明
主权项 一种基于虚拟平台的安全可信运行保护方法, 其特征在于围绕虚拟平台存在的安全问题,通过编译器LLVM的虚拟机监控器静态分析模块、管理体系TPM和智能平台管理接口IPMI的平台完整性远程验证模块、管理域虚拟机完整性度量模块、用户虚拟机完整性度量模块、基于软件行为的数据流一致性分析模块和客户虚拟机网络隔离模块,组成实现虚拟平台的安全可信运行保证,每个模块特点如下:基于LLVM的虚拟机监控器静态分析模块,根据LLVM提供的编译优化、链接优化、在线编译优化、代码生成功能对虚拟机监控器进行重编译,深入分析其控制流的逻辑不变性,在此基础上度量控制流的完整性;基于TPM和IPMI的平台完整性远程验证模块,IPMI良好的自治特性,其并不依赖于服务器的处理器、BIOS或操作系统进行工作,因此,结合TPM提供的可信计算服务设计一种使用硬件的方法构造最小可信基TCB,然后通过度量代理分别和IPMI以及TPM交互,最终使用隐藏的隔离模型实现了对虚拟机监控器的度量;管理域虚拟机完整性度量模块,该模块位于虚拟机监控器内部,主要功能是对管理域的关键数据结构进行拆分,主要分析域创建、设备在线职能诊断装置IDD、仿真设备模型三个部分关键数据结构的代码段、系统调用表以及中断描述符表IDT,设计思想是捕获系统调用、中断、异常事件,当这些事件发生时,对系统的最新状态实施动态度量;用户虚拟机完整性度量模块,该模块实现两个功能:一是透明的对用户操作系统Guest OS的类型进行实时监测功能;二是对用户操作系统Guest OS的寄存器、堆、栈、当前进程的页基地址、事件event的变量参数、运行进程的指令指针和栈指针进行监控,对于第一个功能,通过与IDT相关联硬件状态信息,包括寄存器IDTR登记,段地址寄存器指令MSR‑sysenter‑cs,指令指针寄存器指令MSR‑sysenter‑eip和软件数据结构信息包括系统调用表、进程链表使用迭代算法结合白名单实现,第二个功能实现方式是设置一个非法地址,导致保护失效陷入虚拟机监控器,然后由虚拟机监控器再进行度量,需要注意的是应采用调试寄存器保存该非法地址,以便虚拟机监控器检查后能够设置设备环境Context的正确返回地址;基于软件行为的数据流一致性分析模块,该模块由分析代理、管理代理、监控代理三个部分组成,分析代理对虚拟机监控器、管理域、客户域的软件行为轨迹进行评测,提取出预期行为特征,形成预期行为特征库;监控代理对虚拟机监控器、管理域、客户域的软件行为运行实例进行实时监控,然后提取出实际行为特征;管理代理根据分析代理提供的预期行为特征与监控代理提供的实际行为特征,使用软件行为分析自动机进行一个动态可信评测分析,最后得到虚拟机监控器、管理域、客户域的软件的可信评测结果;客户虚拟机网络隔离模块,对客户虚拟机的网络隔离是在该客户虚拟机所在的宿主机上实现的,由于对不可信客户虚拟机的网络隔离是在客户虚拟机平台完整性实时检测基础上完成的,所以对不可信客户虚拟机的网络隔离的实现效果表现为:当检测到客户虚拟机的平台完整性被破坏之后,立即隔离该虚拟机,而不是像对宿主机的网络隔离一样,在宿主机的平台完整性被验证处于可信状态之后才允许宿主机接入网络;定位平台完整性遭到破坏的客户虚拟机不能够依赖于客户虚拟机的IP地址和MAC地址去完成,假如攻击者获取了该客户虚拟机的root权限或者该客户虚拟机是一台恶意的客户虚拟机,那么该客户虚拟机的IP地址和测控MAC地址都有可能被修改,如果依然利用以太网桥防火墙去隔离平台完整性遭到破坏的客户虚拟机,那么这种隔离模型是很容易被绕过,所以,只能选择其他有效信息来定位客户虚拟机,并且该信息必须是客户虚拟机的拥有者所不能修改的。
地址 250101 山东省济南市高新区舜雅路1036号