Size does matter why using gadget-chain length to prevent code-reuse attacks is hard

Enes Göktaş, Elias Athanasopoulos, Michalis Polychronakis, Herbert Bos, Georgios Portokalidis

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

106 Scopus citations

Abstract

Code-reuse attacks based on return oriented programming are among the most popular exploitation techniques used by attackers today. Few practical defenses are able to stop such attacks on arbitrary binaries without access to source code. A notable exception are the techniques that employ new hardware, such as Intel's Last Branch Record (LBR) registers, to track all indirect branches and raise an alert when a sensitive system call is reached by means of too many indirect branches to short gadgets - under the assumption that such gadget chains would be indicative of a ROP attack. In this paper, we evaluate the implications. What is "too many" and how short is "short"? Getting the thresholds wrong has serious consequences. In this paper, we show by means of an attack on Internet Explorer that while current defenses based on these techniques raise the bar for exploitation, they can be bypassed. Conversely, tuning the thresholds to make the defenses more aggressive, may flag legitimate program behavior as an attack. We analyze the problem in detail and show that determining the right values is difficult.

Original languageEnglish
Title of host publicationProceedings of the 23rd USENIX Security Symposium
Pages417-432
Number of pages16
ISBN (Electronic)9781931971157
StatePublished - 2014
Event23rd USENIX Security Symposium - San Diego, United States
Duration: 20 Aug 201422 Aug 2014

Publication series

NameProceedings of the 23rd USENIX Security Symposium

Conference

Conference23rd USENIX Security Symposium
Country/TerritoryUnited States
CitySan Diego
Period20/08/1422/08/14

Fingerprint

Dive into the research topics of 'Size does matter why using gadget-chain length to prevent code-reuse attacks is hard'. Together they form a unique fingerprint.

Cite this