Jonathan M. McCune Yanlin Li Ning Qu Zongwei Zhou Anupam Datta Virgil Gligor Adrian Perrig 2010 IEEE Symposium on Security and Privacy
개요
TrustVisor은 특수한 목적의 Hypervisor로 Code integrity와 Data integrity그리고 Secrecy를 Application의 일부분에 제공한다.
Motivation & Importance
버그 없는 프로그램을 만드는 것은 매우 어려운 일이다. 따라서 Security sensitive한 코드의 일부분을 분리하여 Isolation시키는 것이 중요하다. 그러나 Isolation기법들은 다음의 문제가 있다.
- 성능 중시: 안전성이 떨어진다. TCB가 증가한다.
- 안전 중시: 성능이 떨어진다.
TrustZone은 Small security sensitive코드를 적은 TCB로 보호하면서, 동시에 좋은 성능을 낼수 있는 시스템을 설계하는 것이 Motivation이다.
Threat Model
TrustVisor은 Application과 OS둘다 Compromise될수 있다고 본다. 또한 직접 하드웨어를 통해서 접근하는들의 부차적인 공격은 고려하지 않는다.
Design
하이퍼바이저 기반 아키텍처
- TrustVisor는 x86 하드웨어 가상화 기술(Intel VT-x 등)을 기반으로 하는 경량 하이퍼바이저이다.
- 일반 OS 위에서 동작하지 않고, OS 아래에서 하이퍼바이저로 실행됨.
- 이를 통해 OS가 악의적이거나 손상된 경우에도 민감 코드의 기밀성과 무결성 보장.
μTPM (Micro Trusted Platform Module)
- 기존 하드웨어 TPM의 기능을 가상화한 소프트웨어 기반의 신뢰 컴포넌트.
- 빠르고 유연하게 cryptographic key 보호, 서명, 해시 등 기능 수행 가능.
- 애플리케이션 단위의 원격 증명(remote attestation)을 가능하게 함.
Remote Attestation
- TrustVisor는 μTPM과 SSC 보호를 기반으로, 외부의 신뢰 기관에 특정 SSC의 무결성을 증명할 수 있음.
- 신뢰 기반 클라우드, 보안 거래 시스템 등에 활용 가능.
보안 속성
- TCB 축소: OS를 TCB에서 제거하여 공격 표면 최소화.
- 격리된 실행: 민감 코드(SSC)를 OS와 분리하여 안전한 실행 환경 제공.
- 무결성: SSC 코드 및 데이터의 변조 방지.
- 기밀성: 외부 접근으로부터 민감 데이터 보호.
- 검증 가능성: 원격지에서의 안전한 무결성 검증 지원.