FineIBT: Fine-grain Control-flow Enforcement with Indirect Branch Tracking

03/28/2023
by   Alexander J. Gaidis, et al.
0

We present the design, implementation, and evaluation of FineIBT: a CFI enforcement mechanism that improves the precision of hardware-assisted CFI solutions, like Intel IBT and ARM BTI, by instrumenting program code to reduce the valid/allowed targets of indirect forward-edge transfers. We study the design of FineIBT on the x86-64 architecture, and implement and evaluate it on Linux and the LLVM toolchain. We designed FineIBT's instrumentation to be compact, and incur low runtime and memory overheads, and generic, so as to support a plethora of different CFI policies. Our prototype implementation incurs negligible runtime slowdowns (≈0 ≈0 we investigate the effectiveness/security and compatibility of FineIBT using the ConFIRM CFI benchmarking suite, demonstrating that our nimble instrumentation provides complete coverage in the presence of modern software features, while supporting a wide range of CFI policies (coarse- vs. fine- vs. finer-grain) with the same, predictable performance.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/04/2019

SPECCFI: Mitigating Spectre Attacks using CFI Informed Speculation

Spectre attacks and their many subsequent variants are a new vulnerabili...
research
11/07/2018

Shining Light On Shadow Stacks

Control-Flow Hijacking attacks are the dominant attack vector to comprom...
research
01/31/2023

EC-CFI: Control-Flow Integrity via Code Encryption Counteracting Fault Attacks

Fault attacks enable adversaries to manipulate the control-flow of secur...
research
12/31/2021

Statistical Program Slicing: a Hybrid Slicing Technique for Analyzing Deployed Software

Dynamic program slicing can significantly reduce the code developers nee...
research
07/06/2020

Automated Multi-Architectural Discovery of CFI-Resistant Code Gadgets

Memory corruption vulnerabilities are still a severe threat for software...
research
04/27/2020

LIO*: Low Level Information Flow Control in F*

We present Labeled Input Output in F* (LIO*), a verified framework that ...

Please sign up or login with your details

Forgot password? Click here to reset