US9678774B2 - Secure migration of virtual machines - Google Patents
Secure migration of virtual machines Download PDFInfo
- Publication number
- US9678774B2 US9678774B2 US14/686,608 US201514686608A US9678774B2 US 9678774 B2 US9678774 B2 US 9678774B2 US 201514686608 A US201514686608 A US 201514686608A US 9678774 B2 US9678774 B2 US 9678774B2
- Authority
- US
- United States
- Prior art keywords
- target host
- virtual machine
- response
- host
- hidden process
- 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.)
- Expired - Fee Related
Links
- 230000005012 migration Effects 0.000 title claims abstract description 44
- 238000013508 migration Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 97
- 230000008569 process Effects 0.000 claims abstract description 67
- 230000004044 response Effects 0.000 claims description 26
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000011835 investigation Methods 0.000 abstract description 5
- 230000001010 compromised effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 22
- 239000000306 component Substances 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003339 best practice Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013070 change management Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H04L29/08099—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H04L67/18—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Definitions
- Cloud computing refers to a computing environment for enabling on-demand network access to a shared pool of computing resources.
- Many cloud computing services involve virtualized resources and may take the form of web-based tools or applications that users can access and use through a web browser as if they were programs installed locally on their own computers.
- the data stored for users of such systems are typically hosted in computing systems located in a computing data center. The location for such a data center may be selected to provide easy access to the data from the users of the remote presentation system.
- server virtualization technology in cloud computing is virtual machine migration.
- the ability to migrate a virtual machine from one physical host to another can significantly boost a company's disaster recovery efforts and improve business agility. Migration may also be useful when an administrator needs to shut down a physical server for maintenance or upgrades because such server downtimes no longer result in application downtime.
- Virtual machine live migration allows for the migration of a virtual machine from one physical host to another without significantly interrupting application availability.
- Live migration may involve capturing a virtual machine's complete memory state and the state of all its processor registers and sending that data to memory space on another server. That server may then load the processor registers, and the virtual machine can pick up where it left off.
- the virtual machine infrastructure can be susceptible to security risks. For example, migrating a virtual machine with customer credit card data to a host that also runs a public web server may violate the Payment Card Industry Data Security Standard. Without having a proper change management system in place, virtual machine migration can also violate corporate policies. When a virtual machine is migrated, management software, provisioning software, and integrated process management tools can help address such security and compliance concerns.
- Credentials and passwords are often reused, which amplifies the impact of such attacks.
- Cloud services add a new threat to the landscape. For example, if an attacker gains access to user/administrator credentials, the attacker can eavesdrop on user/administrator activities and transactions, manipulate data, return falsified information, and redirect user clients to illegitimate sites. User account or service instances may then become a new base for the attacker. From there, attackers can leverage the power of user reputation to launch subsequent attacks.
- a cloud provider and/or cloud user may be alerted about possible virtual machine hijacking/theft.
- the provider or user may also be provided with an approximate physical location of the platform running the compromised virtual machine for further investigation and enforcement measures.
- a method for migrating a virtual machine may include receiving a request to migrate a virtual machine from a source host to a target host. In an embodiment, it may be determined whether the geographic location of the target host is within a predetermined perimeter. The determining may be based on location information received from a positioning service. Based on the determination, the migration of the virtual machine to the target host may be allowed or denied.
- FIG. 1 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 2 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 3 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 4 depicts an example operational environment for practicing aspects of the present disclosure.
- FIG. 5 illustrates an example system for migrating virtual machines.
- FIG. 6 illustrates an example of an operational procedure for migrating virtual machines.
- FIG. 7 illustrates an example of an operational procedure for migrating virtual machines.
- FIG. 8 illustrates an example of an operational procedure for migrating virtual machines.
- FIG. 9 depicts an example computing system wherein aspects of the present disclosure can be implemented.
- any of the operations, processes, etc. described herein can be implemented as computer-readable instructions stored on a computer-readable medium.
- the computer-readable instructions can be executed by a processor of a mobile unit, a network element, and/or any other computing device.
- the implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.
- FIG. 1 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 1 and the following description are intended to provide a brief, general description of an example virtual computing environment in which the embodiments described herein may be implemented.
- a computer system 100 includes a parent partition 204 .
- Parent partition 204 can be configured to provide resources to guest operating systems executing in child partitions 1 through N by using virtualization services.
- Each child partition 1 through N can include one or more virtual processors such as virtual processors 230 through 232 that guest operating systems 220 through 222 can manage and schedule threads to execute thereon.
- virtual processors 230 through 232 may be executable instructions and associated state information that provide a representation of a physical processor with a specific architecture.
- one virtual machine may have a virtual processor having characteristics of an Intel x86 processor, whereas another virtual processor may have the characteristics of a PowerPC processor.
- Virtual processors 230 through 232 in this example can be mapped to logical processor 102 of computer system 100 such that the instructions that effectuate virtual processors 230 through 232 are mapped to and/or executed by logical processor 102 .
- multiple virtual processors can be simultaneously executing while, for example, another logical processor is executing virtualization system instructions.
- the combination of virtual processors and memory in a partition can be considered a virtual machine such as virtual machine 240 or 242 .
- guest operating systems 220 through 222 can include any operating system such as, for example, operating systems from Microsoft®, Apple®, the open source community, etc.
- the guest operating systems can include user/kernel modes of operation and can have kernels that can include schedulers, memory managers, etc.
- a kernel mode can include an execution mode in a logical processor that grants access to privileged processor instructions.
- Each guest operating system 220 through 222 can have associated file systems that can have applications stored thereon such as terminal servers, e-commerce servers, email servers, etc., or the guest operating systems themselves. Guest operating systems 220 through 222 can schedule threads to execute on virtual processors 230 through 232 and instances of such applications can be effectuated.
- FIG. 2 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 2 depicts an illustrative operating environment 200 that includes data centers 208 for providing computing resources.
- Data centers 208 can provide computing resources for executing applications and providing data services on a continuous or an as-needed basis.
- the computing resources provided by data centers 208 may include various types of resources, such as data processing resources, data storage resources, data communication resources, and the like.
- the data processing resources may be available as virtual machine instances.
- the virtual machine instances may be configured to execute applications, including Web servers, application servers, media servers, database servers, and the like.
- Data storage resources may include file storage devices, block storage devices, and the like.
- the data center may include resources other than virtual machine computing resources, including a number of physical computing devices that can be configured to run one or more virtual machines that can be migrated across the physical resources for load balancing.
- the computing resources provided by data centers 208 may be enabled by one or more individual data centers.
- Data centers 208 may be facilities utilized to house and operate computer systems and associated components.
- Data centers 208 may include redundant and backup power, communications, cooling, and security systems.
- Data centers 208 may also be located in geographically disparate locations.
- the customers and other consumers of data centers 208 may access the computing resources provided by data centers 208 over a network 206 .
- a local-area network (“LAN”) the Internet, or any other networking topology known in the art that connects data centers 208 to remote consumers may be utilized. It should also be appreciated that combinations of such networks might also be utilized.
- a user computer 204 may be a computer utilized by a customer or other consumer of data centers 208 .
- user computer 204 may be a server computer, a desktop or laptop personal computer, a thin client, a tablet computer, a wireless telephone, a personal digital assistant (“PDA”), an e-reader, a game console, or any other computing device capable of accessing data centers 208 .
- PDA personal digital assistant
- User computer 204 may be utilized to configure aspects of the computing resources provided by data centers 208 or access services provided by data centers 208 .
- data centers 208 may provide a Web interface through which aspects of its operation may be configured or accessed through the use of a Web browser application program executing on user computer 204 .
- a stand-alone application program executing on user computer 204 might access an application programming interface (“API”) exposed by data centers 208 for accessing the computing resources or performing the configuration operations.
- API application programming interface
- Other mechanisms for configuring the operation of data centers 208 including deploying updates to an application or accessing the computing resources might also be utilized.
- FIG. 3 depicts an example computing environment wherein aspects of the present disclosure can be implemented.
- FIG. 3 shows server computers 302 for providing computing resources for executing an application.
- Server computers 302 may comprise general purpose computers configured appropriately for providing the computing resources described above.
- server computers 302 may be configured to provide processes 306 .
- processes 306 may be virtual machine instances.
- a virtual machine instance may be an instance of a software implementation of a machine (i.e., a computer) that executes programs much like a physical machine that executes programs.
- each of servers 302 may be configured to execute a virtualization manager capable of executing the instances.
- the virtualization manager might be a hypervisor or another type of virtualization program configured to enable the execution of processes 306 on servers 302 , for example.
- a LAN 301 is utilized to interconnect server computers 302 .
- the network topology illustrated in FIG. 3 has been simplified and that many more networks and networking devices may be utilized to interconnect the various computing systems disclosed herein.
- Appropriate load balancing devices or software modules might also be utilized for balancing a load between data centers, between each of server computers 302 in a data center, and between processes 306 .
- These network topologies and devices should be apparent to those skilled in the art.
- Cloud computing generally refers to a computing environment for enabling on-demand network access to a shared pool of computing resources (e.g., applications, servers, and storage) such as those described above. Such a computing environment may be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing services typically do not require end-user knowledge of the physical location and configuration of the system that delivers the services. The services may be consumption-based and delivered via the Internet. Many cloud computing services involve virtualized resources such as those described above and may take the form of web-based tools or applications that users can access and use through a web browser as if they were programs installed locally on their own computers.
- computing resources e.g., applications, servers, and storage
- Such a computing environment may be rapidly provisioned and released with minimal management effort or service provider interaction.
- Cloud computing services typically do not require end-user knowledge of the physical location and configuration of the system that delivers the services.
- the services may be consumption-based and delivered via the Internet.
- Many cloud computing services involve virtualized resources such as those described above and may take
- Cloud computing services are typically built on a suitable computing platform.
- this platform may include an operating system and a data storage service configured to store data.
- Applications running in the cloud may utilize a similar platform.
- FIG. 4 depicts an example operational environment for practicing aspects of the present disclosure.
- FIG. 4 provides further detail to the example environment shown in FIG. 3 .
- a user at user computer 204 can access cloud computing services hosted in data centers 208 via network 206 and using a user interface 401 .
- user interface 401 may comprise a web interface through which the cloud computing services can be accessed.
- the user may access services such as a remote desktop, applications, and storage services.
- the user may also access the user's company resources that are hosted by the cloud computing services.
- the provider of the cloud computing services can charge a fee to the user for providing the requested services.
- the cloud computing services may also be configured by an administrator that configures the cloud computing services to be provided to a defined group of users such as employees of a company that provides authentication credentials.
- the virtual machine infrastructure can be susceptible to security risks. For example, migrating a virtual machine with customer credit card data to a host that also runs a public web server may violate the Payment Card Industry Data Security Standard. Without having a proper change management system in place, virtual machine migration can also violate corporate policies. When a virtual machine is migrated, management software, provisioning software, and integrated process management tools can help address such security and compliance concerns.
- Such concerns can include account or service hijacking, phishing, fraud, and exploitation of software vulnerabilities. Credentials and passwords are often reused, which amplifies the impact of such attacks. Cloud computing services add a new threat to the landscape. For example, if an attacker gains access to user/administrator credentials, the attacker can eavesdrop on user/administrator activities and transactions, manipulate data, return falsified information, and redirect user clients to illegitimate sites. User account or service instances may become a new base for the attacker. From there, attackers can leverage the power of user reputation to launch subsequent attacks.
- a trusted platform module (TPM) chip may be bundled with commodity hardware.
- the TPM may include an endorsement private key (EK) that uniquely identifies the TPM and thus the physical host.
- EK endorsement private key
- the TPM may also include cryptographic functions that cannot be modified. The manufacturer can sign the corresponding public key to guarantee the correctness of the chip and validity of the key.
- Trusted platforms may leverage the features of TPM chips to enable remote attestation.
- the host may compute a measurement list consisting of a sequence of hashes of the software involved in the boot sequence (e.g., the BIOS, the bootloader, and the software implementing the platform).
- the measurement list may be securely stored inside the host's TPM.
- a remote party may challenge the platform running at the host with a nonce (e.g., a sequence used to sign a cryptographic communication).
- the platform may request the local TPM to create a message containing both the measurement list and the nonce.
- the message may be encrypted with the TPM's private EK.
- the host may then send the message back to the remote party who may then decrypt the message using the EK's corresponding public key, thereby authenticating the host.
- a remote party can identify the platform on an untrusted host.
- the virtual machine can be hijacked and stolen as described above by a malicious administrator/insider or a hacker who has acquired administrator credentials.
- the stolen virtual machine (or even the platform hardware itself) can be moved to unknown or unregistered physical locations within or outside of the geographical/jurisdiction perimeter authorized by the cloud provider and/or the service level agreement (SLA).
- SLA service level agreement
- the attacker may then start running the stolen virtual machine via the same virtual IP address using a proxy service that can be set up by the same malicious administrator/insider or a hacker at the original server location.
- the attacker can then extract confidential information, impersonate the cloud provider or user, and eventually damage their business reputation.
- the cloud provider and/or cloud user may be alerted about possible virtual machine hijacking/theft and provided with an approximate physical location of the platform running the stolen virtual machine for further investigation and enforcement measures.
- FIG. 5 illustrates an example system for migrating virtual machines.
- FIG. 5 illustrates an example embodiment of a system 500 for the secure live migration of virtual machines in public clouds.
- a target host platform 502 may comprise a computing system as described herein that is configured to execute one or more virtual machines.
- target host platform 502 may include VM applications 504 , a VM kernel 506 , a hidden process 507 , a migration manager 508 , an attestation manager 510 , a VM manager 512 , a rule engine 514 , an encryption engine 516 , a location engine 518 , a tamper-resistant trusted platform module (TR-TMP) 520 , and a positioning hardware 522 .
- TR-TMP tamper-resistant trusted platform module
- VM applications 504 may include applications and services that are configured to execute on the VM.
- VM kernel 506 may be a core component of the VM operating system and configured to provide primary operating system functions such as resource management.
- Hidden process 507 may be a virtual machine kernel level process which may be used to assist the target host verification process.
- hidden process 507 may be configured to prevent execution of a virtual machine in situations in which a hacker has obtained an unauthorized copy of a virtual machine and is attempting to run the virtual machine on a hardware platform that has not incorporated positioning hardware 522 or does not have the proper hardware configuration as determined by TR-TMP 520 . If a hacker manages to acquire the decryption key and attempts to execute the unauthorized virtual machine, hidden process 507 may check the hardware configuration and physical location in collaboration with positioning service 524 .
- hidden process 507 may start searching for wireless devices connected to target host platform 502 and trace their IP addresses in order to determine the physical location of the nearest wireless device. In the case of an incorrect configuration and/or unauthorized physical location, hidden process 507 may send an alert to the cloud provider and/or the cloud user about the possible hijacking/theft of the virtual machine and provide an approximate physical location of the platform running the stolen virtual machine for further investigation and enforcement measures. The approximate physical location may be based on information received from positioning hardware 522 and/or positioning service 524 .
- Migration manager 508 may be configured to control the virtual machine migration process including triggering the attestation process and requesting software/hardware upgrades if the target platform fails the attestation.
- Attestation manager 510 may be configured to cryptographically identify a target host to ascertain that the target host will properly run the virtual machine that is to be migrated.
- VM manager 512 may be configured to provide operating system management and protection of the runtime memory and storage.
- Rule engine 514 may be configured to implement cloud provider rules and policies related to virtual machine migration. For example, rules and policies may be related to rights and credentials required to migrate virtual machines as well as the target host platforms' IDs and the physical locations allowed to run migrated virtual machines.
- Encryption engine 516 may be configured to encrypt data including generating a hash of the trusted boot OS with the private key stored in TR-TMP 520 .
- Location engine 518 may be configured to assist the attestation process by verifying that target host platform 502 is within the cloud provider's geographical/jurisdiction perimeter based on the geographical physical location information received from positioning hardware 522 and/or positioning service 524 .
- the cloud provider's geographical/jurisdiction perimeter may be defined, for example, by country or region, radius from a defined location, a list of authorized devices, a geographic perimeter, or any other method for specifying allowable locations for a target host platform. If the verification process fails, target host platform 502 will not pass the attestation and the migrated virtual machine, which is not decrypted, will not be able to run on target host platform 502 .
- TR-TMP 520 may be configured to provide support for secure virtual machine migration to physical platforms in public clouds.
- TR-TMP 520 may be configured to provide encryption functionality and store keys and other confidential information.
- TR-TMP 520 may ensure reliable attestation of the target physical platform (e.g., target host platform 502 ) where a virtual machine is to be migrated.
- TR-TMP 520 may include an endorsement private key that uniquely identifies TR-TMP 520 and thus the physical host. TR-TMP 520 may also include cryptographic functions that cannot be modified by a user. The hardware manufacturer can sign the corresponding public key to guarantee the correctness of the chip and validity of the key.
- TR-TMP 520 may further include positioning hardware 522 . By including positioning hardware 522 in TR-TMP 520 , a hacker may be prevented from tampering or replacing positioning hardware 522 and thus providing a false position indication. In other embodiments, positioning hardware 522 may be separate from TR-TMP 520 .
- Positioning hardware 522 may comprise a device capable of providing location estimate information. For example, a Global Positioning System (GPS) receiver and/or a wireless adapter/router may be used. Positioning hardware 522 may allow positioning service 524 to determine the actual physical location of the target host platform 502 .
- GPS Global Positioning System
- Positioning hardware 522 may allow positioning service 524 to determine the actual physical location of the target host platform 502 .
- Positioning hardware 522 may determine location estimates using a variety of position determination methods and systems including the Global Navigation Satellite System (GNSS), cellular-based location estimation, and manual data entry.
- GNSS systems may include any type of satellite-based navigation system that provides geo-spatial positioning including GPS, GLONASS, Beidou, COMPASS, and Galileo.
- Positioning service 524 may be a wired or wireless positioning service. Positioning service 524 may be provided by the cloud provider or by an independent trusted service provider. In one embodiment, positioning service 524 can use data from Wi-Fi access points, GPS satellites, and cell towers to determine the best possible available location. In an embodiment, the device's location may be determined hierarchically, for example beginning with a coarse location estimate using GPS or cell towers and refining the initial estimate to arrive at a more precise estimate. Known locations of Wi-Fi access points may be used to further refine the position estimate.
- FIG. 6 illustrates an example of an operational procedure for migrating virtual machines including operations 600 , 602 , 604 , 606 , and 608 .
- the operational procedure may be performed by a hidden process executing in the virtual machine.
- hidden process 507 of FIG. 5 may execute in the virtual machine and may be configured to prevent execution of the virtual machine where a user is attempting to run the virtual machine on a hardware platform that has not incorporated positioning hardware 522 or does not have the proper hardware configuration as determined by TR-TMP 520 .
- operation 600 begins the operational procedure. Operation 600 may be followed by operation 602 .
- Operation 602 (receive a request to migrate a virtual machine from a source host to a target host) illustrates receiving, at a computing device, a request to migrate a virtual machine from a source host to a target host.
- Operation 602 may be followed by operation 604 .
- Operation 604 (geographic location of the target host within a predetermined perimeter?) illustrates determining whether a geographic location of the target host is within a predetermined perimeter. In one embodiment, the determination can be made based on location information received from a positioning service such as positioning service 524 described in FIG. 5 .
- the positioning service may be, for example, a network based positioning service that determines location of devices based on IP or MAC addresses of network devices whose locations are known. In another embodiment, the positioning service may be a GPS based or cellular tower based positioning service.
- operation 604 may be followed by operation 606 .
- Operation 606 (allow the migration of the virtual machine to the target host) illustrates, based on the determining, allowing, by the computing device, the migration of the virtual machine to the target host. Otherwise, if it is determined that the geographic location of the target host is not within the predetermined perimeter, then, in some embodiments, operation 604 may be followed by operation 608 .
- Operation 608 (deny the migration of the virtual machine to the target host) illustrates, based on the determining, denying, by the computing device, the migration of the virtual machine to the target host.
- FIG. 7 illustrates an example of an operational procedure for migrating virtual machines including operations 700 , 702 , 704 , 706 , and 708 .
- operation 700 begins the operational procedure.
- Operation 700 may be followed by operation 702 .
- Operation 702 (execute a hidden process configured to verify a hardware configuration of a target host) illustrates execution of a hidden process configured to verify a hardware configuration of a target host.
- the hidden process may be incorporated in a kernel of the virtual machine.
- the hidden process may be configured to communicate with a trusted platform module to receive information for verification of the hardware configuration.
- the information comprises a hash of an operating system and a private key.
- Operation 702 may be followed by operation 704 .
- Operation 704 (geographic location of the target host within a predetermined perimeter and hardware configuration confirmed?) illustrates in response to a request to migrate a virtual machine from a source host to the target host, determining whether a geographic location of the target host is within a predetermined perimeter and whether the hardware configuration of the target host is verified.
- the target host may include a trusted platform module (TPM) chip that contains an endorsement private key (EK) uniquely identifying the target host.
- the hidden process may compute a measurement list including hashes of software involved in the boot sequence. The TPM chip may send a message containing both the measurement list and a nonce provided by the cloud service provider.
- TPM trusted platform module
- EK endorsement private key
- the message may be encrypted with the TPM chip's private EK.
- the cloud service provide may then decrypt the message using the private EK's corresponding public key and verify that the nonce is correct and that the measurement list corresponds to a configuration that is deemed to be trusted.
- the predetermined perimeter may include a radius from a geographic point, recognizing that users may change locations of hosts from time to time or move virtual machines to various hosts within a geographic area.
- the predetermined perimeter may include a plurality of regions that may be acceptable locations for hosts.
- the predetermined perimeter may also be an entire country or region.
- the determination whether a geographic location of the target host is within a predetermined perimeter may comprise searching for network devices connected to the target host and determining the physical location by tracing IP addresses.
- various public and private databases store locations of Wi-Fi hotspots and other network devices, thus allowing for the tracing of nearby network devices through analysis of message traffic.
- a record of hopped IP addresses may be recorded for later retrieval, or sent along with an alert to aid enforcement and investigation activities as described herein.
- Operation 704 may be followed by operation 706 .
- Operation 706 (deny the request to migrate the virtual machine to the target host) illustrates denying the request to migrate the virtual machine to the target host. The denying can be based on determining whether the geographic location of the target host is within the predetermined perimeter and verification of the hardware configuration. If it is determined, based on the location determination, that the target host appears to be located outside of the predetermined perimeter, then the request to migrate the virtual machine may be denied. Additionally, the failure to verify the configuration of the target host may also be used to determine that the request to migrate the virtual machine should be denied. Otherwise, if it is determined that the geographic location of the target host is within the predetermined perimeter, then in some embodiments, operation 704 may be followed by operation 708 . Operation 708 (allow the request to migrate the virtual machine to the target host) illustrates, based on the determining, allowing the migration of the virtual machine to the target host.
- the geographic location may be determined based on information received from a network device. Alternatively, the geographic location may be determined based on information provided by a geolocation device.
- an alert indicating denial of the request may be sent to the user, service provider, or a selected or predetermined third party such as an enforcement agency.
- the alert may include an indication of the geographic location of the denied host based on one or more of the methods described herein.
- the alert may comprise an electronic mail message that includes the best known location of the host attempting to execute the virtual machine and other information that may be useful for tracking and enforcement measures such as a time logged history of user actions.
- FIG. 8 illustrates an example of an operational procedure for migrating virtual machines including operations 800 , 802 , 804 , and 806 .
- operation 800 begins the operational procedure.
- Operation 800 may be followed by operation 802 .
- Operation 802 (geographic location of the target host within a predetermined perimeter?) illustrates, in response to receiving a request to migrate a virtual machine from a source host to a destination host, determining, by a computing device, whether a geographic location of the target host is within a predetermined perimeter. In one embodiment, the determination can be made based on location information received from a positioning service using one of the methods described herein.
- Operation 802 may be followed by operation 804 .
- Operation 804 deny the migration of the virtual machine to the target host
- Operation 806 (allow the migration of the virtual machine to the target host) illustrates, based on the determining, allowing, by the computing device, the migration of the virtual machine to the target host.
- a hidden process configured to verify a hardware configuration of the target host may be executed.
- the hidden process may be configured to communicate with a trusted platform module to receive information for verification of the hardware configuration.
- the hidden process may be incorporated in a kernel of the virtual machine as described herein.
- the hidden process may further comprise sending an alert indicating denial of the request.
- a signal bearing medium examples include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive (HDD), a CD, a DVD, a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.).
- a recordable type medium such as a floppy disk, a hard disk drive (HDD), a CD, a DVD, a digital tape, a computer memory, etc.
- a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.).
- a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity; control motors for moving and/or adjusting components and/or quantities).
- a typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.
- any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality.
- operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
- FIG. 9 depicts an example computing system wherein aspects of the present disclosure can be implemented.
- FIG. 9 depicts a block diagram illustrating an example computing device 900 that is arranged for migrating a virtual machine in accordance with the present disclosure.
- computing device 900 typically includes one or more processors 904 and a system memory 906 .
- a memory bus 908 may be used for communicating between processor 904 and system memory 906 .
- processor 904 may be of any type including but not limited to a microprocessor ( ⁇ P), a microcontroller ( ⁇ C), a digital signal processor (DSP), or any combination thereof.
- Processor 904 may include one or more levels of caching, such as a level one cache 910 and a level two cache 912 , a processor core 914 , and registers 916 .
- An example processor core 914 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof.
- An example memory controller 918 may also be used with processor 904 , or in some implementations memory controller 918 may be an internal part of processor 904 .
- system memory 906 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof.
- System memory 906 may include an operating system 920 , one or more applications 922 , and program data 924 .
- Application 922 may include a virtual machine (VM) migration method 926 that is arranged to perform the functions as described herein including those described with respect to the processes described, for example, in FIGS. 6, 7 and 8 .
- Program data 924 may include configuration data 928 that may be useful for operation with the virtual machine migration method described above.
- application 922 may be arranged to operate with program data 924 on operating system 920 such that the implementations of virtual machine migration may be provided as described herein.
- This described basic configuration 902 is illustrated in FIG. 9 by those components within the inner dashed line.
- Computing device 900 may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 902 and any required devices and interfaces.
- a bus/interface controller 930 may be used to facilitate communications between basic configuration 902 and one or more data storage devices 932 via a storage interface bus 934 .
- Data storage devices 932 may be removable storage devices 936 , non-removable storage devices 938 , or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few.
- Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device 900 . Any such computer storage media may be part of computing device 900 .
- Computing device 900 may also include an interface bus 940 for facilitating communication from various interface devices (e.g., output devices 942 , peripheral interfaces 944 , and communication devices 946 ) to basic configuration 902 via bus/interface controller 930 .
- Example output devices 942 include a graphics processing unit 948 and an audio processing unit 950 , which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports 952 .
- Example peripheral interfaces 944 include a serial interface controller 954 or a parallel interface controller 956 , which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 958 .
- An example communication device 946 includes a network controller 960 , which may be arranged to facilitate communications with one or more other computing devices 962 over a network communication link via one or more communication ports 964 .
- the network communication link may be one example of a communication media.
- Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media.
- a “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media.
- RF radio frequency
- IR infrared
- the term computer readable media as used herein may include both storage media and communication media.
- Computing device 900 may be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.
- a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.
- PDA personal data assistant
- Computing device 900 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.
- a range includes each individual member.
- a group having 1-3 cells refers to groups having 1, 2, or 3 cells.
- a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/686,608 US9678774B2 (en) | 2012-03-08 | 2015-04-14 | Secure migration of virtual machines |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/028333 WO2013133842A1 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
US13/520,464 US9054917B2 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
US14/686,608 US9678774B2 (en) | 2012-03-08 | 2015-04-14 | Secure migration of virtual machines |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/520,464 Continuation US9054917B2 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
PCT/US2012/028333 Continuation WO2013133842A1 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150220356A1 US20150220356A1 (en) | 2015-08-06 |
US9678774B2 true US9678774B2 (en) | 2017-06-13 |
Family
ID=49115097
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/520,464 Expired - Fee Related US9054917B2 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
US14/686,608 Expired - Fee Related US9678774B2 (en) | 2012-03-08 | 2015-04-14 | Secure migration of virtual machines |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/520,464 Expired - Fee Related US9054917B2 (en) | 2012-03-08 | 2012-03-08 | Secure migration of virtual machines |
Country Status (2)
Country | Link |
---|---|
US (2) | US9054917B2 (en) |
WO (1) | WO2013133842A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150199205A1 (en) * | 2014-01-10 | 2015-07-16 | Dell Products, Lp | Optimized Remediation Policy in a Virtualized Environment |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176773B2 (en) * | 2011-06-29 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual machine migration tool |
WO2013133842A1 (en) | 2012-03-08 | 2013-09-12 | Empire Technology Development Llc | Secure migration of virtual machines |
US9928107B1 (en) * | 2012-03-30 | 2018-03-27 | Amazon Technologies, Inc. | Fast IP migration in a hybrid network environment |
US9197489B1 (en) | 2012-03-30 | 2015-11-24 | Amazon Technologies, Inc. | Live migration of virtual machines in a hybrid network environment |
US9164795B1 (en) | 2012-03-30 | 2015-10-20 | Amazon Technologies, Inc. | Secure tunnel infrastructure between hosts in a hybrid network environment |
TW201349009A (en) | 2012-04-13 | 2013-12-01 | Ologn Technologies Ag | Secure zone for digital communications |
EP2836968B1 (en) | 2012-04-13 | 2020-05-06 | OLogN Technologies AG | Apparatuses, methods and systems for computer-based secure transactions |
US9432348B2 (en) | 2012-04-20 | 2016-08-30 | Ologn Technologies Ag | Secure zone for secure purchases |
WO2013160933A1 (en) * | 2012-04-23 | 2013-10-31 | Hitachi, Ltd. | Computer system and virtual server migration control method for computer system |
CN102724277B (en) * | 2012-05-04 | 2016-01-06 | 华为技术有限公司 | The method of live migration of virtual machine and deployment, server and group system |
US9819694B2 (en) * | 2012-06-27 | 2017-11-14 | Qatar Foundation | Arrangement configured to migrate a virtual machine in the event of an attack |
US9021479B2 (en) * | 2012-10-10 | 2015-04-28 | International Business Machines Corporation | Enforcing machine deployment zoning rules in an automatic provisioning environment |
US20140101656A1 (en) * | 2012-10-10 | 2014-04-10 | Zhongwen Zhu | Virtual firewall mobility |
US9239727B1 (en) * | 2012-10-17 | 2016-01-19 | Amazon Technologies, Inc. | Configurable virtual machines |
CA2902285A1 (en) * | 2013-03-15 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for remote attestation |
CA2902292C (en) | 2013-03-15 | 2024-05-21 | Ologn Technologies Ag | Systems, methods and apparatuses for securely storing and providing payment information |
US9342343B2 (en) * | 2013-03-15 | 2016-05-17 | Adventium Enterprises, Llc | Wrapped nested virtualization |
US9929918B2 (en) * | 2013-07-29 | 2018-03-27 | Alcatel Lucent | Profile-based SLA guarantees under workload migration in a distributed cloud |
EP3028210B1 (en) | 2013-08-02 | 2020-01-08 | OLogN Technologies AG | Secure server in a system with virtual machines |
US9246935B2 (en) | 2013-10-14 | 2016-01-26 | Intuit Inc. | Method and system for dynamic and comprehensive vulnerability management |
US9501345B1 (en) | 2013-12-23 | 2016-11-22 | Intuit Inc. | Method and system for creating enriched log data |
US9323926B2 (en) | 2013-12-30 | 2016-04-26 | Intuit Inc. | Method and system for intrusion and extrusion detection |
US20150304343A1 (en) | 2014-04-18 | 2015-10-22 | Intuit Inc. | Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment |
US9325726B2 (en) | 2014-02-03 | 2016-04-26 | Intuit Inc. | Method and system for virtual asset assisted extrusion and intrusion detection in a cloud computing environment |
US10757133B2 (en) | 2014-02-21 | 2020-08-25 | Intuit Inc. | Method and system for creating and deploying virtual assets |
US9866581B2 (en) | 2014-06-30 | 2018-01-09 | Intuit Inc. | Method and system for secure delivery of information to computing environments |
US9276945B2 (en) | 2014-04-07 | 2016-03-01 | Intuit Inc. | Method and system for providing security aware applications |
US9245117B2 (en) | 2014-03-31 | 2016-01-26 | Intuit Inc. | Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems |
US11294700B2 (en) | 2014-04-18 | 2022-04-05 | Intuit Inc. | Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets |
US9374389B2 (en) | 2014-04-25 | 2016-06-21 | Intuit Inc. | Method and system for ensuring an application conforms with security and regulatory controls prior to deployment |
US9900322B2 (en) | 2014-04-30 | 2018-02-20 | Intuit Inc. | Method and system for providing permissions management |
US9330263B2 (en) | 2014-05-27 | 2016-05-03 | Intuit Inc. | Method and apparatus for automating the building of threat models for the public cloud |
US10013276B2 (en) | 2014-06-20 | 2018-07-03 | Google Llc | System and method for live migration of a virtualized networking stack |
US10102082B2 (en) | 2014-07-31 | 2018-10-16 | Intuit Inc. | Method and system for providing automated self-healing virtual assets |
US9473481B2 (en) | 2014-07-31 | 2016-10-18 | Intuit Inc. | Method and system for providing a virtual asset perimeter |
US9621347B2 (en) | 2014-09-03 | 2017-04-11 | Virtustream Ip Holding Company Llc | Systems and methods for securely provisioning the geographic location of physical infrastructure elements in cloud computing environments |
US9424067B2 (en) | 2014-12-11 | 2016-08-23 | Amazon Technologies, Inc. | Managing virtual machine instances utilizing an offload device |
US9400674B2 (en) | 2014-12-11 | 2016-07-26 | Amazon Technologies, Inc. | Managing virtual machine instances utilizing a virtual offload device |
US9292332B1 (en) | 2014-12-11 | 2016-03-22 | Amazon Technologies, Inc. | Live updates for virtual machine monitor |
US9886297B2 (en) | 2014-12-11 | 2018-02-06 | Amazon Technologies, Inc. | Systems and methods for loading a virtual machine monitor during a boot process |
US9535798B1 (en) | 2014-12-19 | 2017-01-03 | Amazon Technologies, Inc. | Systems and methods for maintaining virtual component checkpoints on an offload device |
US9600320B2 (en) | 2015-02-11 | 2017-03-21 | International Business Machines Corporation | Mitigation of virtual machine security breaches |
IN2015CH01317A (en) * | 2015-03-18 | 2015-04-10 | Wipro Ltd | |
US10243739B1 (en) * | 2015-03-30 | 2019-03-26 | Amazon Technologies, Inc. | Validating using an offload device security component |
US10211985B1 (en) | 2015-03-30 | 2019-02-19 | Amazon Technologies, Inc. | Validating using an offload device security component |
US9626512B1 (en) * | 2015-03-30 | 2017-04-18 | Amazon Technologies, Inc. | Validating using an offload device security component |
US9667414B1 (en) * | 2015-03-30 | 2017-05-30 | Amazon Technologies, Inc. | Validating using an offload device security component |
CN104715201B (en) * | 2015-03-31 | 2018-02-27 | 北京奇虎科技有限公司 | A kind of virtual machine malicious act detection method and system |
CN104715202B (en) * | 2015-03-31 | 2018-06-12 | 北京奇虎科技有限公司 | Hidden process detection method and device in a kind of virtual machine |
EP3295358B1 (en) * | 2015-05-08 | 2020-07-08 | Telefonaktiebolaget LM Ericsson (publ) | Migration service method and module for software modules |
US9612865B2 (en) | 2015-06-15 | 2017-04-04 | International Business Machines Corporation | Managed services coordinator |
US9996377B2 (en) * | 2015-06-30 | 2018-06-12 | International Business Machines Corporation | Virtual machine migration via a mobile device |
US9928099B1 (en) * | 2015-09-21 | 2018-03-27 | Amazon Technologies, Inc. | Fingerprint-based capacity management of physical hosts |
US10425229B2 (en) * | 2016-02-12 | 2019-09-24 | Microsoft Technology Licensing, Llc | Secure provisioning of operating systems |
CN107133087A (en) | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | A kind of resource regulating method and equipment |
WO2017207865A1 (en) * | 2016-06-01 | 2017-12-07 | Nokia Technologies Oy | Seismic determination of location |
US10216254B1 (en) | 2016-06-29 | 2019-02-26 | Altera Corporation | Methods and apparatus for selectively extracting and loading register states |
US10326838B2 (en) * | 2016-09-23 | 2019-06-18 | Microsoft Technology Licensing, Llc | Live migration of probe enabled load balanced endpoints in a software defined network |
CN108170520A (en) * | 2018-01-29 | 2018-06-15 | 北京搜狐新媒体信息技术有限公司 | A kind of cloud computing resources management method and device |
US11048556B2 (en) * | 2018-04-12 | 2021-06-29 | International Business Machines Corporation | Multi-channel, multi-control logical partition migration |
US10963283B2 (en) * | 2018-12-27 | 2021-03-30 | Nutanix, Inc. | Configuration management for hybrid cloud |
CN110069318A (en) * | 2019-04-12 | 2019-07-30 | 苏州浪潮智能科技有限公司 | A kind of System and method for based on geography fence protection secure virtual machine |
US11809899B2 (en) | 2019-06-28 | 2023-11-07 | Intel Corporation | Methods and apparatus for accelerating virtual machine migration |
US11870857B1 (en) * | 2019-07-31 | 2024-01-09 | Amazon Technologies, Inc. | User account migration between platforms |
CN112835739B (en) * | 2019-11-22 | 2024-07-09 | 北京百度网讯科技有限公司 | Downtime processing method and device |
US11411969B2 (en) * | 2019-11-25 | 2022-08-09 | Red Hat, Inc. | Live process migration in conjunction with electronic security attacks |
US11507408B1 (en) * | 2020-01-21 | 2022-11-22 | Amazon Technologies, Inc. | Locked virtual machines for high availability workloads |
US11354207B2 (en) | 2020-03-18 | 2022-06-07 | Red Hat, Inc. | Live process migration in response to real-time performance-based metrics |
US11474857B1 (en) * | 2020-05-06 | 2022-10-18 | Amazon Technologies, Inc. | Accelerated migration of compute instances using offload cards |
CN113626131B (en) * | 2020-05-07 | 2023-03-28 | 中科寒武纪科技股份有限公司 | Method, chip, board card and storage medium for realizing thermal migration |
US11645103B2 (en) * | 2020-07-23 | 2023-05-09 | EMC IP Holding Company LLC | Method and system for securing the movement of virtual machines between hosts |
US11567794B1 (en) * | 2020-09-30 | 2023-01-31 | Virtuozzo International Gmbh | Systems and methods for transparent entering of a process into a virtual machine |
CN115334142A (en) * | 2022-08-05 | 2022-11-11 | 阿里云计算有限公司 | Equipment information acquisition method, equipment migration method, device, equipment and medium |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283348A1 (en) | 2006-05-15 | 2007-12-06 | White Anthony R P | Method and system for virtual machine migration |
US20090276771A1 (en) | 2005-09-15 | 2009-11-05 | 3Tera, Inc. | Globally Distributed Utility Computing Cloud |
US20100223613A1 (en) * | 2009-02-27 | 2010-09-02 | Schneider James P | Per process virtual machines |
US20100242045A1 (en) | 2009-03-20 | 2010-09-23 | Sun Microsystems, Inc. | Method and system for allocating a distributed resource |
US20100332657A1 (en) | 2009-06-29 | 2010-12-30 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
US20110023048A1 (en) | 2009-07-23 | 2011-01-27 | Srinivasan Kattiganehalli Y | Intelligent data placement and management in virtual computing environments |
US20110029651A1 (en) | 2005-10-24 | 2011-02-03 | Accenture Global Services Gmbh | Dynamic server consolidation and rationalization modeling tool |
US20110099548A1 (en) | 2009-07-01 | 2011-04-28 | Qingni Shen | Method, apparatus and system for making a decision about virtual machine migration |
US20110126197A1 (en) | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
US20110179111A1 (en) | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a cloud computing architecture |
US20110213765A1 (en) | 2010-02-26 | 2011-09-01 | Vmware, Inc. | Comprehensive, Relevant, and Dynamic Data Searching in a Virtualization Environment |
US20120036515A1 (en) | 2010-08-06 | 2012-02-09 | Itamar Heim | Mechanism for System-Wide Target Host Optimization in Load Balancing Virtualization Systems |
US20120054367A1 (en) | 2010-08-24 | 2012-03-01 | Ramakrishnan Kadangode K | Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network |
US20120084445A1 (en) | 2010-10-05 | 2012-04-05 | Brock Scott L | Automatic replication and migration of live virtual machines |
US20120096459A1 (en) | 2010-10-18 | 2012-04-19 | Fujitsu Limited | Method of migrating virtual machine |
US20120173757A1 (en) | 2011-01-05 | 2012-07-05 | International Business Machines Corporation | Routing optimization for virtual machine migration between geographically remote data centers |
US20120266163A1 (en) | 2011-04-13 | 2012-10-18 | International Business Machines Corporation | Virtual Machine Migration |
US20120311568A1 (en) | 2011-05-31 | 2012-12-06 | Jansen Gerardus T | Mechanism for Inter-Cloud Live Migration of Virtualization Systems |
US20130007734A1 (en) | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | System, method and computer program product for virtual machine allocation |
US20130097296A1 (en) | 2011-10-18 | 2013-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Secure cloud-based virtual machine migration |
US20130138764A1 (en) | 2011-11-30 | 2013-05-30 | Soumendu S. Satapathy | Method and system for virtual machine data migration |
US20130198352A1 (en) | 2012-01-31 | 2013-08-01 | International Business Machines Corporation | Interconnecting data centers for migration of virtual machines |
US20130238786A1 (en) | 2012-03-08 | 2013-09-12 | Empire Technology Development Llc | Secure migration of virtual machines |
-
2012
- 2012-03-08 WO PCT/US2012/028333 patent/WO2013133842A1/en active Application Filing
- 2012-03-08 US US13/520,464 patent/US9054917B2/en not_active Expired - Fee Related
-
2015
- 2015-04-14 US US14/686,608 patent/US9678774B2/en not_active Expired - Fee Related
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090276771A1 (en) | 2005-09-15 | 2009-11-05 | 3Tera, Inc. | Globally Distributed Utility Computing Cloud |
US20110029651A1 (en) | 2005-10-24 | 2011-02-03 | Accenture Global Services Gmbh | Dynamic server consolidation and rationalization modeling tool |
US20070283348A1 (en) | 2006-05-15 | 2007-12-06 | White Anthony R P | Method and system for virtual machine migration |
US20100223613A1 (en) * | 2009-02-27 | 2010-09-02 | Schneider James P | Per process virtual machines |
US20100242045A1 (en) | 2009-03-20 | 2010-09-23 | Sun Microsystems, Inc. | Method and system for allocating a distributed resource |
US20100332657A1 (en) | 2009-06-29 | 2010-12-30 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
US20110099548A1 (en) | 2009-07-01 | 2011-04-28 | Qingni Shen | Method, apparatus and system for making a decision about virtual machine migration |
US20110023048A1 (en) | 2009-07-23 | 2011-01-27 | Srinivasan Kattiganehalli Y | Intelligent data placement and management in virtual computing environments |
US20110126197A1 (en) | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
US20110179111A1 (en) | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service between a one box per client architecture and a cloud computing architecture |
US20110179175A1 (en) | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Migrating a web hosting service from one architecture to another, where at least one is a common service architecture |
US20110213765A1 (en) | 2010-02-26 | 2011-09-01 | Vmware, Inc. | Comprehensive, Relevant, and Dynamic Data Searching in a Virtualization Environment |
US20120036515A1 (en) | 2010-08-06 | 2012-02-09 | Itamar Heim | Mechanism for System-Wide Target Host Optimization in Load Balancing Virtualization Systems |
US20120054367A1 (en) | 2010-08-24 | 2012-03-01 | Ramakrishnan Kadangode K | Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network |
US20120084445A1 (en) | 2010-10-05 | 2012-04-05 | Brock Scott L | Automatic replication and migration of live virtual machines |
US20120096459A1 (en) | 2010-10-18 | 2012-04-19 | Fujitsu Limited | Method of migrating virtual machine |
US20120173757A1 (en) | 2011-01-05 | 2012-07-05 | International Business Machines Corporation | Routing optimization for virtual machine migration between geographically remote data centers |
US20120266163A1 (en) | 2011-04-13 | 2012-10-18 | International Business Machines Corporation | Virtual Machine Migration |
US20120311568A1 (en) | 2011-05-31 | 2012-12-06 | Jansen Gerardus T | Mechanism for Inter-Cloud Live Migration of Virtualization Systems |
US20130007734A1 (en) | 2011-06-30 | 2013-01-03 | International Business Machines Corporation | System, method and computer program product for virtual machine allocation |
US20130097296A1 (en) | 2011-10-18 | 2013-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Secure cloud-based virtual machine migration |
US20130138764A1 (en) | 2011-11-30 | 2013-05-30 | Soumendu S. Satapathy | Method and system for virtual machine data migration |
US20130198352A1 (en) | 2012-01-31 | 2013-08-01 | International Business Machines Corporation | Interconnecting data centers for migration of virtual machines |
US20130238786A1 (en) | 2012-03-08 | 2013-09-12 | Empire Technology Development Llc | Secure migration of virtual machines |
US9054917B2 (en) | 2012-03-08 | 2015-06-09 | Empire Technology Development Llc | Secure migration of virtual machines |
Non-Patent Citations (17)
Title |
---|
"(Script to) Locate Any WiFi Router by its MAC Address", accessed at http://midnightresearch.com/Pages/locate-any-wifi-router-by-its-mac-address/, posted on Sep. 12, 2008, accessed on Mar. 13, 2015, p. 4. |
"AirMagnet WiFi Analyzer", accessed at https://web.archive.org/web/20111217033607/http://www.flukenetworks.com/enterprise-network/wireless-network/AirMagnet-WiFi-Analyzer, accessed on Mar. 12, 2015, p. 5. |
"International Patent Application No. PCT/US2012/28333", International Search Report and Written Opinion dated Jun. 4, 2012. |
"Security Guidance for Critical Areas of Focus in Cloud Computing V2.1", Cloud Security Alliance (CSA), Dec. 2009, pp. 1-76. |
"Top Threats to Cloud Computing V1.0", Cloud Security Alliance (CSA), Mar. 2010, pp. 1-14. |
Berger, S. et al., "vTPM: Virtualizing the Trusted Platform Module", USENIX-SS'06 Proceedings of the 15th conference on USENIX Security Symposium, vol. 15, Article No. 21, pp. 305-320 (2006). |
Brambley, R. "Virtual Machine Sniffer on ESX Hosts", accessed at http://vmetc.com/2009/03/12/virtual-machine-sniffer-on-esx-hosts/, posted on Mar. 12, 2009, p. 10. |
Das, S. et al., "Albatross: Lightweight Elasticity in Shared Storage Databases for the Cloud using Live Data Migration", Proceedings of the VLDB Endowment, vol. 4, No. 8, pp. 494-505 (May 2011). |
Harsh, M. "Security issues with Cloud Computing", accessed at http://www.thewindowsclub.com/security-issues-with-cloud-computing, posted on Jan. 30, 2011, accessed on Mar. 12, 2015, p. 3. |
Hill, R. et al., "Building a Trusted Location Service for Pervasive Computing Environments", The Trustees of Indiana, pp. 1-6 (May 2007). |
Ishakian, V. et al., "Colocation as a Service: Strategic and Operational Services for Cloud Colocation", 2010 9th IEEE International Symposium on Network Computing and Applications, (NCA), pp. 76-83 (Jul. 15-17, 2010). |
Mateti, P. "Hacking Techniques in Wireless Networks", Wright State University, Department of Computer Science and Engineering, accessed at http://cecs.wright.edu/˜pmateti/InternetSecurity/Lectures/WirelessHacks/Mateti-WirelessHacks.htm, accessed on Mar. 13, 2015, p. 17. |
Murray, D.G. et al., "Improving Xen Security through Disaggregation", VEE '08 Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, pp. 151-160 (Mar. 5-7, 2008). |
Quynh, N.A. "DeepSec 2007: Hijacking Virtual Machine Execution for Fun and Profit", accessed at http://youtu.be/RtXJx2qaVyc, Uploaded on Jul. 13, 2011, pp. 1-2. |
Santos, et al., "Towards Trusted Cloud Computing", HotCloud'09 Proceedings of the 2009 conference on Hot topics in cloud computing, Article No. 3, pp. 1-5 (2009). |
Skyhook Location SDK Overview, accessed at https://web.archive.org/web/20120226165314/http://www.skyhookwireless.com/, accessed on Mar. 12, 2015, p. 3. |
Steele, C., "Virtual machine migration FAQ: Live migration, P2V and more", http://searchservervirtualization.techtarget.com/feature/Virtual-machine-migration-FAQ-Live-migration-P2V-and-more, Published on Aug. 2010, accessed on Mar. 13, 2015, p. 10. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150199205A1 (en) * | 2014-01-10 | 2015-07-16 | Dell Products, Lp | Optimized Remediation Policy in a Virtualized Environment |
US9817683B2 (en) * | 2014-01-10 | 2017-11-14 | Dell Products, Lp | Optimized remediation policy in a virtualized environment |
Also Published As
Publication number | Publication date |
---|---|
US9054917B2 (en) | 2015-06-09 |
US20130238786A1 (en) | 2013-09-12 |
US20150220356A1 (en) | 2015-08-06 |
WO2013133842A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678774B2 (en) | Secure migration of virtual machines | |
US11604882B2 (en) | Cloudlet computing device with secure boot operations | |
JP6720211B2 (en) | Secure bootstrap technology for virtual network functions | |
US9960921B2 (en) | Systems and methods for securely provisioning the geographic location of physical infrastructure elements in cloud computing environments | |
US9867043B2 (en) | Secure device service enrollment | |
US9317689B2 (en) | Method and apparatus for secure application execution | |
CN107646189B (en) | Systems and methods for delegation of cloud computing processes | |
US20160350534A1 (en) | System, apparatus and method for controlling multiple trusted execution environments in a system | |
US20160314299A1 (en) | Mobile Device with Improved Security | |
US9888035B2 (en) | Systems and methods for detecting man-in-the-middle attacks | |
Kumar et al. | Exploring security issues and solutions in cloud computing services–a survey | |
US20200117439A1 (en) | Systems and Methods for Reinforced Update Package Authenticity | |
US11671422B1 (en) | Systems and methods for securing authentication procedures | |
US20210243206A1 (en) | Detection of security intrusion in a computing system | |
US9864853B2 (en) | Enhanced security mechanism for authentication of users of a system | |
US11689551B2 (en) | Automatic identification of applications that circumvent permissions and/or obfuscate data flows | |
Song et al. | App’s auto-login function security testing via Android OS-level virtualization | |
Salehi et al. | Cloud computing security challenges and its potential solution | |
Patidar et al. | An efficient approach for cloud computing based on hierarchical secure paravirtualization system resource model | |
US20240176855A1 (en) | Integrated identity management and monitoring system, apparatus, and storage medium | |
US20230421601A1 (en) | Multi-factor authentication in endpoint detection and response | |
Majumdar | Cloud Computing and Its Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
AS | Assignment |
Owner name: CRESTLINE DIRECT FINANCE, L.P., TEXAS Free format text: SECURITY INTEREST;ASSIGNOR:EMPIRE TECHNOLOGY DEVELOPMENT LLC;REEL/FRAME:048373/0217 Effective date: 20181228 |
|
AS | Assignment |
Owner name: EMPIRE TECHNOLOGY DEVELOPMENT LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:H&C SCIENTIFIC RESOURCES INTERNATIONAL;REEL/FRAME:053848/0441 Effective date: 20120229 Owner name: H&C SCIENTIFIC RESOURCES INTERNATIONAL, COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KHESIN, OSCAR;REEL/FRAME:053848/0373 Effective date: 20120220 |
|
AS | Assignment |
Owner name: EMPIRE TECHNOLOGY DEVELOPMENT LLC, WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CRESTLINE DIRECT FINANCE, L.P.;REEL/FRAME:054129/0627 Effective date: 20201009 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: INVINCIBLE IP LLC, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMPIRE TECHNOLOGY DEVELOPMENT LLC;REEL/FRAME:055594/0500 Effective date: 20201009 |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20210613 |
|
IPR | Aia trial proceeding filed before the patent and appeal board: inter partes review |
Free format text: TRIAL NO: IPR2022-00122 Opponent name: UNIFIED PATENTS, LLC Effective date: 20211118 |
|
IPRC | Trial and appeal board: inter partes review certificate |
Kind code of ref document: K1 Free format text: INTER PARTES REVIEW CERTIFICATE; TRIAL NO. IPR2022-00122, NOV. 18, 2021 INTER PARTES REVIEW CERTIFICATE FOR PATENT 9,678,774, ISSUED JUN. 13, 2017, APPL. NO. 14/686,608, APR. 14, 2015 INTER PARTES REVIEW CERTIFICATE ISSUED MAR. 28, 2023 Effective date: 20230328 |