AMD Platform Security Processor
The AMD Platform Security Processor (PSP), officially known as AMD Secure Technology, is a trusted execution environment subsystem incorporated since about 2013 into AMD microprocessors. According to an AMD developer's guide, the subsystem is "responsible for creating, monitoring and maintaining the security environment" and "its functions include managing the boot process, initializing various security related mechanisms, and monitoring the system for any suspicious activity or events and implementing an appropriate response". Critics worry it can be used as a backdoor and is a security concern. AMD has denied requests to open source the code that runs on the PSP.
The PSP itself represents an ARM core with the TrustZone extension which is inserted into the main CPU die as a coprocessor. The PSP contains on-chip firmware which is responsible for verifying the SPI ROM and loading off-chip firmware from it. In 2019, a Berlin-based security group discovered the off-chip firmware in ordinary UEFI image files (the code that boots up the operating system), which meant that it could be easily analyzed. By using a few hand-written Python-based tools, they found that the off-chip firmware from the SPI ROM contained an application resembling an entire micro operating system. Investigation of a Lenovo ThinkPad A285 notebook's motherboard flash chip (stores UEFI firmware) revealed that the PSP core itself (as a device) is run before the main CPU and that its firmware bootstrapping process starts just before basic UEFI gets loaded. They discovered that the firmware is run inside in the same system's memory space that user's applications do with unrestricted access to it (including MMIO) raising concerns over data safety. Because PSP is the chip that decides whenever the x86 cores will run or not, it is used to implement hardware downcoring, specific cores on the system can be made permanently inaccessible during manufacturing. The PSP also provides a random number generator for the RDRAND instruction and provides TPM services.
The PSP is an integral part of the boot process, without which the x86 cores would never be activated.
- On-chip phase
- Firmware located directly on the PSP chip sets up the ARM CPU, verifies the integrity of the SPI ROM and using various data structures locates the off-chip firmware and copies it over to internal PSP memory.
- Off-chip phase
- The loaded off-chip modules will initialize DRAM and perform platform initialization. Using the previous data structures the off-chip firmware finds UEFI firmware within the SPI ROM and copies it over to DRAM, it may perform additional verification steps and if the system is deemed secure, it will release the x86 cores from their reset state, thus starting UEFI firmware.
In September 2017, Google security researcher Cfir Cohen reported a vulnerability to AMD of a PSP subsystem that could allow an attacker access to passwords, certificates, and other sensitive information; a patch was rumored to become available to vendors in December 2017.
In March 2018, an Israeli IT security company reported a handful of allegedly serious flaws related to the PSP in AMD's Zen architecture CPUs (EPYC, Ryzen, Ryzen Pro, and Ryzen Mobile) that could allow malware to run and gain access to sensitive information. AMD announced firmware updates to handle these flaws. Their validity from a technical standpoint was upheld by independent security experts who reviewed the disclosures, although the high risks claimed by CTS Labs were dismissed, leading to claims that the flaws were published for the purpose of stock manipulation.
- ^ a b Williams, Rob (2017-07-19). "AMD Confirms It Won't Opensource EPYC's Platform Security Processor Code".
This chip is found on most AMD platforms from 2013 on, and behaves much like Intel's Management Engine does [...] The rather blunt realization that PSP wasn't being open sourced came out during a discussion with AMD top brass about EPYC.
- ^ "BIOS and Kernel Developer's Guide (BKDG) for AMD Family 16h Models 30h-3Fh Processors" (PDF). AMD. 2016. p. 156.
- ^ Martin, Ryan (July 2013). "Expert Says NSA Have Backdoors Built Into Intel And AMD Processors". eteknix.com. Retrieved 2018-01-19.
- ^ Claburn, Thomas (2018-01-06), Security hole in AMD CPUs' hidden secure processor code revealed ahead of patches, The Register
- ^ Larabel, Michael (2017-12-07). "AMD Reportedly Allows Disabling PSP Secure Processor With Latest AGESA".
This built-in AMD Secure Processor has been criticized by some as another possible attack vector...
- ^ "Libreboot FAQ".
The PSP is an ARM core with TrustZone technology, built onto the main CPU die.
- ^ a b Werling, Christian; Buhren, Robert (24 August 2019), Dissecting the AMD Platform Security Processor, retrieved 2020-07-26
- ^ a b Cameran, James (2020-03-06). "Dissecting the AMD Platform Security Processor". SkillsFutureTV Academy. Retrieved 2020-07-26.
- ^ a b "Dissecting the AMD Platform Security Processor". YouTube. Archived from the original on 2020-08-11.
- ^ "AMD Random Number Generator" (PDF). AMD. 2017-06-27.
- ^ Millman, Rene (2018-01-08). "Security issue found in AMD's Platform Security Processor".
- ^ Cimpanu, Catalin (2018-01-06). "Security Flaw in AMD's Secure Chip-On-Chip Processor Disclosed Online".
- ^ Goodin, Dan (2018-03-13). "A raft of flaws in AMD chips makes bad hacks much, much worse". Ars Technica.
- ^ Bright, Peter (2018-03-20). "AMD promises firmware fixes for security processor bugs All bugs require administrative access to exploit". Ars Technica.
- ^ Papermaster, Mark (2018-03-21). "Initial AMD Technical Assessment of CTS Labs Research". AMD Community.
- ^ Guido, Dan (15 March 2018). ""AMD Flaws" Technical Summary".
- ^ Burke, Steve; Lathan, Patrick. "Assassination Attempt on AMD by Viceroy Research & CTS Labs, AMD "Should Be $0"". GamersNexus.
- ^ Zynath Investment. "AMD And CTS Labs: A Story Of Failed Stock Manipulation". Seeking Alpha.
- AMD Pro Security at AMD