Verified Security for the Morello Capability-enhanced Prototype Arm Architecture

The work

AuthorsThomas Bauereiss; Brian Campbell; Thomas Sewell; Alasdair Armstrong; Lawrence Esswood; Ian Stark; Graeme Barnes; Robert N. M. Watson; Peter Sewell
Editors
Typeinproceedings
Year2022
Citekeybauereiss2022verified

Where it appeared

Published inProgramming Languages and Systems (ESOP 2022)
SeriesLecture Notes in Computer Science
Number in series13240
Pages174--203

Related

Distinct fromarmstrong2024isla
Distinct fromfuchs2024safe
Distinct fromjoannou2024randomized
Distinct fromnienhuis2020rigorous
Distinct fromperami2026archsem

From bibtex.

Abstract

Memory safety bugs continue to be a major source of security vulnerabilities in our critical infrastructure. The CHERI project has proposed extending conventional architectures with hardware-supported capabilities to enable fine-grained memory protection and scalable compartmentalisation, allowing historically memory-unsafe C and C++ to be adapted to deterministically mitigate large classes of vulnerabilities, while requiring only minor changes to existing system software sources. Arm is currently designing and building Morello, a CHERI-enabled prototype architecture, processor, SoC, and board, extending the high-performance Neoverse N1, to enable industrial evaluation of CHERI and pave the way for potential mass-market adoption. However, for such a major new security-oriented architecture feature, it is important to establish high confidence that it does provide the intended protections, and that cannot be done with conventional engineering techniques.In this paper we put the Morello architecture on a solid mathematical footing from the outset. We define the fundamental security property that Morello aims to provide, reachable capability monotonicity, and prove that the architecture definition satisfies it. This proof is mechanised in Isabelle/HOL, and applies to a translation of the official Arm specification of the Morello instruction-set architecture (ISA) into Isabelle. The main challenge is handling the complexity and scale of a production architecture: 62,000 lines of specification, translated to 210,000 lines of Isabelle. We do so by factoring the proof via a narrow abstraction capturing essential properties of arbitrary CHERI ISAs, expressed above a monadic intra-instruction semantics. We also develop a model-based test generator, which generates instruction-sequence tests that give good specification coverage, used in early testing of the Morello implementation and in Morello QEMU development, and we use Arm’s internal test suite to validate our model.This gives us machine-checked mathematical proofs of whole-ISA security properties of a full-scale industry architecture, at design-time. To the best of our knowledge, this is the first demonstration that that is feasible, and it significantly increases confidence in Morello.

A copy is held

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

How it got here

How it got hereagent via bibtex
Added2026-09-18 07:43 UTC
Approved bya person 2026-09-23 14:13 UTC

Cite it as

@inproceedings{bauereiss2022verified,
  title        = {Verified Security for the Morello Capability-enhanced Prototype Arm Architecture},
  author       = {Thomas Bauereiss and Brian Campbell and Thomas Sewell and Alasdair Armstrong and Lawrence Esswood and Ian Stark and Graeme Barnes and Robert N. M. Watson and Peter Sewell},
  year         = {2022},
  booktitle    = {Programming Languages and Systems (ESOP 2022)},
  series       = {Lecture Notes in Computer Science},
  pages        = {174--203},
  doi          = {10.1007/978-3-030-99336-8_7},
}

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