Rethinking Misalignment to Raise the Bar for Heap Pointer Corruption

07/03/2018
by   Daehee Jang, et al.
0

Heap layout randomization renders a good portion of heap vulnerabilities unexploitable. However, some remnants of the vulnerabilities are still exploitable even under the randomized layout. According to our analysis, such heap exploits often abuse pointer-width allocation granularity to spray crafted pointers. To address this problem, we explore the efficacy of byte-granularity (the most fine-grained) heap randomization; leveraging the advancement of CPU architectures handling arbitrary memory access alignment. Heap randomization, in general, has been a well-trodden area; however, the efficacy of byte-granularity randomization has never been fully explored as it involves unaligned access which degrades performance and raises compatibility issues. In this paper, we discuss byte-granularity heap randomization; and conduct comprehensive analysis in three folds: (i) security effectiveness, (ii) performance impact, and (iii) compatibility analysis to measure deployment cost. Moreover, we design a new heap allocator (RUMA) based on the CPU microbenchmark analysis results. Security discussion is based on case studies using 20 publicly disclosed heap vulnerabilities. Performance and compatibility analysis are based on cycle-level microbenchmark, SPEC2006, Coreutils, Nginx, and ChakraCore.

READ FULL TEXT

page 5

page 6

research
07/03/2018

RUMA: On the Analysis of Defenses based on Misaligned Accesses

The adoption of randomness against heap layout has rendered a good porti...
research
10/07/2019

Measuring Attack Surface Reduction in the Presence of Code (Re-)Randomization

Just-in-time return-oriented programming (JIT-ROP) technique allows one ...
research
04/17/2023

AVX Timing Side-Channel Attacks against Address Space Layout Randomization

Modern x86 processors support an AVX instruction set to boost performanc...
research
06/13/2022

Analysis of Randomization Effects on Sim2Real Transfer in Reinforcement Learning for Robotic Manipulation Tasks

Randomization is currently a widely used approach in Sim2Real transfer f...
research
09/03/2016

Compatible and Usable Mandatory Access Control for Good-enough OS Security

OS compromise is one of the most serious computer security problems toda...
research
04/26/2022

From Sand to Flour: The Next Leap in Granular Computing with NanoSort

The granularity of distributed computing is limited by communication tim...
research
01/26/2021

The Granularity Gap Problem: A Hurdle for Applying Approximate Memory to Complex Data Layout

The main memory access latency has not much improved for more than two d...

Please sign up or login with your details

Forgot password? Click here to reset