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

10/07/2019
by   Md Salman Ahmed, et al.
0

Just-in-time return-oriented programming (JIT-ROP) technique allows one to dynamically discover instruction pages and launch code reuse attacks, effectively bypassing most fine-grained address space layout randomization (ASLR) protection. However, in-depth questions regarding the impact of code (re-)randomization on code reuse attacks have not been studied. For example, how do starting pointers in JIT-ROP impact gadget availability?; how would one compute the re-randomization interval effectively to defeat JIT-ROP attacks? what impact do fine-grained randomization and re-randomization have on the Turing completeness of JIT-ROP payloads? We conduct a comprehensive measurement study on the effectiveness of fine-grained code randomization and re-randomization, with 5 tools, 13 applications, and 19 dynamic libraries. We provide methodologies to measure JIT-ROP gadget availability, quality, and their Turing completeness, as well as to empirically determine the upper bound of re-randomization intervals in re-randomization schemes. Experiments show that instruction reordering is the only fine-grained single-round randomization approach that thwarts current gadget finding techniques under the JIT-ROP threat model. Our results also show that the locations of leaked pointers used in JIT-ROP attacks have no impacts on gadget availability, suggesting high pointer-based connectivity among code pages.

READ FULL TEXT
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
07/05/2020

Breaking and Fixing Destructive Code Read Defenses

Just-in-time return-oriented programming (JIT-ROP) is a powerful memory ...
research
07/03/2018

Rethinking Misalignment to Raise the Bar for Heap Pointer Corruption

Heap layout randomization renders a good portion of heap vulnerabilities...
research
03/05/2019

SMoTherSpectre: exploiting speculative execution through port contention

Spectre, Meltdown, and related attacks have demonstrated that kernels, h...
research
09/20/2019

Making Code Re-randomization Practical with MARDU

Defense techniques such as Data Execution Prevention (DEP) and Address S...
research
02/09/2018

Freestyle, a randomized version of ChaCha for resisting offline brute-force and dictionary attacks

This paper introduces Freestyle, a randomized and variable round version...
research
01/20/2022

Adelie: Continuous Address Space Layout Re-randomization for Linux Drivers

While address space layout randomization (ASLR) has been extensively stu...

Please sign up or login with your details

Forgot password? Click here to reset