TPM(Trusted Platform Module) 기반 부팅 검증, 왜 어려울까?

by DD
2개월 전
조회수 10

TPM(Trusted Platform Module)은 시스템 무결성 검증에 필수적이지만, PCR(Platform Configuration Registers) 값 검증의 어려움이 존재함

표준화된 PCR 값 데이터베이스 부재로 인해, 각 기업이 자체적인 검증 체계를 구축해야 하는 상황임

이벤트 로그(Event Log) 기반 검증은 유연성을 제공하지만, 벤더 종속성 및 정보 부족으로 인해 한계가 있음

업계 협력 부재로 인해, TPM(Trusted Platform Module) 기반 부팅 검증의 실질적인 어려움이 지속되고 있음

PCR(Platform Configuration Registers) 값 검증의 기술적 난제

본문에서는 TPM(Trusted Platform Module)의 핵심 기능인 PCR(Platform Configuration Registers) 값 검증의 어려움을 지적한다. PCR 값은 부팅 과정의 암호화된 측정값을 저장하며, 다양한 하드웨어 및 소프트웨어 구성 요소의 조합으로 인해 무한대에 가까운 경우의 수(Combinatorial)를 가진다. 특히, 펌웨어, 부트로더, 커널, initrd 설정의 조합은 검증을 더욱 어렵게 만든다. 이러한 복잡성으로 인해, 정확한 PCR 값 매칭은 현실적으로 불가능하며, 표준화된 데이터베이스 부재(Absence of Standardized Database)는 문제를 더욱 심화시킨다.

이벤트 로그(Event Log) 기반 검증의 한계

PCR 값 매칭의 어려움으로 인해, 업계는 이벤트 로그(Event Log) 기반 검증으로 전환했다. 이벤트 로그는 부팅 과정의 개별 측정값을 기록하며, 이를 통해 PCR 값을 재구성하여 검증한다. 하지만, 벤더 종속적인 이벤트 로그 형식(Vendor-Specific Formats), 정보 부족, 그리고 이벤트 설명의 조작 가능성 등 여러 문제점이 존재한다. 특히, 인텔(Intel) CSME 서브시스템과 같이, 독점적인 정보 없이는 검증이 불가능한 경우(Insufficient Information)가 발생하여, 신뢰성 확보에 어려움을 겪는다.

vTPM(Virtual TPM) 환경의 보안 취약점

vTPM(Virtual TPM)은 클라우드 환경에서 널리 사용되지만, 보안 측면에서 추가적인 취약점을 야기한다. vTPM은 하이퍼바이저(Hypervisor) 또는 보안 가상 머신(Confidential VM) 내에서 실행되므로, 하이퍼바이저가 손상되면 vTPM 또한 손상될 위험(Compromised)이 있다. 또한, CPU의 하드웨어 격리(Hardware Isolation)에 사이드 채널 취약점이 존재할 경우, vTPM의 키가 노출될 수 있다. 따라서 vTPM의 검증은 TEE(Trusted Execution Environment) 증명(Attestation)을 포함해야 하며, 하위 계층의 취약점이 전체 시스템의 보안을 위협할 수 있다.

실질적인 검증 방법 및 업계 협력의 필요성

저자는 PCR 값 매칭, 이벤트 로그 정책, 서명된 기준선(Signed Baseline), 노드 ID 검증 등 다양한 검증 방법을 제시하며, 각 방법의 장단점을 설명한다. 가장 강력한 방법은 정확한 PCR 값 매칭이지만, 업데이트에 취약하다는 단점이 있다. 업계는 펌웨어 벤더의 서명된 측정값 제공, OS 벤더의 측정값 제공, 투명성 로그 구축, 벤더 간 이벤트 로그 표준화, 그리고 상용화된 검증 서비스(Commodity Service) 등, 상호 협력을 통해 TPM(Trusted Platform Module) 기반 부팅 검증의 신뢰성을 향상시킬 수 있다. 이는 웹 PKI(Public Key Infrastructure)의 사례를 통해, 협력의 중요성을 강조한다.

Why Nobody Can Verify What Booted Your Server