Skip to main navigation Skip to search Skip to main content

Saffire: Context-sensitive Function Specialization against Code Reuse Attacks

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

23 Scopus citations

Abstract

The sophistication and complexity of recent exploitation techniques, which rely on memory disclosure and whole-function reuse to bypass address space layout randomization and control flow integrity, is indicative of the effect that the combination of exploit mitigations has in challenging the construction of reliable exploits. In addition to software diversification and control flow enforcement, recent efforts have focused on the complementary approach of code and API specialization to restrict further the critical operations that an attacker can perform as part of a code reuse exploit. In this paper we propose Saffire, a compiler-level defense against code reuse attacks. For each calling context of a critical function, Saffire creates a specialized and hardened replica of the function with a restricted interface that can accommodate only that particular invocation. This is achieved by applying static argument binding, to eliminate arguments with static values and concretize them within the function body, and dynamic argument binding, which applies a narrow-scope form of data flow integrity to restrict the acceptable values of arguments that cannot be statically derived. We have implemented Saffire on top of LLVM, and applied it to a set of 11 applications, including Nginx, Firefox, and Chrome. The results of our experimental evaluation with a set of 17 real-world ROP exploits and three whole-function reuse exploits demonstrate the effectiveness of Saffire in preventing these attacks while incurring a negligible runtime overhead.

Original languageEnglish
Title of host publicationProceedings - 5th IEEE European Symposium on Security and Privacy, Euro S and P 2020
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages17-33
Number of pages17
ISBN (Electronic)9781728150871
DOIs
StatePublished - Sep 2020
Event5th IEEE European Symposium on Security and Privacy, Euro S and P 2020 - Virtual, Genoa, Italy
Duration: Sep 7 2020Sep 11 2020

Publication series

NameProceedings - 5th IEEE European Symposium on Security and Privacy, Euro S and P 2020

Conference

Conference5th IEEE European Symposium on Security and Privacy, Euro S and P 2020
Country/TerritoryItaly
CityVirtual, Genoa
Period09/7/2009/11/20

Keywords

  • return into libc
  • Return Oriented Programming
  • software debloating

Fingerprint

Dive into the research topics of 'Saffire: Context-sensitive Function Specialization against Code Reuse Attacks'. Together they form a unique fingerprint.

Cite this