CHERIoT: Rethinking security for low-cost embedded systems (2023)
=================================================================
CHERIoT is MS Research's Portmeirion project's effort to scale CHERI down to 32-bit, embedded (MMU-less) systems.
It is exciting and amazing (if I may be so bold) and I really hope it takes over the world;
towards that end, in addition to publishing the
`tech report `_,
we have open-sourced
* `the sail specification `_,
* `our RTOS `_, and
* `our optimized Ibex-based (soft) core `_.
We also wrote two blog posts about the effort:
* `What’s the smallest variety of CHERI? `_
* `First steps in CHERIoT Security Research `_
My role in this project has been somewhat more advisory and in design phases,
but I was directly responsible for the implementation of a few fun components of the RTOS,
including the shared heap allocator, the "fast object unsealer", and our exception vector's anti-reentrancy guards.
Sadly, Microsoft has disbanded the Portmeirion team, and Hongyan, Saar, and
David have all left the company while Robert and I have been "redeployed" onto
non-CHERI topics, so on-going work is somewhat scattered. Look for CHERIoT to
be further developed largely elsewhere.
Abstract:
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.
BibTeX:
.. code-block:: none
@TechReport{amar:cheriot2023tech,
title = {{CHERIoT}: {Rethinking} security for low-cost embedded systems},
url = {https://www.microsoft.com/en-us/research/publication/cheriot-rethinking-security-for-low-cost-embedded-systems/},
number = {MSR-TR-2023-6},
institution={Microsoft},
author = {Amar, Saar and Chen, Tony and Chisnall, David and Domke, Felix
and Filardo, Nathaniel and Liu, Kunyan and Norton-Wright, Robert
and Tao, Yucong and N. M. Watson, Robert and Xia, Hongyan},
month = {feb},
year = {2023}
}