skip to main content
10.1145/2744769.2744847acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

HAFIX: hardware-assisted flow integrity extension

Published:07 June 2015Publication History

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.

References

  1. Gaisler Research. LEON3 synthesizable processor. http://www.gaisler.com.Google ScholarGoogle Scholar
  2. Gaisler Research. Bare-C Cross-compiler system (BCC). http://www.gaisler.com/index.php/products/operating-systems/bcc.Google ScholarGoogle Scholar
  3. M. Abadi, M. Budiu, U. Erlingsson, and J. Ligatti. Control-flow integrity: Principles, implementations, and applications. ACM Trans. Inf. Syst. Secur., 13(1), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Budiu, U. Erlingsson, and M. Abadi. Architectural support for software-based protection. In Workshop on Architectural and System Support for Improving Software Dependability, ASID '06, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Checkoway, L. Davi, A. Dmitrienko, A.-R. Sadeghi, H. Shacham, and M. Winandy. Return-oriented programming without returns. In ACM Conference on Computer and Communications Security, CCS '10, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. H. Dang, P. Maniatis, and D. Wagner. The performance cost of shadow stacks and stack canaries. In ACM Symposium on Information, Computer and Communications Security, ASIACCS '15, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. L. Davi, P. Koeberl, and A.-R. Sadeghi. Hardware-assisted fine-grained control-flow integrity: Towards efficient protection of embedded systems against software exploitation. In Annual Design Automation Conference - Special Session: Trusted Mobile Embedded Computing, DAC '14, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Davi, D. Lehmann, A.-R. Sadeghi, and F. Monrose. Stitching the gadgets: On the ineffectiveness of coarse-grained control-flow integrity protection. In USENIX conference on Security, SSYM'14, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Francillon and C. Castelluccia. Code injection attacks on Harvard-architecture devices. In ACM Conf. on Computer and Communications Security, CCS '08, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Gaisler, E. Catovic, M. Isomaki, K. Glembo, and S. Habinc. GRLIB IP Core User's Manual, 2008.Google ScholarGoogle Scholar
  11. E. Göktas, E. Athanasopoulos, H. Bos, and G. Portokalidis. Out of control: Overcoming control-flow integrity. In IEEE Symposium on Security and Privacy, S&P '14, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Kayaalp, M. Ozsoy, N. Abu-Ghazaleh, and D. Ponomarev. Branch regulation: Low-overhead protection from code reuse attacks. In Annual International Symposium on Computer Architecture, ISCA '12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Pappas, M. Polychronakis, and A. D. Keromytis. Transparent ROP exploit mitigation using indirect branch tracing. In USENIX conference on Security, SSYM'13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Rattner. Extreme scale computing. ISCA Keynote, 2012.Google ScholarGoogle Scholar
  15. H. Shacham. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In ACM Conf. on Computer and Communications Security, CCS '07, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. Tice, T. Roeder, P. Collingbourne, S. Checkoway, Ú. Erlingsson, L. Lozano, and G. Pike. Enforcing forward-edge control-flow integrity in GCC & LLVM. In USENIX conference on Security, SSYM'14, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Y. Xia, Y. Liu, H. Chen, and B. Zang. CFIMon: Detecting violation of control flow integrity using performance counters. In Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN '12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Zhang and R. Sekar. Control flow integrity for COTS binaries. In USENIX conference on Security, SSYM'13, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. HAFIX: hardware-assisted flow integrity extension

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            DAC '15: Proceedings of the 52nd Annual Design Automation Conference
            June 2015
            1204 pages
            ISBN:9781450335201
            DOI:10.1145/2744769

            Copyright © 2015 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 7 June 2015

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate1,770of5,499submissions,32%

            Upcoming Conference

            DAC '24
            61st ACM/IEEE Design Automation Conference
            June 23 - 27, 2024
            San Francisco , CA , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader