A CHERI C Memory Model for Verified Temporal Safety
Memory safety concerns continue to be a major source of security vulnerabilities. The CHERI architecture, as instantiated in prototype CHERI-RISC-V cores, the Arm Morello system, and Microsoft's CHERIoT embedded core, provides fine-grained memory access control through unforgeable hardware capabilities. The impact of CHERI on spatial memory safety is well understood. This paper systematically examines temporal memory safety within CHERI C -- a dialect of the C programming language for CHERI -- and proposes a formal approach to defining and ensuring it. In particular: 1) we examine the impact of five existing capability revocation mechanisms on CHERI C semantics and present a specialised object memory model tailored to CHERI C; 2) we introduce a new CHERI-specific pointer provenance tracking scheme; and 3) we formally define the security guarantees provided by this memory model, supported by a Coq proof of their correctness, expressed as invariants of the memory state.
Authors
- Ian Stark (ORCID: https://orcid.org/0000-0001-6800-812X)
- Kayvan Memarian (ORCID: https://orcid.org/0000-0003-3723-636X)
- Vadim Zaliva (ORCID: https://orcid.org/0000-0002-9145-3288)
- Nathaniel Wesley Filardo (ORCID: https://orcid.org/0009-0002-9698-1503)
- B. K. Campbell (ORCID: https://orcid.org/0000-0001-6941-5034)
- Ricardo Almeida (ORCID: https://orcid.org/0009-0000-1667-1683)
- Peter Sewell (ORCID: https://orcid.org/0000-0001-9352-1013)
Institutions
- University of Cambridge (GB)
- University of Edinburgh (GB)
Publication Details
- Published
- 2025-01-10
- DOI
- https://doi.org/10.1145/3703595.3705878
- Citations
- 1
- Primary Topic
- Security and Verification in Computing
- Type
- article
- Field-Weighted Citation Impact
- 2.48
Funders
- Government of the United Kingdom
- UK Research and Innovation
- European Commission
- HORIZON EUROPE Framework Programme