Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
1-2017
Abstract
SafeStack, initially proposed as a key component of Code Pointer Integrity (CPI), separates the program stack into two distinct regions to provide a safe region for sensitive code pointers. SafeStack can prevent buffer overflow attacks that overwrite sensitive code pointers, e.g., return addresses, to hijack control flow of the program, and has been incorporated into the Clang project of LLVM as a C-based language front-end. In this paper, we propose and implement SafeStack+, an enhanced dual stack LLVM plug-in that further protects programs from data-flow hijacking. SafeStack+ locates data flow sensitive variables on the unsafe stack that could potentially affect evaluation of branching conditions, and adds canaries of random sizes and values to them to detect malicious overwriting. We implement SafeStack+ as a plug-in on LLVM 3.8 and perform extensive experiments to justify a lazy checking mechanism that adds on average 3.0% of runtime and 5.3% of memory overhead on top of SafeStack on SPEC CPU2006 benchmark programs. Our security analysis confirms that SafeStack+ is effective in detecting data-flow hijacking attacks.
Keywords
Buffer overflow, Data flow, Control flow
Discipline
Databases and Information Systems | Information Security
Research Areas
Cybersecurity
Publication
Information security and privacy: 22nd Australasian Conference, ACISP 2017, Auckland, New Zealand, July 3-5, Proceedings
First Page
95
Last Page
112
ISBN
9783319598703
Identifier
10.1007/978-3-319-59870-3_6
Publisher
Springer
City or Country
Cham
Citation
LIN, Yan; TANG, Xiaoxiao; and GAO, Debin.
SafeStack+: Enhanced dual stack to combat data-flow hijacking. (2017). Information security and privacy: 22nd Australasian Conference, ACISP 2017, Auckland, New Zealand, July 3-5, Proceedings. 95-112.
Available at: https://ink.library.smu.edu.sg/sis_research/3746
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1007/978-3-319-59870-3_6