Title :
Branch regulation: Low-overhead protection from code reuse attacks
Author :
Kayaalp, Mehmet ; Ozsoy, Meltem ; Abu-Ghazaleh, Nael ; Ponomarev, Dmitry
Author_Institution :
Dept. of Comput. Sci., State Univ. of New York at Binghamton, Binghamton, NY, USA
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 ×86 - 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.
Keywords :
graph theory; security of data; CRA bypass current hardware; CRA bypass current software security; arbitrary code; branch regulation; code reuse attacks; control flow graph; executed code; jump-oriented programming approach; low-overhead protection; return-oriented programming approach; software-based full control flow integrity; Benchmark testing; Hardware; Libraries; Monitoring; Programming; Security; Software;
Conference_Titel :
Computer Architecture (ISCA), 2012 39th Annual International Symposium on
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4673-0475-7
Electronic_ISBN :
1063-6897
DOI :
10.1109/ISCA.2012.6237009