1. Interpretation-enabled Software Reuse Detection Based on a Multi-Level Birthmark Model
- Author
-
Xi Xu, Ming Fan, Zheng Yan, Qinghua Zheng, Ang Jia, Ting Liu, Xi'an Jiaotong University, Network Security and Trust, Department of Communications and Networking, Aalto-yliopisto, and Aalto University
- Subjects
FOS: Computer and information sciences ,Source code ,business.industry ,Computer science ,Semantics (computer science) ,media_common.quotation_subject ,Process (computing) ,Software development ,020207 software engineering ,02 engineering and technology ,Reuse ,computer.software_genre ,Obfuscation (software) ,Software Engineering (cs.SE) ,Computer Science - Software Engineering ,Software ,020204 information systems ,Basic block ,0202 electrical engineering, electronic engineering, information engineering ,Data mining ,business ,computer ,media_common - Abstract
Software reuse, especially partial reuse, poses legal and security threats to software development. Since its source codes are usually unavailable, software reuse is hard to be detected with interpretation. On the other hand, current approaches suffer from poor detection accuracy and efficiency, far from satisfying practical demands. To tackle these problems, in this paper, we propose \textit{ISRD}, an interpretation-enabled software reuse detection approach based on a multi-level birthmark model that contains function level, basic block level, and instruction level. To overcome obfuscation caused by cross-compilation, we represent function semantics with Minimum Branch Path (MBP) and perform normalization to extract core semantics of instructions. For efficiently detecting reused functions, a process for "intent search based on anchor recognition" is designed to speed up reuse detection. It uses strict instruction match and identical library call invocation check to find anchor functions (in short anchors) and then traverses neighbors of the anchors to explore potentially matched function pairs. Extensive experiments based on two real-world binary datasets reveal that \textit{ISRD} is interpretable, effective, and efficient, which achieves $97.2\%$ precision and $94.8\%$ recall. Moreover, it is resilient to cross-compilation, outperforming state-of-the-art approaches.
- Published
- 2021
- Full Text
- View/download PDF