In today’s world, where attack vectors on devices are increasing and data is becoming the most common commodity, there is a need of a comprehensive solution which helps provide seamless protection from edge to cloud by deeply integrating hardware, firmware and software.
AMD and Microsoft have collaborated to bring leading innovative technologies to AMD client products, whether it is integration of Pluton processor or enablement of Secured-core PC. Now AMD is extending the relationship to server products where future AMD EPYC™ server processors will be Secured-core Server compatible.
As a leading provider to the PC and server markets, AMD has designed common security features across AMD client and server products like AMD Secure Processor as Root of Trust to Full Memory Encryption technologies and Secured-core solutions continues that rich history. Secured-core solution in AMD EPYC processor powered servers is based on the same hardware security features that are used to enabled Secured-core PC. The benefit of this approach is ease of enablement of security features for IT administrators across cloud and edge devices on the network.
A Secured-core Server helps you boot securely, protect your device from firmware vulnerabilities, shield the operating system from attacks and prevent unauthorized access to devices and data with advanced access controls and authentication systems.
AMD plays a vital role in enabling Secured-core Server as AMD hardware security features and associated software help safeguard low level firmware attacks. Before we explain how AMD is enabling Secured-core solutions in next gen products, let’s first explain some security features and capabilities of the AMD architecture.
AMD Secure Processor (ASP): AMD Secure Processor is dedicated hardware available in each SOC which is designed to form a Hardware Root of Trust for the SoC and help boot and initialize the SoC through a secure boot flow and establish an isolated Trusted Execution Environment. It further enables the Windows Server Host operation system (OS) to launch the OS kernel by establishing a trusted execution environment without having to place any trust in the Platform Firmware.
SKINIT: The SKINIT instruction helps create a dynamic “root of trust” starting with an initially untrusted operating mode. SKINIT reinitializes the processor to help establish a trusted execution environment for a software component called the AMD Secure Loader (SL) and starts execution of the SL in a way to help prevent tampering. SKINIT extends the hardware-based root of trust to the secure loader.
Secure Loader (SL): The AMD Secure Loader is responsible for validating the platform configuration by interrogating the hardware and requesting configuration information from the DRTM Service provided by AMD Secure Processor.
AMD-V™ with GMET: AMD-V is set of hardware extensions to enable virtualization on AMD platforms. Guest Mode Execute Trap (GMET) is a silicon performance acceleration feature which enables hypervisor to efficiently handle code integrity checks and help protect against malware.
Now let’s understand the basic concept of firmware protection in a Secured-core Server. The firmware and bootloader can load freely with the assumption that these are unprotected code and knowing that shortly after launch the system will transition into a trusted state with the hardware forcing low level firmware down a well-known and measured code path. This means that the firmware component is authenticated & measured by the ASP block on AMD silicon and the measurement is stored in a protected manner for r further usage by the OS including verification and attestation. At any point after the system has booted into OS, the operating system can request AMD service block to remeasure and attest the values before executing with further operations. This way the OS can help ensure integrity of the system from boot to run time.
The firmware protection flow described above is handled by the AMD Dynamic Root of Trust Measurement (DRTM) Service Block and is made up of SKINIT CPU instruction, AMD Secure Processor and the AMD Secure Loader (SL). This block is responsible for creating and maintaining a chain of trust between components by performing the following functions:
Whilst the above methods help in safeguarding a trusted launch of the OS, there is still a possible attack surface against the platform firmware where adversaries can use connected devices to perform Direct Memory Access (DMA) attacks. DMA provides direct access to physical memory address space to devices for improved performance. This also makes it easier for malicious software to inject malware into the system which can go undetected by the OS. To help prevent such attacks AMD has designed a security architecture to help manage and control device DMA access via Input Output Memory Management Unit (IOMMU) at the pre-OS firmware level. DMA security architecture hands over responsibility of system memory protection settings from the firmware level to the OS after the OS bootloader has been established in memory. The DMA protection using IOMMU is applied on each boot, until the OS takes over control of the IOMMU itself
To summarize, AMD has taken a leadership role in introducing innovative security features to help mitigate real world security challenges. Microsoft is a key technology partner for AMD and as part of this relationship there is a joint commitment with the Secured-core servers across Windows Server 2022 and Azure Stack HCI to improve security within software and hardware to offer a more comprehensive security solution to customers.
Akash Malhotra is Director of Security Product Management at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies, or opinions. Links to third party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites and no endorsement is implied.