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 language | English |
---|---|
Title of host publication | [Proceedings of] USENIX Security '14 |
Publisher | USENIX |
Pages | 1-16 |
Number of pages | 16 |
Publication status | Published - 2014 |
Event | 23rd USENIX Security Symposium - San Diego, CA, United States Duration: 22 Aug 2014 → 24 Aug 2014 Conference number: 23 https://www.usenix.org/conference/usenixsecurity14 |
Conference
Conference | 23rd USENIX Security Symposium |
---|---|
Abbreviated title | USENIX Security '14 |
Country/Territory | United States |
City | San Diego, CA |
Period | 22/08/14 → 24/08/14 |
Internet address |