[发明专利]基于虚拟化保证SGX安全性的方法和系统在审
| 申请号: | 201910169082.5 | 申请日: | 2019-03-06 |
| 公开(公告)号: | CN110069920A | 公开(公告)日: | 2019-07-30 |
| 发明(设计)人: | 洪臻;李子男;夏虞斌;陈海波 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F21/57;G06F9/455 |
| 代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 虚拟化 虚拟机监控程序 敏感指令 特权指令 监察 监控操作系统 应用运行过程 延展性 性能影响 异常报告 应用运行 硬件辅助 不安全 下陷 操作系统 虚拟 指令 保证 中断 开发 | ||
本发明提供了一种基于虚拟化保证SGX安全性的方法和系统,运行虚拟机监控程序,监控操作系统及操作系统上的应用运行,在应用运行过程中,虚拟机监控程序借助CPU硬件辅助虚拟化对执行指令进行监察,根据监察中断不安全代码的执行。监察通过特权指令判断,对包含特权指令的执行进行虚拟下陷,进一步判断敏感指令,对包含敏感指令的执行进行异常报告。本发明具有能够保障开发者模式飞地的安全性、性能影响小、延展性良好的特点,并且采用软件方法,适用性十分广泛。
技术领域
本发明涉及计算机安全技术领域,具体地,涉及一种基于虚拟化保证SGX安全性的方法和系统。
背景技术
SGX(Intel Software Guard Extensions,英特尔软件防卫扩展)是一系列对英特尔指令集架构的扩展,其目的在于增强软件安全性。SGX允许用户将软件中的安全操作封装在被称为飞地(enclave)的可信执行环境里,并通过硬件保障飞地中数据和代码的完整性和机密性。无论恶意攻击来自非特权级的用户程序还是特权级的系统软件都不会影响基于硬件的保护。飞地里的数据和代码经由处理器中预设的秘钥加密后存放在受硬件保护的物理内存区域内,明文仅在CPU内可见。对这些内存区域的访问受到SGX的严格限制,一个飞地里的数据只有同一飞地中的代码能够直接访问。由外界不可信代码或是其他飞地执行的,以访问这些内存区域为目的的读写操作、跳转指令、寄存器操作或是栈操作都是被禁止的。应用只有通过SGX提供的特殊指令才能在飞地中的可信代码和外界不可信代码之间切换。SGX在初始化飞地之前也会进行严格的安全检查以确保其没有受到过篡改。
飞地分为两种,分别是开发者模式飞地和产品模式飞地。产品模式飞地对飞地中的内容提供完整的保护。任何特权或者是非特权的软件都无法从外界访问产品模式飞地。也就是说,即便是操作系统或是虚拟机监控器也不能对产品模式飞地中的代码和数据进行访问或是修改。硬件对飞地中内存区域的加密解密和严格的访问限制保证了这一点。现有的几乎所有基于SGX的安全方案都是以产品模式飞地为基础的。这一方法的主要限制是,CPU只允许在有英特尔的商业证书的情况下运行产品模式飞地。开发者想要获取英特尔的证书必须首先联系英特尔,满足其要求并获取许可,获取证书授权的过程十分复杂且困难。
所有开发者都能够直接使用的是开发者模式飞地。开发者模式飞地为了方便应用的开发与调试,SGX允许调试者使用两条额外的特权级指令:EDBGRD和EDBGWR。EDBGRD可以用于在不可信外界从开发者模式飞地中读取数据,而EDBGWR可以用来从不可信外界向开发者模式飞地写入数据。然而,由于这两条指令的存在,不仅仅是调试者,获取了特权级权限的攻击者——例如恶意的操作系统或是虚拟机监控器,也可以容易地运用这两条指令来对开发者模式飞地中的代码和数据进行访问以及修改。因此,这两条指令使得开发者模式飞地的安全性被破坏了。
与本申请相关的现有技术是专利文献CN106850661A,公开了一种虚拟化安全监控方法和系统,该方法包括:建立一个异于特权域管理虚拟机的驱动代理虚拟机;通过驱动代理虚拟机获取虚拟化平台中来宾域的虚拟机的通信数据包;通过驱动代理虚拟机对通信数据包进行安全检测;在检测到通信数据包安全时,根据通信数据包中包含的硬件请求,访问对应的硬件资源。在虚拟化环境中的驱动代理虚拟机作为公共的安全监视器,当来宾域中的虚拟机进行通信时,通信数据必须穿过驱动代理虚拟机,由驱动代理虚拟机对通信数据包进行安全检查,以确定它们是否是恶意的数据,当确定数据安全时,控制为来宾域的虚拟机进行服务,既保证了虚拟化环境中来宾虚拟机的服务,又能保证虚拟化的安全监测和跟踪。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于虚拟化保证SGX安全性的方法和系统。
根据本发明提供的一种基于虚拟化保证SGX安全性的方法,运行虚拟机监控程序,所述虚拟机监控程序能够监控操作系统及操作系统上的应用运行,在应用运行过程中,虚拟机监控程序借助CPU硬件辅助虚拟化对执行指令进行监察,根据监察中断不安全代码的执行。
优选地,所述监察包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910169082.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息获取方法和装置
- 下一篇:一种面向容器平台的可信软件授权验证系统及方法





