AMD 플랫폼 시큐리티 프로세서(AMD Platform Security Processor, PSP), 공식 명칭 AMD 시큐어 테크놀로지는 AMD 마이크로프로세서에 약 2013년부터 통합된 신뢰 실행 환경 서브시스템이다.[1] AMD 개발자 가이드에 따르면, 이 서브시스템은 "보안 환경을 생성, 모니터링 및 유지 관리하는 역할"을 하며, "그 기능에는 부팅 프로세스 관리, 다양한 보안 관련 메커니즘 초기화, 의심스러운 활동이나 이벤트에 대한 시스템 모니터링 및 적절한 대응 구현이 포함된다"고 명시되어 있다.[2] 비평가들은 이것이 백도어로 사용될 수 있고 보안 문제의 소지가 있다고 우려한다.[3][4][5] AMD는 PSP에서 실행되는 코드를 오픈 소스로 공개하라는 요청을 거부했다.[1]
상세 정보
PSP 자체는 TrustZone 확장이 적용된 ARM 코어(ARM Cortex-A5)로, 메인 CPU 다이에 코프로세서로 삽입된다. PSP는 온칩 펌웨어를 포함하며, 이는 SPI ROM을 검증하고 오프칩 펌웨어를 로드하는 역할을 한다. 2019년, 베를린 기반의 보안 그룹은 일반적인 UEFI 이미지 파일(운영 체제를 부팅하는 코드)에서 오프칩 펌웨어를 발견했는데, 이는 쉽게 분석될 수 있다는 것을 의미했다. 몇몇 직접 작성한 파이썬 기반 도구를 사용하여, 그들은 SPI ROM의 오프칩 펌웨어가 전체 마이크로 운영 체제와 유사한 애플리케이션을 포함하고 있음을 발견했다.[6][7][8] 레노버 씽크패드 A285 노트북의 마더보드 플래시 칩(UEFI 펌웨어 저장)을 조사한 결과, PSP 코어 자체(장치로서)가 메인 CPU보다 먼저 실행되며, 펌웨어 부트스트랩 프로세스가 기본 UEFI가 로드되기 직전에 시작된다는 것이 밝혀졌다. 그들은 펌웨어가 사용자 애플리케이션이 실행되는 동일한 시스템 메모리 공간에서 실행되며, MMIO를 포함하여 해당 공간에 대한 무제한 접근 권한을 가지고 있어 데이터 안전성에 대한 우려를 제기한다는 것을 발견했다.[6][7][8] PSP는 x86 코어의 실행 여부를 결정하는 칩이기 때문에 하드웨어 다운코어링을 구현하는 데 사용되며, 시스템의 특정 코어는 제조 과정에서 영구적으로 접근할 수 없도록 만들 수 있다. 또한 PSP는 RDRAND 명령을 위한 무작위 숫자 생성기를 제공하며[9] TPM 서비스를 제공한다.
부팅 과정
PSP는 부팅 과정의 필수적인 부분이며, PSP 없이는 x86 코어가 활성화되지 않는다.
온칩 단계
PSP 칩에 직접 위치한 펌웨어는 ARM CPU를 설정하고, SPI ROM의 무결성을 검증하며, 다양한 데이터 구조를 사용하여 SPI ROM에서 오프칩 펌웨어(AGESA)를 찾아 내부 PSP 메모리로 복사한다.
오프칩 단계
로드된 오프칩 모듈은 DRAM을 초기화하고 플랫폼 초기화를 수행한다. 이전 데이터 구조를 사용하여 오프칩 펌웨어는 SPI ROM 내에서 UEFI 펌웨어를 찾아 DRAM으로 복사하며, 추가 검증 단계를 수행할 수 있고 시스템이 안전하다고 판단되면 x86 코어를 리셋 상태에서 해제하여 UEFI 펌웨어를 시작한다.
보고된 취약점
2017년 9월, 구글 보안 연구원 크피르 코헨(Cfir Cohen)은 공격자가 암호, 인증서 및 기타 민감한 정보에 접근할 수 있게 하는 PSP 서브시스템의 취약점을 AMD에 보고했으며; 2017년 12월에 벤더들에게 패치가 제공될 것이라는 소문이 돌았다.[10][11]
2018년 3월, 이스라엘의 IT 보안 회사는 AMD의 젠 아키텍처 CPU(EPYC, 라이젠, 라이젠 프로, 라이젠 모바일)에 있는 PSP와 관련된 몇 가지 심각한 결함을 보고했는데, 이는 악성 소프트웨어가 실행되어 민감한 정보에 접근할 수 있게 할 수 있다고 주장되었다.[12] AMD는 이러한 결함을 처리하기 위한 펌웨어 업데이트를 발표했다.[13][14] CTS 랩스(CTS Labs)가 주장한 높은 위험성은 일축되었지만, 독립적인 보안 전문가들이 공개된 내용을 검토한 결과 기술적인 관점에서 그 유효성은 인정되었고,[15] 이는 해당 결함이 시장 조작을 목적으로 공개되었다는 주장을 낳았다.[16][17]
↑ 가나Williams, Rob (2017년 7월 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.