Control flow integrity for COTS binaries

  • Authors:
  • Mingwei Zhang;R. Sekar

  • Affiliations:
  • Stony Brook University, Stony Brook, NY;Stony Brook University, Stony Brook, NY

  • Venue:
  • SEC'13 Proceedings of the 22nd USENIX conference on Security
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Control-Flow Integrity (CFI) has been recognized as an important low-level security property. Its enforcement can defeat most injected and existing code attacks, including those based on Return-Oriented Programming (ROP). Previous implementations of CFI have required compiler support or the presence of relocation or debug information in the binary. In contrast, we present a technique for applying CFI to stripped binaries on ×86/Linux. Ours is the first work to apply CFI to complex shared libraries such as glibc. Through experimental evaluation, we demonstrate that our CFI implementation is effective against control-flow hijack attacks, and eliminates the vast majority of ROP gadgets. To achieve this result, we have developed robust techniques for disassembly, static analysis, and transformation of large binaries. Our techniques have been tested on over 300MB of binaries (executables and shared libraries).