Publication | Closed Access
The CHERI capability model: Revisiting RISC in an age of risk
155
Citations
32
References
2014
Year
Unknown Venue
EngineeringComputer ArchitectureRisk AnalysisCheri Capability ModelSoftware AnalysisEmerging RiskHardware SecurityRisk ManagementManagementRisc EraCheri Memory ProtectionCompilersParallel ComputingMemory ManagementHigh UncertaintyOperating System SecurityComputer EngineeringStrategyComputer ScienceHybrid Capability ModelRisk GovernanceVirtual MemoryMemory ArchitectureOperating SystemsProgram AnalysisBusinessUnikernelsRisk Analysis (Business)System SoftwareRisk DecisionsFinancial Risk
Motivated by contemporary security challenges, we reevaluate and refine capability-based addressing for the RISC era. We present CHERI, a hybrid capability model that extends the 64-bit MIPS ISA with byte-granularity memory protection. We demonstrate that CHERI enables language memory model enforcement and fault isolation in hardware rather than software, and that the CHERI mechanisms are easily adopted by existing programs for efficient in-program memory safety. In contrast to past capability models, CHERI complements, rather than replaces, the ubiquitous page-based protection mechanism, providing a migration path towards deconflating data-structure protection and OS memory management. Furthermore. CHERI adheres to a strict RISC philosophy: it maintains a load-store architecture and requires only single-cycle instructions, and supplies protection primitives to the compiler, language runtime, and operating system. We demonstrate a mature FPGA implementation that runs the FreeBSD operating system with a full range of software and an open-source application suite compiled with an extended LLVM to use CHERI memory protection. A limit study compares published memory safety mechanisms in terms of instruction count and memory overheads. The study illustrates that CHERI is performance-competitive even while providing assurance and greater flexibility with simpler hardware.
| Year | Citations | |
|---|---|---|
Page 1
Page 1