Efficient and provable local capability revocation using uninitialized capabilities
The work
| Authors | Aïna Linn Georges; Armaël Guéneau; Thomas Van Strydonck; Amin Timany; Alix Trieu; Sander Huyghebaert; Dominique Devriese; Lars Birkedal |
|---|---|
| Editors | |
| Type | article |
| Year | 2021 |
| Citekey | georges2021efficient |
Where it appeared
| Published in | Proceedings of the ACM on Programming Languages |
|---|---|
| Publisher | Association for Computing Machinery |
| Volume | 5 |
| Issue | POPL |
| Pages | 1--30 |
Identifiers
| DOI | 10.1145/3434287 |
|---|---|
| OpenAlex | W3113614934 |
Access
| Landing page | https://doi.org/10.1145/3434287 |
|---|---|
| Free full text | https://dl.acm.org/doi/pdf/10.1145/3434287 |
From OpenAlex, which stores abstracts as an index of words and their positions: what is shown is rebuilt from that, and reads fluently whether or not it is what the author wrote.
Abstract
Capability machines are a special form of CPUs that offer fine-grained privilege separation using a form of authority-carrying values known as capabilities. The CHERI capability machine offers local capabilities, which could be used as a cheap but restricted form of capability revocation. Unfortunately, local capability revocation is unrealistic in practice because large amounts of stack memory need to be cleared as a security precaution. In this paper, we address this shortcoming by introducing uninitialized capabilities : a new form of capabilities that represent read/write authority to a block of memory without exposing the memory’s initial contents. We provide a mechanically verified program logic for reasoning about programs on a capability machine with the new feature and we formalize and prove capability safety in the form of a universal contract for untrusted code. We use uninitialized capabilities for making a previously-proposed secure calling convention efficient and prove its security using the program logic. Finally, we report on a proof-of-concept implementation of uninitialized capabilities on the CHERI capability machine.
How it got here
| How it got here | agent via openalex |
|---|---|
| Added | 2026-10-25 18:59 UTC |
| Not denied by | a person 2026-10-29 17:12 UTC |
Filed under
Cite it as
@article{georges2021efficient,
title = {Efficient and provable local capability revocation using uninitialized capabilities},
author = {Aïna Linn Georges and Armaël Guéneau and Thomas Van Strydonck and Amin Timany and Alix Trieu and Sander Huyghebaert and Dominique Devriese and Lars Birkedal},
year = {2021},
journal = {Proceedings of the ACM on Programming Languages},
publisher = {Association for Computing Machinery},
volume = {5},
number = {POPL},
pages = {1--30},
doi = {10.1145/3434287},
}
This record lives at https://refs.drheap.org/georges2021efficient/ and will keep doing so.