Document Type
Article
Abstract
Hunting binary code difference without source code (i.e., binary diffing) has compelling applications in software security. Due to the high variability of binary code, existing solutions have been driven towards measuring semantic similarities from syntactically different code. Since compiler optimization is the most common source contributing to binary code differences in syntax, testing the resilience against the changes caused by different compiler optimization settings has become a standard evaluation step for most binary diffing approaches. For example, 47 top-venue papers in the last 12 years compared different program versions compiled by default optimization levels (e.g., -Ox in GCC and LLVM). Although many of them claim they are immune to compiler transformations, it is yet unclear about their resistance to non-default optimization settings. Especially, we have observed that adversaries explored non-default compiler settings to amplify malware differences. This paper takes the first step to systematically studying the effectiveness of compiler optimization on binary code differences. We tailor search-based iterative compilation for the auto-tuning of binary code differences. We develop BinTuner to search near-optimal optimization sequences that can maximize the amount of binary code differences
Publication Date
6-20-2021
Language
English
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Recommended Citation
Ren, Xialei; Ho, Michael; Ming, Jiang; Lei, Yu; and Li, Li, "Unleashing the Hidden Power of Compiler Optimization on Binary Code Difference: An Empirical Study" (2021). Association of Computing Machinery Open Access Agreement Publications. 64.
https://mavmatrix.uta.edu/utalibraries_acmoapubs/64