• DocumentCode
    3657086
  • Title

    Parallax: Implicit Code Integrity Verification Using Return-Oriented Programming

  • Author

    Dennis Andriesse;Herbert Bos;Asia Slowinska

  • Author_Institution
    Syst. &
  • fYear
    2015
  • fDate
    6/1/2015 12:00:00 AM
  • Firstpage
    125
  • Lastpage
    135
  • Abstract
    Parallax is a novel self-contained code integrity verification approach, that protects instructions by overlapping Return-Oriented Programming (ROP) gadgets with them. Our technique implicitly verifies integrity by translating selected code (verification code) into ROP code which uses gadgets scattered over the binary. Tampering with the protected instructions destroys the gadgets they contain, so that the verification code fails, thereby preventing the adversary from using the modified binary. Unlike prior solutions, Parallax does not rely on code checksumming, so it is not vulnerable to instruction cache modification attacks which affect checksumming techniques. Further, unlike previous algorithms which withstand such attacks, Parallax does not compute hashes of the execution state, and can thus protect code with non-deterministic state. Parallax limits performance overhead to the verification code, while the protected code executes at its normal speed. This allows us to protect performance-critical code, and confine the slowdown to other code regions. Our experiments show that Parallax can protect up to 90% of code bytes, including most control flow instructions, with a performance overhead of under 4%.
  • Keywords
    "Detectors","Programming","Registers","Debugging","Runtime","Software","Semantics"
  • Publisher
    ieee
  • Conference_Titel
    Dependable Systems and Networks (DSN), 2015 45th Annual IEEE/IFIP International Conference on
  • Type

    conf

  • DOI
    10.1109/DSN.2015.12
  • Filename
    7266844