CompartOS: CHERI Compartmentalization for Embedded Systems
Hesham Almatary, Michael Dodson, Jessica Clarke, Peter Rugg, Ivan, Gomes, Michal Podhradsky, Peter G. Neumann, Simon W. Moore, Robert N. M., Watson

TL;DR
CompartOS introduces a scalable, fine-grained compartmentalization model for high-end embedded systems using CHERI, significantly improving security and performance over traditional MPU-based solutions.
Contribution
It presents a lightweight, linkage-based compartmentalization approach leveraging CHERI architecture, enhancing scalability, security, and efficiency in complex embedded systems.
Findings
95% faster protection-domain crossing than MPU-based IPC
Caught 10 out of 13 vulnerabilities that MPU-based protection missed
52% higher TCP throughput compared to MPU-based models
Abstract
Existing high-end embedded systems face frequent security attacks. Software compartmentalization is one technique to limit the attacks' effects to the compromised compartment and not the entire system. Unfortunately, the existing state-of-the-art embedded hardware-software solutions do not work well to enforce software compartmentalization for high-end embedded systems. MPUs are not fine-grained and suffer from significant scalability limitations as they can only protect a small and fixed number of memory regions. On the other hand, MMUs suffer from non-determinism and coarse-grained protection. This paper introduces CompartOS as a lightweight linkage-based compartmentalization model for high-end, complex, mainstream embedded systems. CompartOS builds on CHERI, a capability-based hardware architecture, to meet scalability, availability, compatibility, and fine-grained security goals.…
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 · Cryptographic Implementations and Security · Embedded Systems Design Techniques
