Abstract
Despite its effectiveness against code reuse attacks, fine-grained code randomization has not been deployed widely due to compatibility as well as performance concerns. Previous techniques often needed source code access to achieve good performance, but this breaks compatibility with today's binary-based software distribution and update mechanisms. Moreover, previous techniques break C++ exceptions and stack tracing, which are crucial for practical deployment. In this paper, we first propose a new, tunable randomization technique called LLR(k) that is compatible with these features. Since the metadata needed to support exceptions/stack-tracing can reveal considerable information about code layout, we propose a new entropy metric that accounts for leaks of this metadata. We then present a novel metadata reduction technique to significantly increase entropy without degrading exception handling. This enables LLR(k) to achieve strong entropy with a low overhead of 2.26%.
Author supplied keywords
Cite
CITATION STYLE
Priyadarshan, S., Nguyen, H., & Sekar, R. (2020). Practical Fine-Grained Binary Code Randomization. In ACM International Conference Proceeding Series (pp. 401–414). Association for Computing Machinery. https://doi.org/10.1145/3427228.3427292
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.