Secure Calling Conventions for CHERI Capability Machines in Practice (Work in Pr...
summary
Implements CHERI calling conventions in LLVM and shows a concrete fix for CHERI’s lossy capability compression: split the stack into an active/reserve stack so the active capability stays within a 16‑byte alignment-derived ~16 KiB bound and a replenish operation pulls authority from the reserve to extend it. Implements variants: classic sealed-entry trampolines, indirect sentry acceleration, and uninitialized capabilities for lazy revocation. Uses LLVM test corpus, random C generator for microbenchmarks, and plans gem5 or FPGA RTL for memory‑centric simulation; no hardware yet.
AI-written summary · about
chapters (10)
- 0:00Secure calling conventions intro
- 1:03Shared stack challenges
- 4:34Capability compression issues
- 7:03Stack authority solution
- 9:59LLVM implementation
- 11:25Return encapsulation options
- 14:43Benchmarking metrics
- 17:13Hardware simulation approach
- 18:38Conclusion and future work
- 18:59Q&A
related talks
24mSecure Calling Conventions for CHERI Capability Machines in Practice (Work in P...
10mCHERI in out-of-order microarchitectures
12mLibrary-based Compartmentalisation on CHERI
27mLe Temps des Cerises: Efficient Temporal Stack Safety on Capability Machines using Directed
28mSECOMP2CHERI: Securely Compiling Compartments from CompCert C to a Capability M...
11mFast and fine-grained compartmentalisation in CHERI
18mWhat’s next for memory safety?
53mLinux and CHERI: Back to the Future
