skip to main content
10.1145/3528416.3530245acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
extended-abstract

Return-oriented programming protection in the IBM POWER10

Published:17 May 2022Publication History

ABSTRACT

Return-oriented programming (ROP) is a technique for hijacking the control-flow of a program and forcing it to perform computations that were never originally intended. ROP is achieved by modifying the values of return addresses saved to memory, causing a failure of control-flow integrity. In the POWER10 processor, we have adopted a cryptographic mechanism for ROP protection. Return addresses are cryptographically hashed when control-flow enters a function and the hash is saved in memory. The hash is recomputed and compared to the saved value just before a return from the function. Any mismatch is flagged as a violation and generates an exception to the supervisor. POWER10 was augmented with instructions to generate and verify those hashes. We minimize performance impact on running programs by implementing the cryptographic hash with dedicated functional units.

References

  1. Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti. 2005. Control-Flow Integrity. In Proceedings of the 12th ACM Conference on Computer and Communications Security (CCS '05). Association for Computing Machinery, New York, NY, USA, 340?353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Martín Abadi, Mihai Budiu, Úlfar Erlingsson, and Jay Ligatti. 2009. Control-Flow Integrity Principles, Implementations, and Applications. ACM Trans. Inf. Syst. Secur. 13, 1, Article 4 (nov 2009), 40 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ray Beaulieu, Douglas Shors, Jason Smith, Stefan Treatman-Clark, Bryan Weeks, and Louis Wingers. 2015. SIMON and SPECK: Block Ciphers for the Internet of Things. Cryptology ePrint Archive, Report 2015/585. (2015). https://ia.cr/2015/585.Google ScholarGoogle Scholar
  4. Erik Buchanan, Ryan Roemer, and Stefan Savage. 2008. Return-Oriented Programming: Exploits Without Code Injection. (2008). https://www.blackhat.com/presentations/bh-usa-08/Shacham/BH_US_08_Shacham_Return_Oriented_Programming.pdfGoogle ScholarGoogle Scholar
  5. Erik Buchanan, Ryan Roemer, Hovav Shacham, and Stefan Savage. 2008. When Good Instructions Go Bad: Generalizing Return-Oriented Programming to RISC. In Proceedings of the 15th ACM Conference on Computer and Communications Security (CCS '08). Association for Computing Machinery, New York, NY, USA, 27?38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Nathan Burow, Scott A. Carr, Joseph Nash, Per Larsen, Michael Franz, Stefan Brunthaler, and Mathias Payer. 2017. Control-Flow Integrity: Precision, Security, and Performance. ACM Comput. Surv. 50, 1, Article 16 (apr 2017), 33 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Thurston H.Y. Dang, Petros Maniatis, and David Wagner. 2015. The Performance Cost of Shadow Stacks and Stack Canaries. In Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security (ASIA CCS '15). Association for Computing Machinery, New York, NY, USA, 555?566. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. IBM Corporation 2020. Power ISA Version 3.1. IBM Corporation.Google ScholarGoogle Scholar
  9. Hans Liljestrand, Thomas Nyman, Jan-Erik Ekberg, and N. Asokan. 2019. Authenticated Call Stack. In Proceedings of the 56th Annual Design Automation Conference 2019 (DAC '19). Association for Computing Machinery, New York, NY, USA, Article 223, 2 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hans Liljestrand, Thomas Nyman, Kui Wang, Carlos Chinea Perez, Jan-Erik Ekberg, and N. Asokan. 2019. PAC it up: Towards Pointer Integrity using ARM Pointer Authentication. (2019). arXiv:cs.CR/1811.09189Google ScholarGoogle Scholar
  11. Vedvyas Shanbhogue, Deepak Gupta, and Ravi Sahita. 2019. Security Analysis of Processor Instruction Set Architecture for Enforcing Control-Flow Integrity. In Proceedings of the 8th International Workshop on Hardware and Architectural Support for Security and Privacy (HASP '19). Association for Computing Machinery, New York, NY, USA, Article 8, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. J. Starke, B. Thompto, J. Stuecheli, and J. E. Moreira. 2021. IBM's POWER10 Processor. IEEE Micro (2021), 1--1. Google ScholarGoogle ScholarCross RefCross Ref
  13. Changwei Zou and Jingling Xue. 2020. Burn after Reading: A Shadow Stack with Microsecond-Level Runtime Rerandomization for Protecting Return Addresses. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (ICSE '20). Association for Computing Machinery, New York, NY, USA, 258?270. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Return-oriented programming protection in the IBM POWER10

      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
        CF '22: Proceedings of the 19th ACM International Conference on Computing Frontiers
        May 2022
        321 pages
        ISBN:9781450393386
        DOI:10.1145/3528416

        Copyright © 2022 Owner/Author

        Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 May 2022

        Check for updates

        Qualifiers

        • extended-abstract

        Acceptance Rates

        Overall Acceptance Rate240of680submissions,35%

        Upcoming Conference

        CF '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader