WO2015143766A1 - 一种管理虚拟机的隔离方法及装置 - Google Patents
一种管理虚拟机的隔离方法及装置 Download PDFInfo
- Publication number
- WO2015143766A1 WO2015143766A1 PCT/CN2014/078095 CN2014078095W WO2015143766A1 WO 2015143766 A1 WO2015143766 A1 WO 2015143766A1 CN 2014078095 W CN2014078095 W CN 2014078095W WO 2015143766 A1 WO2015143766 A1 WO 2015143766A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual machine
- service
- service components
- kernel
- management
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Definitions
- the physical hosts in the current popular Xen virtualization system contain two key components: Hypervisor (virtual machine manager) and domain-0 (the management virtual machine of the Xen platform), where a large number of vulnerabilities generally appear in the domain- In the code of 0, therefore, in order to avoid a virtual machine vulnerability affecting other virtual machines on the physical host where the virtual machine is located, it is an urgent problem to isolate domain-0 and ensure domain-0 security.
- Hypervisor virtual machine manager
- domain-0 the management virtual machine of the Xen platform
- the kernel virtual machine responds to the service required by the guest virtual machine according to the service request letter carried in the indication message.
- the obtaining the customer identifier includes: Obtaining a request message, where the request message carries the client identifier, where the request message is used to request to create the client virtual machine;
- the The service components respectively run in an execution environment corresponding to the permissions of the service component, including:
- the method further includes:
- Each of the plurality of service components is periodically restarted correspondingly according to a preset time, where the preset time is a preset time corresponding to each of the service components.
- the management Creating the kernel virtual machine in the virtual machine includes:
- the service provided by the management virtual machine for the guest virtual machine is set in the kernel virtualization container to create the kernel virtual machine.
- the communication mode between the plurality of service components is inter-process communication.
- the isolation module is specifically configured to acquire a request message, and from the request message Obtaining the client identifier, and creating the client VM corresponding to the client identifier according to the request message, where the request message carries the client identifier, where the request message is used to request to create the client VM .
- the isolation module is specifically configured to decompose the code of the service into a plurality of function code blocks according to a function of the kernel virtual machine, and run the plurality of function code blocks in a plurality of service processes respectively, to Forming a plurality of service components, wherein the plurality of function code blocks correspond to the plurality of service processes.
- the isolation module is further configured to acquire system parameters of the multiple service components, and determine, according to system parameters of the multiple service components, the multiple services corresponding to system parameters of the multiple service components The permissions of the component.
- the isolation module is further configured to monitor an operation state of the multiple service components after the plurality of service components are respectively executed in an execution environment corresponding to the rights of the service component, and when the multiple The service component is restarted when an error occurs in the running state of one of the service components.
- the administrator with the highest authority may instruct the server to adjust the execution environment of any one of the multiple service components according to actual requirements. That is, the rights of the plurality of service components are adjusted to re-isolated the plurality of service components, and the invention is not limited.
- CVE-2007-4993 states that a malicious client virtual machine can execute arbitrary instructions in domain-0 due to a vulnerability in the grub boot program in Xen 3.0.3.
- the server may monitor the running status of the basic service in real time, and if the server detects an error in a service component in the basic service, as described above (1) In the virtual machine startup service is in an infinite loop, etc., the server can stop the service component or restart the service component to ensure the normal operation of the entire Xen virtualization system.
- Example embodiments provide a method of managing a virtual machine isolation by obtaining customer identification, and the present invention ⁇ : Gen according to the customer identification, to find the client identifier corresponding to the virtual machine management kernel virtual machine, the virtual machine management if the If the kernel virtual machine is not found, the kernel virtual machine is created in the management virtual machine, and the service provided by the kernel virtual machine for the guest virtual machine is decomposed into multiple service components, and the guest virtual machine is associated with the client Identifying a corresponding virtual machine, and running the plurality of service components respectively in an execution environment corresponding to the rights that the service component has, wherein the kernel virtual machine includes multiple execution environments, and the multiple execution environments have different Permissions.
- the kernel virtual machine 11 is further configured to: if the isolation module 10 finds the kernel virtual machine 11 in the management virtual machine 1, acquire an indication message sent by the virtual machine manager, and according to the The service request information carried in the indication message is responsive to a service required by the guest virtual machine, and the indication message is sent to the virtual machine manager by the guest virtual machine, and the virtual machine manager is configured according to the virtual machine manager Instructing the client identifier carried in the message to determine that the kernel virtual machine 11 corresponding to the client identifier is sent to the kernel virtual machine 11, and the indication message is used to indicate the client virtual machine Required service.
- the isolation module 10 is configured to acquire a request message, obtain the client identifier from the request message, and create the client virtual machine corresponding to the client identifier according to the request message.
- the request message carries the customer identifier, and the request message is used to request to create the guest virtual machine.
- the isolation module 10 is specifically configured to group the multiple service components according to rights of the multiple service components, so that service components of different groups have different rights, and the multiple The service components of the different groupings of the service components are each run in an execution environment corresponding to the rights that the group of service components have.
- the isolation module 10 is further configured to restart periodically according to the preset time after the multiple service components are respectively executed in an execution environment corresponding to the rights of the service component.
- the preset time is a preset time corresponding to each of the service components.
- An embodiment of the present invention provides a management virtual machine, where the management virtual machine obtains a customer identifier, and : according to the customer identifier, searches for at least one kernel virtual machine in the management virtual machine to find a kernel virtuality corresponding to the customer identifier. If the management virtual machine does not find the kernel virtual machine in the at least one kernel virtual machine, create a virtual machine in the management virtual machine.
- Processor 20 may be a single core or multi-core central processing unit, or a particular integrated circuit, or one or more integrated circuits configured to implement embodiments of the present invention.
- Memory 2 1 is used to store the following elements, executable modules or data structures, or a subset of them, or their extension set, and computer execution instructions:
- Operating system 2 1 0 contains various system programs for implementing various basic services And handle hardware-based tasks.
- the processor 20 is configured to obtain a customer identifier from the communication interface 23 through the system bus 22; and according to the customer identifier, at least one kernel virtual machine in the management virtual machine through the system bus 22. Finding a kernel virtual machine corresponding to the client identifier; and if the kernel virtual machine is not found in the at least one kernel virtual machine, creating the kernel virtual machine in the management virtual machine; Deleting the service provided by the kernel virtual machine for the guest virtual machine into a plurality of service components, the guest virtual machine is a virtual machine corresponding to the customer identifier, and running the plurality of service components respectively The execution environment corresponding to the privilege of the service component, where the kernel virtual machine includes multiple execution environments, and the multiple execution environments respectively have different permissions; the memory 21 is configured to store the customer identifier, Software code of the plurality of service components and a software program for controlling the processor 20 to complete the above process, thereby the processor 20 Through execution of the software program of the software code and call the above process.
- the processor 20 is configured to group the multiple service components according to the rights of the multiple service components, so that service components of different groups have different rights, and The service components of the different groups of the plurality of service components respectively run in an execution environment corresponding to the rights possessed by the group of service components.
- An embodiment of the present invention provides a server, where the server obtains a client identifier, and searches for at least one kernel virtual machine in the management virtual machine according to the client identifier, and searches for a kernel virtual machine corresponding to the client identifier. If the kernel virtual machine is not found in the at least one kernel virtual machine, the kernel virtual machine is created in the management virtual machine, and the server decomposes the service provided by the kernel virtual machine for the guest virtual machine into multiple service components.
- the guest virtual machine is a virtual machine corresponding to the customer identifier, and the server separately runs the plurality of service components in an execution environment corresponding to the authority of the service component, where the kernel virtual machine includes multiple executions Environment, the multiple execution environments have different permissions.
- the communication performance between the service components can be improved and the resources required for the virtual machine operation can be reduced on the basis of ensuring the security of the doma i n-Q.
- the method for isolating the management virtual machine provided by the embodiment of the present invention may be that all the guest virtual machines corresponding to the customer identifier A, all the client virtual machines corresponding to the customer identifier B, and all the customer identifiers C corresponding to the doma i n_ 0
- the basic services provided by the guest virtual machine are respectively separated by the vertical kernel virtualization layer to form a logical domain A corresponding to the customer identifier A, a logical domain B corresponding to the customer identifier B, and a logical domain C corresponding to the customer identifier C, And separating the plurality of service components that provide the basic service by the horizontal service layer, that is, running the multiple service components separately in an execution environment corresponding to the rights of the service component, to form different service groups
- a virtual machine management service module a virtual machine device simulation module corresponding to the virtual machine device simulation component, a virtual machine creation service module corresponding to the virtual machine creation tool component, and a virtual machine backend drive service corresponding to the virtual machine backend drive component Service module, and X en storage module corresponding to the Xe n storage component.
- the units described as separate components may or may not be physically separated, and the components displayed as the units may or may not be physical units, and may be located in one place or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiment of the present embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种管理虚拟机的隔离方法及装置,涉及计算机技术领域,解决了服务组件之间的通信性能下降,增加了虚拟机运行所需的资源,以及服务组件的安全性较低的问题。该方法包括:获取客户标识;根据客户标识,在管理虚拟机中查找与客户标识对应的内核虚拟机;若在管理虚拟机中未查找到内核虚拟机,则在管理虚拟机中创建内核虚拟机;将内核虚拟机为客户虚拟机提供的服务分解为多个服务组件,客户虚拟机为与客户标识对应的虚拟机;将多个服务组件分别运行在与该服务组件所具有的权限对应的执行环境中,其中,内核虚拟机包括多个执行环境,多个执行环境分别具有不同的权限。
Description
一种管理虚拟机的隔离方法及装置 本申请要求于 2014 年 03 月 24 日提交中国专利局、 申请号为 201410110050.5 , 发明名称为 "一种管理虚拟机的隔离方法及装置" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域
本发明涉及计算机技术领域, 尤其涉及一种管理虚拟机的隔离 方法及装置。
背景技术
近年来, 随着云计算的发展, 作为其基础支撑技术之一的虚拟 化技术也得到了广泛应用。 利用虚拟化技术可以实现在一台物理主 机上同时运行多个虚拟机, 这样, 可以提高资源的利用率和分配灵 活性, 但是同时也带来了安全隐患。 如若一个虚拟机由于漏洞而影 响到底层的虚拟机监控器 ( VMM, Virtual Machine Monitor ), 则同 一物理主机上的其他虚拟机均会受到影响。
目前常用的 Xen 虚拟化系统中的物理主机都包含两个关键组 件: Hypervisor (虚拟机管理器 ) 和 domain-0 ( Xen 平台的管理虚 拟机), 其中, 由于大量的漏洞一般会出现在 domain-0 的代码中, 因此, 为了避免一个虚拟机的漏洞影响该虚拟机所处的物理主机上 的其他虚拟机 , 对 domain-0进行隔离并保证 domain-0 的安全已成 为一个亟待解决的问题。 现有技术中,可通过将 domain-0中的某些服务组件从 domain-0 中分离出来, 并将该某些服务组件分别放入其他不同的独立虚拟机 中运行, 以实现 domain_Q 中该某些服务组件之间的隔离, 从而保证 doma in-0的安全。
然而, 上述通过不同虚拟机保证 domain-0安全的方法中, 一方 面, 由于 domain-Q 中的某些服务组件之间的通信方式由原来的进程 间通信变为虚拟机间通信, 从而导致该某些服务组件之间的通信' )·生
能下降, 且增加了虚拟机运行所需的资源; 另一方面, 由于未涉及 到服务组件的级别, 因此,导致 doma i n- 0 中服务组件的安全性较低。 发明内容
本发明的实施例提供一种管理虚拟机的隔离方法及装置, 解决 了服务组件之间的通信性能较差, 虚拟机运行所需的资源较多, 以 及服务组件的安全性较低的问题。
为达到上述目的, 本发明的实施例采用如下技术方案:
第一方面, 本发明提供一种管理虚拟机的隔离方法, 包括: 获取客户标识;
根据所述客户标识, 在所述管理虚拟机中查找与所述客户标识 对应的内核虚拟机;
若在所述管理虚拟机中未查找到所述内核虚拟机, 则在所述管 理虚拟机中创建所述内核虚拟机;
将所述内核虚拟机为客户虚拟机提供的服务分解为多个服务组 件, 所述客户虚拟机为与所述客户标识对应的虚拟机;
将所述多个服务组件分别运行在与该服务组件所具有的权限对 应的执行环境中, 其中, 所述内核虚拟机包括多个执行环境, 所述 多个执行环境分别具有不同的权限。
在第一方面的第一种可能的实现方式中, 若在所述管理虚拟机 中查找到所述内核虚拟机, 则所述方法还包括:
由所述内核虚拟机获取虚拟机管理器发送的指示消息, 所述指 示消息为所述客户虚拟机发送至所述虚拟机管理器, 并由所述虚拟 机管理器根据所述指示消息中携带的所述客户标识, 确定出与所述 述指示消息用于指示所述客户虚拟机所需的服务;
由所述内核虚拟机根据所述指示消息中携带的服务请求信 , 响 应所述客户虚拟机所需的服务。
在第一方面的第二种可能的实现方式中, 所述获取客户标识, 包括:
获取请求消息, 所述请求消息中携带所述客户标识, 所述请求 消息用于请求创建所述客户虚拟机;
从所述请求消息中获取所述客户标识;
所述方法还包括:
根据所述请求消息创建与所述客户标识对应的所述客户虚拟 机。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 二种可能的实现方式中的任一种实现方式, 在第三种可能的实现方 式中, 所述将所述内核虚拟机为客户虚拟机提供的服务分解为多个 服务组件, 包括:
根据所述内核虚拟机的功能, 将所述服务的代码分解为多个功 能代码块;
将所述多个功能代码块分别运行于多个服务进程中, 以形成多 个服务组件, 其中, 所述多个功能代码块与所述多个服务进程—— 对应。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 三种可能的实现方式中的任一种实现方式, 在第四种可能的实现方 式中, 所述将所述多个服务组件分别运行在与该服务组件所具有的 权限对应的执行环境中, 包括:
根据所述多个服务组件的权限,对所述多个服务组件进行分组, 以使得不同分组的服务组件具有不同的权限;
将所述多个服务组件中的不同分组的服务组件分别运行在与该 结合第一方面的第四种可能的实现方式, 在第五种可能的实现 方式中, 所述多个服务组件的权限是通过如下方法来确定的:
获取所述多个服务组件的系统参数;
根据所述多个服务组件的系统参数, 分别确定与所述多个服务 组件的系统参数对应的所述多个服务组件的权限。
结合前述的第一方面或第一方面的第一种可能的实现方式至第
五种可能的实现方式中的任一种实现方式, 在第六种可能的实现方 式中, 所述将所述多个服务组件分别运行在与该服务组件所具有的 权限对应的执行环境中之后, 所述方法还包括:
根据预设策略, 对所述多个服务组件的权限进行限制, 其中, 所述预设策略包括访问操作和控制操作中的至少一个。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 六种可能的实现方式中的任一种实现方式, 在第七种可能的实现方 式中, 所述将所述多个服务组件分别运行在与该服务组件所具有的 权限对应的执行环境中之后, 所述方法还包括:
监控所述多个服务组件的运行状态;
当所述多个服务组件中的一个服务组件的运行状态发生错误 时, 重启所述一个服务组件。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 七种可能的实现方式中的任一种实现方式, 在第八种可能的实现方 式中, 所述将所述多个服务组件分别运行在与该服务组件所具有的 权限对应的执行环境中之后, 所述方法还包括:
根据预设时间, 分别对应周期性地重启所述多个服务组件中的 每个服务组件, 所述预设时间为与所述每个服务组件分别对应的预 设时间。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 八种可能的实现方式中的任一种实现方式, 在第九种可能的实现方 式中, 所述在所述管理虚拟机中创建所述内核虚拟机包括:
根据内核虚拟化技术, 在所述管理虚拟机中创建与所述客户标 识对应的内核虚拟化容器;
将所述管理虚拟机为所述客户虚拟机提供的服务设置于所述内 核虚拟化容器中, 以创建所述内核虚拟机。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 九种可能的实现方式中的任一种实现方式, 在第十种可能的实现方 式中,
所述多个服务组件之间的通信方式为进程间通信。
结合前述的第一方面或第一方面的第一种可能的实现方式至第 十种可能的实现方式中的任一种实现方式, 在第十一种可能的实现 方式中,
所述多个服务组件包括: 虚拟机启动服务组件、 虚拟机管理工 具集组件、 虚拟机设备模拟组件、 虚拟机创建工具组件、 虚拟机后 端驱动组件及 Xen存储组件中的至少一个。
第二方面, 本发明提供一种管理虚拟机, 包括: 隔离模块和至 少一个内核虚拟机, 其中, 所述隔离模块用于:
获取客户标识;
根据所述客户标识, 在所述管理虚拟机中的所述至少一个内核 虚拟机中查找与所述客户标识对应的内核虚拟机;
若在所述至少一个内核虚拟机中未查找到所述内核虚拟机, 则 在所述管理虚拟机中创建所述内核虚拟机;
将所述内核虚拟机为客户虚拟机提供的服务分解为多个服务组 件, 所述客户虚拟机为与所述客户标识对应的虚拟机;
将所述多个服务组件分别运行在与该服务组件所具有的权限对 应的执行环境中, 其中, 所述内核虚拟机包括多个执行环境, 所述 多个执行环境分别具有不同的权限。
在第二方面的第一种可能的实现方式中,
所述内核虚拟机, 还用于若所述隔离模块在所述管理虚拟机中 查找到所述内核虚拟机, 则获取虚拟机管理器发送的指示消息, 并 根据所述指示消息中携带的服务请求信息响应所述客户虚拟机所需 的服务, 所述指示消息为所述客户虚拟机发送至所述虚拟机管理器, 并由所述虚拟机管理器根据所述指示消息中携带的所述客户标识, 所发送的, 所述指示消息用于指示所述客户虚拟机所需的服务。
在第二方面的第二种可能的实现方式中,
所述隔离模块, 具体用于获取请求消息, 并从所述请求消息中
获取所述客户标识, 以及根据所述请求消息创建与所述客户标识对 应的所述客户虚拟机, 所述请求消息中携带所述客户标识, 所述请 求消息用于请求创建所述客户虚拟机。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 二种可能的实现方式中的任一种实现方式, 在第三种可能的实现方 式中,
所述隔离模块, 具体用于根据所述内核虚拟机的功能, 将所述 服务的代码分解为多个功能代码块, 并将所述多个功能代码块分别 运行于多个服务进程中, 以形成多个服务组件, 其中, 所述多个功 能代码块与所述多个服务进程——对应。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 三种可能的实现方式中的任一种实现方式, 在第四种可能的实现方 式中,
所述隔离模块, 具体用于根据所述多个服务组件的权限, 对所 述多个服务组件进行分组, 以使得不同分组的服务组件具有不同的 权限, 并将所述多个服务组件中的不同分组的服务组件分别运行在 与该组服务组件所具有的权限对应的执行环境中。
结合第二方面的第四种可能的实现方式, 在第五种可能的实现 方式中,
所述隔离模块, 还用于获取所述多个服务组件的系统参数, 并 根据所述多个服务组件的系统参数, 分别确定与所述多个服务组件 的系统参数对应的所述多个服务组件的权限。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 五种可能的实现方式中的任一种实现方式, 在第六种可能的实现方 式中,
所述隔离模块, 还用于在将所述多个服务组件分别运行在与该 服务组件所具有的权限对应的执行环境中之后, 根据预设策略, 对 所述多个服务组件的权限进行限制, 其中, 所述预设策略包括访问 操作和控制操作中的至少一个。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 六种可能的实现方式中的任一种实现方式, 在第七种可能的实现方 式中,
所述隔离模块, 还用于在将所述多个服务组件分别运行在与该 服务组件所具有的权限对应的执行环境中之后, 监控所述多个服务 组件的运行状态, 并当所述多个服务组件中的一个服务组件的运行 状态发生错误时, 重启所述一个服务组件。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 七种可能的实现方式中的任一种实现方式, 在第八种可能的实现方 式中,
所述隔离模块, 还用于在将所述多个服务组件分别运行在与该 服务组件所具有的权限对应的执行环境中之后, 根据预设时间, 分 别对应周期性地重启所述多个服务组件中的每个服务组件, 所述预 设时间为与所述每个服务组件分别对应的预设时间。
结合前述的第二方面或第二方面的第一种可能的实现方式至第 八种可能的实现方式中的任一种实现方式, 在第九种可能的实现方 式中,
所述隔离模块, 具体用于根据内核虚拟化技术, 在所述管理虚 拟机中创建与所述客户标识对应的内核虚拟化容器, 并将所述管理 虚拟机为所述客户虚拟机提供的服务设置于所述内核虚拟化容器 中, 以创建所述内核虚拟机。
结合前述的第二方面或第二方面的第一种可能的实现方 九种可能的实现方式中的任一种实现方式, 在第十种可能的 式中,
所述多个服务组件之间的通信方式为进程间通信。
结合前述的第二方面或第二方面的第一种可能的实现方 十种可能的实现方式中的任一种实现方式, 在第十一种可能 方式中,
所述多个服务组件包括: 虚拟机启动服务组件、 虚拟机管理工
具集组件、 虚拟机设备模拟组件、 虚拟机创建工具组件、 虚拟机后 端驱动组件及 X e n存储组件中的至少一个。
第三方面, 本发明提供一种服务器, 所述服务器上运行有如第 二方面所述的管理虚拟机和与每个客户标识分别对应的至少一个客 户虚拟机, 所述管理虚拟机中包括与所述每个客户标识——对应的 内核虚拟机, 其中, 一个内核虚拟机为与一个客户标识对应的至少 一个客户虚拟机提供服务。
本发明提供的管理虚拟机的隔离方法及装置, 通过获取客户标 识, 并^ :艮据该客户标识, 在管理虚拟机中查找与该客户标识对应的 内核虚拟机, 若在该管理虚拟机中未查找到该内核虚拟机, 则在该 管理虚拟机中创建该内核虚拟机, 且将该内核虚拟机为客户虚拟机 提供的服务分解为多个服务组件, 该客户虚拟机为与该客户标识对 应的虚拟机, 以及将多个服务组件分别运行在与该服务组件所具有 的权限对应的执行环境中, 其中, 该内核虚拟机包括多个执行环境, 该多个执行环境分别具有不同的权限。 通过该方案, 由于可通过在 管理虚拟机中分别创建与各个客户标识对应的内核虚拟机, 并将内 核虚拟机为客户虚拟机提供的多个服务组件分别运行在与该服务组 件所具有的权限对应的执行环境中, 以实现对管理虚拟机进行纵向 内核虚拟化层隔离和横向服务层隔离, 因此, 可以使得与所有客户 标识对应, 且具有不同权限的服务组件仍然能够运行在同一个管理 虚拟机中, 从而提升服务组件之间的通信性能, 降低虚拟机运行所 需的资源, 以及增强服务组件的安全性。
附图说明
图 1 为本发明实施例提供的一种管理虚拟机的隔离方法的流程 图一;
图 2为现有技术提供的服务器的结构示意图;
图 3为本发明实施例提供的服务器的结构示意图一;
图 4 为本发明实施例提供的一种管理虚拟机的隔离方法的流程 图二;
图 5 为本发明实施例提供的一种管理虚拟机的隔离方法的流程 图三;
图 6 为本发明实施例提供的一种管理虚拟机的隔离方法的流程 图四;
图 7为本发明实施例提供的管理虚拟机的结构示意图;
图 8为本发明实施例提供的服务器的结构示意图二;
图 9为本发明实施例提供的 Xen虚拟化系统的结构示意图; 图 1 0为本发明实施例中内核虚拟机提供的服务模块的示意图。 具体实施方式
下面结合附图对本发明实施例提供的一种管理虚拟机的隔离方 法及装置进行详细地描述。
本发明实施例提供的管理虚拟机的隔离方法, 通过对管理虚拟 机分别进行纵向内核虚拟化层隔离和横向服务层隔离, 而使得在保 证管理虚拟机安全的基础上, 提升服务组件之间的通信性能, 降低 虚拟机运行所需的资源, 以及增强服务组件的安全性。
进一步地, 由于本发明实施例提供的管理虚拟机的隔离方法是 基于服务器在管理虚拟机上实现的, 因此, 本发明实施例提供的管 理虚拟机的隔离方法的执行主体可以为服务器,以下实施例均以 X en 虚拟化系统为例, 以服务器为执行主体对本发明实施例提供的管理 虚拟机的隔离方法进行详细地说明。
实施例一
本发明实施例提供一种管理虚拟机的隔离方法, 如图 1 所示, 该方法可以包括:
S 1 0 1、 服务器获取客户标识。
现有技术中, 一台服务器能够实现一个 Xen虚拟化系统, 其中, 如图 2 所示, 该服务器上运行有一个虚拟机管理器和与每个客户标 识分别对应的至少一个客户虚拟机, 该虚拟机管理器可用于管理该 多个客户虚拟机。 为了减轻虚拟机管理器的负担, 可再创建一个新 的虚拟机以用于协助该虚拟机管理器对该多个客户虚拟机的管理,
而该新的虚 λ机贝' J被称为管理虚 以机, doma i n_ 0。其中, doma i n_ 0 是一个完整的 Linux 系统, 主要负责创建客户虚拟机、 删除客户虚 拟机、 修改客户虚拟机、 管理客户虚拟机, 以及运行服务器上的外 接设备的驱动, domain-0 中运行有针对所有客户虚拟机的服务, 该 服务可用于为这些客户虚拟机提供基础性服务, 如虚拟机启动服务、 虚拟机管理服务、 虚拟机设备模拟服务、 虚拟机创建工具服务、 虚 拟机后端驱动服务及 Xen存储服务等。
其中, 服务是由一个接口定义的一组操作, 且此接口可供其他 模块调用。
示例性的, 当某个客户需要在某台服务器上新创建一个客户虚 拟机时, 该客户可发送创建虚拟机请求消息至该服务器, 从而该服 务器在接收到该创建虚拟机请求消息之后, 该服务器可根据该创建 虚拟机请求消息在该服务器上新创建一个客户虚拟机, 其中, 该创 建虚拟机请求消息中携带该客户的客户标识。
特别的, 本发明实施例中, 客户可以理解为拥有某个客户标识 的一个用户或租户, 即一个客户对应一个客户标识。
本发明实施例中,服务器在接收到该创建虚拟机请求消息之后, 服务器可从该创建虚拟机请求消息中获取到该客户标识, 其中, 该 客户标识可以为该客户 ID ( IDentity, 序列号), 具体的, 该客户 标识可以为该客户拥有的一个账号。 例如, 该客户标识可以为该客 户登陆到云计算平台的一个登陆账号。
5102、 服务器根据客户标识, 在管理虚拟机中查找与客户标识 对应的内核虚拟机。
服务器获取到客户标识之后, 服务器可根据该客户标识, 在管 理虚拟机, 即 domain_0 中查找是否存在与该客户标识对应的内核虚 拟机。
5103、 若服务器在管理虚拟机中未查找到该内核虚拟机, 服务 器则在管理虚拟机中创建该内核虚拟机。
月良务器在 domain_0 中查找与该客户标识对应的内核虚拟机之
后, 若服务器在 domain-0 中未查找到该内核虚拟机, 服务器则可在 domain-0 中创建该内核虚拟机。
需要说明的是, 对于不同的客户标识 (也可理解为客户 ;), 服务 器可通过重复执行上述步骤, 即服务器可利用内核虚拟化技术, 通 过在 domain_0 中创建对应于不同客户标识的内核虚拟机, 以将该 domain-0中为与不同客户标识对应的客户虚拟机提供的服务进行隔 离。
进一步地, 服务器创建该内核虚拟机之后, 该内核虚拟机则可 为该客户请求创建的该客户虚拟机提供基础性服务。 可以理解的是, 当服务器在 domain-0 中分别创建了对应于不同客户标识的不同内 核虚拟机之后, 其中每个内核虚拟机可只为与其对应的客户标识对 应的客户虚拟机提供基础性服务, 这样, 当 domain-Q 中某个内核虚 拟机出现漏洞时, 只会影响到由该内核虚拟机提供基础性服务的客 户虚拟机, 而不会影响 domain-0 中由其他内核虚拟机提供基础性服 务的其他客户虚拟机。
进一步地,由于 doma i n_ 0 中创建的内核虚拟机可为客户虚拟机 提供基础性服务, 因此, 当某个客户请求在服务器上创建多个与该 客户的客户标识对应的客户虚拟机时, 服务器可只在该客户请求创 建第一个与该客户标识对应的客户虚拟机时, 在 domain_0 中创建与 该客户标识对应的内核虚拟机, 而在该客户请求创建其他的与该客 户标识对应的客户虚拟机时, 服务器则无需再在 domain_0 中创建与 该客户标识对应的内核虚拟机, 而只需使用已创建的与该客户标识 对应的内核虚拟机为与该客户标识对应的其他客户虚拟机提供基础 性服务即可。 即一个内核虚拟机可为与一个客户标识对应的所有客 户虚拟机提供基础性服务, 也就是说, 一个内核虚拟机可为一个客 户的所有客户虚拟机提供基础性服务。
可以理解的是, 本发明实施例中, 一个客户标识对应一个内核 虚拟机, 该一个客户标识对应至少一个客户虚拟机, 该一个内核虚 拟机可为该至少一个客户虚拟机提供服务。
至此,月良务器对 doma i n- 0 中为与不同客户标识对应的客户虚拟 机提供的基础性服务进行了纵向内核虚拟化层隔离。
51 04、 服务器将该内核虚拟机为客户虚拟机提供的服务分解为 多个服务组件, 该客户虚拟机为与该客户标识对应的虚拟机。
服务器在 doma i n- 0 中创建内核虚拟机之后,服务器可将该内核 虚拟机为客户虚拟机提供的服务分解为多个服务组件, 其中, 该客 户虚拟机为与该客户标识对应的虚拟机。
进一步地, 服务器可根据内核虚拟机为该客户虚拟机提供的服 务的功能, 将该服务分解为多个不同的服务组件。
51 05、 服务器将该多个服务组件分别运行在与该服务组件所具 有的权限对应的执行环境中, 其中, 该内核虚拟机包括多个执行环 境, 该多个执行环境分别具有不同的权限。
服务器将该内核虚拟机为该客户虚拟机提供的服务分解为多个 服务组件之后, 服务器可将该多个服务组件分别运行在与该服务组 件所具有的权限对应的执行环境中, 即服务器将具有不同权限的服 务组件分别运行在不同的执行环境中, 其中, 该内核虚拟机包括多 个执行环境, 该多个执行环境中的每个执行环境具有不同的权限。
需要说明的是, 如图 3所示, 本发明实施例提供的管理虚拟机 的隔离方法, 是通过在服务器上创建两层虚拟机, 并将 doma i n- 0 中 为与不同客户标识对应的客户虚拟机提供基础性服务的多个服务组 件分别运行在与该服务组件所具有的权限对应的执行环境中而实现 的, 即首先在服务器上创建 doma i n_ 0 , 然后再在 d oma i n_ 0 中创建 针对不同客户标识的内核虚拟机, 并将这些内核虚拟机提供基础性 服务的多个服务组件分别运行在与该服务组件所具有的权限对应的 执行环境中, 从而使得不同的客户标识对应不同的内核虚拟机, 进 而将为与不同客户标识对应的客户虚拟机提供的基础性服务进行纵 向内核虚拟化层隔离, 以形成与不同客户标识分别对应的逻辑域, 并将提供基础性服务的该多个服务组件进行横向服务层隔离, 以形 成不同的服务组。
示例性的, 如图 3所示, 假设本发明实施例提供的实现 Xen虚 拟化系统的服务器上运行有三个客户虚拟机, 分别为客户虚拟机 A、 客户虚拟机 B 和客户虚拟机 C ; 通过本发明实施例提供的管理虚拟 机的隔离方法, 可将 d oma i n_ 0 中为与客户标识 A对应的所有客户虚 拟机、 与客户标识 B对应的所有客户虚拟机和与客户标识 C对应的 所有客户虚拟机提供的基础性服务分别通过纵向内核虚拟化层隔 离, 以形成与客户标识 A对应的逻辑域 A、 与客户标识 B对应的逻 辑域 B、 以及与客户标识 C对应的逻辑域 C , 并将提供基础性服务的 该多个服务组件通过横向服务层隔离, 即将该多个服务组件分别运 行在与该服务组件所具有的权限对应的执行环境中, 以形成不同的 服务组, 如普通服务组和特权服务组。
可选的, 本发明实施例提供的管理虚拟机的隔离方法中, 具有 最高权限的管理员可随时指示服务器根据实际需求对该多个服务组 件中的任意一个服务组件运行的执行环境进行调整, 即对该多个服 务组件所具有的权限进行调整, 以重新隔离该多个服务组件, 本发 明不作限制。
本发明实施例提供一种管理虚拟机的隔离方法, 通过获取客户 标识, 并^ :艮据该客户标识, 在管理虚拟机中查找与该客户标识对应 的内核虚拟机, 若在该管理虚拟机中未查找到该内核虚拟机, 则在 该管理虚拟机中创建该内核虚拟机, 且将该内核虚拟机为客户虚拟 机提供的服务分解为多个服务组件, 该客户虚拟机为与该客户标识 对应的虚拟机, 以及将多个服务组件分别运行在与该服务组件所具 有的权限对应的执行环境中, 其中, 该内核虚拟机包括多个执行环 境, 该多个执行环境分别具有不同的权限。 通过该方案, 由于可通 过在管理虚拟机中分别创建与各个客户标识对应的内核虚拟机, 并 将内核虚拟机为客户虚拟机提供的多个服务组件分别运行在与该服 务组件所具有的权限对应的执行环境中, 以实现对管理虚拟机进行 纵向内核虚拟化层隔离和横向服务层隔离, 因此, 可以使得与所有 客户标识对应, 且具有不同权限的服务组件仍然能够运行在同一个
管理虚拟机中, 从而提升服务组件之间的通信性能, 降低虚拟机运 行所需的资源, 以及增强服务组件的安全性。
实施例二
本发明实施例提供一种管理虚拟机的隔离方法, 如图 4 所示, 该方法可以包括:
S 2 01、 服务器获取请求消息, 该请求消息中携带客户标识, 该 请求消息用于请求服务器创建与该客户标识对应的客户虚拟机。
现有技术中, 一台服务器能够实现一个 Xen虚拟化系统, 其中, 如图 2 所示, 该服务器上运行有一个虚拟机管理器和与每个客户标 识分别对应的至少一个客户虚拟机, 该虚拟机管理器可用于管理该 多个客户虚拟机。 为了减轻虚拟机管理器的负担, 可再创建一个新 的虚拟机以用于协助该虚拟机管理器对该多个客户虚拟机的管理, 而该新的虛 ^机贝' J被称为管理虚 以机, doma i n_ 0。其中, doma i n_ 0 是一个完整的 L i nu x 系统, 主要负责创建客户虚拟机、 删除客户虚 拟机、 修改客户虚拟机、 管理客户虚拟机, 以及运行服务器上的外 接设备的驱动, d oma i n- 0 中运行有针对所有客户虚拟机的服务, 该 服务可用于为这些客户虚拟机提供基础性服务, 如虚拟机启动服务、 虚拟机管理服务、 虚拟机设备模拟服务、 虚拟机创建工具服务、 虚 拟机后端驱动服务及 Xen存储服务等。
其中, 服务是由一个接口定义的一组操作, 且此接口可供其他 模块调用。
示例性的, 当某个客户需要在某台服务器上新创建一个客户虚 拟机时, 该客户可发送请求消息, 即创建虚拟机请求消息至该服务 器, 其中, 该创建虚拟机请求消息中携带客户标识, 该创建虚拟机 请求消息可用于请求服务器创建与该客户标识对应的客户虚拟机。
特别的, 本发明实施例中, 客户可以理解为拥有某个客户标识 的一个用户或租户, 即一个客户对应一个客户标识。
S 2 02、 服务器从该请求消息中获取客户标识。
服务器在接收到该请求消息之后, 服务器可从该请求消息中获
取该客户标识, 其中, 该客户标识可以为该客户 ID, 具体的, 该客 户标识可以为该客户拥有的一个账号。 例如, 该客户标识可以为该 客户登陆到云计算平台的一个登陆账号。
S203、 服务器根据该请求消息, 创建客户虚拟机。
服务器在接收到该请求消息之后, 服务器可根据该请求消息在 该服务器上新创建一个客户虚拟机, 该客户虚拟机为与该客户标识 对应的虚拟机, 即为拥有该客户标识的客户请求创建的虚拟机。
需要说明的是, 本发明可以不限制 S202和 S203 的执行顺序, 即本发明可以先执行 S202, 后执行 S203; 也可以先执行 S203, 后 执行 S202; 还可以同时执行 S202和 S203。
S204、 服务器根据该客户标识, 在管理虚拟机中查找与该客户 标识对应的内核虚拟机。
服务器获取到客户标识之后, 服务器可根据该客户标识, 在管 理虚拟机, 即 domain_0 中查找是否存在与该客户标识对应的内核虚 拟机。
S205、 若服务器在管理虚拟机中未查找到该内核虚拟机, 服务 器则在管理虚拟机中创建该内核虚拟机。
月良务器在 domain_0 中查找与该客户标识对应的内核虚拟机之 后, 若服务器在 domain-0 中未查找到该内核虚拟机, 服务器则可在 domain-0 中创建该内核虚拟机。
需要说明的是, 对于不同的客户标识 (也可理解为客户 ;), 服务 器可通过重复执行上述步骤, 即服务器可利用内核虚拟化技术, 通 过在 domain_0 中创建对应于不同客户标识的内核虚拟机, 以将该 domain-0中为与不同客户标识对应的客户虚拟机提供的服务进行隔 离。
进一步地, 服务器创建该内核虚拟机之后, 该内核虚拟机则可 为该客户请求创建的该客户虚拟机提供基础性服务。 可以理解的是, 当服务器在 domain-0 中分别创建了对应于不同客户标识的不同内 核虚拟机之后, 其中每个内核虚拟机可只为与其对应的客户标识对
应的客户虚拟机提供基础性服务, 这样, 当 domain-Q 中某个内核虚 拟机出现漏洞时, 只会影响到由该内核虚拟机提供基础性服务的客 户虚拟机, 而不会影响 domain-0 中由其他内核虚拟机提供基础性服 务的其他客户虚拟机。
进一步地,由于 doma i n_ 0 中创建的内核虚拟机可为客户虚拟机 提供基础性服务, 因此, 当某个客户请求在服务器上创建多个与该 客户的客户标识对应的客户虚拟机时, 服务器可只在该客户请求创 建第一个与该客户标识对应的客户虚拟机时, 在 domain_0 中创建与 该客户标识对应的内核虚拟机, 而在该客户请求创建其他的与该客 户标识对应的客户虚拟机时, 服务器则无需再在 domain_0 中创建与 该客户标识对应的内核虚拟机, 而只需使用已创建的与该客户标识 对应的内核虚拟机为与该客户标识对应的其他客户虚拟机提供基础 性服务即可。 即一个内核虚拟机可为与一个客户标识对应的所有客 户虚拟机提供基础性服务, 也就是说, 一个内核虚拟机可为一个客 户的所有客户虚拟机提供基础性服务。
可以理解的是, 本发明实施例中, 一个客户标识对应一个内核 虚拟机, 该一个客户标识对应至少一个客户虚拟机, 该一个内核虚 拟机可为该至少一个客户虚拟机提供服务。
具体的, 服务器创建该内核虚拟机的方法可以包括:
( 1 ) 服务器根据内核虚拟化技术, 在 domain-0 中创建与该客 户标识对应的内核虚拟化容器。
( 2 ) 服务器将 domain-0 为与该客户标识对应的客户虚拟机提 供的服务设置于该内核虚拟化容器中, 以创建该内核虚拟机。
本发明实施例提供的管理虚拟机的隔离方法中, 服务器具体可 以利用 LXC ( Linux Container , 一种内核虚拟化技术), 通过在 domain-0 中创建对应于不 同客户 标识的 内核虚拟机, 以将该 domain-0中为与不同客户标识对应的客户虚拟机提供的服务进行隔 离。 其中, LXC 为一种轻量级的内核虚拟化技术, 其基于 Linux 系 统内核的 cgroups ( Control Groups , 控制群组) 机制实现。 本发
明实施例中, 服务器可采用 LXC, 对 domain-0 中为与不同客户标识 对应的客户虚拟机提供的服务进行逻辑上的划分和隔离, 并进行资 源的分配和管理, 从而以形成对应于不同客户标识的逻辑域, 其中, 每个逻辑域对应一个内核虚拟机、 一个客户标识和与该一个客户标 识对应的至少一个客户虚拟机。
进一步地, 本发明实施例中, 服务器可利用 LXC, 在 domain-0 中创建对应于不同客户标识的 LXC容器, 并将 domain-0 中为与不同 客户标识对应的客户虚拟机提供的基础性服务分别放入对应的 LXC 容器中进行隔离, 从而分别形成对应于不同客户标识的内核虚拟机。 这样, 由于 domain_0 中与每个客户标识对应的客户虚拟机所需要服 务都被约束到一个对应的 LXC容器中, 因此, 可以通过 LXC容器和 Xen虚拟化系统的协同合作, 将 domain-Q 中为与不同客户标识对应 的客户虚拟机提供的基础性服务进行有效的隔离。
至此,月良务器对 domain-0 中为与不同客户标识对应的客户虚拟 机提供的基础性服务进行了纵向内核虚拟化层隔离。
S206、 服务器根据该内核虚拟机的功能, 将该内核虚拟机为该 客户虚拟机提供的服务的代码分解为多个功能代码块。
服务器创建该内核虚拟机之后, 服务器可根据该内核虚拟机的 功能, 将该内核虚拟机为该客户虚拟机提供的服务的代码分解为多 个功能代码块。
S207、服务器将该多个功能代码块分别运行于多个服务进程中, 以形成多个服务组件, 其中, 多个功能代码块与多个服务进程—— 对应。
服务器将该服务的代码分解为多个功能代码块之后, 服务器可 将该多个功能代码块分别运行于多个服务进程中, 以形成多个服务 组件, 其中, 该多个功能代码块与该多个服务进程——对应。
特别的, 本发明实施例中, 该多个服务组件之间的通信方式可 以为进程间通信。 与现有技术中为了保证 domain-Q的安全性而使得 服务组件之间的通信方式为虚拟机间通信相比, 本发明实施例能够
在保证 d oma i n- 0的安全性的基础上, 通过该多个服务组件之间进行 进程间通信而提升服务组件之间的通信性能。
进一步地, 本发明实施例提供的该多个服务组件可以包括: 虚 拟机启动服务组件、 虚拟机管理工具集组件、 虚拟机设备模拟组件、 虚拟机创建工具组件、 虚拟机后端驱动组件及 Xen存储组件中的至 少一个。
S 2 0 8、 服务器根据该多个服务组件的权限, 对该多个服务组件 进行分组, 以使得不同分组的服务组件具有不同的权限。
服务器将该内核虚拟机为该客户虚拟机提供的服务形成多个服 务组件之后, 服务器可根据该多个服务组件所具有的权限, 对该多 个服务组件进行分组, 以使得不同分组, 即处于不同组的服务组件 具有不同的权限, 从而实现该多个服务组件之间的隔离。
可选的, 上述该多个服务组件的权限还可以为该多个服务组件 的级别等其他任意满足分组需求的属性, 本发明不作限制。
进一步地,该多个服务组件的权限可以包括 R o o t权限和普通权 限。 具体的, 本发明不限制该多个服务组件的权限种类, 对于能够 实现对该多个服务组件进行分类的权限种类, 都在本发明的保护范 围之内。
需要说明的是, 服务器在根据该多个服务组件的权限对该多个 服务组件进行分组之前, 服务器需先确定该多个服务组件的权限。 其中, 该多个服务组件的权限是通过如下方法来确定的:
( 1 ) 服务器获取该多个服务组件的系统参数。
( 2 )服务器可根据该多个服务组件的系统参数, 分别确定与该 多个服务组件的系统参数对应的该多个服务组件的权限。
可选的, 该多个服务组件的系统参数可以包括: 该多个服务组 件的功能、 该多个服务组件使用的系统资源或该多个服务组件所需 的最高权限等。
S 2 0 9、 服务器将该多个服务组件中的不同分组的服务组件分别 运行在与该组服务组件所具有的权限对应的执行环境中, 其中, 该
内核虚拟机包括多个执行环境, 该多个执行环境分别具有不同的权 限。
服务器对该多个服务组件进行分组之后, 服务器可将该多个服 务组件中的不同分组的服务组件分别运行在与该组服务组件所具有 的权限对应的执行环境中, 即服务器将具有不同权限的每组服务组 件分别运行在不同的执行环境中, 其中, 该内核虚拟机包括多个执 行环境, 该多个执行环境分别具有不同的权限, 具体的, 该多个执 行环境中的每个执行环境均具有不同的权限。
示例性的, 若服务器确定某些服务组件的权限为普通权限, 另 外一些服务组件的权限为特权权限, 则服务器可根据这些服务组件 的权限对这些服务组件进行分组, 并将具有普通权限, 即属于普通 服务组的某些服务组件运行在普通的执行环境中, 将具有特权权限, 即属于特权服务组的另外一些服务组件运行在特权的执行环境中, 从而使得具有不同权限的服务组件可以运行在不同的执行环境中。 这样, 可以使得大部分服务组件运行在普通的执行环境中, 而只有 很小一部分服务组件运行在特权的执行环境中, 从而缩减了 TCB
( Trusted Computing Base, 计算机内保护装置的总体) 的大小, 使得服务组件的权限泄露的可能性大大降低。
需要说明的是, 如图 3所示, 本发明实施例提供的管理虚拟机 的隔离方法, 是通过在服务器上创建两层虚拟机, 并将 domain-0 中 为与不同客户标识对应的客户虚拟机提供基础性服务的多个服务组 件分别运行在与该服务组件所具有的权限对应的执行环境中而实现 的, 即首先在服务器上创建 domain_0, 然后再在 domain_0 中创建 针对不同客户标识的内核虚拟机, 并将这些内核虚拟机提供基础性 服务的多个服务组件分别运行在与该服务组件所具有的权限对应的 执行环境中, 从而使得不同的客户标识对应不同的内核虚拟机, 进 而将为与不同客户标识对应的客户虚拟机提供的基础性服务进行纵 向内核虚拟化层隔离, 以形成与不同客户标识分别对应的逻辑域, 并将提供基础性服务的该多个服务组件进行横向服务层隔离, 以形
成不同的服务组。
示例性的, 如图 3所示, 假设本发明实施例提供的实现 Xen虚 拟化系统的服务器上运行有三个客户虚拟机, 分别为客户虚拟机 A、 客户虚拟机 B 和客户虚拟机 C ; 通过本发明实施例提供的管理虚拟 机的隔离方法, 可将 doma i n_ 0 中为与客户标识 A对应的所有客户虚 拟机、 与客户标识 B对应的所有客户虚拟机和与客户标识 C对应的 所有客户虚拟机提供的基础性服务分别通过纵向内核虚拟化层隔 离, 以形成与客户标识 A对应的逻辑域 A、 与客户标识 B对应的逻 辑域 B、 以及与客户标识 C对应的逻辑域 C , 并将提供基础性服务的 该多个服务组件通过横向服务层隔离, 即将该多个服务组件分别运 行在与该服务组件所具有的权限对应的执行环境中, 以形成不同的 服务组, 如普通服务组和特权服务组。
可选的, 本发明实施例提供的管理虚拟机的隔离方法中, 具有 最高权限的管理员可随时指示服务器根据实际需求对该多个服务组 件中的任意一个服务组件运行的执行环境进行调整, 即对该多个服 务组件所具有的权限进行调整, 以重新隔离该多个服务组件, 本发 明不作限制。
可选的, 如图 5 所示, 本发明实施例提供的管理虚拟机的隔离 方法, 在 S 2 09 , 即服务器将该多个服务组件中的不同分组的服务组 件分别运行在与该组服务组件所具有的权限对应的执行环境中之 后, 该方法还可以包括:
S 2 1 0 , 服务器根据预设策略, 对该多个服务组件的权限进行限 制, 其中, 该预设策略包括访问操作和控制操作中的至少一个。
服务器将该多个服务组件分别运行在与该服务组件所具有的权 限对应的执行环境中之后, 服务器还可对该多个服务组件的权限进 行进一步的限制, 即服务器可根据预设策略, 对该多个服务组件的 权限进行进一步的限制。
其中, 预设策略可以为一种策略控制方法, 该策略控制方法具 体可以包括访问操作和控制操作中的至少一个, 且该策略控制方法
可以根据实际使用需求通过软件的方式实现, 本发明不作限制。 具体的, 访问操作可以为读操作、 写操作、 插入操作、 删除操 作及修改操作等中的至少一个; 控制操作可以为关闭操作和打开操 作等中的至少一个。 例如, 可以为某个服务组件设置上述的访问操 作, 以进一步限制该某个服务组件的访问权限; 也可以为该某个服 务组件设置上述的控制操作, 以进一步限制该某个服务组件的控制 权限。
示例性的, 服务器可通过本发明实施例提供的策略控制方法对 该多个服务组件的权限进行进一步的限制, 如可进一步通过软件的 方式限制该多个服务组件中某些服务组件的访问操作等。
S21 服务器监控该多个服务组件的运行状态。
服务器将该多个服务组件分别运行在与该服务组件所具有的权 限对应的执行环境中之后, 服务器可监控该多个服务组件的运行状 态。
5212、 当该多个服务组件中的一个服务组件的运行状态发生错 误时, 服务器重启该一个服务组件。
在服务器监控该多个服务组件的过程中, 当该多个服务组件中 的一个服务组件的运行状态发生错误时, 服务器可重启该一个服务 组件。
需要说明的是, 本发明不限制 S210和 S211-S212的执行顺序, 即本发明可以先执行 S210 , 后执行 S211-S212 ; 也可以先执行 S211-S212, 后执行 S210; 还可以同时执行 S 21 Q和 S 211 -S 212。
5213、 服务器根据预设时间, 分别对应周期性地重启该多个服 务组件中的每个服务组件, 该预设时间为与该每个服务组件分别对 应的预设时间。
服务器运行该多个服务组件的过程中,服务器可根据预设时间, 分别对应周期性地重启该多个服务组件中的每个服务组件, 其中, 该预设时间为与该每个服务组件分别对应的预设时间。
具体的, 可以为该多个服务组件设定一个重启周期, 即上述的
预设时间; 也可以为该多个服务组件中的部分服务组件设定一个预 设时间, 为该多个服务组件中除该部分服务组件之外的其他服务组 件设定一个预设时间; 还可以为该多个服务组件中的每个服务组件 分别设定一个预设时间, 从而服务器可根据这些预设时间, 分别对 应周期性地重启该多个服务组件中的每个服务组件。
可以理解的是,可以为该多个服务组件设定至少一个预设时间, 从而服务器可根据该至少一个预设时间对应周期性地重启该多个服 务组件中的每个服务组件。
示例性的, 假设为某个服务组件设定的重启周期为一个月 , 则 服务器可以以一个月为周期, 定期重启该某个服务组件。
需要说明的是, 服务器将该多个服务组件分别运行在与该服务 组件所具有的权限对应的执行环境中之后, 服务器可在该多个服务 组件运行过程中重复执行 S 2 1 3。
本发明实施例提供的管理虚拟机的隔离方法中, 当 doma i n- 0 中某些服务组件不需要长期运行时, 可在这些服务组件不被使用时, 将这些服务组件关闭, 从而能够进一步限制 d oma i n- 0对外的服务接 口, 进而减小攻击面, 增加攻击难度。
进一步地, 如图 6 所示, 服务器在管理虚拟机中查找该内核虚 拟机, 即 S 2 04之后, 本发明实施例提供的管理虚拟机的隔离方法还 可以包括:
S 2 1 4、 若服务器在管理虚拟机中查找到该内核虚拟机, 则由该 内核虚拟机为客户虚拟机提供服务。
服务器在管理虚拟机中查找该内核虚拟机之后, 若服务器在管 理虚拟机中查找到该内核虚拟机, 则可由该内核虚拟机为客户虚拟 机提供服务。
可以理解的是,若服务器在管理虚拟机中查找到该内核虚拟机, 服务器则可认为该管理虚拟机中已经创建了对应于该客户标识的内 核虚拟机, 即服务器可无需再在该管理虚拟机中创建对应于该客户 标识的内核虚拟机, 而是可以直接由该内核虚拟机中的具有不同权
限的各个服务组件为该客户虚拟机提供服务。
具体的, 当服务器在管理虚拟机中查找到与该客户标识对应的 该内核虚拟机之后, 由该内核虚拟机为该客户虚拟机提供服务的方 法可以包括:
( 1 ) 由该内核虚拟机获取管理虚拟机发送的指示消息, 该指示 消息为该客户虚拟机发送至虚拟机管理器, 并由虚拟机管理器根据 该指示消息中携带的该客户标识, 确定出与该客户标识对应的该内 核虚拟机后向该内核虚拟机所发送的, 该指示消息可用于指示该客 户虚拟机所需的服务。
( 2 )由该内核虚拟机根据该指示消息中携带的服务请求信息响 应该客户虚拟机所需的服务。
特别的, 本发明实施例提供的管理虚拟机的隔离方法, 在服务 器内部实现上, 由于虚拟机管理器为管理服务器中运行的所有虚拟 机的部件, 因此, 虚拟机管理器具有调度的功能。 当服务器根据某 个客户的请求创建了一台新的客户虚拟机后, 该客户虚拟机可请求 对应的内核虚拟机为其提供其所需的服务, 即该客户虚拟机可发送 用于指示其所需的服务的指示消息至虚拟机管理器, 在虚拟机管理 器接收到该客户虚拟机发送的指示消息后, 虚拟机管理器可从该指 示消息中获取与该客户虚拟机对应的客户标识, 并根据该客户标识 在管理虚拟机中找到与该客户标识对应的内核虚拟机, 以及将该指 示消息发送给该内核虚拟机, 从而, 由该内核虚拟机根据该指示消 息中携带的服务请求信息响应该客户虚拟机所需的服务, 即由该内 核虚拟机根据该指示消息中携带的服务请求信息, 为该客户虚拟机 提供该客户虚拟机所需的服务。
例如, 若客户虚拟机需访问磁盘, 客户虚拟机则可发送指示访 问磁盘的指示消息至虚拟机管理器, 由虚拟机管理器将该指示消息 发送至对应的内核虚拟机, 该内核虚拟机可才艮据该指示消息访问磁 盘, 并将访问磁盘的结果返回给客户虚拟机, 以响应该客户虚拟机 所需的访问磁盘的服务。 其中, 内核虚拟机具体可通过上述多个服
务组件中相应的服务组件响应该客户虚拟机所需的访问磁盘的服 务。
进一步地, 服务器在管理虚拟机中查找到该内核虚拟机之后, 服务器还可根据管理员的指示, 对该内核虚拟机中的该多个服务组 件中的任意一个服务组件运行的执行环境重新进行调整, 即对该多 个服务组件所具有的权限重新进行调整, 并通过该内核虚拟机中的 重新调整权限后的该多个服务组件为该客户虚拟机提供服务。
需要说明的是, 在 Xen 虚拟化系统中, 目前在 CVE ( Common Vulnerabi 1 i ties & Exposures , 公共漏洞和披露) 上出现的漏洞主 要 有 : CVE-2007-4993 、 CVE-2007-5497 、 CVE-2008-0923 、 CVE - 2008 - 1943、 CVE-2008-2100 , CVE-2011 - 3262 , CVE-2012-4544 等。
示例性的, 下面分别以以下三种漏洞为例对本发明实施例提供 的管理虚拟机的隔离方法进行进一步地说明。
( 1 ) CVE_20n_3262 指出在 Xen3. 2、 3. 3、 4. 0 和 4. 1 虚拟机 启动服务代码中发现漏洞。 该漏洞在解压客户虚拟机内核压缩文件 时没有进行合理的循环边界检查, 而使得本地客户有机会利用该漏 洞使得虚拟机启动服务陷入死循环, 实现 DoS ( Deny of Service, 拒绝服务攻击 )。
( 2 ) CVE-2012-4544指出, 由于半虚拟化的虚拟机生成器并没 有检测内核和 Ramd i s k (虚拟内存盘) 的大小, 因此在启动恶意客 户虚拟机镜像时, domain_0 由于内存消耗过大而导致 DoS。
( 3 ) CVE-2007-4993指出, 由于 Xen 3. 0. 3 中的 grub 启动程 序存在漏洞, 导致恶意客户虚拟机可以在 domain-0 中执行任意指 令。
对于上述 ( 1 )、 ( 2 ) 和 ( 3 ) 中指出的漏洞, 通过本发明实施例 提供的管理虚拟机的隔离方法, 可将 domain-0 中为与不同客户标识 对应的客户虚拟机提供的基础性服务 ( 包括虚拟机启动服务) 设置 到不同的虚拟化容器中, 从而当与某个客户标识对应的客户虚拟机
启动服务出现上述漏洞时, 只会影响到该客户虚拟机, 而不会影响 其他的客户虚拟机, 进而能够保证 doma i n- 0的安全性。
进一步地, 本发明实施例提供的管理虚拟机的隔离方法中, 服 务器可以实时监控上述的基础性服务的运行状态, 若服务器检测到 基础性服务中的某个服务组件发生错误, 如上述 ( 1 ) 中虚拟机启动 服务陷入死循环等, 服务器则可停止该某个服务组件, 或者对该某 个服务组件进行重启, 从而保证整个 Xen虚拟化系统的正常运行。
本发明实施例提供一种管理虚拟机的隔离方法, 通过获取客户 标识, 并^ :艮据该客户标识, 在管理虚拟机中查找与该客户标识对应 的内核虚拟机, 若在该管理虚拟机中未查找到该内核虚拟机, 则在 该管理虚拟机中创建该内核虚拟机, 且将该内核虚拟机为客户虚拟 机提供的服务分解为多个服务组件, 该客户虚拟机为与该客户标识 对应的虚拟机, 以及将多个服务组件分别运行在与该服务组件所具 有的权限对应的执行环境中, 其中, 该内核虚拟机包括多个执行环 境, 该多个执行环境分别具有不同的权限。 通过该方案, 由于可通 过在管理虚拟机中分别创建与各个客户标识对应的内核虚拟机, 并 将内核虚拟机为客户虚拟机提供的多个服务组件分别运行在与该服 务组件所具有的权限对应的执行环境中, 以实现对管理虚拟机进行 纵向内核虚拟化层隔离和横向服务层隔离, 因此, 可以使得与所有 客户标识对应, 且具有不同权限的服务组件仍然能够运行在同一个 管理虚拟机中, 从而提升服务组件之间的通信性能, 降低虚拟机运 行所需的资源, 以及增强服务组件的安全性。
实施例三
如图 7 所示, 本发明实施例提供一种管理虚拟机 1 , 该管理虚 拟机 1 可以包括: 隔离模块 1 0 和至少一个内核虚拟机 1 1 , 其中, 所述隔离模块 1 0用于:
获取客户标识; 并根据所述客户标识, 在所述管理虚拟机 1 中 的所述至少一个内核虚拟机 1 1 中查找与所述客户标识对应的内核 虚拟机 1 1 ; 若在所述至少一个内核虚拟机 1 1 中未查找到所述内核
虚拟机 11, 则在所述管理虚拟机 1 中创建所述内核虚拟机 11; 且将 所述内核虚拟机 11 为客户虚拟机提供的服务分解为多个服务组件, 所述客户虚拟机为与所述客户标识对应的虚拟机; 以及将所述多个 服务组件分别运行在与该服务组件所具有的权限对应的执行环境 中, 其中, 所述内核虚拟机 11 包括多个执行环境, 所述多个执行环 境分别具有不同的权限。
进一步地, 所述内核虚拟机 11, 还用于若所述隔离模块 10 在 所述管理虚拟机 1 中查找到所述内核虚拟机 11, 则获取虚拟机管理 器发送的指示消息, 并根据所述指示消息中携带的服务请求信息响 应所述客户虚拟机所需的服务, 所述指示消息为所述客户虚拟机发 送至所述虚拟机管理器, 并由所述虚拟机管理器根据所述指示消息 中携带的所述客户标识, 确定出与所述客户标识对应的所述内核虚 拟机 11 后向所述内核虚拟机 11 所发送的, 所述指示消息用于指示 所述客户虚拟机所需的服务。
可选的, 所述隔离模块 10, 具体用于获取请求消息, 并从所述 请求消息中获取所述客户标识, 以及根据所述请求消息创建与所述 客户标识对应的所述客户虚拟机, 所述请求消息中携带所述客户标 识, 所述请求消息用于请求创建所述客户虚拟机。
可选的, 所述隔离模块 10, 具体用于根据所述内核虚拟机 11 的功能, 将所述服务的代码分解为多个功能代码块, 并将所述多个 功能代码块分别运行于多个服务进程中, 以形成多个服务组件, 其 中, 所述多个功能代码块与所述多个服务进程——对应。
可选的, 所述隔离模块 10, 具体用于根据所述多个服务组件的 权限, 对所述多个服务组件进行分组, 以使得不同分组的服务组件 具有不同的权限, 并将所述多个服务组件中的不同分组的服务组件 分别运行在与该组服务组件所具有的权限对应的执行环境中。
进一步地, 所述隔离模块 10, 还用于获取所述多个服务组件的 系统参数, 并根据所述多个服务组件的系统参数, 分别确定与所述 多个服务组件的系统参数对应的所述多个服务组件的权限。
进一步地, 所述隔离模块 1 0 , 还用于在将所述多个服务组件分 别运行在与该服务组件所具有的权限对应的执行环境中之后, 根据 预设策略, 对所述多个服务组件的权限进行限制, 其中, 所述预设 策略包括访问操作和控制操作中的至少一个。
进一步地, 所述隔离模块 1 0 , 还用于在将所述多个服务组件分 别运行在与该服务组件所具有的权限对应的执行环境中之后, 监控 所述多个服务组件的运行状态, 并当所述多个服务组件中的一个服 务组件的运行状态发生错误时, 重启所述一个服务组件。
进一步地, 所述隔离模块 1 0 , 还用于在将所述多个服务组件分 别运行在与该服务组件所具有的权限对应的执行环境中之后, 根据 预设时间, 分别对应周期性地重启所述多个服务组件中的每个服务 组件, 所述预设时间为与所述每个服务组件分别对应的预设时间。
可选的, 所述隔离模块 1 0 , 具体用于根据内核虚拟化技术, 在 所述管理虚拟机 1 中创建与所述客户标识对应的内核虚拟化容器, 并将所述管理虚拟机 1 为所述客户虚拟机提供的服务设置于所述内 核虚拟化容器中, 以创建所述内核虚拟机 1 1。
可选的,所述多个服务组件之间的通信方式可以为进程间通信。 可选的, 所述多个服务组件可以包括: 虚拟机启动服务组件、 虚拟机管理工具集组件、 虚拟机设备模拟组件、 虚拟机创建工具组 件、 虚拟机后端驱动组件及 Xen存储组件中的至少一个。
本发明实施例提供的管理虚拟机可以运行在服务器上, 服务器 上还运行有一个虚拟机管理器, 以及与每个客户标识分别对应的至 少一个客户虚拟机, 该管理虚拟机中包括与每个客户标识 对应 的内核虚拟机, 一个内核虚拟机为与一个客户标识对应的至少一个 客户虚拟机提供服务。
本发明实施例提供一种管理虚拟机, 该管理虚拟机获取客户标 识, 并^ :艮据该客户标识, 在该管理虚拟机中的至少一个内核虚拟机 中查找与该客户标识对应的内核虚拟机, 若该管理虚拟机在该至少 一个内核虚拟机中未查找到该内核虚拟机, 则在该管理虚拟机中创
建该内核虚拟机, 且该管理虚拟机将该内核虚拟机为客户虚拟机提 供的服务分解为多个服务组件, 该客户虚拟机为与该客户标识对应 的虚拟机, 以及该管理虚拟机将多个服务组件分别运行在与该服务 组件所具有的权限对应的执行环境中, 其中, 该内核虚拟机包括多 个执行环境, 该多个执行环境分别具有不同的权限。 通过该方案, 由于可通过在管理虚拟机中分别创建与各个客户标识对应的内核虚 拟机, 并将内核虚拟机为客户虚拟机提供的多个服务组件分别运行 在与该服务组件所具有的权限对应的执行环境中, 以实现对管理虚 拟机进行纵向内核虚拟化层隔离和横向服务层隔离, 因此, 可以使 得与所有客户标识对应, 且具有不同权限的服务组件仍然能够运行 在同一个管理虚拟机中, 从而提升服务组件之间的通信性能, 降低 虚拟机运行所需的资源, 以及增强服务组件的安全性。
实施例四
如图 8 所示, 本发明实施例提供一种服务器, 该服务器可以包 括处理器 2 0、 存储器 2 1、 系统总线 22和通信接口 2 3。 处理器 2 0、 存储器 2 1和通信接口 2 3之间通过系统总线 22连接并完成相互间的 通信。 其中, 所述服务器中的所述处理器 2 0运行有一个虚拟机管理 器、 一个上述实施例所述的管理虚拟机, 以及与每个客户标识分别 对应的至少一个客户虚拟机, 该虚拟机管理器用于管理该管理虚拟 机和这些客户虚拟机, 该管理虚拟机中包括与每个客户标识 对 应的内核虚拟机, 一个内核虚拟机为与一个客户标识对应的至少一 个客户虚拟机提供服务。
处理器 2 0可能为单核或多核中央处理单元,或者为特定集成电 路, 或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器 2 1 可以为高速 RAM存储器, 也可以为非易失性存储器, 例如至少一个磁盘存储器。
存储器 2 1用于存储如下元素, 可执行模块或者数据结构, 或者 他们的子集, 或者他们的扩展集, 以及计算机执行指令:
操作系统 2 1 0 , 包含各种系统程序, 用于实现各种基础业务以
及处理基于硬件的任务。
应用模块 211, 包含各种应用程序, 用于实现各种应用业务。 应用模块 211 中包括但不限于虚拟机操作系统。
当服务器运行时, 处理器 20运行计算机执行指令, 可以执行图 1或图 4至图 6任意之一所述的方法流程, 具体包括:
所述处理器 20, 用于通过所述系统总线 22从所述通信接口 23 获取客户标识; 并根据所述客户标识, 通过所述系统总线 22在所述 管理虚拟机中的至少一个内核虚拟机中查找与所述客户标识对应的 内核虚拟机; 且若在所述至少一个内核虚拟机中未查找到所述内核 虚拟机, 则在所述管理虚拟机中创建所述内核虚拟机; 以及将创建 的所述内核虚拟机为客户虚拟机提供的服务分解为多个服务组件, 所述客户虚拟机为与所述客户标识对应的虚拟机, 并将所述多个服 务组件分别运行在与该服务组件所具有的权限对应的执行环境中, 其中, 所述内核虚拟机包括多个执行环境, 所述多个执行环境分别 具有不同的权限; 所述存储器 21, 用于存储所述客户标识、 所述多 个服务组件的软件代码及控制所述处理器 20 完成上述过程的软件 程序,从而所述处理器 20通过执行所述软件程序并调用所述软件代 码完成上述过程。
进一步地, 所述处理器 20, 还用于若在所述管理虚拟机中查找 到所述内核虚拟机, 则获取虚拟机管理器发送的指示消息, 并根据 所述指示消息中携带的服务请求信息响应所述客户虚拟机所需的服 务, 所述指示消息为所述客户虚拟机发送至所述虚拟机管理器, 并 由所述虚拟机管理器根据所述指示消息中携带的所述客户标识, 确 定出与所述客户标识对应的所述内核虚拟机后向所述处理器 20 所 发送的, 所述指示消息用于指示所述客户虚拟机所需的服务。
可选的, 所述处理器 20, 具体用于通过所述系统总线 22 从所 述通信接口 23获取请求消息, 并从所述请求消息中获取所述客户标 识, 以及根据所述请求消息创建与所述客户标识对应的所述客户虚 拟机, 所述请求消息中携带所述客户标识, 所述请求消息用于请求
创建所述客户虚拟机。
可选的, 所述处理器 2 0 ,具体用于根据所述内核虚拟机的功能, 将所述服务的代码分解为多个功能代码块, 并将所述多个功能代码 块分别运行于多个服务进程中, 以形成多个服务组件, 其中, 所述 多个功能代码块与所述多个服务进程——对应。
可选的, 所述处理器 2 0 , 具体用于根据所述多个服务组件的权 限, 对所述多个服务组件进行分组, 以使得不同分组的服务组件具 有不同的权限, 并将所述多个服务组件中的不同分组的服务组件分 别运行在与该组服务组件所具有的权限对应的执行环境中。
进一步地, 所述处理器 2 0 , 还用于通过所述系统总线 1 1 获取 所述多个服务组件的系统参数, 并根据所述多个服务组件的系统参 数, 分别确定与所述多个服务组件的系统参数对应的所述多个服务 组件的权限。
进一步地, 所述处理器 2 0 , 还用于在将所述多个服务组件分别 运行在与该服务组件所具有的权限对应的执行环境中之后, 根据预 设策略, 对所述多个服务组件的权限进行限制, 其中, 所述预设策 略包括访问操作和控制操作中的至少一个。
进一步地, 所述处理器 2 0 , 还用于在将所述多个服务组件分别 运行在与该服务组件所具有的权限对应的执行环境中之后, 通过所 述系统总线 2 2监控所述多个服务组件的运行状态, 并当所述多个服 务组件中的一个服务组件的运行状态发生错误时, 重启所述一个服 务组件。
进一步地, 所述处理器 2 0 , 还用于在将所述多个服务组件分别 运行在与该服务组件所具有的权限对应的执行环境中之后, 根据预 设时间, 分别对应周期性地重启所述多个服务组件中的每个服务组 件, 所述预设时间为与所述每个服务组件分别对应的预设时间。
可选的, 所述处理器 2 0 , 具体用于根据内核虚拟化技术, 通过 所述系统总线 22 在所述管理虚拟机中创建与所述客户标识对应的 内核虚拟化容器, 并将所述管理虚拟机为所述客户虚拟机提供的服
务设置于所述内核虚拟化容器中, 以创建所述内核虚拟机。 可选的,所述多个服务组件之间的通信方式可以为进程间通信。 可选的, 所述多个服务组件可以包括: 虚拟机启动服务组件、 虚拟机管理工具集组件、 虚拟机设备模拟组件、 虚拟机创建工具组 件、 虚拟机后端驱动组件及 Xen存储组件中的至少一个。
本发明实施例提供一种服务器, 该服务器获取客户标识, 并根 据该客户标识, 在管理虚拟机中的至少一个内核虚拟机中查找与该 客户标识对应的内核虚拟机, 若该月良务器在该至少一个内核虚拟机 中未查找到该内核虚拟机, 则在该管理虚拟机中创建该内核虚拟机 , 且该服务器将该内核虚拟机为客户虚拟机提供的服务分解为多个服 务组件, 该客户虚拟机为与该客户标识对应的虚拟机, 以及该服务 器将多个服务组件分别运行在与该服务组件所具有的权限对应的执 行环境中, 其中, 该内核虚拟机包括多个执行环境, 该多个执行环 境分别具有不同的权限。 通过该方案, 由于可通过在管理虚拟机中 分别创建与各个客户标识对应的内核虚拟机, 并将内核虚拟机为客 户虚拟机提供的多个服务组件分别运行在与该服务组件所具有的权 限对应的执行环境中, 以实现对管理虚拟机进行纵向内核虚拟化层 隔离和横向服务层隔离, 因此, 可以使得与所有客户标识对应, 且 具有不同权限的服务组件仍然能够运行在同一个管理虚拟机中, 从 而提升服务组件之间的通信性能, 降低虚拟机运行所需的资源, 以 及增强服务组件的安全性。
实施例五
本发明实施例提供一种虚拟化系统, 如图 9 所示, 该虚拟化系 统可以为 Xen虚拟化系统, 该 Xen虚拟化系统包括一台如上述实施 例所述的服务器, 该一台服务器上运行有一个虚拟机管理器、 一个 上述实施例所述的管理虚拟机, 以及与每个客户标识分别对应的至 少一个客户虚拟机, 该虚拟机管理器用于管理该管理虚拟机和这些 客户虚拟机, 该管理虚拟机中包括与每个客户标识 对应的内核 虚拟机, 一个内核虚拟机为与一个客户标识对应的至少一个客户虚
拟机提供服务。
本发明实施例提供的 Xen虚拟化系统中的服务器可通过执行上 述实施例所述的管理虚拟机的隔离方法, 将 doma i n- 0 中为与不同客 户标识对应的客户虚拟机提供的基础性服务分别通过纵向内核虚拟 化层隔离, 以形成与不同客户标识分别对应的逻辑域, 并将提供该 基础性服务的多个服务组件通过横向服务层隔离, 即进行分组, 以 形成不同的服务组。 本发明实施例通过对 doma i n- Q进行上述两层隔 离, 能够在保证 doma i n- Q的安全性的基础上, 提升服务组件之间的 通信性能, 降低虚拟机运行所需的资源。
示例性的, 如图 3所示, 假设本发明实施例提供的实现 Xen虚 拟化系统的服务器上运行有三个客户虚拟机, 分别为客户虚拟机 A、 客户虚拟机 B 和客户虚拟机 C ; 通过本发明实施例提供的管理虚拟 机的隔离方法, 可将 doma i n_ 0 中为与客户标识 A对应的所有客户虚 拟机、 与客户标识 B对应的所有客户虚拟机和与客户标识 C对应的 所有客户虚拟机提供的基础性服务分别通过纵向内核虚拟化层隔 离, 以形成与客户标识 A对应的逻辑域 A、 与客户标识 B对应的逻 辑域 B、 以及与客户标识 C对应的逻辑域 C , 并将提供基础性服务的 该多个服务组件通过横向服务层隔离, 即将该多个服务组件分别运 行在与该服务组件所具有的权限对应的执行环境中, 以形成不同的 服务组, 如普通服务组和特权服务组。
本发明实施例提供的管理虚拟机的隔离方法, 除了需要服务器 硬件结构的支持外, 还需软件的支撑, 如图 1 0所示, 在软件的实现 中, 服务器创建的内核虚拟机为客户虚拟机提供基础性服务的多个 服务组件可以分别由不同的服务模块实现。 具体的, 对应于本发明 实施例提供的该多个服务组件, 实现这些服务组件的服务模块分别 为: 与虚拟机启动服务组件对应的虚拟机启动服务模块、 与虚拟机 管理工具集组件对应的虚拟机管理服务模块、 与虚拟机设备模拟组 件对应的虚拟机设备模拟模块、 与虚拟机创建工具组件对应的虚拟 机创建服务模块、 与虚拟机后端驱动组件对应的虚拟机后端驱动服
务模块, 以及与 Xe n存储组件对应的 X en存储模块。
本发明实施例提供一种虚拟化系统, 该虚拟化系统包括上述实 施例所述的服务器, 该服务器可通过获取客户标识, 并根据该客户 标识, 在管理虚拟机中的至少一个内核虚拟机中查找与该客户标识 对应的内核虚拟机, 若该月良务器在该至少一个内核虚拟机中未查找 到该内核虚拟机, 则在该管理虚拟机中创建该内核虚拟机, 且该服 务器将该内核虚拟机为客户虚拟机提供的服务分解为多个服务组 件, 该客户虚拟机为与该客户标识对应的虚拟机, 以及该服务器将 多个服务组件分别运行在与该服务组件所具有的权限对应的执行环 境中, 其中, 该内核虚拟机包括多个执行环境, 该多个执行环境分 别具有不同的权限。 通过该方案, 由于可通过在管理虚拟机中分别 创建与各个客户标识对应的内核虚拟机, 并将内核虚拟机为客户虚 拟机提供的多个服务组件分别运行在与该服务组件所具有的权限对 应的执行环境中, 以实现对管理虚拟机进行纵向内核虚拟化层隔离 和横向服务层隔离, 因此, 可以使得与所有客户标识对应, 且具有 不同权限的服务组件仍然能够运行在同一个管理虚拟机中, 从而提 升服务组件之间的通信性能, 降低虚拟机运行所需的资源, 以及增 强服务组件的安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据 需要而将上述功能分配由不同的功能模块完成, 即将装置的内部结 构划分成不同的功能模块, 以完成以上描述的全部或者部分功能。 上述描述的系统, 装置和单元的具体工作过程, 可以参考前述方法 实施例中的对应过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置 实施例仅仅是示意性的, 例如, 所述模块或单元的划分, 仅仅为一 种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单 元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽
略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦 合或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信 连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分 开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可 以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实 际的需要选择其中的部分或者全部单元来实现本实施例方案的 目 的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处 理单元中, 也可以是各个单元单独物理存在, 也可以两个或两个以 上单元集成在一个单元中。 上述集成的单元既可以采用硬件的形式 实现, 也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的 产品销售或使用时, 可以存储在一个计算机可读取存储介质中。 基 于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡 献的部分或者该技术方案的全部或部分可以以软件产品的形式体现 出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用 以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络设 备等) 或处理器 ( processor ) 执行本发明各个实施例所述方法的全 部或部分步骤。 而前述的存储介质包括: U 盘、 移动硬盘、 只读存 储器( ROM, Read-Only Memory )、随机存取存储器( RAM, Random Access Memory )、 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围 并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保护范围 之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。
Claims
1、 一种管理虚拟机的隔离方法, 其特征在于, 包括:
获取客户标识;
根据所述客户标识,在所述管理虚拟机中查找与所述客户标识对 应的内核虚拟机;
若在所述管理虚拟机中未查找到所述内核虚拟机,则在所述管理 虚拟机中创建所述内核虚拟机;
将所述内核虚拟机为客户虚拟机提供的服务分解为多个服务组 件, 所述客户虚拟机为与所述客户标识对应的虚拟机;
将所述多个服务组件分别运行在与该服务组件所具有的权限对 应的执行环境中, 其中, 所述内核虚拟机包括多个执行环境, 所述多 个执行环境分别具有不同的权限。
2、 根据权利要求 1所述的管理虚拟机的隔离方法, 其特征在于, 若在所述管理虚拟机中查找到所述内核虚拟机, 则所述方法还包括: 由所述内核虚拟机获取虚拟机管理器发送的指示消息,所述指示 消息为所述客户虚拟机发送至所述虚拟机管理器, 并由所述虚拟机管 理器根据所述指示消息中携带的所述客户标识, 确定出与所述客户标 息用于指示所述客户虚拟机所需的服务;
由所述内核虚拟机根据所述指示消息中携带的服务请求信息响 应所述客户虚拟机所需的服务。
3、 根据权利要求 1所述的管理虚拟机的隔离方法, 其特征在于, 所述获取客户标识, 包括:
获取请求消息, 所述请求消息中携带所述客户标识, 所述请求消 息用于请求创建所述客户虚拟机;
从所述请求消息中获取所述客户标识;
所述方法还包括:
根据所述请求消息创建与所述客户标识对应的所述客户虚拟机。
4、 根据权利要求 1 - 3任一项所述的管理虚拟机的隔离方法, 其
特征在于, 所述将所述内核虚拟机为客户虚拟机提供的服务分解为多 个服务组件, 包括:
根据所述内核虚拟机的功能,将所述服务的代码分解为多个功能 代码块;
将所述多个功能代码块分别运行于多个服务进程中,以形成多个 服务组件,其中,所述多个功能代码块与所述多个服务进程——对应。
5、 根据权利要求 1 - 4任一项所述的管理虚拟机的隔离方法, 其 特征在于, 所述将所述多个服务组件分别运行在与该服务组件所具有 的权限对应的执行环境中, 包括:
根据所述多个服务组件的权限, 对所述多个服务组件进行分组, 以使得不同分组的服务组件具有不同的权限;
将所述多个服务组件中的不同分组的服务组件分别运行在与该
6、 根据权利要求 5所述的管理虚拟机的隔离方法, 其特征在于, 所述多个服务组件的权限是通过如下方法来确定的:
获取所述多个服务组件的系统参数;
根据所述多个服务组件的系统参数,分别确定与所述多个服务组 件的系统参数对应的所述多个服务组件的权限。
7、 根据权利要求 1 - 6任一项所述的管理虚拟机的隔离方法, 其 特征在于, 所述将所述多个服务组件分别运行在与该服务组件所具有 的权限对应的执行环境中之后, 所述方法还包括:
根据预设策略, 对所述多个服务组件的权限进行限制, 其中, 所 述预设策略包括访问操作和控制操作中的至少一个。
8、 根据权利要求 1 - 7任一项所述的管理虚拟机的隔离方法, 其 特征在于, 所述将所述多个服务组件分别运行在与该服务组件所具有 的权限对应的执行环境中之后, 所述方法还包括:
监控所述多个服务组件的运行状态;
当所述多个服务组件中的一个服务组件的运行状态发生错误时, 重启所述一个服务组件。
9、 根据权利要求 1 -8任一项所述的管理虚拟机的隔离方法, 其 特征在于, 所述将所述多个服务组件分别运行在与该服务组件所具有 的权限对应的执行环境中之后, 所述方法还包括:
根据预设时间,分别对应周期性地重启所述多个服务组件中的每 个服务组件, 所述预设时间为与所述每个服务组件分别对应的预设时 间。
1 0、 根据权利要求 1 -9任一项所述的管理虚拟机的隔离方法, 其 特征在于, 所述在所述管理虚拟机中创建所述内核虚拟机包括:
根据内核虚拟化技术,在所述管理虚拟机中创建与所述客户标识 对应的内核虚拟化容
将所述管理虚拟机为所述客户虚拟机提供的服务设置于所述内 核虚拟化容器中, 以创建所述内核虚拟机。
1 1、 根据权利要求 1 - 1 0任一项所述的管理虚拟机的隔离方法, 其特征在于,
所述多个服务组件之间的通信方式为进程间通信。
1 2、 根据权利要求 1 - 1 1任一项所述的管理虚拟机的隔离方法, 其特征在于,
所述多个服务组件包括: 虚拟机启动服务组件、 虚拟机管理工具 集组件、 虚拟机设备模拟组件、 虚拟机创建工具组件、 虚拟机后端驱 动组件及 Xen存储组件中的至少一个。
1 3、 一种管理虚拟机, 其特征在于, 包括: 隔离模块和至少一个 内核虚拟机, 其中, 所述隔离模块用于:
获取客户标识;
根据所述客户标识,在所述管理虚拟机中的所述至少一个内核虚 拟机中查找与所述客户标识对应的内核虚拟机;
若在所述至少一个内核虚拟机中未查找到所述内核虚拟机,则在 所述管理虚拟机中创建所述内核虚拟机;
将所述内核虚拟机为客户虚拟机提供的服务分解为多个服务组 件, 所述客户虚拟机为与所述客户标识对应的虚拟机;
将所述多个服务组件分别运行在与该服务组件所具有的权限对 应的执行环境中, 其中, 所述内核虚拟机包括多个执行环境, 所述多 个执行环境分别具有不同的权限。
1 4、 根据权利要求 1 3所述的管理虚拟机, 其特征在于,
所述内核虚拟机,还用于若所述隔离模块在所述管理虚拟机中查 找到所述内核虚拟机, 则获取虚拟机管理器发送的指示消息, 并根据 所述指示消息中携带的服务请求信息响应所述客户虚拟机所需的服 务, 所述指示消息为所述客户虚拟机发送至所述虚拟机管理器, 并由 所述虚拟机管理器根据所述指示消息中携带的所述客户标识, 确定出 的, 所述指示消息用于指示所述客户虚拟机所需的服务。
1 5、 根据权利要求 1 3所述的管理虚拟机, 其特征在于,
所述隔离模块, 具体用于获取请求消息, 并从所述请求消息中获 取所述客户标识, 以及根据所述请求消息创建与所述客户标识对应的 所述客户虚拟机, 所述请求消息中携带所述客户标识, 所述请求消息 用于请求创建所述客户虚拟机。
1 6、根据权利要求 1 3 - 1 5任一项所述的管理虚拟机,其特征在于, 所述隔离模块, 具体用于根据所述内核虚拟机的功能, 将所述服 务的代码分解为多个功能代码块, 并将所述多个功能代码块分别运行 于多个服务进程中, 以形成多个服务组件, 其中, 所述多个功能代码 块与所述多个服务进程——对应。
1 7、根据权利要求 1 3 - 1 6任一项所述的管理虚拟机,其特征在于, 所述隔离模块, 具体用于根据所述多个服务组件的权限, 对所述 多个服务组件进行分组, 以使得不同分组的服务组件具有不同的权 限, 并将所述多个服务组件中的不同分组的服务组件分别运行在与该
1 8、 根据权利要求 1 7所述的管理虚拟机, 其特征在于,
所述隔离模块, 还用于获取所述多个服务组件的系统参数, 并根 据所述多个服务组件的系统参数, 分别确定与所述多个服务组件的系
统参数对应的所述多个服务组件的权限。
19、根据权利要求 13-18任一项所述的管理虚拟机,其特征在于, 所述隔离模块,还用于在将所述多个服务组件分别运行在与该服 务组件所具有的权限对应的执行环境中之后, 根据预设策略, 对所述 多个服务组件的权限进行限制, 其中, 所述预设策略包括访问操作和 控制操作中的至少一个。
20、根据权利要求 13-19任一项所述的管理虚拟机,其特征在于, 所述隔离模块,还用于在将所述多个服务组件分别运行在与该服 务组件所具有的权限对应的执行环境中之后, 监控所述多个服务组件 的运行状态, 并当所述多个服务组件中的一个服务组件的运行状态发 生错误时, 重启所述一个服务组件。
21、根据权利要求 13-20任一项所述的管理虚拟机,其特征在于, 所述隔离模块,还用于在将所述多个服务组件分别运行在与该服 务组件所具有的权限对应的执行环境中之后, 根据预设时间, 分别对 应周期性地重启所述多个服务组件中的每个服务组件, 所述预设时间 为与所述每个服务组件分别对应的预设时间。
22、根据权利要求 13-21任一项所述的管理虚拟机,其特征在于, 所述隔离模块, 具体用于根据内核虚拟化技术, 在所述管理虚拟 机中创建与所述客户标识对应的内核虚拟化容器, 并将所述管理虚拟 机为所述客户虚拟机提供的服务设置于所述内核虚拟化容器中, 以创 建所述内核虚拟机。
23、根据权利要求 13-22任一项所述的管理虚拟机,其特征在于, 所述多个服务组件之间的通信方式为进程间通信。
24、根据权利要求 13-23任一项所述的管理虚拟机,其特征在于, 所述多个服务组件包括: 虚拟机启动服务组件、 虚拟机管理工具 集组件、 虚拟机设备模拟组件、 虚拟机创建工具组件、 虚拟机后端驱 动组件及 Xen存储组件中的至少一个。
25、 一种服务器, 其特征在于, 所述服务器上运行有如权利要求 13 - 24任一项所述的管理虚拟机和与每个客户标识分另 'J对应的至少一
个客户虚拟机, 所述管理虚拟机中包括与所述每个客户标识——对应 的内核虚拟机, 其中, 一个内核虚拟机为与一个客户标识对应的至少 一个客户虚拟机提供服务。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP14870659.1A EP2940615B1 (en) | 2014-03-24 | 2014-05-22 | Method and apparatus for isolating management virtual machine |
| US14/795,225 US9971623B2 (en) | 2014-03-24 | 2015-07-09 | Isolation method for management virtual machine and apparatus |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410110050.5 | 2014-03-24 | ||
| CN201410110050.5A CN104951694B (zh) | 2014-03-24 | 2014-03-24 | 一种管理虚拟机的隔离方法及装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/795,225 Continuation US9971623B2 (en) | 2014-03-24 | 2015-07-09 | Isolation method for management virtual machine and apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015143766A1 true WO2015143766A1 (zh) | 2015-10-01 |
Family
ID=54140196
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2014/078095 Ceased WO2015143766A1 (zh) | 2014-03-24 | 2014-05-22 | 一种管理虚拟机的隔离方法及装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9971623B2 (zh) |
| EP (1) | EP2940615B1 (zh) |
| CN (1) | CN104951694B (zh) |
| WO (1) | WO2015143766A1 (zh) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170023178A (ko) * | 2014-07-07 | 2017-03-02 | 콘비다 와이어리스, 엘엘씨 | 머신 타입 통신 그룹 기반 서비스를 위한 조정된 그룹화 |
| CN105530293B (zh) * | 2015-12-02 | 2019-07-02 | 深信服科技股份有限公司 | 应用发布方法和装置 |
| CN105681087B (zh) * | 2016-01-22 | 2019-06-11 | 中国人民解放军国防科学技术大学 | 基于轻量级虚拟机的虚拟控制平面资源管理方法 |
| CN107306196A (zh) * | 2016-04-20 | 2017-10-31 | 中兴通讯股份有限公司 | 虚拟化服务监控方法和装置 |
| CN108259192A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团江西有限公司 | 通过业务服务组件化处理服务异常的方法及装置 |
| EP3418933A1 (de) * | 2017-06-19 | 2018-12-26 | Siemens Aktiengesellschaft | Edge-gerät und verfahren zum betrieb eines edge-geräts |
| US10757082B2 (en) * | 2018-02-22 | 2020-08-25 | International Business Machines Corporation | Transforming a wrapped key into a protected key |
| CN109858288B (zh) * | 2018-12-26 | 2021-04-13 | 中国科学院信息工程研究所 | 实现虚拟机安全隔离的方法与装置 |
| CN110032413B (zh) * | 2019-03-05 | 2021-08-31 | 华为技术有限公司 | 一种桌面虚拟化方法、相关设备及计算机存储介质 |
| CN110162344B (zh) * | 2019-04-15 | 2023-03-31 | 深圳壹账通智能科技有限公司 | 一种隔离限流的方法、装置、计算机设备及可读存储介质 |
| CN110347521A (zh) * | 2019-07-01 | 2019-10-18 | 电子科技大学 | 一种基于mils的域间通信方法 |
| CN110442425B (zh) * | 2019-07-19 | 2022-04-08 | 南京芯驰半导体科技有限公司 | 一种虚拟化地址空间隔离系统及方法 |
| CN111736960B (zh) * | 2020-08-10 | 2020-12-22 | 北京信安世纪科技股份有限公司 | 基于软件隔离的服务提供方法、设备及存储介质 |
| CN112667999B (zh) * | 2020-12-31 | 2024-06-07 | 中电长城网际安全技术研究院(北京)有限公司 | 虚拟机的执行时间调整方法和装置 |
| CN114035893B (zh) * | 2021-11-02 | 2025-05-27 | 阿里巴巴(中国)有限公司 | 虚拟机管理方法以及系统 |
| CN115987566B (zh) * | 2022-12-01 | 2024-10-08 | 贵州电网有限责任公司 | 一种基于新能源电力系统服务器隔离架构 |
| KR102910716B1 (ko) * | 2023-03-29 | 2026-01-12 | 주식회사 아도스 | 이중 영역 가상화를 통한 클라이언트 기반 웹 격리 시스템 및 방법 |
| CN116627596B (zh) * | 2023-07-25 | 2023-12-12 | 北京翼辉信息技术有限公司 | 虚拟机加固系统及方法 |
| CN116702180B (zh) * | 2023-08-02 | 2024-04-05 | 北京智芯微电子科技有限公司 | 微内核操作系统及其访问控制方法、芯片、设备和介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101071387A (zh) * | 2006-09-08 | 2007-11-14 | 华南理工大学 | 一种基于虚拟机的驱动程序加固方法 |
| CN101661381A (zh) * | 2009-09-08 | 2010-03-03 | 华南理工大学 | 一种基于Xen的数据共享与访问控制方法 |
| CN102938035A (zh) * | 2012-11-08 | 2013-02-20 | 西安交通大学 | 一种在虚拟机内部的驱动隔离系统与方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7401230B2 (en) | 2004-03-31 | 2008-07-15 | Intel Corporation | Secure virtual machine monitor to tear down a secure execution environment |
| US8619971B2 (en) * | 2005-04-01 | 2013-12-31 | Microsoft Corporation | Local secure service partitions for operating system security |
| US8327353B2 (en) | 2005-08-30 | 2012-12-04 | Microsoft Corporation | Hierarchical virtualization with a multi-level virtualization mechanism |
| US8539137B1 (en) * | 2006-06-09 | 2013-09-17 | Parallels IP Holdings GmbH | System and method for management of virtual execution environment disk storage |
| US8595487B2 (en) | 2006-11-01 | 2013-11-26 | Vmware, Inc. | Virtualization hardware for device driver isolation |
| JP5343586B2 (ja) * | 2009-01-29 | 2013-11-13 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
| CN101599022B (zh) * | 2009-07-07 | 2012-07-04 | 武汉大学 | 用于虚拟机系统的可信计算基裁剪方法 |
| US8381284B2 (en) * | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
| US9055080B2 (en) * | 2009-12-14 | 2015-06-09 | Citrix Systems, Inc. | Systems and methods for service isolation |
| US8751656B2 (en) * | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
| CN102129531B (zh) * | 2011-03-22 | 2013-07-24 | 北京工业大学 | 一种基于Xen的主动防御方法 |
| CN102707985A (zh) * | 2011-03-28 | 2012-10-03 | 中兴通讯股份有限公司 | 一种虚拟机系统的访问控制方法和系统 |
| US20130074064A1 (en) * | 2011-09-15 | 2013-03-21 | Microsoft Corporation | Automated infrastructure provisioning |
| EP2864876B1 (en) * | 2012-06-26 | 2017-10-04 | Lynuxworks, Inc. | Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features |
| CN102930213A (zh) | 2012-10-25 | 2013-02-13 | 中国航天科工集团第二研究院七〇六所 | 基于虚拟机的安全监控系统和安全监控方法 |
-
2014
- 2014-03-24 CN CN201410110050.5A patent/CN104951694B/zh active Active
- 2014-05-22 EP EP14870659.1A patent/EP2940615B1/en active Active
- 2014-05-22 WO PCT/CN2014/078095 patent/WO2015143766A1/zh not_active Ceased
-
2015
- 2015-07-09 US US14/795,225 patent/US9971623B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101071387A (zh) * | 2006-09-08 | 2007-11-14 | 华南理工大学 | 一种基于虚拟机的驱动程序加固方法 |
| CN101661381A (zh) * | 2009-09-08 | 2010-03-03 | 华南理工大学 | 一种基于Xen的数据共享与访问控制方法 |
| CN102938035A (zh) * | 2012-11-08 | 2013-02-20 | 西安交通大学 | 一种在虚拟机内部的驱动隔离系统与方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2940615A4 (en) | 2016-02-24 |
| EP2940615B1 (en) | 2018-01-03 |
| EP2940615A1 (en) | 2015-11-04 |
| US20150309832A1 (en) | 2015-10-29 |
| US9971623B2 (en) | 2018-05-15 |
| CN104951694B (zh) | 2018-04-10 |
| CN104951694A (zh) | 2015-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2015143766A1 (zh) | 一种管理虚拟机的隔离方法及装置 | |
| Watada et al. | Emerging trends, techniques and open issues of containerization: A review | |
| Bui | Analysis of docker security | |
| US9213572B2 (en) | Interdependent virtual machine management | |
| US11436318B2 (en) | System and method for remote attestation in trusted execution environment creation using virtualization technology | |
| US8832775B2 (en) | Techniques for workload spawning | |
| US9189609B1 (en) | Securing virtual machines with virtual volumes | |
| CN113544643B (zh) | 使用初始程序加载机制启动安全客户机 | |
| CN103870749B (zh) | 一种实现虚拟机系统的安全监控系统及方法 | |
| US9858110B2 (en) | Virtual credential adapter for use with virtual machines | |
| CN100399274C (zh) | 一种虚拟机系统输入/输出设备动态分配的方法及其设备 | |
| US9710292B2 (en) | Allowing management of a virtual machine by multiple cloud providers | |
| US10411957B2 (en) | Method and device for integrating multiple virtual desktop architectures | |
| US9824225B1 (en) | Protecting virtual machines processing sensitive information | |
| WO2018040525A1 (zh) | 资源池的处理方法、装置和设备 | |
| CN108509251A (zh) | 一种适用于可信执行环境中的安全虚拟化系统 | |
| TWI772747B (zh) | 用於將中斷及例外注入安全虛擬機器之電腦實施方法、電腦系統及電腦程式產品 | |
| EP2676195A1 (en) | Virtual machine supervision | |
| US20200274881A1 (en) | Hybrid access control model in computer systems | |
| US11080079B2 (en) | Autonomously reproducing and destructing virtual machines | |
| CN104598842B (zh) | 一种虚拟机监控器信任域分割方法 | |
| CN109309581B (zh) | 跨硬件架构的容器管理系统 | |
| CN102799480B (zh) | 虚拟化系统中关闭中断的方法和装置 | |
| US10146707B2 (en) | Hardware-based memory protection | |
| TWI838460B (zh) | 用於安全介面控制件之通信介面之電腦實施的方法、電腦系統及電腦程式產品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 2014870659 Country of ref document: EP |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14870659 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |