PAC it up: Towards Pointer Integrity using ARM Pointer Authentication

11/22/2018
by   Hans Liljestrand, et al.
0

Run-time attacks against programs written in memory-unsafe programming languages (e.g., C and C++) remain a prominent threat against computer systems. The prevalence of techniques like return-oriented programming (ROP) in attacking real-world systems has prompted major processor manufacturers to design hardware-based countermeasures against specific classes of run-time attacks. An example is the recently added support for pointer authentication (PA) in the ARMv8-A processor architecture, commonly used in devices like smartphones. PA is a low-cost technique to authenticate pointers so as to resist memory vulnerabilities. It has been shown to enable practical protection against memory vulnerabilities that corrupt return addresses or function pointers. However, so far, PA has received very little attention as a general purpose protection mechanism to harden software against various classes of memory attacks. In this paper, we use PA to build novel defenses against various classes of run-time attacks, including the first PA-based mechanism for data pointer integrity. We present PARTS, an instrumentation framework that integrates our PA-based defenses into the LLVM compiler and the GNU/Linux operating system and show, via systematic evaluation, that PARTS provides better protection than current solutions at a reasonable performance overhead

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/17/2022

PACSafe: Leveraging ARM Pointer Authentication for Memory Safety in C/C++

Memory safety bugs remain in the top ranks of security vulnerabilities, ...
research
05/24/2019

PACStack: an Authenticated Call Stack

A popular run-time attack technique is to compromise the control-flow in...
research
05/06/2022

Unlimited Lives: Secure In-Process Rollback with Isolated Domains

The use of unsafe programming languages still remains one of the major r...
research
10/04/2018

Shakedown: compiler-based moving target protection for Return Oriented Programing attacks on an industrial IoT device

Cybercriminals use Return Oriented Programming techniques to attack syst...
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
07/06/2020

Automated Multi-Architectural Discovery of CFI-Resistant Code Gadgets

Memory corruption vulnerabilities are still a severe threat for software...
research
10/20/2022

Towards cryptographically-authenticated in-memory data structures

Modern processors include high-performance cryptographic functionalities...

Please sign up or login with your details

Forgot password? Click here to reset