Size Does Matter: Why Using Gadget-Chain Length to Prevent Code-Reuse Attacks is Hard

Abstract

Code-reuse attacks based on return oriented programming are among the most popular exploitation techniques used by attackers today. Few practical defenses are able to stop such attacks on arbitrary binaries with-out access to source code. A notable exception are the techniques that employ new hardware, such as Intel's Last Branch Record (LBR) registers, to track all indirect branches and raise an alert when a sensitive system call is reached by means of too many indirect branches to short gadgets under the assumption that such gadget chains would be indicative of a ROP attack. In this paper, we evaluate the implications. What is too many and how short is short? Getting the thresholds wrong has serious consequences. In this paper, we show by means of an attack on Internet Explorer that while current defenses based on these techniques raise the bar for exploitation, they can be bypassed. Conversely, tuning the thresholds to make the defenses more aggressive, may flag legitimate program behavior as an attack. We analyze the problem in detail and show that determining the right values is difficult.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 20, 2014
Accession Number
AD1146155

Entities

People

  • Elias Athanasopoulos
  • Enes Goktas
  • Georgios Portokalidis
  • Herbert Bos
  • Michalis Polychronakis

Organizations

  • Columbia University
  • Stevens Institute of Technology
  • Vrije Universiteit Amsterdam

Tags

Communities of Interest

  • Cyber

DTIC Thesaurus Topics

  • Air Force
  • Code Injection
  • Computer Program Documentation
  • Computer Programming
  • Computer Programs
  • Detection
  • Instruction Set Architecture
  • Instructions
  • Internet
  • Kernels (Operating System)
  • Mixing
  • Network Topology
  • Operating Systems
  • Recursive Functions
  • Security
  • Sequences
  • Side Effects
  • Urban Areas
  • Vulnerability
  • Web Browsers
  • Word Processors

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Computer Programming and Software Development.
  • Cybersecurity.
  • Educational Psychology