[发明专利]高效的基于嵌套虚拟化的虚拟机安全保护方法及系统有效
申请号: | 201710104010.3 | 申请日: | 2017-02-24 |
公开(公告)号: | CN106970823B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 陈海波;刘宇涛;臧斌宇 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/60 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高效 基于 嵌套 虚拟 虚拟机 安全 保护 方法 系统 | ||
本发明提供了一种高效的基于嵌套虚拟化的虚拟机安全保护方法及系统,包括:步骤1:将虚拟机与虚拟化层进行隔离;步骤2:实现虚拟化层软件与虚拟机的直接交互。具体地,利用嵌套虚拟化技术防止恶意的虚拟化层软件窃取和篡改虚拟机内存和磁盘的数据;对虚拟化层的操作进行检查和监控,以及对嵌套虚拟化层的软件进行安全性验证,防止恶意的虚拟化层软件纂改虚拟机的控制流。本发明相比现有的基于嵌套虚拟化的虚拟机安全解决方案,能够大量避免由于隔离机制所造成的虚拟机下陷,从而在不损失安全性的前提下,大幅度提升整个系统的性能,能够满足当下对于包括安全性、功能性和高效性在内的各方面的需求。
技术领域
本发明涉及云计算平台系统安全技术领域,具体地,涉及高效的基于嵌套虚拟化的虚拟机安全保护方法及系统。
背景技术
在云计算平台中,虚拟化技术通常被用来高效整合服务器,提高包括处理器、内存在内的硬件的利用率。同时,虚拟化技术也通常被用于做虚拟机之间的隔离,防止恶意虚拟机访问其他虚拟机中的内存和磁盘存储的隐私数据。但是,随着多租户云计算平台中虚拟化层软件栈的日益庞大和复杂,整个系统的可信基也逐渐增大,租户在虚拟机中存储的隐私数据面临着来自外部和内部共同的威胁。一方面,随着虚拟化层的功能性日益繁多,虚拟化层软件栈的代码量也日益扩大,其中漏洞数目也越来越多,如根据CVE的统计,截止到2015年,当前主流的3大虚拟化平台VMWare、Xen和KVM分别被披露了234个、135个和89个已知的漏洞,外部攻击可以通过利用这些漏洞控制虚拟化层软件栈,从而威胁整个系统的安全性。另一方面,在云平台内部也存在着不安全因素,比如随着安全事故的发生(如2010年Google公司的雇员窃取用户的隐私数据),云平台中恶意的管理人员也成为了一个潜在的威胁。为了增强虚拟化平台的安全性,避免过大的攻击面,之前的研究提出将虚拟化层的软件栈(虚拟机监控器)移除出可信计算基。其中最具代表性的工作是CloudVisor。
由于在传统的虚拟化框架中,虚拟化监控器处于整个系统的最高权限层,一旦其被控制,是没有办法通过软件的方法进行阻止的,因此,CloudVisor提出加入一层新的抽象层,通过嵌套虚拟化技术,将虚拟机监控器移出最高权限层,从而防止恶意的虚拟机监控器对整个系统造成破坏。研究指出,在虚拟化环境中,虚拟机隐私和完整性的保护和其他功能性的逻辑是相互独立的,因此CloudVisor系统通过将安全保护机制的逻辑从整个虚拟化层剥离出来,在嵌套虚拟化层对虚拟机监控器进行监控,从而保护虚拟机,防止虚拟机中的隐私数据被虚拟化层窃取和篡改。具体来说,如图1所示,在CloudVisor的架构中,虚拟机监控器将被置于非特权指令集中,并使用扩展页表(EPT)机制保护用户虚拟机不受到未授权的访问。虚拟机监控器对用户虚拟机进行的所有敏感操作都将下陷到CloudVisor中接受安全检查。这种机制很好地将安全性与功能性解耦合,在保证功能完备的同时尽量减小了可信计算基的大小,有利于对可信基进行进一步的正确性验证。因此在CloudVisor中可信基仅仅有5.5K行代码,相比于庞大的虚拟机监控器具有更加简单的逻辑及更高的可信性。
然而,CloudVisor这种基于嵌套虚拟化的方案存在一个严重的问题:由于嵌套虚拟化层的引入,使得虚拟机到虚拟化层的路径必须经过嵌套虚拟化层,这就对整个系统造成了巨大的性能损失。如图2所示,在传统的虚拟化框架中,虚拟机的特权指令或者特定的事件直接被虚拟化层拦截,通过一次虚拟机下陷(VMExit)和一次虚拟机进入(VMEntry)即可完成整个路径。然而在CloudVisor框架中,所有的操作首先进入嵌套虚拟化层,再由嵌套虚拟化层的软件将控制权交还给虚拟化层,在虚拟化层处理完之后,再进入嵌套虚拟化层,最后返回虚拟机。另外,在虚拟化层处理过程中,由于虚拟化层属于非特权级的环境中,某些特定的特权操作还会下陷到嵌套虚拟化层进行模拟,因此,原来一次VMExit就能完成的操作,需要至少两次(一般情况下会远远大于两次)的VMExit才能完成,从而对整个系统造成巨大的性能损失。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710104010.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种容器创建方法及装置
- 下一篇:一种基于带宽感知的虚拟机迁移压缩方法及系统