• DocumentCode
    25356
  • Title

    Signature-Based Protection from Code Reuse Attacks

  • Author

    Kayaalp, Mehmet ; Schmitt, Timothy ; Nomani, Junaid ; Ponomarev, Dmitry ; Abu Ghazaleh, Nael

  • Author_Institution
    Comput. Sci. Dept., Binghamton Univ., Binghamton, NY, USA
  • Volume
    64
  • Issue
    2
  • fYear
    2015
  • fDate
    Feb. 2015
  • Firstpage
    533
  • Lastpage
    546
  • Abstract
    Code Reuse Attacks (CRAs) recently emerged as a new class of security exploits. CRAs construct malicious programs out of small fragments (gadgets) of existing code, thus eliminating the need for code injection. Existing defenses against CRAs often incur large performance overheads or require extensive binary rewriting and other changes to the system software. In this paper, we examine a signature-based detection of CRAs, where the attack is detected by observing the behavior of programs and detecting the gadget execution patterns. We first demonstrate that naive signature-based defenses can be defeated by introducing special “delay gadgets” as part of the attack. We then show how a software-configurable signature-based approach can be designed to defend against such stealth CRAs, including the attacks that manage to use longer-length gadgets. The proposed defense (called SCRAP) can be implemented entirely in hardware using simple logic at the commit stage of the pipeline. SCRAP is realized with minimal performance cost, no changes to the software layers, and no implications on binary compatibility. Finally, we show that SCRAP generates no false alarms on a wide range of applications.
  • Keywords
    digital signatures; CRA; SCRAP; binary rewriting; code injection; code reuse attack; delay gadgets; gadget execution pattern detection; malicious programs; program behavior; security exploits; signature-based defense; signature-based detection; signature-based protection; software-configurable signature-based approach; Delays; Hardware; Libraries; Radiation detectors; Registers; Security; Software; Processor architectures; code reuse attacks; support for security;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2013.230
  • Filename
    6684154