Graph explorer

Uninitialized Capabilities

This technical report describes a new extension to capability machines. Capability machines are a special type of processors that include better security primitives at the hardware level. In capability machines, every word has an associated tag bit that indicates whether the value it contains is a capability or a regular data value. Capabilities enable fine-grained control of the authority over memory that program components have. Conceptually, capabilities can be viewed as being an unforgeable token carrying authority over a resource. CHERI is a recently developed capability machine that aims to provide fine-grained memory protection, software compartmentalization and backwards compatibility. While our ideas are implemented on CHERI, they are not limited to it and should be applicable to other capability machines as well. In this technical report we propose a new type of capabilities, which represent the authority to access (read and write to) a block of memory but not view its initial contents. Our main goal is to use this new type of capability as part of a secure calling convention, but other applications may be possible too.

6 nodes5 linksoverview previewUninitialized Capabilities
6 nodes5 links
Uninitialized Capabilities6 visible / 6 total nodes / 11 links
Co-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipAuthorshipTopic signalWUninitialized Capabilitiespreprint / 2020ASander HuyghebaertResearcherAThomas Van StrydonckResearcherASteven KeuchelResearcherADominique DevrieseResearcherTProgramming Languages1239 works
PaperSignal 105 links

Uninitialized Capabilities

preprint / 2020

Open