OSDI 2022 Alexander Van’t Hof Jason Nieh

개요
BlackBox는 Type 1 Hypervisor로써, TCB를 줄이기 위해서 기본적인 기능만 특히 Untrusted Kernel로부터 Application을 보호하기 위한 기능만을 제외한채, 모든 기능을 운영체제에 올리고, Application은 매우 작인 TCB를 가지는 BlackBox를 신뢰하게 한 모델이다.
Motivation
기존의 Virtual machine이나 SGX와 같은 방식들은 TCB크기가 큰 문제로 인하여서 Attack point가 많다. 또한 Container와 같은 방식은 Kernel을 Trusted zone으로 생각해야 한다는 문제가 있다. Micro hipervisor와 같은 경우도 Hiper visor또한 모든 자원관리, 시스템 콜 관리와 같은 기능을 Hyper visor을 통해서 하기때문에 TCB가 줄이고 줄여도 커지는 문제가 있었다.
Importance
이 논문은 다른 Hypervisor논문과는 다르게 최대한 Hypervisor (CSM, Container Security Monitor in this paper)의 기능을 간략화 하고 많은 기능을 운영체제제에 의존해되, 운영체제가 Application의 Security에 영향을 줄 수 있는 작업은 CSM의 허락을 받고 작업하도록 하였다. 이를 통해서 CSM의 크기를 줄이고, Overhead를 간소화 시켰으며, CSM VmFunc위에서 돌아가기에, Intel SGX와 같은 특수 하드웨어 기능이 없어도 작동할 수 있도록 하였다.
Main Idea
- CSM이라는 Hypervisor를 VmFunc를 이용해서 OS와 분리해두고 Minimal한 Application-Kernel security check을 수행하도록 함.
Design
- Container Security Monitor (CSM)
- CSM을 Application과 Kernel의 사이에 두어서 Page table modification, Memory allocation 혹은 Create new enclave (Protection domain)과 같은 작업을 중재하도록 함. 이를 통해서 커널이 Iago Attack과 같은 Memory Attack혹은 Application의 Memory영역에 접근하는 일과 같은 일을 원천 차단함. CSM은 인터럽트, 시스템콜, Exception과 같은 Kernel-User domain change에서도 관여하여 Kernel이 Application에 잘못된 일을 전가하는지 감시함.
- Protected Physical Address space (PPAS)
- PPAS라는 매모리 단위를 도입. PPAS는 각 PPAS와 CSM간의 접근만이 가능. 이를 통해서 Application의 메모리를 CSM을 통해서 PPAS로 할당하고 PPAS간의 통신은 Encrypt된 IPC를 CSM거쳐서 이루어지도록 하여, PPAS의 내용의 Integrity와 Confidentiality를 보장함.
- Booting and Initilization
- Booting시와 Init process과정에 security hash값을 비교하도록 하여서, 현재 로딩되는 CSM과 User Application Image가 변조된 것은 아닌지 검사하도록 함. 이를 통해서 Malcious한 프로그램이 Hardware를 탈취하는 것을 막음.
- ETC
- File system, IPC, Task execution, Memory Allocation에 대한 Detail한 내용이 어떻게 CSM의 특정 API를 통해서 이루어지게 하였는지 Design 섹션에 설명되어 있음.
Result
특정 마이크로 벤치에서는 3배정도 느려지나, 매크로 벤치에서는 성능 하락이 거의 없었음. 그러나 CPU Utilization이 2배 가까이 특정 매크로 벤치에서 오르는등 심하였는데, 이는 Syscall buffer와 같이 특정 Method가 심한 Overhead를 보이기 때문인 것으로 리포트됨.
Contribution
- 새로운 BlackBox라는 Lightweight한 Hypervisor을 통한 Untrusted Kernel protection 모델을 제시하였다.
- 다양한 OS의 영역에 적용함으로써, 어떻게 CSM을 통하여 Untrusted kernel을 compromise할 수 있는지를 측정하였다.
Crticize
- Iago Attack의 메모리 부분만을 막았을 분 Iago Attack을 통한 다른 Vunlerability는 그대로 가지고 있음.
- Side channel attack은 막지를 못함. VM과 같은 경우에는 좀더 Lower level이라서 Side channel attack에 용의하나 BlackBox는 그렇지 않음
- 사실 위의 두 단점은 매우 막기가 힘든 Security Attack임. 어쩔 수 없다고 생각함
- 커널은 못 믿는데, CSM은 믿기에는 힘들다고 생각함. Intel SGX와 같은 용도는 Service Vendor로부터의 Attack도 상정함.