서지주요정보
Trusted execution environment for multi-level security and hardware sandbox = 다계층 보안과 하드웨어 샌드박스를 지원하기 위한 신뢰 실행 환경 연구
서명 / 저자 Trusted execution environment for multi-level security and hardware sandbox = 다계층 보안과 하드웨어 샌드박스를 지원하기 위한 신뢰 실행 환경 연구 / Joongun Park.
발행사항 [대전 : 한국과학기술원, 2023].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8040348

소장위치/청구기호

학술문화관(도서관)2층 학위논문

DCS 23017

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Recent studies showed that a cloud application consists of multiple distributed modules provided by mutually distrustful parties. Although hardware-based trusted execution environments (TEEs) have evolved to provide strong isolation with efficient hardware supports their current monolithic model poses challenges in representing the application consisted of multiple modules produced by mutually distrustful parties. For trusted services, such applications can use TEEs that are communicating through software-encrypted memory channels. For better mapping of such modular software designs to trusted execution environments, this dissertation proposes a hierarchical TEE model called Nested Enclave, and a bi-directional TEE model called Cloister. Nested Enclave extends the current monolithic model to a hierarchical one, which provides multiple inner TEEs within a TEE. Inspired by the multi-level security model, nested enclave provides multiple inner enclaves sharing the same outer enclave. Inner enclaves can access the context of the outer enclave, but they are protected from the outer enclave and non-enclave execution. Peer inner enclaves are isolated from each other while accessing the execution environment of the shared outer enclave. Both inner and outer enclaves are protected from vulnerable privileged software and physical attacks. Such fine-grained nested enclaves allow secure multi-tiered environments using software modules from untrusted 3rd parties. The security-sensitive modules run on the inner enclave with the higher security level, while the 3rd party modules are on the outer enclave. It can be further extended to provide a separate inner module for each user to process privacy-sensitive data while sharing the same library with efficient hardware-protected communication channels. This study investigates three case scenarios implemented with an emulated nested enclave support, proving the feasibility and security improvement of the nested enclave model. Cloister provides a new type of bi-directional protection: protecting the rest of the system from the enclave module with sandboxing and protecting the enclave module from third-party modules and the operating system. However, the current TEE model cannot efficiently represent such distributed sandbox applications. To overcome the lack of hardware support, Cloister proposes new three key techniques. First, it extends the hardware-based memory isolation in SGX to confine a user software module only within its TEE (enclave). Second, it proposes a trusted monitor enclave that filters and validates system calls from enclaves. Third, it allows hardware-protected memory sharing between a pair of enclaves for efficient protected communication without software-based encryption. Finally, it facilitates a mutually agreeable accounting system among cloud providers and users. Using an emulated SGX platform with the proposed extensions, this study shows that distributed sandbox applications can be effectively supported with small changes of SGX hardware.

클라우드 플랫폼 상에서의 서비스는 하나 이상의 서로 신뢰할 수 없는 다양한 모듈로 이뤄져 있다. 클라우드를 위한 하드웨어 기반의 보안 기법인 신뢰 실행 환경(Trusted Execution Environment) 은 서비스 간의 효과적인 보안적 격리는 제공할 수 있지만, 그 단일화된 구조 탓에 한 서비스 내에서의 모듈간 격리에는 적합하지 않으며, 또한 클라우드 플랫폼의 요구와는 달리 오로지 단방향 보호만을 제공한다는 한계점을 가지고 있다. 또한, 모듈 혹은 서비스간의 안전한 통신 보안을 위해서는 추가적인 소프트웨어적 암호화는 물론 소스코드의 수정이 필수적이다. 본 학위논문에서는 이러한 신뢰 실행 환경의 제약을 완화하기 위한 세부연구인 Nested Enclave 와 Cloister를 소개한다. Nested Enclave 는 다 계층 보안(Multi-level Security)를 표현할 수 있는 신뢰 실행 환경의 모델을 제안하며, Cloister 는 쌍방향의 보안을 표현할 수 있는 신뢰 실행 환경 모델을 제안한다. Nested Enclave 는 다 계층 보안 기법에 착안하여, 기존의 단일 구조의 신뢰 실행 환경을 계층적인 관계를 표현할 수 있도록 확장한다. 이는 신뢰 실행 환경이 제공하는 영역인 인클레이브를 권한에 따라 내부 인클레이브와 외부 인클레이브로 세분화하여 이뤄진다. 여러 내부 인클레이브는 하나의 외부 인클레이브 를 공유하며, 외부 인클레이브에 대한 접근 권한을 가지는 반면, 외부 인클레이브와 바깥으로부터 보호된다. 각각의 내부 인클레이브는 공유하는 외부 인클레이브에 같이 접근할 수 있을 뿐 서로간에는 격리되어 있다. 내부 인클레이브와 외부 인클레이브는 모두 운영체제를 포함한 높은 권한과 중앙처리장치 외부에 대한 물리적 공격으로부터 안전하다. 이러한 상관관계를 통해 Nested Enclave 는 다 계층 보안을 지원할 수 있고, 결과적으로 신뢰할 수 없는 서드파티 라이브러리를 안전하게 사용할 수 있게 된다. 뿐만 아니라, 이를 더욱 확장하여 각각의 유저를 위한 개별의 내부 인클레이브를 제공하거나, 효율적인 하드웨어 기반 통신을 사용할 수 있는 창구로서 외부 인클레이브를 사용할 수도 있다. 본 세부 연구에서는 Nested Enclave의 세가지 용례를 에뮬레이션을 통해 보이고, 그 효용성을 입증한다. Cloister 는 쌍방향의 보안을 지원하는 새로운 신뢰 실행 환경을 제안한다. 쌍방향의 보안은 인클레이브 로부터 시스템을 보호하기 위한 샌드박싱과 인클레이브를 서드파티 모듈과 운영체제로부터 보호하는 기존의 신뢰 실행 환경 기법 모두를 포함한다. 현재의 신뢰 실행 환경 구조는 쌍방향의 보안을 효율적으로 표현할 방법이 없으므로, 이러한 하드웨어의 한계를 극복하기 위해 Cloister 는 네 가지 접근법을 제안한다. 첫째, 하드웨어 기반의 메모리 격리기법을 비단 신뢰 실행 환경의 인클레이브를 보호하기 위해서가 아니라 운영체제를 보호하기 위한 방안으로 확장한다. 둘 째, 신뢰할 수 있는 제3 위치의 모니터를 제안하고, 시스템 호출 필터 및 결과에 대한 검증을 포함한다. 셋 째, 한 쌍의 인클레이브 만이 공유할 수 있는 메모리 영역을 통해 소프트웨어적 암호화 없이 통신할 수 있는 채널을 제공한다. 끝으로, 제 3 위치의 모니터를 통해 상호 신뢰할 수 있는 클라우드 가격 정책을 제안한다. 해당 세부 연구에서는 이러한 접근법의 효용성을 에뮬레이션 환경으로 보이고, 동시에 요구되는 하드웨어 변경이 미미함을 보인다.

서지기타정보

서지기타정보
청구기호 {DCS 23017
형태사항 v, 64 p. : 삽도 ; 30 cm
언어 한국어
일반주기 저자명의 한글표기 : 박중언
지도교수의 영문표기 : Jaehyuk Huh
지도교수의 한글표기 : 허재혁
수록잡지명 : "Nested enclave: supporting fine-grained hierarchical isolation with SGX". International Symposium on Computer Architecture, pp. 776–789(2020)
Including appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p 52-62.
주제 Cloud
Trusted execution environment
Enclave
Multi-level security
Sandboxing
클라우드
신뢰 실행 영역
인클레이브
다계층보안
샌드박싱
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서