Software Compartmentalization Trade-Offs with Hardware Capabilities
John Alistair Kressel, Hugo Lefeuvre, Pierre Olivier

TL;DR
This paper explores hardware-assisted compartmentalization on the ARM Morello chip using CHERI, proposing two schemes with different trade-offs, demonstrating low engineering effort and comparable performance overheads to existing methods.
Contribution
It introduces two new CHERI-based compartmentalization schemes on Morello, analyzing their trade-offs in security, scalability, and performance, and implements them on a prototype OS.
Findings
Compartmentalization can be achieved with low engineering effort.
Performance overheads are comparable to existing intra-address space isolation methods.
Trade-offs exist between security, scalability, and engineering effort.
Abstract
Compartmentalization is a form of defensive software design in which an application is broken down into isolated but communicating components. Retrofitting compartmentalization into existing applications is often thought to be expensive from the engineering effort and performance overhead points of view. Still, recent years have seen proposals of compartmentalization methods with promises of low engineering efforts and reduced performance impact. ARM Morello combines a modern ARM processor with an implementation of Capability Hardware Enhanced RISC Instructions (CHERI) aiming to provide efficient and secure compartmentalization. Past works exploring CHERI-based compartmentalization were restricted to emulated/FPGA prototypes. In this paper, we explore possible compartmentalization schemes with CHERI on the Morello chip. We propose two approaches representing different trade-offs in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Physical Unclonable Functions (PUFs) and Hardware Security · Advanced Malware Detection Techniques
