InversOS: Efficient Control-Flow Protection for AArch64 Applications with Privilege Inversion

04/18/2023
by   ZhuoJia Shen, et al.
0

With the increasing popularity of AArch64 processors in general-purpose computing, securing software running on AArch64 systems against control-flow hijacking attacks has become a critical part toward secure computation. Shadow stacks keep shadow copies of function return addresses and, when protected from illegal modifications and coupled with forward-edge control-flow integrity, form an effective and proven defense against such attacks. However, AArch64 lacks native support for write-protected shadow stacks, while software alternatives either incur prohibitive performance overhead or provide weak security guarantees. We present InversOS, the first hardware-assisted write-protected shadow stacks for AArch64 user-space applications, utilizing commonly available features of AArch64 to achieve efficient intra-address space isolation (called Privilege Inversion) required to protect shadow stacks. Privilege Inversion adopts unconventional design choices that run protected applications in the kernel mode and mark operating system (OS) kernel memory as user-accessible; InversOS therefore uses a novel combination of OS kernel modifications, compiler transformations, and another AArch64 feature to ensure the safety of doing so and to support legacy applications. We show that InversOS is secure by design, effective against various control-flow hijacking attacks, and performant on selected benchmarks and applications (incurring overhead of 7.0 on LMBench, 7.1

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/24/2019

PACStack: an Authenticated Call Stack

A popular run-time attack technique is to compromise the control-flow in...
research
10/27/2019

Silhouette: Efficient Intra-Address Space Isolation for Protected Shadow Stacks on Embedded Systems

Embedded systems are increasingly deployed in devices that can have phys...
research
08/21/2017

Entirely protecting operating systems against transient errors in space environment

In this article, we propose a mainly-software hardening technique to tot...
research
11/10/2020

Guarding Serverless Applications with SecLambda

As an emerging application paradigm, serverless computing attracts atten...
research
02/15/2023

Field-sensitive Data Flow Integrity

Although numerous defenses against memory vulnerability exploits have be...
research
03/22/2018

Securing Conditional Branches in the Presence of Fault Attacks

In typical software, many comparisons and subsequent branch operations a...
research
12/23/2019

ARM Pointer Authentication based Forward-Edge and Backward-Edge Control Flow Integrity for Kernels

Code reuse attacks are still big threats to software and system security...

Please sign up or login with your details

Forgot password? Click here to reset