HAFIX
- 7 June 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
Code-reuse attacks like return-oriented programming (ROP) pose a severe threat to modern software on diverse processor architectures. Designing practical and secure defenses against code-reuse attacks is highly challenging and currently subject to intense research. However, no secure and practical system-level solutions exist so far, since a large number of proposed defenses have been successfully bypassed. To tackle this attack, we present HAFIX (Hardware-Assisted Flow Integrity eXtension), a defense against code-reuse attacks exploiting backward edges (returns). HAFIX provides fine-grained and practical protection, and serves as an enabling technology for future control-flow integrity instantiations. This paper presents the implementation and evaluation of HAFIX for the Intel® Siskiyou Peak and SPARC embedded system architectures, and demonstrates its security and efficiency in code-reuse protection while incurring only 2% performance overhead.Keywords
Funding Information
- German Science Foundation
- Intel CRI for Secure Computing
- European Union's Seventh Framework Programme (609611)
This publication has 9 references indexed in Scilit:
- The Performance Cost of Shadow Stacks and Stack CanariesPublished by Association for Computing Machinery (ACM) ,2015
- Hardware-Assisted Fine-Grained Control-Flow IntegrityPublished by Association for Computing Machinery (ACM) ,2014
- Out of Control: Overcoming Control-Flow IntegrityPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Branch regulationACM SIGARCH Computer Architecture News, 2012
- Return-oriented programming without returnsPublished by Association for Computing Machinery (ACM) ,2010
- Control-flow integrity principles, implementations, and applicationsACM Transactions on Information and System Security, 2009
- Code injection attacks on harvard-architecture devicesPublished by Association for Computing Machinery (ACM) ,2008
- The geometry of innocent flesh on the bonePublished by Association for Computing Machinery (ACM) ,2007
- Architectural support for software-based protectionPublished by Association for Computing Machinery (ACM) ,2006