The desire for stronger security isolation in cloud computing and other multiplexed environments has motivated work on trusted execution environments (TEEs) that provide strong isolation for data and applications from other code running on the same system, including from traditionally "trusted" software such as operating systems and hypervisors. TEEs allow these traditionally trusted, yet vulnerable components to be removed from the trusted computing base, greatly reducing the attack surface for sensitive applications.
TEEs have been implemented in both hardware and software, and provide a variety of security guarantees for protected applications. They can protect against direct attack (i.e., privileged code simply reading or altering the application's data) by the OS and hypervisor; various side-channel attacks; and, in some cases, defend against attackers with physical access by employing memory encryption.
However, these existing TEEs all have significant limitations and do not provide full protection to whole virtual machines. Existing designs either exclude side channels from their threat models, only support running small computations in the TEE (not whole VMs), or both. Furthermore, in order to be usable in modern cloud settings, a TEE for protecting virtual machines should safely support features such as live migration and demand paging of guest VMs. These key limitations have been acknowledged by prior work but, to date, have not been addressed. The design and implementation of a whole-VM TEE capable of addressing modern security threats without sacrificing functionality relied upon by cloud providers remains an open problem.
This proposal outlines a research plan to materially advance the state of the art in TEEs for protecting full virtual machines against compromised hypervisors and host operating systems. This work will employ recent advances in virtual instruction set computing which provide efficient, flexible, and powerful tools for enforcing whole-system security policies on privileged and unprivileged software by constraining the expressivity of native code through a trusted compiler. We intend to leverage the unique advantages of this approach to provide protections for existing popular software systems (such as the FreeBSD operating system and the Xen hypervisor) running on existing unmodified hardware platforms (e.g., x86 and ARM), so as to maximize the applicability of our techniques to the real world without requiring extensive reconstruction of infrastructure.
Advisor: Prof. John Criswell
Committee: Prof. Chen Ding (Computer Science), Prof. Michael Scott (Computer Science), Prof. Emmett Witchel (UT Austin, Computer Science)