Accurate and Scalable Cross-Architecture Cross-OS Binary Code Search with Emulation
Autor: | Zhengzi Xu, Yang Liu, Yinxing Xue, Mahinthan Chandramohan |
---|---|
Přispěvatelé: | School of Computer Science and Engineering |
Rok vydání: | 2019 |
Předmět: |
Binary Code Search
Matching (statistics) Emulation Source code Computer science media_common.quotation_subject 020207 software engineering 02 engineering and technology computer.file_format Binary Clone Detection computer.software_genre 0202 electrical engineering electronic engineering information engineering Benchmark (computing) Code (cryptography) Computer science and engineering [Engineering] Binary code Compiler Executable Data mining computer Software media_common |
Zdroj: | IEEE Transactions on Software Engineering. 45:1125-1149 |
ISSN: | 2326-3881 0098-5589 |
DOI: | 10.1109/tse.2018.2827379 |
Popis: | Different from source code clone detection, clone detection (similar code search) in binary executables faces big challenges due to the gigantic differences in the syntax and the structure of binary code that result from different configurations of compilers, architectures and OSs. Existing studies have proposed different categories of features for detecting binary code clones, including CFG structures, n-gram in CFG, input/output values, etc. In our previous study and the tool BinGo, to mitigate the huge gaps in CFG structures due to different compilation scenarios, we propose a selective inlining technique to capture the complete function semantics by inlining relevant library and user-defined functions. However, only features of input/output values are considered in BinGo. In this study, we propose to incorporate features from different categories (e.g., structural features and high-level semantic features) for accuracy improvement and emulation for efficiency improvement. We empirically compare our tool, BinGo-E, with the pervious tool BinGo and the available state-of-the-art tools of binary code search in terms of search accuracy and performance. Results show that BinGo-E achieves significantly better accuracies than BinGo for cross-architecture matching, cross-OS matching, cross-compiler matching and intra-compiler matching. Additionally, in the new task of matching binaries of forked projects, BinGo-E also exhibits a better accuracy than the existing benchmark tool. Meanwhile, BinGo-E takes less time than BinGo during the process of matching. NRF (Natl Research Foundation, S’pore) |
Databáze: | OpenAIRE |
Externí odkaz: |