Skip to main navigation Skip to search Skip to main content

A CHERI C memory model for verified temporal safety

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.
Original languageEnglish
Title of host publicationProceedings of the 14th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP ’25)
Place of PublicationNew York, NY, USA
PublisherACM
Pages1-15
Number of pages15
DOIs
Publication statusAccepted/In press - 19 Nov 2024
EventThe 14th ACM SIGPLAN International Conference on Certified Programs and Proofs - Curtis Hotel, Denver, United States
Duration: 19 Jan 202525 Jan 2025
Conference number: 14
https://popl25.sigplan.org/home/CPP-2025

Conference

ConferenceThe 14th ACM SIGPLAN International Conference on Certified Programs and Proofs
Abbreviated titleCPP 2025
Country/TerritoryUnited States
CityDenver
Period19/01/2525/01/25
Internet address

Keywords / Materials (for Non-textual outputs)

  • CHERI
  • memory safety
  • temporal safety
  • formal verification
  • memory model
  • pointer provenance
  • C language
  • Coq
  • capability revocation

Fingerprint

Dive into the research topics of 'A CHERI C memory model for verified temporal safety'. Together they form a unique fingerprint.

Cite this