# US 2016/0366185 A1 · System and Method for Security Health Monitoring And Attestation Of Virtual Machines In Cloud Computing Systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0366185 A1
- Document ID: US20160366185A1
- Status: Published application
- Kind: A1
- Application number: 15/179,734
- Filed: 2016-06-10
- Published: 2016-12-15
- Earliest claimed: 2015-06-12
- Assignees: Teleputers, LLC
- Applicants: Teleputers, LLC
- Inventors: Ruby B. Lee; Tianwei Zhang
- Web page: https://patentgrep.com/patent/US20160366185A1

## CPC

- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3247: {involving digital signatures}
- H04L 63/1416: {Event detection, e.g. attack signature detection}
- H04L 63/1433: {Vulnerability analysis}
- H04L 63/1441: {Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for security health monitoring and attestation of virtual machines in cloud computing systems is provided. The system includes a cloud server having a virtual machine and a hypervisor. The cloud server collects security measurement information and signs and hashes the security measurement information using a cryptography engine. The system also includes an attestation server for receiving the hashed security measurement information from the cloud server. The attestation server also verifies the signature and hash values, and interprets the security measurement information. The attestation server generates an attestation report based on the verification and interpretation of the security measurement information.

## Claims

### Claim 1

A system for security health monitoring and attestation of virtual machines in cloud computing systems, comprising:
a cloud server including a virtual machine and a hypervisor, the cloud server collecting security measurement information and signing and hashing the security measurement information using a cryptography engine; and
an attestation server for receiving the security measurement information from the cloud server, the attestation server verifying the signature and hash values, and interpreting the security measurement information;
wherein the attestation server generates an attestation report based on the verification and interpretation of the security measurement information.

### Claim 2 (depends on 1)

The system of claim 1, wherein the cloud server further comprises a monitor module for monitoring and gathering the security measurement information and a trust module for secure storage of security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 3 (depends on 2)

The system of claim 2, wherein the monitor module includes a tool located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities inside the virtual machine.

### Claim 4 (depends on 2)

The system of claim 2, wherein the monitor module includes a tool located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities outside the virtual machine.

### Claim 5 (depends on 2)

The system of claim 2, wherein the monitor module collects resource usage measurements for constructing empirical probability distributions.

### Claim 6 (depends on 2)

The system of claim 2, wherein the attestation server gathers security measurement information from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, and a plurality of virtual machines running on a plurality of cloud servers.

### Claim 7 (depends on 6)

The system of claim 6, wherein the attestation server includes a property interpretation module for interpreting the security measurement information to estimate the likelihood of a breach of a security property from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, a plurality of virtual machines running on a plurality of cloud servers, a plurality of cloud servers, or a data center.

### Claim 8 (depends on 7)

The system of claim 7, wherein if the attestation server detects an attack, the cloud controller can either shut down the virtual machine, suspend the virtual machine, or migrate the virtual machine to another cloud server.

### Claim 9 (depends on 2)

The system of claim 2, further comprising a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 10 (depends on 1)

The system of claim 1, further comprising a cloud controller for selecting qualified cloud servers for hosting the virtual machine on virtual machine initiation or VM migration.

### Claim 11 (depends on 10)

The system of claim 10, wherein the cloud controller, the cloud server, and the attestation server each include at least one long term public-private cryptography key-pair that uniquely identifies the server within the system.

### Claim 12 (depends on 11)

The system of claim 11, wherein a new session specific cryptography key pair is created by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 13 (depends on 12)

The system of claim 12, wherein the trust module generates accumulated cryptography hashes for each software module that is loaded into the system and wherein the attestation server having knowledge of the pre-calculated hash values of the executable files for the software.

### Claim 14

A method for security health monitoring and attestation of virtual machines in cloud computing systems, comprising the steps of:
providing a cloud server including a virtual machine and a hypervisor, the cloud server collecting security measurement information and signing and hashing the security measurement information using a cryptography engine;
providing an attestation server for receiving the security measurement information from the cloud server, the attestation server verifying the signature and hash values, and interpreting the security measurement information; and
generating an attestation report by the attestation server based on the verification and interpretation of the security measurement information.

### Claim 15 (depends on 14)

The method of claim 14, further comprising the step of providing a monitor module located in the cloud server for monitoring and gathering the security measurement information and a trust module located in the cloud server for securely storing the security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 16 (depends on 15)

The method of claim 15, further comprising the step of providing a tool in the monitor module located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities inside the virtual machine.

### Claim 17 (depends on 15)

The method of claim 15, further comprising the step of providing a tool in the monitor module located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities outside the virtual machine.

### Claim 18 (depends on 15)

The method of claim 15, further comprising the step of collecting resource usage measurements in the monitor module for constructing empirical probability distributions.

### Claim 19 (depends on 15)

The method of claim 15, further comprising the step of gathering in the attestation server security measurement information from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, and a plurality of virtual machines running on a plurality of cloud servers.

### Claim 20 (depends on 19)

The method of claim 19, further comprising the step of a providing a property interpretation module in the attestation server for interpreting the security measurement information to estimate the likelihood of a breach of a security property from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, a plurality of virtual machines running on a plurality of cloud servers, a plurality of cloud servers, or a data center.

### Claim 21 (depends on 20)

The method of claim 20, further comprising the step of detecting an attack through the attestation server, and if there is an attack, either shutting down the virtual machine, suspending the virtual machine, or migrating the virtual machine to another cloud server.

### Claim 22 (depends on 15)

The method of claim 15, further comprising the step providing a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 23 (depends on 14)

The method of claim 14, further comprising the step of providing a cloud controller for selecting qualified cloud servers for hosting the virtual machine on virtual machine initiation or VM migration.

### Claim 24 (depends on 23)

The method of claim 23, further comprising the step of the including at least one long term public-private cryptography key-pair that uniquely identifies each of the cloud controller, the cloud server, and the attestation server within the system.

### Claim 25 (depends on 24)

The method of claim 24, further comprising the step of creating a new session specific cryptography key pair by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 26 (depends on 25)

The method of claim 25, further comprising the step of generating accumulated cryptography hashes by the trust module for each software module that is loaded into the system, the attestation server having knowledge of the pre-calculated hash values of the executable files for the software.

### Claim 27

A cloud server for security health monitoring and attestation of virtual machines in cloud computing systems, comprising:
a virtual machine, a hypervisor, a plurality of network interface controllers, a plurality of random access memories, a plurality of central processing units, and a plurality cache memories; and
a monitor module for monitoring and gathering security measurement information and a trust module for secure storage of security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 28 (depends on 27)

The cloud server of claim 27, wherein the monitor module includes a tool located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities inside the virtual machine.

### Claim 29 (depends on 27)

The cloud server of claim 27, wherein the monitor module includes a tool located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities outside the virtual machine.

### Claim 30 (depends on 27)

The cloud server of claim 27, wherein the monitor module collects resource usage measurements for constructing empirical probability distributions.

### Claim 31 (depends on 27)

The cloud server of claim 27, further comprising a module for gathering security measurement information from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, and a plurality of virtual machines running on a plurality of cloud servers.

### Claim 32 (depends on 27)

The cloud server of claim 27, further comprising of a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 33 (depends on 27)

The cloud server of claim 27 further comprising at least one long term public-private cryptography key-pair that uniquely identifies the server.

### Claim 34 (depends on 33)

The cloud server of claim 33, wherein a new session specific cryptography key pair is created by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 35 (depends on 34)

The cloud server of claim 34, wherein the trust module generates accumulated cryptography hashes for each software module that is loaded into the server.

### Claim 36

A method for maintaining security of virtual machines in cloud computing systems, comprising the steps of:
providing a virtual machine, a hypervisor, a plurality of network interface controllers, a plurality of random access memories, a plurality of central processing units, and a plurality cache memories; and
providing a monitor module for monitoring and gathering security measurement information and a trust module for securely storing the security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 37 (depends on 36)

The method of claim 36 further comprising the step of providing a tool in the monitor module located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities inside the virtual machine.

### Claim 38 (depends on 36)

The method of claim 36 further comprising the step of providing a tool in the monitor module located in the hypervisor of the cloud server for detecting and analyzing security vulnerabilities outside the virtual machine.

### Claim 39 (depends on 36)

The method of claim 36, further comprising the step of collecting resource usage measurements for constructing empirical probability distributions.

### Claim 40 (depends on 36)

The method of claim 36, further comprising the step of gathering security measurement information from at least one of the following: the virtual machine running on the cloud server, a plurality of virtual machines running on the cloud server, and a plurality of virtual machines running on a plurality of cloud servers.

### Claim 41 (depends on 36)

The method of claim 36, further comprising the step of providing a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 42 (depends on 36)

The method of claim 36 further comprising the step of providing at least one long term public-private cryptography key-pair that uniquely identifies the server.

### Claim 43 (depends on 42)

The method of claim 42 further comprising the step of creating a new session specific cryptography key pair by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 44 (depends on 43)

The method of claim 43 further comprising the step of generating accumulated cryptography hashes by the trust module for each software module that is loaded into the server.

### Claim 45

A system for security health monitoring and attestation of virtual machines in cloud computing systems, comprising:
a cloud server including a software entity to be protected and a system software that manages the software entity to be protected, the cloud server collecting security measurement information and signing and hashing the security measurement information using a cryptography engine; and
an attestation server for receiving the security measurement information from the cloud server, the attestation server verifying the signature and hash values, and interpreting the security measurement information;
wherein the attestation server generates an attestation report based on the verification and interpretation of the security measurement information.

### Claim 46 (depends on 45)

The system of claim 45, wherein the cloud server further comprises a monitor module for monitoring and gathering the security measurement information and a trust module for secure storage of security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 47 (depends on 46)

The system of claim 46, wherein the monitor module includes a tool located in the system software that manages the software entity to be protected of the cloud server for detecting and analyzing security vulnerabilities inside the software entity to be protected.

### Claim 48 (depends on 46)

The system of claim 46, wherein the monitor module includes a tool located in the system software that manages the software entity to be protected of the cloud server for detecting and analyzing security vulnerabilities outside the software entity to be protected.

### Claim 49 (depends on 46)

The system of claim 46, wherein the monitor module collects resource usage measurements for constructing empirical probability distributions.

### Claim 50 (depends on 46)

The system of claim 46, wherein the attestation server gathers security measurement information from at least one of the following: the software entity to be protected running on the cloud server, a plurality of software entities to be protected running on the cloud server, and a plurality of software entities to be protected running on a plurality of cloud servers.

### Claim 51 (depends on 50)

The system of claim 50, wherein the attestation server includes a property interpretation module for interpreting the security measurement information to estimate the likelihood of a breach of a security property from at least one of the following: the software entity to be protected running on the cloud server, a plurality of software entities to be protected running on the cloud server, a plurality of software entities to be protected running on a plurality of cloud servers, a plurality of cloud servers, or a data center.

### Claim 52 (depends on 51)

The system of claim 51, wherein if the attestation server detects an attack, the cloud controller can either shut down the software entity to be protected, suspend the software entity to be protected, or migrate the software entity to be protected to another cloud server.

### Claim 53 (depends on 46)

The system of claim 46, further comprising of a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 54 (depends on 45)

The system of claim 45, further comprising a cloud controller for selecting qualified cloud servers for hosting the software entity to be protected on initiation of the software entity to be protected or on migration of the software entity to be protected.

### Claim 55 (depends on 54)

The system of claim 54, wherein the cloud controller, the cloud server, and the attestation server each include at least one long term public-private cryptography key-pair that uniquely identifies the server within the system.

### Claim 56 (depends on 55)

The system of claim 55, wherein a new session specific cryptography key pair is created by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 57 (depends on 56)

The system of claim 56, wherein the trust module generating accumulated cryptography hashes for each software module that is loaded into the system and wherein the attestation server having knowledge of the pre-calculated hash values of the executable files for the software.

### Claim 58

A method for security health monitoring and attestation of virtual machines in cloud computing systems, comprising the steps of:
providing a cloud server including a software entity to be protected and a system software that manages the software entity to be protected, the cloud server collecting security measurement information and signing and hashing the security measurement information using a cryptography engine;
providing an attestation server for receiving the security measurement information from the cloud server, the attestation server verifying the signature and hash values, and interpreting the security measurement information; and
generating an attestation report based on the verification and interpretation of the security measurement information.

### Claim 59 (depends on 58)

The method of claim 58, further comprising the steps of providing a monitor module located in the cloud server for monitoring and gathering the security measurement information and a trust module for securely storing the security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations.

### Claim 60 (depends on 59)

The method of claim 59, further comprising the step of providing a tool in the monitor module located in the system software that manages the software entity to be protected of the cloud server for detecting and analyzing security vulnerabilities inside the software entity to be protected.

### Claim 61 (depends on 59)

The method of claim 59, further comprising the step of providing a tool in the monitor module located in the system software that manages the software entity to be protected of the cloud server for detecting and analyzing security vulnerabilities outside the software entity to be protected.

### Claim 62 (depends on 59)

The method of claim 59, further comprising the step of collecting resource usage measurements in the monitor module for constructing empirical probability distributions.

### Claim 63 (depends on 59)

The method of claim 59, further comprising the step of gathering in the attestation server security measurement information from at least one of the following: the software entity to be protected running on the cloud server, a plurality of software entities to be protected running on the cloud server, and a plurality of software entities to be protected running on a plurality of cloud servers.

### Claim 64 (depends on 63)

The method of claim 63, further comprising the step of providing a property interpretation module in the attestation server for interpreting the security measurement information to estimate the likelihood of a breach of a security property from at least one of the following: the software entity to be protected running on the cloud server, a plurality of software entities to be protected running on the cloud server, a plurality of software entities to be protected running on a plurality of cloud servers, a plurality of cloud servers, or a data center.

### Claim 65 (depends on 64)

The method of claim 64, further comprising the step of detecting an attack through the attestation server, and if there is an attack, either shutting down the software entity to be protected, suspending the software entity to be protected, or migrating the software entity to be protected to another cloud server.

### Claim 66 (depends on 59)

The method of claim 59, further comprising the step of providing a plurality of trust evidence registers assessable by only the monitor module and the trust module.

### Claim 67 (depends on 58)

The method of claim 58, further comprising the step of providing a cloud controller for selecting qualified cloud servers for hosting the software entity to be protected on initiation of the software entity to be protected or on migration of the software entity to be protected

### Claim 68 (depends on 67)

The method of claim 67, further comprising the step of including at least one long term public-private cryptography key-pair that uniquely identifies each of the cloud controller, the cloud server, and the attestation server within the system.

### Claim 69 (depends on 68)

The method of claim 68, further comprising the step of creating a new session specific cryptography key pair is created by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 70 (depends on 69)

The method of claim 69, further comprising the step of generating accumulated cryptography hashes by the trust module for each software module that is loaded into the system and wherein the attestation server having knowledge of the pre-calculated hash values of the executable files for the software.

### Claim 71

A system for security health monitoring and attestation of virtual machines in cloud computing systems, comprising:
a virtual machine, a hypervisor, a network interface controller, a random access memory, a central processing unit, and a cache memory;
a monitor module for monitoring and gathering security measurement information inside the virtual machine or outside the virtual machine;
a trust module for secure storage of security measurement information, generating keys, and hashing and signing the security measurement information using cryptography operations; and
a property interpretation module for interpreting the security measurement information hashed and signed from the trust module or from the monitor module.

### Claim 72 (depends on 71)

The system of claim 71, wherein the monitor module collects resource usage measurements for constructing empirical probability distributions.

### Claim 73 (depends on 72)

The system of claim 72, further comprising a module for gathering security measurement information from at least one of the following: the virtual machine running on the system, a plurality of virtual machines running on the system, and a plurality of virtual machines running on a plurality of systems.

### Claim 74 (depends on 71)

The system of claim 71, further comprising of a plurality of trust evidence registers assessable by only the monitor module, the trust module and the property interpretation module.

### Claim 75 (depends on 74)

The system of claim 74, further comprising at least one long term public-private cryptography key-pair that uniquely identifies the system.

### Claim 76 (depends on 75)

The system of claim 75, wherein a new session specific cryptography key pair is created by the trust module whenever an attestation report is needed for the virtual machine.

### Claim 77 (depends on 76)

The system of claim 76, wherein the trust module generates accumulated cryptography hashes for each software module that is loaded into the system.
