Repository logo
 

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

Accepted version
Peer-reviewed

Type

Article

Change log

Authors

Watson, RNM 
Norton, RM 
Woodruff, J 
Moore, SW 
Neumann, PG 

Abstract

Capability Hardware Enhanced RISC Instructions (CHERI) supplement the conventional memory management unit (MMU) with instruction-set architecture (ISA) extensions that implement a capability system model in the address space. CHERI can also underpin a hardware-software object-capability model for scalable application compartmentalization that can mitigate broader classes of attack. This article describes ISA additions to CHERI that support fast protection-domain switching, not only in terms of low cycle count, but also efficient memory sharing with mutual distrust. The authors propose ISA support for sealed capabilities, hardware-assisted checking during protection-domain switching, a lightweight capability flow-control model, and fast register clearing, while retaining the flexibility of a software-defined protection-domain transition model. They validate this approach through a full-system experimental design, including ISA extensions, a field-programmable gate array prototype (implemented in Bluespec SystemVerilog), and a software stack including an OS (based on FreeBSD), compiler (based on LLVM), software compartmentalization model, and open-source applications.

Description

Keywords

40 Engineering, 46 Information and Computing Sciences, 4008 Electrical Engineering, 4009 Electronics, Sensors and Digital Hardware, 4604 Cybersecurity and Privacy, 4612 Software Engineering

Journal Title

IEEE Micro

Conference Name

Journal ISSN

0272-1732
1937-4143

Volume Title

36

Publisher

Institute of Electrical and Electronics Engineers (IEEE)
Sponsorship
Engineering and Physical Sciences Research Council (EP/K008528/1)
This work is part of the CTSRD and MRC2 projects sponsored by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL), under contracts FA8750-10-C-0237 and FA8750-11-C-0249. We also acknowledge the Engineering and Physical Sciences Research Council (EPSRC) REMS Programme Grant [EP/K008528/1], the EPSRC Impact Acceleration Account [EP/K503757/1], EPSRC/ARM iCASE studentship [13220009], Microsoft studentship [MRS2011-031], the Isaac Newton Trust, the UK Higher Education Innovation Fund (HEIF), Thales E-Security, and Google, Inc.