Visible to the public Enhancing Randomization Entropy of x86-64 Code while Preserving Semantic Consistency

TitleEnhancing Randomization Entropy of x86-64 Code while Preserving Semantic Consistency
Publication TypeConference Paper
Year of Publication2020
AuthorsFeng, X., Wang, D., Lin, Z., Kuang, X., Zhao, G.
Conference Name2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)
Keywordscode randomization, code reuse attacks, composability, compositionality, Computer architecture, Entropy, human factors, Information Reuse and Security, Proposals, Prototypes, pubcrawl, Resiliency, return oriented programming, rop attacks, Scalability, security, semantic consistency, Semantics, Testing
Abstract

Code randomization is considered as the basis of mitigation against code reuse attacks, fundamentally supporting some recent proposals such as execute-only memory (XOM) that aims at dynamic return-oriented programming (ROP) attacks. However, existing code randomization methods are hard to achieve a good balance between high-randomization entropy and semantic consistency. In particular, they always ignore code semantic consistency, incurring performance loss and incompatibility with current security schemes, e.g., control flow integrity (CFI). In this paper, we present an enhanced code randomization method termed as HCRESC, which can improve the randomization entropy significantly, meanwhile ensure the semantic consistency between variants and the original code. HCRESC reschedules instructions within the range of functions rather than basic blocks, thus producing more variants of the original code and preserving the code's semantic. We implement HCRESC on Linux platform of x86-64 architecture and demonstrate that HCRESC can increase the randomization entropy of x86-64 code over than 120% compared with existing methods while ensuring control flow and size of the code unaltered.

DOI10.1109/TrustCom50675.2020.00015
Citation Keyfeng_enhancing_2020