Practical Fine-Grained Binary Code Randomization

15Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

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%.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free