New hardware features such as Intel SGX provide trusted execution environments for user processes called enclaves running on top of an untrusted OS. However, recent studies showed that such protected enclaves are vulnerable to controlled-channel attack, which uses page faults to get memory access patterns. Controlled-channel attack infers an enclave’s control flow or sensitive data from the observed memory access patterns. Several defense techniques including software-based and hardware-based approaches are proposed, but a state-of-the-art study proposed a new way of getting memory access pattern of an enclave without incurring page faults.
This paper randomizes the memory access pattern of an enclave through fine-grained ASLR and annotated data layout randomization. Even a potentially malicious OS can observe memory access patterns of an enclave, it is hard to infer valuable information from them. We demonstrated that our defense method protects AES from controlled-channel attack with little performance overhead.
Intel SGX와 같은 새로운 하드웨어 기능은 신뢰할 수 없는 운영체제 위에서 실행되는 프로세스들에 신뢰할 수 있는 컴퓨팅 환경을 제공한다. 그러나 최근 진행된 일련의 연구들은 SGX의 보호를 받는 프로세스들이 페이지 오류를 통한 통제된 채널 공격에 취약하다는 것을 보였다. 통제된 채널 공격은 페이지 접근 패턴을 통해 프로세스의 실행 흐름이나 중요한 정보를 유추한다. 소프트웨어 기반과 하드웨어 기반의 여러 방어 기법들이 제시되었으나 가장 최신의 연구는 페이지 오류를 일으키지 않고도 프로세스의 메모리 접근 패턴을 얻는 방법을 제시했다.
이 연구는 세밀한 메모리 레이아웃 랜덤화와 특정 데이터 레이아웃 랜덤화를 통해 프로세스의 메모리 접근 패턴을 랜덤화했다. 악의적인 운영체제가 메모리 접근 패턴을 관찰할 수 있더라도, 랜덤화된 메모리 접근 패턴에서 가치있는 정보를 얻기는 매우 힘들다. 우리의 방어 기법은 AES 등에 적용되어 통제된 채널 공격을 효과적으로 방어할 수 있으며, 매우 적은 성능 부하를 일으킨다.