Skip to main navigation Skip to search Skip to main content

Branch regulation: Low-overhead protection from code reuse attacks

  • State University of New York Binghamton University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

74 Scopus citations

Abstract

Code reuse attacks (CRAs) are recent security exploits that allow attackers to execute arbitrary code on a compromised machine. CRAs, exemplified by return-oriented and jump-oriented programming approaches, reuse fragments of the library code, thus avoiding the need for explicit injection of attack code on the stack. Since the executed code is reused existing code, CRAs bypass current hardware and software security measures that prevent execution from data or stack regions of memory. While software-based full control flow integrity (CFI) checking can protect against CRAs, it includes significant overhead, involves non-trivial effort of constructing a control flow graph, relies on proprietary tools and has potential vulnerabilities due to the presence of unintended branch instructions in architectures such as x86 - those branches are not checked by the software CFI. We propose branch regulation (BR), a lightweight hardware-supported protection mechanism against the CRAs that addresses all limitations of software CFI. BR enforces simple control flow rules in hardware at the function granularity to disallow arbitrary control flow transfers from one function into the middle of another function. This prevents common classes of CRAs without the complexity and run-time overhead of full CFI enforcement. BR incurs a slowdown of about 2% and increases the code footprint by less than 1% on the average for the SPEC 2006 benchmarks.

Original languageEnglish
Title of host publication2012 39th Annual International Symposium on Computer Architecture, ISCA 2012
Pages94-105
Number of pages12
DOIs
StatePublished - 2012
Event2012 39th Annual International Symposium on Computer Architecture, ISCA 2012 - Portland, OR, United States
Duration: Jun 9 2012Jun 13 2012

Publication series

NameProceedings - International Symposium on Computer Architecture

Conference

Conference2012 39th Annual International Symposium on Computer Architecture, ISCA 2012
Country/TerritoryUnited States
CityPortland, OR
Period06/9/1206/13/12

Fingerprint

Dive into the research topics of 'Branch regulation: Low-overhead protection from code reuse attacks'. Together they form a unique fingerprint.

Cite this