@inproceedings{10.1145/3734436.3734449, author = {Yu, Jason Zhijingcheng and Li, Mingkai and Badole, Aditya and Carlson, Trevor E. and Swift, Michael and Saxena, Prateek}, title = {Caplification: Bridging Capability-Aware and Capability-Oblivious Software}, year = {2025}, isbn = {9798400715037}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3734436.3734449}, doi = {10.1145/3734436.3734449}, abstract = {Hardware capabilities offer an alternative to how access control is commonly implemented in processors today, i.e., through enforcement of permission checks on virtual memory at the time of address translation. Despite conceptual strengths of capability hardware, it is challenging for existing capability-oblivious software stacks to be compatible with capability hardware and to interoperate with capability-aware software, hindering faster adoption. Prior attempts to achieve this sacrifice the inherent advantages of capabilities. They require trusting a software central authority (e.g., the OS kernel) for capability-based isolation and limit the scope of capability-based memory sharing to individual virtual address spaces. This paper proposes the idea of caplification, a novel mechanism to enable seamless co-existence of capability-aware and capability-oblivious software stacks. We concretely implement our proposed idea on a modern RISC-V capability hardware and show how it enables running a commodity unmodified (or capability-oblivious) Linux OS. Our design retains the full advantages provided by hardware capabilities, such as creating fine-grained hardware-isolated memory compartments both in user- and kernel-space. We evaluated our prototype system both on QEMU emulation and on hardware RTL simulation. We find that the performance of our system is comparable to prior baseline designs, while offering cost improvements in scenarios of secure data sharing.}, booktitle = {Proceedings of the 30th ACM Symposium on Access Control Models and Technologies}, pages = {33–44}, numpages = {12}, keywords = {capability-based security, memory isolation, virtual memory, operating systems}, location = {USA}, series = {SACMAT '25} }