2016
DOI: 10.1109/mm.2016.84
|View full text |Cite
|
Sign up to set email alerts
|

Fast Protection-Domain Crossing in the CHERI Capability-System Architecture

Abstract: Capability Hardware Enhanced RISC Instructions (CHERI) supplement the conventional Memory Management Unit (MMU) with Instruction-Set Architecture (ISA) extensions that implement an in-address-space capability-system model. CHERI capabilities can also underpin a hardware-software object-capability model for scalable application compartmentalization that can mitigate broader classes of attack. This paper describes ISA additions to CHERI that support fast protection-domain switching, not only in terms of low cycl… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
26
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
4
1

Relationship

2
7

Authors

Journals

citations
Cited by 34 publications
(26 citation statements)
references
References 18 publications
(23 reference statements)
0
26
0
Order By: Relevance
“…Then there is a Bluespec [11] FPGA hardware implementation of the architecture, and a software stack above it, adapting LLVM [12] and FreeBSD [13] to CHERI-MIPS. All this has involved extensive work on the interaction between the capability system and systems aspects of memory management (static and dynamic linking, process creation, context switching, page swapping and signal delivery) [14]; on the overhead of compiling pointers to capabilities [5], [15]; on compartmentalisation of legacy software [16]; and on the performance overhead of tagged memory [17] and protectiondomain switches [18]. The underlying ideas are portable, not MIPS-specific, and work is underway on experimental academic RISC-V and industrial Arm versions -the latter in a major project involving Arm and the UK Government [19], [20] to produce prototype silicon and a development board.…”
Section: A the Cheri Contextmentioning
confidence: 99%
“…Then there is a Bluespec [11] FPGA hardware implementation of the architecture, and a software stack above it, adapting LLVM [12] and FreeBSD [13] to CHERI-MIPS. All this has involved extensive work on the interaction between the capability system and systems aspects of memory management (static and dynamic linking, process creation, context switching, page swapping and signal delivery) [14]; on the overhead of compiling pointers to capabilities [5], [15]; on compartmentalisation of legacy software [16]; and on the performance overhead of tagged memory [17] and protectiondomain switches [18]. The underlying ideas are portable, not MIPS-specific, and work is underway on experimental academic RISC-V and industrial Arm versions -the latter in a major project involving Arm and the UK Government [19], [20] to produce prototype silicon and a development board.…”
Section: A the Cheri Contextmentioning
confidence: 99%
“…CHERI capabilities extend integer virtual addresses to control access to virtual memory by adjoining bounds constraining the range of addresses and permissions limiting the use of each capability (e.g., load, store, or instruction fetch). We previously described the initial CHERI architecture [45,50], demonstrated an efficient compartmentalization framework above it [46,48], described a C-language compilation mode where all pointers are capabilities [9], and demonstrated the use of those abilities to implement a safer JNI [8]. The architecture enforces the following properties: Provenance validation ensures that only capabilities derived via valid transformations of valid capabilities using capability instructions can be used.…”
Section: Cheri Backgroundmentioning
confidence: 99%
“…In contrast to MMU-based approaches, CHERI-based compartmentalization optimizes sharing by allowing cheap delegation and avoiding aliasing problems experienced by TLBs as memory sharing increases [30]. This allows domain crossing to be performed at a low constant cost regardless of the amount of data sharing.…”
Section: Software Compartmentalizationmentioning
confidence: 99%
“…A key goal of our approach was to differentiate virtualization (requiring tablebased lookups, and already implemented by the MMU) from protection (now implemented as a constant-time extension to the pointer primitive), which would avoid table-oriented overheads being imposed on protection. This applies to C-language protection, but also to the implementation of higher-level security constructs such as compartmentalization [31,30].…”
Section: -2015: Fine-grained Compartmentalizationmentioning
confidence: 99%