Shielding applications from an untrusted cloud with Haven


Shielding Applications from an Untrusted Cloud with Haven
Andrew Baumann, Marcus Peinado, Galen Hunt

개요

Intel SGX환경에서 Application을 안전하게 돌리기 위해서, Draw bridge에서 소개된 Library OS방식을 통해, Iago Attack, Side-channel attack과 같은 Security 위협을 최소화 하여 실행하는 방법을 제시하였다.

Motivation

증가하는 컴퓨팅 환경에서, Cloud computing의 보안이 중요한 과제가 되었다. 특히 Host vendor의 하드웨어까지 탈취된 환경에서도 Application을 보호하고자 하는 연구가 증가하였다. Intel SGX는 이러한 위협에 대비할 수 있는 Hardware-based isolation기법이나, 이를 활요한 연구가 이 시점엔 아직 없었다.

Importance

외부 하드웨어 기반으로 보안을 제공하는 것은 Application의 핵심이 되는 부분만을 보호할 수 있었으며, 가격이 매우 비싸고 느리다는 단점이 있었다. Trusted hypervisor을 이용하는 방식은, Malicious OS환경에서는 무효화되었다. 또한 소프트웨어적으로 암호화를 통해서 데이터를 지키는 방식은 성능상의 단점이 있었다.

Main Idea

Haven은 Intel SGX를 활용해서, Host OS가 탈취된 환경에서 API를 잘못 활용함으로, Application을 공격할 수 있는 환경에서도 Application의 전체 소스 코드를 보호할 수 있도록 디자인 하였다. 이를 위해서 Drawbridge에서 나온 Picoprocess라는 디자인을 활용해서, Host OS와는 최소화된 ABI로 통신하도록 하였다. 이는 Attack TCB를 최소화하여 Host OS가 ABI를 통한 공격을 할 수 없도록 만들었다. 또한 Remote attestation을 사용하여서 Haven process가 Intel SGX에서 돌아가고 있는지도 알 수 있도록 하였다.

Conclusion

Haven은 Intel SGX를 어떻게 사용하면 Application을 Isolation할 수 있을지 그당시 최신이었던 Hardware feature를 사용해서 고민한 논문이다. Intel SGX 그리고 Library OS로 TCB를 줄이는 것이 이 논문의 핵심이된다.