2021
DOI: 10.1145/3434287
|View full text |Cite
|
Sign up to set email alerts
|

Efficient and provable local capability revocation using uninitialized capabilities

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 int… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
11
0

Year Published

2021
2021
2022
2022

Publication Types

Select...
3
3
1

Relationship

1
6

Authors

Journals

citations
Cited by 17 publications
(30 citation statements)
references
References 47 publications
0
11
0
Order By: Relevance
“…The other most closely related work, proving properties of capability architectures, establishes stronger results but for highly idealised architecture definitions. While our monotonicity theorem is about arbitrary machine execution up to a domain crossing, Skorstengaard et al and Georges et al [46,47,49,48,24] establish logical-relation methods for reasoning about combinations of arbitrary and known code, the latter mechanised in Iris [28], but for idealised machines rather than full architectures. These add new features to help enforcing strong properties, but with unclear hardware implementation cost.…”
Section: Related Workmentioning
confidence: 99%
“…The other most closely related work, proving properties of capability architectures, establishes stronger results but for highly idealised architecture definitions. While our monotonicity theorem is about arbitrary machine execution up to a domain crossing, Skorstengaard et al and Georges et al [46,47,49,48,24] establish logical-relation methods for reasoning about combinations of arbitrary and known code, the latter mechanised in Iris [28], but for idealised machines rather than full architectures. These add new features to help enforcing strong properties, but with unclear hardware implementation cost.…”
Section: Related Workmentioning
confidence: 99%
“…Building on related work in high-level languages [7], [8], [9], Skorstengaard et al and Georges et al have developed a methodology for robust modular verification of software running on capability machines [10], [11] that supports proving (security) properties in the presence of untrusted code. The idea is to formalize the hardware-provided security guarantees in the form of a universal contract: a separation logic contract that holds for arbitrary, untrusted code on the machine.…”
Section: Introductionmentioning
confidence: 99%
“…For now, this work has remained restricted to proving artificial security properties: for example the fact that an assertion failure flag will never be set [11], [15] or equitermination of programs [?]. In this paper, we extend this robust modular verification approach to a capability machine with memory-mapped I/O (MMIO).…”
Section: Introductionmentioning
confidence: 99%
“…In this respect, password capabilities are an important improvement over the capability concept [12]. In a classical capability environment, the specification of the access authorization is part of the capability [7], [17], [22]. Consequently, capabilities should be segregated, into reserved memory regions [11], or by taking advantage of memory tagging techniques [2], [3], [18], [28].…”
Section: Introductionmentioning
confidence: 99%