Out of Control: Overcoming Control-Flow Integrity

By Enes Göktas, Elias Athanasopoulos, Herbert Bos, Georgios Portokalidis. IEEE Symposium on Security and Privacy, 2014

443 citations recorded by the source corpus.

As existing defenses like ASLR, DEP, and stack cookies are not sufficient to stop determined attackers from exploiting our software, interest in Control Flow Integrity (CFI) is growing. In its ideal form, CFI prevents flows of control that were not intended by the original program, effectively putting a stop to exploitation based on return oriented programming (and many other attacks besides). Two main problems have prevented CFI from being deployed in practice. First, many CFI implementations require source code or debug information that is typically not available for commercial software. Second, in its ideal form, the technique is very expensive. It is for this reason that current research efforts focus on making CFI fast and practical. Specifically, much of the work on practical CFI is applicable to binaries, and improves performance by enforcing a looser notion of control flow integrity. In this paper, we examine the security implications of such looser notions of CFI: are they still able to prevent code reuse attacks, and if not, how hard is it to bypass its protection? Specifically, we show that with two new types of gadgets, return oriented programming is still possible. We assess the availability of our gadget sets, and demonstrate the practicality of these results with a practical exploit against Internet Explorer that bypasses modern CFI implementations.

Subfields: Artificial Intelligence, Computer Networks and Communications, Signal Processing

View Paper: https://www.semanticscholar.org/paper/dbbdd8fbf65f87107690a160a0d297f04fcc440d

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Dawn Song
  2. Nicholas Carlini
  3. David A. Wagner
  4. Ahmad-Reza Sadeghi
  5. Bo Li
  6. Florian Tramèr
  7. Matthias Hein
  8. Lucas Davi

In Computer Networks and Communications

  1. Peng Ning
  2. David A. Wagner
  3. Dawn Song
  4. Nicholas Carlini
  5. Ahmad-Reza Sadeghi
  6. Lucas Davi
  7. Jean-Pierre Hubaux
  8. Fabian Monrose

In Signal Processing

  1. Nicholas Carlini
  2. Dawn Song
  3. Ahmad-Reza Sadeghi
  4. Lucas Davi
  5. David A. Wagner
  6. R. Sekar
  7. Manuel Costa
  8. Fabian Monrose

Citations in the corpus