This dissertation presents a security-enhanced cloud Virtual Private Network (VPN) with Software Guard Extensions (SGX) and enclave migration. Cloud VPN is an essential cloud-based network infrastructure that connects on-premise networks with Virtual Private Cloud (VPC) networks securely. However, in the semi-trusted cloud environment cloud VPN suffers from privacy concerns due to the information disclosure caused by hypervisor vulnerabilities, malicious cloud management operations, etc. The existing literature has limitations in providing each tenant with the privacy-protected cloud VPN because the weak isolation of executing the VPN service in the shared environment does not defense attacks under the semi-trusted cloud environment. We present SGX-VPN, a security-enhanced cloud VPN with SGX. With the hardware-assisted isolated execution environment and the isolated memory region that SGX supports, SGX-VPN provides each tenant with the privacy-protected key exchange and packet processing. SGX-VPN also provides each tenant with an on-demand functionality to verify the integrity of the running security policies in cloud VPN. We implement a prototype on an actual machine to measure the performance penalties of SGX-VPN. We also evaluate SGX-VPN using a formal analysis tool to prove the security of SGX-VPN.
However, there is still a challenging problem with imposing SGX into cloud VPN because existing SGX-enabled Virtual Machine Managers (VMMs) do not provide live migration of SGX-enabled VMs. This management operation is impossible because the VMM cannot directly access the Enclave Page Cache (EPC) pages where the VM’s enclaves reside. We propose an SGX extension for migrating enclaves called eMotion that adds additional instructions and migration support to the SGX architecture for enabling the secure managed migration of running enclaves. eMotion allows that the participating hosts establish a key used in enclave migration and the VMMs in the hosts migrate running enclaves using the established key. We implement a prototype on top of OpenSGX, an open source SGX emulator, to demonstrate the operations of eMotion and to estimate the impact on enclave migration.
이 논문은 SGX를 이용한 클라우드 가상사설망의 보안 강화 및 enclave 마이그레이션 기법을 다루었다. 클라우드 가상사설망은 온-프레미스 네트워크와 가상 사설 클라우드 네트워크 간의 통신을 보호하는 필수 적인 네트워크 인프라이다. 하지만 반신뢰 클라우드 환경에서의 하이퍼바이저 취약점, 악의적인 클라우드 관리 기능 등으로 야기되는 정보 유출로 인해 클라우드 가상사설망의 프라이버시 문제가 발생할 수 있다. 가상사설망 서비스를 공유 환경에서 제공하는 낮은 수준의 격리를 활용하는 기존 연구들은 반신뢰 클라우드 환경의 공격을 방어할 수 없기에 각 테넌트의 프라이버시를 보호하는 클라우드 가상사설망을 제공하는데 한계가 있다. 이에 본 논문은 SGX를 활용한 클라우드 가상사설망의 보안 강화 기법을 제시한다. SGX가 제공하는 하드웨어 지원의 격리된 실행환경과 격리된 메모리 영역을 이용하여 본 논문이 제시하는 방안은 각 테넌트의 프라이버시를 보호하는 키교환과 패킷처리를 제공한다. 또한 테넌트가 원격에서 의도한 보안 정책에 따라 클라우드 가상사설망이 운용되고 있는지 확인할 수 있는 원격 검증 기술을 제시한다. 본 논문이 제시한 방안의 동작을 확인하고 SGX를 클라우드 가상사설망에 적용했을 때 발생할 수 있는 성능 부하를 측정하기 위해 SGX를 지원하는 실제 환경에서 프로토타입을 구현하여 성능 부하를 측정하였다. 또한 본 논문이 제시한 프로토콜을 정형검증 도구를 이용하여 정형검증을 수행하여 그 안전성을 검증하였다.
또한 SGX를 활용한 클라우드 가상사설망 등이 활용하는 enclave의 마이그레이션이 불가능함을 지적하 고, 이를 해결하기 위한 새로운 마이그레이션 익스텐션을 제시하였다. 클라우드 환경에서의 마이그레이션은 클라우드 운용 측면에서 중요한 기능으로, 관리자가 가상머신이 운용 중인 물리적 기기를 다른 기기로 교체 하는 기능이다. SGX는 하이퍼바이저 등과 같은 소프트웨어가 enclave가 저장된 메모리 영역을 직접 접근할 수 없도록 설계되어, 하이퍼바이저는 기존의 방식으로 enclave를 마이그레이션할 수 없다. SGX 기능 중 페 이지 스와핑 기능을 이용하여 enclave가 저장된 메모리 영역을 암호화하여 하이퍼바이저가 접근할 수 있는 메모리 영역으로 추출할 수 있다. 하지만 페이지 스와핑 기능 시 enclave가 저장된 메모리 영역을 암호화하기 위해 사용하는 암호키는 프로세서가 생성한 고유 암호키로 마이그레이션할 다른 기기에서는 접근할 수 없는 암호키이다. 따라서 페이지 스와핑 기능으로 추출된 암호화된 enclave의 메모리 영역을 마이그레이션할 다른 기기가 복호화할 수 없다. 결국 페이지 스와핑 기능을 통해 enclave를 다른 기기로 마이그레이션하는 것이 불가능하다. 이를 해결하기 위해 본 논문은 마이그레이션용 레지스터, 신규 인스트럭션, 그리고 마 이그레이션용 enclave로 구성된 새로운 마이그레이션 익스텐션을 제안하고, 이 익스텐션을 활용한 enclave 마이그레이션 프로세스와 구조를 제시한다. SGX 에뮬레이터를 활용하여 제시한 마이그레이션 익스텐션을 구현하여 제안한 마이그레이션 익스텐션의 동작을 확인하고 성능 부하를 예측하였다.