CN102855450A - 用于对虚拟计算环境进行隔离保护的方法及系统 - Google Patents
用于对虚拟计算环境进行隔离保护的方法及系统 Download PDFInfo
- Publication number
- CN102855450A CN102855450A CN2011101767055A CN201110176705A CN102855450A CN 102855450 A CN102855450 A CN 102855450A CN 2011101767055 A CN2011101767055 A CN 2011101767055A CN 201110176705 A CN201110176705 A CN 201110176705A CN 102855450 A CN102855450 A CN 102855450A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- information
- security manager
- mapping
- cloud security
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000002955 isolation Methods 0.000 title abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000003860 storage Methods 0.000 claims description 24
- 230000000903 blocking effect Effects 0.000 claims description 20
- 238000009413 insulation Methods 0.000 claims description 20
- 238000007689 inspection Methods 0.000 claims description 4
- 238000011112 process operation Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 15
- 208000035217 Ring chromosome 1 syndrome Diseases 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 101000657350 Homo sapiens RNA-splicing ligase RtcB homolog Proteins 0.000 description 5
- 102100034776 RNA-splicing ligase RtcB homolog Human genes 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000009420 retrofitting Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种对虚拟计算平台中的计算环境进行隔离保护的系统,包括:位于在虚拟计算平台的硬件资源之上的第一层中的云安全管理器;位于在第一层之上的第二层中的虚拟机监视器;以及位于所述第二层之上的一个或多个虚拟机。在接收到一个或多个虚拟机下陷的用于寻址硬件物理地址的第一信息后,云安全管理器向虚拟机监视器发送指示将所存储的相关映射填入映射表中的第二信息。在接收第二信息后,虚拟机监视器将所存储的相关映射填入映射表中,并且向云安全管理器下陷用于寻址物理内存地址的第三信息。在接收到第三信息后,云安全管理器将所存储的相关映射填入映射表中。然后,根据映射表,在对应的硬件资源中执行虚拟机的处理操作。
Description
技术领域
本发明涉及计算环境安全领域,更为具体地,涉及一种用于对虚拟计算平台中的计算环境进行隔离保护的方法及系统。
背景技术
当前,众所周知,服务器虚拟化技术,特别是在当今云计算数据中心里已经形成了事实工业标准服务器平台X86架构(或标准的Intel体系架构“IA架构”)上的服务器虚拟化技术,有效实现了云计算以提供服务为模型的信息处理方法,可以将数据中心的计算、存储、网络等信息处理的资源以租赁的方式出租给“租客用户”,得到了高效率的多租客服务应用。所述云计算与云存储服务平台比如是云计算数据中心里的服务器,存储器与网络传输设备。
在用虚拟化技术实现的云计算环境中通常保存有大量租客用户以明文形式存在的软件代码和数据。为了防止被以任何未授权的形式访问而导致租客用户代码与数据的执行完整性和/或数据的机密性受到破坏,一些软件代码和数据需要在被隔离的安全计算环境中运行。对用虚拟化技术实现的计算环境进行强而有效的隔离是云计算与云存储服务平台的重要安全需求。通常云计算所使用的服务器虚拟化技术利用各个“虚拟机”(Virtual Machine,VM)之间的自然分离,可以在不同租客用户之间形成某种程度的安全隔离。
然而,由VMM自然实现的VM之间隔离不具有抵抗恶意攻击强度,为了抵抗恶意攻击,在Amazon Web Services(AWS)中,在这种情况下,EC2机器实例(AMI)是一个VM,AWS强烈推荐租客用户使用强身份认证手段来访问所租用的VM,以防止其他用户或攻击者非法入侵。
在现有的研究中还存在着比用户身份认证更强的用户隔离手段,一些研究人员提出了平台安全的虚拟化方法。例如,在X.Chen,T.Garfinkel,E.C.Lewis,P.Subrahmanyam,C.A.Waldspurger,D.Boneh,J.Dwoskin,和D.R.Ports发表的“Overshadow:a virtualization-based approach to retrofitting protection incommodity operating systems”中,论述了通过控制“内存管理单元”(MMU)来对OS内核遮蔽(overshadow)应用程序内存,即使OS内核被恶意控制也不能访问被遮蔽的应用程序内存。2010年8月EMC申请的“RTCB专利”也应用了同样的原理(参见2010年8月25日提交的申请号为201010262383.1、发明名称为“用于隔离计算环境的方法和系统”的中国申请)。以上两种方法实现进程之间隔离的基本原理在于,实现服务器虚拟化的一个重要系统软件“虚拟机监控器”(Virtual Machine Monitor,VMM)是计算平台软件栈上具有最高特权使用CPU资源的软件,运行在IA架构所定义的“CPU的根模式”(CPU’s Root Mode)中最高特权层“环-1”层(Ring-1)。服务器虚拟化体系架构平台上的每一个客户VM在使用CPU以及内存和输入输出资源时,都会受到VMM的控制管理。因而VMM可以在不同客户VM之间形成隔离。但是由VMM自然实现的VM之间隔离不具有抵抗恶意攻击强度,为了抵抗恶意攻击,将2010年8月EMC申请的“RTCB专利”更具体地叙述为:该方法是将一个专门提供安全服务的模块植入一个现有的VMM(Citrix的Xen),企图使含有此安全模块的VMM变成为一个“可信计算基”(Trusted ComputingBase,TCB),因而使VM之间隔离具有抵抗恶意攻击强度。但是由于植入的安全模块以及该VMM自身都作为最底层系统软件一同运行在上述软件栈使用CPU最高特权层“环-1”层,所以该安全模块对VMM本身的权限不具有任何控制或约束能力。
当今虚拟化技术实现的云计算数据中心中常用的VMM都是具有十分复杂设计与庞大构造的系统软件,比如在起草本发明专利申请时,上述AWS所使用的VMM(Xen)已经发展到了具有27万行源程序代码的规模。另外,数据中心系统管理人员还可以使用一个专用的“管理虚拟机”(ManagementVM,MVM),让系统管理人员具有特别权限可以部署维护“客户虚拟机”GuestVM(也就是租客用户的VM),所以系统管理人员不仅可以通过MVM旁路对租客用户VM所实施的隔离,而且其所用的MVM(Linux操作系统)更是到达了超过七百五十万行代码的规模。在这样庞大构造规模下,这些重要的系统软件自身必然含有许多设计漏洞可以被利用成为攻击源对租客用户的数据造成安全风险。在这种情况下,例如利用修改位于VMM或者MVM中的输入输出内存管理单元(IOMMU)的访问策略表,就可以通过外围设备直接访问在内存中处理时的租客用户数据。这类攻击可以由数据中心操作管理VMM或MVM的系统管理员通过使用这些重要系统工具以及工具中存在的安全设计漏洞来部署恶意软件的方法实现。所以这种由VMM及MVM实现的所谓的虚拟机之间的隔离并不能抵御由比如系统操作员的数据中心内部攻击者发起的攻击。
众所周知“可信计算技术”(Trusted Computing Technology),比如TCG(Trusted Computing Group)技术及其在工业标准上的最优化实现:Intel公司的“TXT技术”(Trusted eXecute Technology),是专门为防止恶意更改系统服务软件而设计的一种技术手段。采用可信计算技术可以对一个系统软件进行“度量”(Measurement)固化,即,将软件的二进制执行代码输入一个散列函数,取散列函数输出值作为度量,将度量值存入一个“可信平台模块”(Trusted Platform Module,TPM,或对应的中国标准“可信密码模块”TrustedCryptographic Module,TCM),并应用密码协议方法将度量的结果由TPM/TCM报告给一个外部检查者,以检查系统软件的完整性是否遭到(比如数据中心内部攻击者发起的)恶意破坏。然而对于软件内部固有存在的设计错误,尤其是安全错误,可信计算技术是无助于发现与防止的。
已知商业上广泛使用的VMM中存在许多安全设计错误(截止2009年11月,根据知名安全漏洞汇总网站CVE的数据统计,学术界知名的VMM,Citrix的Xen一共发现26个安全漏洞,而工业界知名的VMM,VMware的ESX一共发现18个安全漏洞)。又如,作为由MVM负责对整个虚拟架构所有的客户VM提供输入输出驱动服务,MVM中含有大量外部设备的设备驱动器,它们大都是由“原设备厂商”(Original Equipment Manufacture,OEM)生产,并且编译为动态软件库提供给操作系统联编使用的。这使得MVM(通常为一个普通的操作系统)是一个动态系统软件,更本无法应用可信计算技术对其二进制代码作静态度量并向一个外部检验者报告度量值。所以即使在可信计算技术的基础上,我们无法将当今云计算服务器虚拟架构的底层最重要的系统服务软件VMM看作为一个TCB,更不能将由数据中心系统管理人员操控的MVM看作为一个TCB。
迄今为止,所有已知的数据中心服务器虚拟架构上租客数据安全解决方案都缺失一个真正可以对整个虚拟架构实施有效控制与约束的TCB。如何在数据中心服务器虚拟架构平台上实现控制与约束整个虚拟架构,尤其包括对VMM与MVM实施有效的控制与约束,以防止各种攻击手段,尤其是数据中心内部系统管理员可能恶意利用这些重要软件,对租客用户的VM及其处理的用户数据进行攻击。基于上述,提出了根据本发明的用于对虚拟计算平台中的计算环境进行隔离保护的方法及系统。
发明内容
鉴于上述问题,本发明的目的是提供一种用于对虚拟计算平台中的计算环境进行隔离保护的方法及系统,利用该方法及系统,可以通过将所述云安全管理器设置在虚拟计算平台中的硬件资源之上,用来管理与安全任务相关的硬件物理地址的映射,以及将虚拟机监视器设置在所述云安全管理器之上,用于管理与非安全任务相关的硬件物理地址的映射,并且所述虚拟机监视器对硬件物理地址的映射进行的操作由所述云安全管理器进行控制,从而可以使得虚拟架构上可能存在的攻击者,哪怕那些具有利用VMM与MVM的能力的攻击者,都无法入侵租客用户VM的计算环境,对租客VM及其处理的用户数据造成隐私性与/或完整性方面的破坏,由此提高虚拟计算平台的计算环境的安全性。
根据本发明的一个方面,提供了一种用于对虚拟计算平台中的计算环境进行隔离保护的方法,所述方法由包括云安全管理器、虚拟机监视器(VMM)以及一个或多个虚拟机(VM)的系统执行,所述云安全管理器位于在虚拟计算平台的硬件资源之上的以CPU根模式运行的第一层中,所述虚拟机监视器位于在所述第一层上的以CPU非根模式运行的第二层中,以及一个或多个虚拟机(VM)位于所述第二层之上,所述方法包括:在接收到所述一个或多个虚拟机在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息后,所述云安全管理器向虚拟机监视器发送指示所述虚拟机监视器将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表的第二信息;所述虚拟机监视器在接收到所述第二信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,并且向所述云安全管理器下陷用于寻址物理内存地址的第三信息;所述云安全管理器在接收到所述第三信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,所获得的映射表以供用来进行虚拟机的处理。
在一个或多个实施例中,在外部设备访问受保护物理内存单元时,还可以根据所述云安全管理器中存储的输入输出内存管理策略表,检查所述外部设备的访问是否符合所述受保护内存单元的访问策略,其中,所述输入输出内存管理策略表用于存储受保护物理内存单元的访问策略,并且只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
此外,在一个或多个实施例中,在与外部之间进行数据信息交互时,所述云安全管理器还可以对所交互的数据信息进行加密/解密,其中,在向外部输出数据信息时,所述云安全管理器对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,所述云安全管理器对所输入的已加密数据信息进行解密。
根据本发明的另一方面,提供了一种用于对虚拟计算平台中的计算环境进行隔离保护的系统,包括:云安全管理器,位于在虚拟计算平台的硬件资源之上的以CPU根模式运行的第一层中;虚拟机监视器(VMM),位于在所述第一层上的以CPU非根模式运行的第二层中;一个或多个虚拟机(VM),位于所述第二层之上,用于根据映射表中的与虚拟机逻辑地址对应的硬件物理地址,执行处理操作,其中,所述云安全管理器包括:第一物理地址映射存储单元,用于存储与安全任务相关的硬件物理地址的映射;第一接收单元,用于接收到所述一个或多个虚拟机在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息,以及接收从所述虚拟机监视器下陷的用于寻址所述硬件物理地址的第三信息;第一发送单元,用于在接收到从所述一个或多个虚拟机下陷的用于寻址所述硬件物理地址的第一信息后,向虚拟机监视器发送指示所述虚拟机监视器将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表的第二信息;以及第一填入单元,用于在接收到从所述虚拟机监视器下陷的用于寻址所述硬件物理地址的第三信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,所获得的映射表以供用来进行虚拟机的处理;所述虚拟机监视器包括:第二物理地址映射存储单元,用于存储与非安全任务相关的硬件物理地址的映射;第二接收单元,用于接收从所述云安全管理器发送的第二信息;第二填入单元,用于在接收到从所述云安全管理器发送的第二信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中;以及第二发送单元,用于在将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中后,向所述云安全管理器下陷用于寻址物理内存地址的第三信息。
此外,在一个或多个实施例中,所述云安全管理器还可以包括:输入输出内存管理策略表,用于存储受保护物理内存单元的访问策略;以及检查单元,用于在外部设备访问受保护物理内存单元时,根据所述输入输出内存管理策略表,检查所述外部设备的访问是否符合所述受保护内存单元的访问策略,其中,只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
此外,在一个或多个实施例中,所述云安全管理器还可以包括加密/解密单元,用于在向外部输出数据信息时,对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,对所输入的已加密数据信息进行解密。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
根据下述参照附图进行的详细描述,本发明的上述和其他目的、特征和优点将变得更加显而易见。在附图中:
图1示出了根据本发明的一个实施例的用于对虚拟计算平台中的计算环境进行隔离保护的计算环境隔离保护系统的方框示意图;
图2示出了利用图1中示出的系统进行的用于对虚拟计算平台中的计算环境进行隔离保护的过程的示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
关于虚拟化系统,在此使用的术语“虚拟化系统”是指以下中的任意一种:具有虚拟机管理功能的单独的计算机系统、虚拟机主机、具有虚拟机管理功能的单独的计算机系统的集合、以及可通信地与单独的计算机系统连接的一个或多个虚拟机主机等。虚拟化系统的例子可以包括商用实施方式,例如,作为示例而非限制的,可以从VMware公司(帕洛阿尔托,加利福尼亚)获得的ESX服务器TM(VMware和ESX服务器是VMware公司的商标)、服务器和工作站;具有虚拟化支持功能的操作系统,诸如:虚拟服务器2005;以及开源代码的实施方式,例如,作为示例而非限制的,可以从XenSource公司获得。
在计算机科学领域众所周知的,虚拟机是软件的抽象概念-对实际的物理计算机系统的“虚拟化”。通常在VM内的客户端软件与基础的硬件平台中的各种硬件组件和设备之间设置一些接口。这种接口,通常被称为“虚拟化层”,通常可以包括一个或多个软件组件和/或层,可能包括一个或多个在虚拟机技术领域中公知的软件组件,如“虚拟机监视器(VMM)”、“管理程序(hypervisor)”、或者虚拟化“内核”。
由于虚拟化技术的逐步发展,这些术语(在业内使用时)并不总能在软件层和他们所涉及的组件之间提供明显的区别。例如,术语“管理程序(hypervisor)”通常用来描述VMM和内核二者,也可以是单独地但是协作的组件,或者全部或部分地并入内核自身中的一个或多个VMM。然而,术语“管理程序”有时用于单独表示VMM的一些变体,所述管理程序与某些其它软件层或组件接口以支持虚拟化。此外,在一些系统中,某些虚拟化代码包括在至少一个“超级”VM中以利于其它VM的运行。此外,在主机OS自身中有时包含特定的软件支持。
与2010年8月25日提交申请号为201010262383.1的“RTCB”专利申请将一个专门提供安全服务的模块植入一个现有的VMM的方法不同,本发明采用了“嵌套虚拟化”(Nested Virtualization)技术,即,将专门提供安全服务的模块设置为一个独立的虚拟机监视器(VMM),该独立的VMM在本文中被称作云安全管理器(CSV,Cloud Security Visor)。此外,CSV位于在硬件资源上以CPU根模式直接运行的Ring-1特权层(即,第一层)中,而让通常的虚拟机监控器VMM位于在CSV上以CPU非根模式(Non-root Mode)运行的Ring0特权层(即,第二层)中。
以下将结合附图对本发明的具体实施例进行详细描述。
图1示出了根据本发明的一个实施例的用于对虚拟计算平台中的计算环境进行隔离保护的计算环境隔离保护系统10的方框示意图10。
如图1中所示,所述计算环境隔离保护系统10包括一个或多个虚拟机(VM)110,比如VM1,VM2,......,VMn,虚拟机监视器(VMM)120以及云安全管理器(CSV)130。所述CSV 130位于在虚拟计算平台的硬件资源之上以CPU根模式运行的第一层中。所述VMM 120位于在所述第一层上的以CPU非根模式运行的第二层中,所述一个或多个VM 110位于所述第二层之上,用于根据映射表中的与虚拟机逻辑地址对应的硬件物理地址,执行处理操作。
所述CSV130包括第一接收单元131、第一存储单元133、第一填入单元135以及第一发送单元137。
所述第一接收单元131用于接收所述一个或多个虚拟机VM 110在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息,以及接收从所述VMM 120下陷的用于寻址所述硬件物理地址的第三信息。
第一存储单元133用于存储与安全任务相关的硬件物理地址的映射。
所述第一填入单元135用于在接收到从所述VMM 120下陷的用于寻址所述硬件物理地址的第三信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中。
第一发送单元137用于在接收到所述一个或多个虚拟机VM 110在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息后,向VMM 120发送指示所述VMM 120将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中的第二信息。
此外,优选地,在一个或多个替换实施例中,所述CSV 130还可以包括:输入输出内存管理策略表(未示出),用于存储受保护物理内存单元的访问策略。此外,所述CSV 130还可以包括检查单元(未示出),用于在外部设备访问受保护物理内存单元时,根据所述输入输出内存管理策略表,检查是否符合所述受保护内存单元的访问策略。其中,只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
此外,在一个或多个实施例中,所述CSV 130还可以包括加密/解密单元(未示出),用于在向外部输出数据信息时,对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,对所输入的已加密数据信息进行解密。
所述VMM 120包括第二接收单元121、第二存储单元123、第二填充单元125以及第二发送单元127。
所述第二接收单元121用于接收从所述CSV 130发送的第二信息,所述第二信息指示所述VMM 120将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中。
第二存储单元123用于存储与非安全任务相关的硬件物理地址的映射。所述非安全任务例如可以是VM迁移,负载均衡,启动停止等等。这些非安全任务都按可以按照原有服务方式进行。此外,VMM 120与VM 110之间由开发厂商早已定下的事实标准关系不受CSV 130影响。例如,CSV 130透明地支持如下组合:VMM=ESX,Xen,Hyper-V,KVM;而VM=Windows Server,Linux Server,HPUX,等等。
第二填入单元125用于在接收到从所述CSV 130发送的所述第二信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中。所述第二发送单元127用于在将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中后,向所述CSV 130下陷用于寻址物理内存地址的第三信息。
以上参照图1描述了根据本发明的一个实施例的用于对虚拟计算平台中的计算环境进行隔离保护的计算环境隔离保护系统10的结构,下面将参照图2描述由图1中示出的计算环境隔离保护系统10进行的过程。
在传统的虚拟化技术中,为了使得多个VM共享硬件资源,每一个租客用户的VM中只是以逻辑内存地址的方式处理信息。因此,当用户VM中的信息处理计算步骤最终需要在硬件中得到执行时,操作指令会通过一个“下陷”(Trap)操作到达CPU根模式的Ring-1层(即,本发明中的第一层)。这里,下陷操作的目的是VM需要获得硬件中的物理地址以使其逻辑运算可以被正确翻译到硬件资源中,从而使得运算得到执行。在传统的技术方案中,获得物理地址的过程是由在CPU根模式Ring-1层运行的应用程序为VM维护从物理地址到VM地址的映射。在传统的虚拟化情况下,VMM运行在CPU根模式的Ring-1层,即直接在硬件资源上运行,从而当寻址指令下陷到VMM,由VMM完成一步映射后,则从硬件的物理地址直到VM的逻辑地址的整个映射已经完全,所以运算可以在硬件中得到执行。
图2示出了利用图1中示出的系统进行的用于对虚拟计算平台中的计算环境进行隔离保护的过程的示意图。在图2中,以虚拟机VM1为例来描述根据本发明的用于对虚拟计算平台中的计算环境进行隔离保护的过程。这里,假设如下虚拟化原理:下陷不论由那一层发起,都会直接下陷到运行在CPU根模式Ring-1层的软件,因为只有那个软件真正控制了硬件资源,才能在硬件中找到所需的物理地址。
如图2所示,首先,当虚拟机VM1利用应用程序执行信息处理时,在步骤S210,VM1将用于寻址所述硬件物理地址的第一信息下陷到所述CSV 130。然后,在步骤S220,在经由第一接收单元131接收到所述VM1在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息后,所述CSV 130中的第一发送单元131向所述VMM 120发送指示所述VMM 120将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中的第二信息,例如通过一个被称作“VM Entry”的方法将所述第二信息上传到所述VMM 120。
在接收到所述第二信息后,在步骤S230,所述VMM 120中的第二填入单元125将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,并且在完成所述映射填入后,在步骤S240,通过所述VMM 120中的第二发送单元127向所述CSV 130下陷用于寻址物理内存地址的第三信息。
在接收到所述第三信息后,在步骤S250,所述CSV 130中的第一填充单元135将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中。
在所述CSV 130完成所述映射填入后,也就是,在从硬件物理地址直达VM1的逻辑地址的映射全部完成后,在步骤S260中,根据映射表中的与虚拟机逻辑地址对应的硬件物理地址,在对应的硬件资源中完成VM1的处理操作。
此外,优选地,所述CSV 130还可以管理整个虚拟计算架构上的“输入输出内存管理单元(IOMMU)”的软件策略表,用于存储受保护物理内容单元的访问策略。由此,在外部设备访问受保护物理内存单元时,可以根据所述云安全管理器中存储的输入输出内存管理策略表,检查外部设备进行的访问是否符合所述受保护内存单元的访问策略。只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
此外,所述CSV 130还可以为VM 1设置并管理用于对输入输出数据进行数据加密的密钥系统。由此,在与外部之间进行数据信息交互时,所述云安全管理器还可以利用所述密钥系统对所交互的数据信息进行加密/解密,其中,在向外部输出数据信息时,所述云安全管理器对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,所述云安全管理器对所输入的已加密数据信息进行解密。
如上参照图1和图2描述根据本发明的用于对虚拟计算平台中的计算环境进行隔离保护的方法和系统。
利用上述方法,由于虚拟机监视器无法获得所述云安全管理器为虚拟机管理的那部分映射,所以也就无法获得由映射所得的物理内存地址中处理的用户信息内容。
此外,由于所述云安全管理器仅仅需要限制虚拟机监视器以及其它虚拟机对被保护的虚拟机内存的访问以及管理被保护的虚拟机的密钥,因而可以用非常小的代码实现,从而出现设计错误可能性减小,由此可以实现一个更为可信的TCB。事实上,用于实现所述云安全管理器的代码量不足当今云计算虚拟化技术常用虚拟机监视器代码量的2%。此外,由于所述云安全管理器是纯静态代码,所以利用可信计算方法对其作度量与报告完全可行。
由于所述云安全管理器直接在CPU根模式Ring-1特权层上直接运行,而通常的虚拟机监视器在位于CPU根模式Ring-1特权层之上的CPU非根模式Ring-0特权层上运行。与EMC 2010年8月份申请的RTCB专利申请中的RTCB和VMM在同一特权层上运行相比,由于所述云安全管理器处于所述虚拟机监视器下方更接近硬件资源的层上,所述云安全管理器可以控制所述虚拟机监视器,从而可以更安全地控制整个虚拟化计算架构。
而且,在本发明中,由于将非安全任务全部交付于虚拟机监视器处理,所以虚拟机监视器与租客用户的虚拟机之间已经存在的虚拟化服务,比如VM迁移,负载均衡,启动停止,等等,都可以按照原有服务方式进行。此外,虚拟机监视器与虚拟机之间由开发厂商早已定下的事实标准关系不受云安全管理器的影响。例如,所述云安全管理器透明地支持如下组合:VMM=ESX,Xen,Hyper-V,KVM;而VM=Windows Server,Linux Server,HPUX,等等。
另外,在实现安全存储方面,所述云安全管理器有效地为多租客用户虚拟化了可信平台模块TPM/TCM,从而彻底解决了如何为多租客云存储应用高效率实现软件栈的信任链难题。此外,用于云存储服务的虚拟机受到所述云安全管理器的内存隔离与IO密码学保护,成为vTPM/vTCM,从而使得可以在物理TPM/TCM之上坚实高效地建立所述云安全管理器的度量固化与存储安全。
此外,应该明白的是,本文所述的数据存储(例如,存储器)设备可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (6)
1.一种用于对虚拟计算平台中的计算环境进行隔离保护的方法,所述方法由包括云安全管理器、虚拟机监视器(VMM)以及一个或多个虚拟机(VM)的系统执行,所述云安全管理器位于在虚拟计算平台的硬件资源之上的以CPU根模式运行的第一层中,所述虚拟机监视器位于在所述第一层上的以CPU非根模式运行的第二层中,以及一个或多个虚拟机(VM)位于所述第二层之上,所述方法包括:
在接收到所述一个或多个虚拟机在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息后,所述云安全管理器向虚拟机监视器发送指示所述虚拟机监视器将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中的第二信息;
所述虚拟机监视器在接收到所述第二信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,并且向所述云安全管理器下陷用于寻址硬件物理地址的第三信息;
所述云安全管理器在接收到所述第三信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,所获得的映射表以供用来进行虚拟机的处理。
2.如权利要求1所述的方法,还包括:
在外部设备访问受保护物理内存单元时,根据所述云安全管理器中存储的输入输出内存管理策略表,检查所述外部设备的访问是否符合所述受保护内存单元的访问策略,
其中,所述输入输出内存管理策略表用于存储受保护物理内存单元的访问策略,并且
只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
3.如权利要求1或2所述的方法,其中,在与外部之间进行数据信息交互时,所述云安全管理器还对所交互的数据信息进行加密/解密,
其中,在向外部输出数据信息时,所述云安全管理器对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,所述云安全管理器对所输入的已加密数据信息进行解密。
4.一种用于对虚拟计算平台中的计算环境进行隔离保护的系统,包括:
云安全管理器,位于在虚拟计算平台的硬件资源之上的以CPU根模式运行的第一层中;
虚拟机监视器(VMM),位于在所述第一层上的以CPU非根模式运行的第二层中;
一个或多个虚拟机(VM),位于所述第二层之上,用于根据映射表中的与虚拟机逻辑地址对应的硬件物理地址,执行处理操作,
其中,所述云安全管理器包括:
第一物理地址映射存储单元,用于存储与安全任务相关的硬件物理地址的映射;
第一接收单元,用于接收所述一个或多个虚拟机在进行处理操作时下陷的用于寻址所述硬件物理地址的第一信息,以及接收从所述虚拟机监视器下陷的用于寻址所述硬件物理地址的第三信息;
第一发送单元,用于在接收到从所述一个或多个虚拟机下陷的用于寻址所述硬件物理地址的第一信息后,向虚拟机监视器发送指示所述虚拟机监视器将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中的第二信息;以及
第一填入单元,用于在接收到从所述虚拟机监视器下陷的用于寻址所述硬件物理地址的第三信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中,所获得的映射表以供用来进行虚拟机的处理,
所述虚拟机监视器包括:
第二物理地址映射存储单元,用于存储与非安全任务相关的硬件物理地址的映射;
第二接收单元,用于接收从所述云安全管理器发送的第二信息;
第二填入单元,用于在接收到从所述云安全管理器发送的第二信息后,将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中;以及
第二发送单元,用于在将所存储的与所述虚拟机逻辑地址相关的映射填入所述映射表中后,向所述云安全管理器下陷用于寻址物理内存地址的第三信息。
5.如权利要求4所述的系统,其中,所述云安全管理器还包括:
输入输出内存管理策略表,用于存储受保护物理内存单元的访问策略;以及
检查单元,用于在外部设备访问受保护物理内存单元时,根据所述输入输出内存管理策略表,检查所述外部设备的访问是否符合所述受保护内存单元的访问策略,
其中,只有在符合所述访问策略时,才允许所述外部设备访问所述受保护物理内存单元。
6.如权利要求4或5所述的系统,其中,所述云安全管理器还包括:
加密/解密单元,用于在向外部输出数据信息时,对所输出的数据信息进行加密,以及在从外部输入已加密数据信息时,对所输入的已加密数据信息进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110176705.5A CN102855450B (zh) | 2011-06-28 | 2011-06-28 | 用于对虚拟计算环境进行隔离保护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110176705.5A CN102855450B (zh) | 2011-06-28 | 2011-06-28 | 用于对虚拟计算环境进行隔离保护的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102855450A true CN102855450A (zh) | 2013-01-02 |
CN102855450B CN102855450B (zh) | 2015-10-28 |
Family
ID=47402030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110176705.5A Expired - Fee Related CN102855450B (zh) | 2011-06-28 | 2011-06-28 | 用于对虚拟计算环境进行隔离保护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102855450B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929413A (zh) * | 2013-12-16 | 2014-07-16 | 汉柏科技有限公司 | 一种云网络防止受到攻击的方法及装置 |
CN105184164A (zh) * | 2015-09-08 | 2015-12-23 | 成都博元科技有限公司 | 一种数据处理方法 |
CN105930199A (zh) * | 2016-04-14 | 2016-09-07 | 浪潮集团有限公司 | 一种虚拟机监控器本地完整性检测的系统及实现方法 |
CN106970823A (zh) * | 2017-02-24 | 2017-07-21 | 上海交通大学 | 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统 |
CN109783188A (zh) * | 2017-11-10 | 2019-05-21 | 英特尔公司 | 用于安全公共云的密码存储器所有权表 |
CN111158853A (zh) * | 2019-12-13 | 2020-05-15 | 海光信息技术有限公司 | 虚拟机内存数据迁移方法、cpu芯片及服务器 |
CN111290830A (zh) * | 2020-01-15 | 2020-06-16 | 海光信息技术有限公司 | 一种虚拟机迁移方法、处理器及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244569A1 (en) * | 2007-03-30 | 2008-10-02 | David Carroll Challener | System and Method for Reporting the Trusted State of a Virtual Machine |
US20090055641A1 (en) * | 2007-08-22 | 2009-02-26 | Smith Ned M | Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM) |
US7512815B1 (en) * | 2007-12-19 | 2009-03-31 | International Business Machines Corporation | Systems, methods and computer program products for high availability enhancements of virtual security module servers |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
-
2011
- 2011-06-28 CN CN201110176705.5A patent/CN102855450B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244569A1 (en) * | 2007-03-30 | 2008-10-02 | David Carroll Challener | System and Method for Reporting the Trusted State of a Virtual Machine |
US20090055641A1 (en) * | 2007-08-22 | 2009-02-26 | Smith Ned M | Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM) |
US7512815B1 (en) * | 2007-12-19 | 2009-03-31 | International Business Machines Corporation | Systems, methods and computer program products for high availability enhancements of virtual security module servers |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
Non-Patent Citations (1)
Title |
---|
程川: "一种基于Xen的信任虚拟机安全访问设计与实现", 《计算机与数字工程》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103929413A (zh) * | 2013-12-16 | 2014-07-16 | 汉柏科技有限公司 | 一种云网络防止受到攻击的方法及装置 |
CN105184164A (zh) * | 2015-09-08 | 2015-12-23 | 成都博元科技有限公司 | 一种数据处理方法 |
CN105184164B (zh) * | 2015-09-08 | 2017-11-24 | 成都博元科技有限公司 | 一种数据处理方法 |
CN105930199A (zh) * | 2016-04-14 | 2016-09-07 | 浪潮集团有限公司 | 一种虚拟机监控器本地完整性检测的系统及实现方法 |
CN106970823A (zh) * | 2017-02-24 | 2017-07-21 | 上海交通大学 | 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统 |
CN106970823B (zh) * | 2017-02-24 | 2021-02-12 | 上海交通大学 | 高效的基于嵌套虚拟化的虚拟机安全保护方法及系统 |
CN109783188A (zh) * | 2017-11-10 | 2019-05-21 | 英特尔公司 | 用于安全公共云的密码存储器所有权表 |
CN109783188B (zh) * | 2017-11-10 | 2024-04-09 | 英特尔公司 | 用于安全公共云的密码存储器所有权表 |
CN111158853A (zh) * | 2019-12-13 | 2020-05-15 | 海光信息技术有限公司 | 虚拟机内存数据迁移方法、cpu芯片及服务器 |
CN111158853B (zh) * | 2019-12-13 | 2024-09-24 | 海光信息技术股份有限公司 | 虚拟机内存数据迁移方法、cpu芯片及服务器 |
CN111290830A (zh) * | 2020-01-15 | 2020-06-16 | 海光信息技术有限公司 | 一种虚拟机迁移方法、处理器及电子设备 |
CN111290830B (zh) * | 2020-01-15 | 2023-10-20 | 海光信息技术股份有限公司 | 一种虚拟机迁移方法、处理器及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102855450B (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sultan et al. | Container security: Issues, challenges, and the road ahead | |
Jang et al. | Heterogeneous isolated execution for commodity gpus | |
Proskurin et al. | xmp: Selective memory protection for kernel and user space | |
Guan et al. | Trustshadow: Secure execution of unmodified applications with arm trustzone | |
CN109783188B (zh) | 用于安全公共云的密码存储器所有权表 | |
Zhang et al. | Cloudvisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualization | |
CN102855450B (zh) | 用于对虚拟计算环境进行隔离保护的方法及系统 | |
Evtyushkin et al. | Iso-x: A flexible architecture for hardware-managed isolated execution | |
Szefer et al. | Architectural support for hypervisor-secure virtualization | |
Li et al. | A trusted virtual machine in an untrusted management environment | |
Hunt et al. | Confidential computing for OpenPOWER | |
Li et al. | Secure virtual machine execution under an untrusted management OS | |
US8839239B2 (en) | Protection of virtual machines executing on a host device | |
CN102332069B (zh) | 虚拟机全生命周期安全管理方法及系统 | |
Zhang et al. | Security-preserving live migration of virtual machines in the cloud | |
Rocha et al. | Defense-in-depth against malicious insiders in the cloud | |
Zhang et al. | PALM: security preserving VM live migration for systems with VMM-enforced protection | |
Tadokoro et al. | Preventing information leakage from virtual machines' memory in iaas clouds | |
CN115344871A (zh) | 基于arm架构的机密计算环境构建方法和系统 | |
Buhren et al. | Fault attacks on encrypted general purpose compute platforms | |
Brasser et al. | Trusted container extensions for container-based confidential computing | |
Zegzhda et al. | Use of Intel SGX to ensure the confidentiality of data of cloud users | |
Upadhya et al. | A state-of-art review of docker container security issues and solutions | |
Zhu et al. | HA-VMSI: A lightweight virtual machine isolation approach with commodity hardware for ARM | |
Wen et al. | Multi-processor architectural support for protecting virtual machine privacy in untrusted cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Chen Haibo Inventor after: Zang Binyu Inventor before: Mao Wenbo |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: MAO WENBO TO: CHEN HAIBO ZANG BINYU |
|
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151028 Termination date: 20210628 |
|
CF01 | Termination of patent right due to non-payment of annual fee |