Skip to main navigation Skip to search Skip to main content

Signature-Based Protection from Code Reuse Attacks

  • Mehmet Kayaalp
  • , Timothy Schmitt
  • , Junaid Nomani
  • , Dmitry Ponomarev
  • , Nael Abu Ghazaleh
  • State University of New York Binghamton University

Research output: Contribution to journalArticlepeer-review

11 Scopus citations

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.

Original languageEnglish
Article number6684154
Pages (from-to)533-546
Number of pages14
JournalIEEE Transactions on Computers
Volume64
Issue number2
DOIs
StatePublished - Feb 2015

Keywords

  • Processor architectures
  • code reuse attacks
  • support for security

Fingerprint

Dive into the research topics of 'Signature-Based Protection from Code Reuse Attacks'. Together they form a unique fingerprint.

Cite this