CHERIoT: Rethinking security for low-cost embedded systems - Amar, Saar; Chen, Tony; Chisnall, David; Domke, Felix; Filardo, Nathaniel; Liu, Kunyan; Norton-Wright, Robert; Tao, Yucong; N. M. Watson, Robert; Xia, Hongyan (Microsoft, 2023)
Small embedded cores have little area to spare for security features and yet must often run code written in unsafe languages and, increasingly, are exposed to the hostile Internet. CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things) builds on top of CHERI and RISC-V to provide an ISA and software model that lets software depend on object-granularity spatial memory safety, deterministic use-after-free protection, and lightweight compartmentalization exposed directly to the C/C++ language model. This can run existing embedded software components on a clean-slate RTOS that scales up to large numbers of isolated (yet securely communicating) compartments, even on systems with under 256 KiB of SRAM. This technical report is accompanied by three open source releases: