Verifying Rust Implementation of Page Tables in a Software Enclave Hypervisor

The work

AuthorsZhenyang Dai; Shuang Liu; Vilhelm Sjöberg; Xupeng Li; Yu Chen; Wenhao Wang; Yuekai Jia; Sean Noble Anderson; Laila Elbeheiry; Shubham Sondhi
Editors
Typeinproceedings
Year2024
Citekeydai2024verifying

Where it appeared

Published inProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2
Pages1218--1232

Abstract

As trusted execution environments (TEE) have become the corner stone for secure cloud computing, it is critical that they are reliable and enforce proper isolation, of which a key ingredient is spatial isolation. Many TEEs are implemented in software such as hypervisors for flexibility, and in a memory-safe language, namely Rust to alleviate potential memory bugs. Still, even if memory bugs are absent from the TEE, it may contain semantic errors such as mis-configurations in its memory subsystem which breaks spatial isolation. In this paper, we present the verification of the memory subsystem of a software TEE in Rust, namely HyperEnclave. We prove spatial isolation for the secure enclave though correct configuration of page tables for an early prototype of HyperEnclave. To formally model Rust code, we introduce a lightweight formal semantics for the Mid-level intermediate representation (MIR) of Rust. To make verification scalable for such a complex system, we incorporate the MIR semantics with a layered proof framework.

A copy is held

pdf, 1.4 MB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereimport via bibtex
Added2026-08-04 00:00 UTC
Approved bya person 2026-08-16 15:33 UTC

Cite it as

@inproceedings{dai2024verifying,
  title        = {Verifying Rust Implementation of Page Tables in a Software Enclave Hypervisor},
  author       = {Zhenyang Dai and Shuang Liu and Vilhelm Sjöberg and Xupeng Li and Yu Chen and Wenhao Wang and Yuekai Jia and Sean Noble Anderson and Laila Elbeheiry and Shubham Sondhi},
  year         = {2024},
  booktitle    = {Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2},
  pages        = {1218--1232},
  doi          = {10.1145/3620665.3640398},
}

This record lives at https://refs.drheap.org/dai2024verifying/ and will keep doing so.