Capacity: Cryptographically-Enforced In-Process Capabilities for Modern ARM Architectures (Extended Version)

09/20/2023
by   Kha Dinh Duy, et al.
0

In-process compartmentalization and access control have been actively explored to provide in-place and efficient isolation of in-process security domains. Many works have proposed compartmentalization schemes that leverage hardware features, most notably using the new page-based memory isolation feature called Protection Keys for Userspace (PKU) on x86. Unfortunately, the modern ARM architecture does not have an equivalent feature. Instead, newer ARM architectures introduced Pointer Authentication (PA) and Memory Tagging Extension (MTE), adapting the reference validation model for memory safety and runtime exploit mitigation. We argue that those features have been underexplored in the context of compartmentalization and that they can be retrofitted to implement a capability-based in-process access control scheme. This paper presents Capacity, a novel hardware-assisted intra-process access control design that embraces capability-based security principles. Capacity coherently incorporates the new hardware security features on ARM that already exhibit inherent characteristics of capability. It supports the life-cycle protection of the domain's sensitive objects – starting from their import from the file system to their place in memory. With intra-process domains authenticated with unique PA keys, Capacity transforms file descriptors and memory pointers into cryptographically-authenticated references and completely mediates reference usage with its program instrumentation framework and an efficient system call monitor. We evaluate our Capacity-enabled NGINX web server prototype and other common applications in which sensitive resources are isolated into different domains. Our evaluation shows that Capacity incurs a low-performance overhead of approximately 17 13.54

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/04/2020

Efficient Sealable Protection Keys for RISC-V

With the continuous increase in the number of software-based attacks, th...
research
10/10/2021

Garmr: Defending the gates of PKU-based sandboxing

Memory Protection Keys for Userspace (PKU) is a recent hardware feature ...
research
11/18/2018

libmpk: Software Abstraction for Intel Memory Protection Keys

Intel memory protection keys (MPK) is a new hardware feature to support ...
research
03/28/2022

Tightly Seal Your Sensitive Pointers with PACTight

ARM is becoming more popular in desktops and data centers, opening a new...
research
01/31/2023

MOAT: Towards Safe BPF Kernel Extension

The Linux kernel makes considerable use of Berkeley Packet Filter (BPF) ...
research
09/06/2020

Secure Memory Management on Modern Hardware

Almost all modern hardware, from phone SoCs to high-end servers with acc...
research
06/19/2023

virtCCA: Virtualized Arm Confidential Compute Architecture with TrustZone

ARM introduces the Confidential Compute Architecture (CCA) in the forthc...

Please sign up or login with your details

Forgot password? Click here to reset