{"id":9260,"date":"2023-06-13T08:41:25","date_gmt":"2023-06-13T15:41:25","guid":{"rendered":"https:\/\/www.microsoft.com\/insidetrack\/blog\/?p=9260"},"modified":"2023-06-30T13:15:14","modified_gmt":"2023-06-30T20:15:14","slug":"using-shielded-virtual-machines-to-help-protect-highvalue-assets","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/insidetrack\/blog\/using-shielded-virtual-machines-to-help-protect-highvalue-assets\/","title":{"rendered":"Using shielded virtual machines to help protect high-value assets"},"content":{"rendered":"
Microsoft Digital Employee Experience (MDEE) protects our high-value corporate assets\u2014beyond just the network. We use shielded virtual machines (shielded VMs) and Host Guardian Services (HGS) in Windows Server 2019 to isolate our data. This ensures that control and administration of infrastructure and environment remain completely isolated from control and administration of data and applications.<\/p>\n
Critical data and high risk environments<\/h2>\n
At MDEE, we classify approximately one percent of the services and data that we host as High\u00a0Value\u00a0Assets\u00a0(HVAs). An HVA is a single isolated environment that provides a secure space for company workloads. Access to HVA data by unauthorized users could negatively affect Microsoft business in a significant way.<\/p>\n
In our organization, we host several HVAs for different business groups that need a highly secure environment to prevent unauthorized access or data leaks. Most data in an HVA is classified as highly confidential. HVAs also host data that\u2019s regulated by government policy or other legal restrictions, or that\u2019s physically isolated from other datacenter assets and from our corporate network. A typical HVA can be broken down into several components:<\/p>\n
\n
HVA fabric<\/strong> is the hosting environment for all HVAs. The HVA fabric encompasses the secure hosts, storage, computing, and network services used by all our internal HVA customers.<\/li>\n
HVA stamp<\/strong> is a single instance of an HVA that\u2019s hosted on the HVA fabric. HVA stamps are also called HVA instances.<\/li>\n
Tier 0<\/strong> holds highly privileged Active Directory resources (such as computer and user accounts) that can give an attacker significant access to the network. These resources include domain controllers, which host the Active\u00a0Directory database, and highly privileged accounts or groups, such as domain admins or enterprise admins.<\/li>\n
Tier 1<\/strong> hosts privileged services and systems used by HVAs. These resources provide control over enterprise servers and applications. Tier 1 contains a significant amount of business value hosted in the assets.<\/li>\n
Tier 2<\/strong> is also called the customer tier. It hosts services that are provided and managed by the internal customer who uses the HVA. Each HVA hosts a unique set of customers and services. Tier 2 services may be privileged in comparison to other systems, but within the scope of the specific HVA, they are the least-privileged services.<\/li>\n<\/ul>\n
HVA topology<\/h3>\n
A standard HVA host includes the three-tier administrative model and uses the HVA fabric for storage, network, and related services. The components of an HVA are distributed and managed in highly secured datacenters. Each access tier gives a layer of protection against credential theft.<\/p>\n
The HVA system is multi-tenant. Each HVA stamp is an isolated environment that\u2019s built for a specific customer or isolated workload. We use isolation techniques to help create clear boundaries between HVA stamps. HVA stamps can be of mixed size (with a different number of virtual machines, different sizes of virtual machines, and so on) and can host a variety of environments. One HVA stamp might host a single Tier 2 service, and others might host full end-to-end environments that have hundreds of servers.<\/p>\n
The following figure shows a high-level view of an HVA environment with several HVA stamps.<\/p>\n
HVA topology<\/figcaption><\/figure>\n
Using shielded VMs for HVA<\/h2>\n
To create the private cloud environment that hosts our HVA resources, we use Windows Server\u00a02019, System\u00a0Center Virtual\u00a0Machine\u00a0Manager, and Windows Azure Pack (WAP). Windows Server 2019 introduces the shielded VM feature in Hyper-V. It protects virtual machines from threats outside and inside the fabric. It does this by encrypting disk and virtual machine states so that only virtual machine admins or tenant admins can access them.<\/p>\n
By using System Center Virtual Machine Manager and Hyper-V host clusters in our private cloud environment, we can quickly and efficiently provision HVAs. We don\u2019t have to worry about provisioning specific hardware to host HVA resources. The Windows Azure Pack offers a familiar, browser-based interface that our internal customers can use to provision resources. When needed, we provision shielded VMs and provide the computing resources to host an HVA workload.<\/p>\n
Guarded fabric health attestation and key release<\/h3>\n
Shielded VMs are part of the guarded fabric system in Windows Server 2019 Hyper-V. The guarded fabric consists of several layered components:<\/p>\n
\n
Code and boot integrity<\/strong> uses virtualization-based security to allow only approved code to run on the Hyper-V host from the moment it starts.<\/li>\n
Virtualization-based security<\/strong> uses hardware security technology in Windows Server 2019 to create an area that\u2019s isolated from the Windows kernel and other applications to prevent external attacks.<\/li>\n
Trusted Platform Module (TPM) 2.0<\/strong> is used to securely measure a Hyper-V host’s boot process and code integrity policy. These are then sent to the HGS as part of the health attestation process.<\/li>\n
Host Guardian Service (HGS)<\/strong> acts as an arbitration point for the guarded fabric that contains shielded VMs. HGS provides health attestation for the Hyper-V hosts and key protection for the material that\u2019s required to run the shielded VMs.<\/li>\n<\/ul>\n
Guarded host attestation<\/h4>\n
As illustrated in the figure below, HGS handles the attestation process for the guarded Hyper-V hosts on which the shielded\u00a0VMs reside, including key requests and health information. This process ensures the health of the host, the protection of the shielded VM, and the appropriate access for users.<\/p>\n
Guarded host attestation process with HGS<\/figcaption><\/figure>\n
The attestation process includes the following steps:<\/p>\n
\n
The guarded Hyper-V host sends a key request to the HGS.<\/li>\n
The HGS replies that it can\u2019t verify that the Hyper-V host is a legitimate host.<\/li>\n
The Hyper-V host sends its endorsement key to HGS from its TPM module to establish identity, along with health baseline and code integrity policy.<\/li>\n
If HGS recognizes the identity of the Hyper-V host and considers the baseline and code integrity policy healthy, it supplies a certificate of health to the Hyper-V host.<\/li>\n
The Hyper-V host re-sends the key request and health certificate to the HGS.<\/li>\n
The HGS sends an encrypted response back to the Hyper-V host\u2019s virtualization-based security, and the response can be decrypted only by the host hardware security module, to start the shielded VM.<\/li>\n<\/ol>\n
Implementing HVA fabric using shielded VMs<\/h3>\n
The implementation of HVAs using shielded VMs starts at the datacenter. All HVA servers should be in physically isolated and secure environments. Physical access to the datacenter requires two-person access, and it\u2019s limited to the HVA fabric team and the administrative team.<\/p>\n
Physical access implementation<\/h4>\n
Best practices for implementing physical security components for the HVA include:<\/p>\n
\n
Physical access to the hosting fabric hardware and datacenter floor should require two-person biometric access controls and smart card access to all server cages and racks.<\/li>\n
Physical access to the hosting fabric hardware and datacenter floor by an HVA team admin should require datacenter access tool tickets and a fabric admin escort.<\/li>\n
Datacenter floor access should be granted to only permanent employees.<\/li>\n
Cameras should be used to record all physical access to the datacenter floor and racks.<\/li>\n
The datacenter should have around-the-clock security guards on site\u2014they monitor the facility, datacenter floor, and all access paths.<\/li>\n<\/ul>\n
Hardware implementation<\/h4>\n
We use only specifically configured hardware in our HVA fabric. Our host hardware runs Windows Server 2019 and Hyper-V. The following table lists the components and management responsibilities.<\/p>\n
Hardware components and management responsibilities<\/em><\/p>\n
\n\n
\n
Component<\/th>\n
Managed by<\/th>\n
Description<\/th>\n<\/tr>\n<\/thead>\n
\n
\n
Fabric host servers with TPM 2.0<\/td>\n
Fabric admin team<\/td>\n
Host servers are grouped into isolated racks, or pods, and they\u2019re managed by System Center Virtual Machine Manager. They belong to a separate fabric Active Directory Domain Services domain.<\/td>\n<\/tr>\n
\n
Storage systems<\/td>\n
Fabric admin team<\/td>\n
These are grouped into the same pods as the server infrastructure. HVA fabric storage is provided by System Center Virtual Machine Manager.<\/td>\n<\/tr>\n
\n
Network hardware<\/td>\n
Network infrastructure services team in conjunction with the fabric admin team<\/td>\n
Firewalls are configured between each layer of the HVA fabric.<\/td>\n<\/tr>\n
\n
Hardware security modules<\/td>\n
Network infrastructure services team in conjunction with the fabric admin team<\/td>\n
These modules control access to each grouping of Hyper-V host servers that we call a pod. The hardware security modules host secured private keys that participate in the certificate services implementation in HGS. Any administrative function on a hardware security module requires a two-out-of-three security officer quorum.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n
The following graphic shows the HVA hosting fabric, including HGS, for two primary sites.<\/p>\n