How CHERIoT Provides Strong and Usable Isolation Without an MMU
Abstract
Co-design of hardware and software offers stronger security and ease of use The CHERIoT platform is a RISC-V-based ISA, an RTOS, and a programmer model that were co-designed for security. The ISA provides hardware mechanisms for enforcing spatial and (heap) temporal memory safety, type safety for opaque types, and lightweight call gates, building on top of CHERI research. The privilege-separated RTOS provides services on top of this exposed as compartments that expose function calls as interfaces and share objects by simply passing pointers to them. The same programmer model is exposed to other users for creating least-privilege architectures where you can reason about the security by reading the (C, C++, or Rust) source code or using auditing tools to get a coarse-grained worst-case approximation. CHERIoT is optimized for small devices but showcases what is possible at any scale if you start by assuming CHERI.