Towards Automated Discovery of Crash-Resistant Primitives in Binary Executables
Title | Towards Automated Discovery of Crash-Resistant Primitives in Binary Executables |
Publication Type | Conference Paper |
Year of Publication | 2017 |
Authors | Kollenda, B., Göktaş, E., Blazytko, T., Koppe, P., Gawlik, R., Konoth, R. K., Giuffrida, C., Bos, H., Holz, T. |
Conference Name | 2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) |
Keywords | address space layout randomization, ASLR, binary executables, compositionality, Computer crashes, crash-resistant code primitives, crash-resistant primitive automated discovery, Entropy, hidden application-specific primitives, labor-intensive source code inspection, Layout, metadata, Metadata Discovery Problem, Probes, pubcrawl, Resiliency, Resistance, Scalability, security of data, security-sensitive metadata, Servers, source code (software) |
Abstract | Many modern defenses rely on address space layout randomization (ASLR) to efficiently hide security-sensitive metadata in the address space. Absent implementation flaws, an attacker can only bypass such defenses by repeatedly probing the address space for mapped (security-sensitive) regions, incurring a noisy application crash on any wrong guess. Recent work shows that modern applications contain idioms that allow the construction of crash-resistant code primitives, allowing an attacker to efficiently probe the address space without causing any visible crash. In this paper, we classify different crash-resistant primitives and show that this problem is much more prominent than previously assumed. More specifically, we show that rather than relying on labor-intensive source code inspection to find a few "hidden" application-specific primitives, an attacker can find such primitives semi-automatically, on many classes of real-world programs, at the binary level. To support our claims, we develop methods to locate such primitives in real-world binaries. We successfully identified 29 new potential primitives and constructed proof-of-concept exploits for four of them. |
DOI | 10.1109/DSN.2017.58 |
Citation Key | kollenda_towards_2017 |
- metadata
- source code (software)
- Servers
- security-sensitive metadata
- security of data
- Scalability
- Resistance
- Resiliency
- pubcrawl
- Probes
- Metadata Discovery Problem
- address space layout randomization
- Layout
- labor-intensive source code inspection
- hidden application-specific primitives
- Entropy
- crash-resistant primitive automated discovery
- crash-resistant code primitives
- Computer crashes
- Compositionality
- binary executables
- ASLR