一种增强ARM平台虚拟机自省安全的方法及装置制造方法及图纸

技术编号:16216811 阅读:33 留言:0更新日期:2017-09-15 23:02
本发明专利技术提供一种增强ARM平台虚拟机自省安全的方法及装置,该装置包括位于不可信环境虚拟化软件栈中的安全增强接口前端、位于高特权级的安全增强接口以及位于硬件隔离环境TrustZone中的核心代码。本发明专利技术通过不依赖于Hypervisor或QEMU的安全增强接口和适当的硬件隔离环境TrustZone来抵抗信息泄露、保证VMI自身代码和数据在整个生命周期内的准确性即保证VMI运行时安全以及VMI底层输入数据的正确性。并且本发明专利技术解决了ARMv8平台下的两层语义隔离,即Hypervisor语义隔离和VM语义隔离。

Method and device for enhancing introspection safety of ARM platform virtual machine

The present invention provides a method and apparatus for enhanced ARM platform security virtual machine introspection, the device comprises an untrusted environment virtualization software stack security enhanced interface front-end, located in the high privilege level to enhance the security of interface and code in the core hardware isolation environment in TrustZone. According to the present invention does not depend on Hypervisor or QEMU to enhance the security of interface and the appropriate hardware isolation environment TrustZone to resist information leakage, ensure the accuracy of VMI's code and data in the entire life cycle to ensure that the VMI runtime security and correctness of the underlying VMI input data. Moreover, the invention solves the two layer semantic isolation under the ARMv8 platform, namely, Hypervisor semantic isolation and VM semantic isolation.

【技术实现步骤摘要】
一种增强ARM平台虚拟机自省安全的方法及装置
本专利技术涉及安全脆弱性宿主机中虚拟机自省安全
,尤其涉及一种增强ARM平台虚拟机自省安全的方法及装置。
技术介绍
众所周知,通用的虚拟机自省(VMI)代码部署在宿主机(Host)的用户空间,通过虚拟机管理器(Hypervisor)来访问虚拟机(VM)内部的二进制数据,通过桥接VM内部的语义隔离问题将这些二进制数据转化为操作系统层次的有效的VM内部状态信息,从而利用这些状态信息来进行下一步的安全监测。因而,现有的VMI的正常运行依赖于这样的前提:Host和Hypervisor均为安全且可信的。这意味着一旦这一前提被打破,VMI的正常运行将不能再被保证。事实上,随着越来越多的Host和虚拟化软件栈的脆弱点被暴露出来,该前提已不再成立。如何在存在安全隐患的宿主机环境中部署安全增强的虚拟机自省技术成为了VMI安全研究领域极其重要的一个议题。脆弱宿主机环境中的VMI面临多方面的安全威胁,一是信息泄露:VMI技术打破了云环境中多租户之间的隔离,VMI获取的VM内部信息被恶意利用将会造成VM信息的严重泄露。二是VMI运行时不安全:VMI运行在用户态,一旦宿主机环境的脆弱性被利用,VMI的代码和数据都将暴露在攻击者面前。三是VMI底层输入数据不正确:VMI依赖Hypervisor获取VM相关核心数据,这给了Hypervisor和Host去篡改这些核心数据的机会。现今,对VMI安全的研究刚起步。针对信息泄露这一问题,常用的措施是将加解密思想与VMI相结合,该方法将VMI信息泄露的风险转移到加解密密钥的保护上,并且引入了额外的加解密操作。对于VMI运行时不安全以及底层输入数据不正确的研究,业界则还未涉及。
技术实现思路
本专利技术立足于不可信宿主机环境中VMI所面临的安全威胁这一现状,旨在提供一种增强ARM平台虚拟机自省安全的方法及装置,该方法及装置能够抵抗信息泄露、保证VMI自身代码和数据在整个生命周期内的准确性即保证VMI运行时安全以及VMI底层输入数据的正确性。针对上述不足,本专利技术所采用的技术方案为:一种增强ARM平台虚拟机自省安全的方法,其步骤包括:1)将核心代码(CoreLibrary)部署在硬件隔离环境TrustZone(可信环境)中;2)当特定的触发事件发生时,触发触发机制以陷入到EL3层的安全增强接口(Interface),并将该触发事件中相关的VM数据和Hypervisor数据传递到该安全增强接口;3)安全增强接口记录和维护上述VM数据和Hypervisor数据,并根据核心代码的数据访问请求将与该数据访问请求相关的VM数据和Hypervisor数据传递给核心代码;4)核心代码根据所接收的VM数据和Hypervisor数据以及自身预设的基本配置参数,桥接VM语义隔离和Hypervisor语义隔离,推导和定位出目标VM数据地址和目标Hypervisor数据地址,以进行进一步的安全监测。进一步地,步骤2)中所述触发机制基于SMC指令构造。进一步地,步骤2)由位于不可信环境虚拟化软件栈中的安全增强接口前端(InterfaceFront-End)实现;所述安全增强接口前端是指在虚拟化软件栈中的宿主机内核增添的相关触发代码。进一步地,步骤2)中所述安全增强接口通过在运行时服务框架(RuntimeServicesFramework)中添加特定服务vmi_std_interface来实现。进一步地,步骤4)中所述基本配置参数是指现有的通用VMI装置实现中为每个VM设置的参数。进一步地,步骤4)中所述桥接VM语义隔离是指根据预知的VM操作系统信息,将GVA(客户机虚拟地址)翻译成GPA(客户机物理地址);其中所述预知的VM操作系统信息包括系统符号表、操作系统版本以及关键结构体的偏移值;所述桥接Hypervisor语义隔离是指根据预知的Hypervisor信息和定位的VM关键数据以及Hypervisor关键数据,将GPA翻译成HPA(宿主机物理地址)。一种增强ARM平台虚拟机自省安全的装置,包括安全增强接口前端、安全增强接口和核心代码;所述安全增强接口前端位于不可信环境虚拟化软件栈中,用于当特定的触发事件发生时,触发基于SMC指令构造的触发机制以陷入到EL3层的安全增强接口,并将该触发事件中相关的VM数据和Hypervisor数据传递到该安全增强接口;所述安全增强接口位于EL3层(高特权级),用于记录和维护上述VM数据和Hypervisor数据,并根据所述核心代码的数据访问请求将与该数据访问请求相关的VM数据和Hypervisor数据传递给所述核心代码;所述核心代码位于硬件隔离环境TrustZone中,用于根据所接收的VM数据和Hypervisor数据以及自身预设的基本配置参数,桥接VM语义隔离和Hypervisor语义隔离,推导和定位出目标VM数据地址和目标Hypervisor数据地址,以进行进一步的安全监测。进一步地,所述安全增强接口利用DECLARE_RT_SVC()宏进行注册以声明服务名称、OENs范围、服务类型以及指定初始化和处理函数指针;其中OENs中的s的取值范围为0≤s≤127。进一步地,所述核心代码的整体算法包括一次查找和两次地址翻译;其中一次查找是指根据安全增强接口维护的VM数据和Hypervisor数据以及核心代码预设的基本配置参数来定位特定系统符号GVA;第一次地址翻译是指根据预知的VM操作系统信息桥接VM语义隔离,将GVA翻译成GPA;第二次地址翻译是指根据预知的Hypervisor信息和定位的VM关键数据以及Hypervisor关键数据桥接Hypervisor语义隔离,将GPA翻译成HPA。本专利技术的有益效果在于:本专利技术提供一种增强ARM平台虚拟机自省安全的方法及装置,该方法及装置通过不依赖于Hypervisor或QEMU(QuickEMUlator,快速模拟器)的安全增强接口和适当的硬件隔离环境TrustZone来抵抗信息泄露、保证VMI自身代码和数据在整个生命周期内的准确性即保证VMI运行时安全以及VMI底层输入数据的正确性。其优点具体体现在:1.提供不依赖于Hypervisor或QEMU的安全增强接口以保证VMI获取的VM数据和Hypervisor数据的准确性;2.将VMI核心代码部署在硬件隔离环境TrustZone中,使得VMI的核心运行逻辑处于可信环境中,以保证整个VMI代码和数据在整个生命周期的完整性,即保证VMI运行时安全;3.解决了ARMv8平台下的两层语义隔离,即Hypervisor隔离和VM隔离。附图说明图1为本专利技术提供的一种增强ARM平台虚拟机自省安全的方法流程图。图2为本专利技术提供的一种增强ARM平台虚拟机自省安全的装置示意图。图3为本专利技术提供的安全增强接口前端的运行流程图。图4为本专利技术使用的ARMv8运行时服务框架实例化示意图。图5为本专利技术提供的安全增强接口初始化过程示意图。图6为本专利技术提供的核心代码整体算法设计图。图7为Aarch64Linux地址格式4K页翻译流程示意图。图8为本专利技术提供的核心代码流程示意图。图9为本专利技术整体框架交互示意图。具体实施方式为使本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合所本文档来自技高网
...
一种增强ARM平台虚拟机自省安全的方法及装置

【技术保护点】
一种增强ARM平台虚拟机自省安全的方法,其步骤包括:1)将核心代码部署在硬件隔离环境TrustZone中;2)当特定的触发事件发生时,触发触发机制以陷入到EL3层的安全增强接口,并将该触发事件中相关的VM数据和Hypervisor数据传递到该安全增强接口;3)安全增强接口记录和维护上述VM数据和Hypervisor数据,并根据核心代码的数据访问请求将与该数据访问请求相关的VM数据和Hypervisor数据传递给核心代码;4)核心代码根据所接收的VM数据和Hypervisor数据以及自身预设的基本配置参数,桥接VM语义隔离和Hypervisor语义隔离,推导和定位出目标VM数据地址和目标Hypervisor数据地址,以进行进一步的安全监测。

【技术特征摘要】
1.一种增强ARM平台虚拟机自省安全的方法,其步骤包括:1)将核心代码部署在硬件隔离环境TrustZone中;2)当特定的触发事件发生时,触发触发机制以陷入到EL3层的安全增强接口,并将该触发事件中相关的VM数据和Hypervisor数据传递到该安全增强接口;3)安全增强接口记录和维护上述VM数据和Hypervisor数据,并根据核心代码的数据访问请求将与该数据访问请求相关的VM数据和Hypervisor数据传递给核心代码;4)核心代码根据所接收的VM数据和Hypervisor数据以及自身预设的基本配置参数,桥接VM语义隔离和Hypervisor语义隔离,推导和定位出目标VM数据地址和目标Hypervisor数据地址,以进行进一步的安全监测。2.如权利要求1所述的方法,其特征在于,步骤2)中所述触发机制基于SMC指令构造。3.如权利要求1所述的方法,其特征在于,步骤2)由位于不可信环境虚拟化软件栈中的安全增强接口前端实现;所述安全增强接口前端是指在虚拟化软件栈中的宿主机内核增添的相关触发代码。4.如权利要求1所述的方法,其特征在于,步骤2)中所述安全增强接口通过在运行时服务框架中添加特定服务vmi_std_interface来实现。5.如权利要求1所述的方法,其特征在于,步骤4)中所述基本配置参数是指现有的通用VMI装置实现中为每个VM设置的参数。6.如权利要求1所述的方法,其特征在于,步骤4)中所述桥接VM语义隔离是指根据预知的VM操作系统信息,将GVA翻译成GPA;其中所述预知的VM操作系统信息包括系统符号表、操作系统版本以及关键结构体的偏移值;所述桥接Hypervisor语义隔离是指根据预知的Hypervisor信息和定位的VM关键数据以及Hypervi...

【专利技术属性】
技术研发人员:涂碧波贾丽娜
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1