Affiliation:
1. School of Computer Science, Fudan University, Shanghai, China
2. Institute of BigData, Fudan University, Shanghai, China
3. Purple Mountain Laboratories, Nanjing, China
Abstract
By developing a Turing-complete non-control data attack to bypass existing defenses against control flow attacks, Data-Oriented Programming (DOP) has gained significant attention from researchers in recent years. While several defense techniques have been proposed to mitigate DOP attacks, they often introduce substantial overhead due to the blind protection of a large range of data objects. To address this issue, we focus on selecting and protecting the specific target data that are of interest to DOP attackers, rather than securing the entire non-control data in the program. In this regard, we perform static analysis on 20 real-world applications and identify the target data, verifying that they constitute only a small percentage of the overall program, averaging around 3%. Additionally, we propose a semi-automated tool to analyze how to chain operations on the target data in these 20 applications to achieve Turing-complete attacks. Furthermore, we introduce DSLR-: a low-overhead Data Structure Layout Randomization (DSLR) method, which modifies the existing DSLR technique to only randomize the selected target data for DOP. Experimental results demonstrate that DSLR- effectively mitigates DOP attacks, reducing performance overhead by 71.2% and memory overhead by 82.5% compared to the original DSLR technique.
Subject
Computer Networks and Communications,Hardware and Architecture,Safety, Risk, Reliability and Quality,Software
Reference38 articles.
1. P. Akritidis, M. Costa, M. Castro and S. Hand, Baggy bounds checking: An efficient and backwards-compatible defense against out-of-bounds errors, in: USENIX Security Symposium, Vol. 10, 2009.
2. S. Bhatkar and R. Sekar, Data space randomization, in: Detection of Intrusions and Malware, and Vulnerability Assessment: 5th International Conference, DIMVA 2008, Paris, France, July 10–11, 2008, Proceedings 5, Springer, 2008, pp. 1–22.
3. Jump-oriented programming
4. J. Caballero, G. Grieco, M. Marron and A. Nappa, Undangle: Early detection of dangling pointers in use-after-free and double-free vulnerabilities, in: 2012 International Symposium on Software Testing and Analysis, 2012, pp. 133–143.
5. A Practical Approach for Adaptive Data Structure Layout Randomization