一句话:提出程序级谱相似度 PSS,通过一次性谱特征提取实现可扩展、精确且鲁棒的程序克隆搜索。
论文研究程序级克隆搜索:给定目标可执行程序与已知程序仓库,找出最相似的程序,可应用于逆向工程、程序聚类、恶意代码谱系与软件窃取检测。现有方法多集中于函数级相似性,或在大规模仓库上过慢、精度不足,且对编译器差异、源码版本变化和轻量混淆不够鲁棒。作者提出程序谱相似度(PSS),其核心是针对大规模仓库设计的一次性谱特征提取,从而兼顾搜索效率。通过大量基准实验,将 PSS 与不同方法比较,结果表明其在精度、速度和鲁棒性之间取得较好折中。
We consider the problem of program clone search, i.e. given a target program and a repository of known programs (all in executable format), the goal is to find the program in the repository most similar to the target program -- with potential applications in terms of reverse engineering, program clustering, malware lineage and software theft detection. Recent years have witnessed a blooming in code similarity techniques, yet most of them focus on function-level similarity and function clone search, while we are interested in program-level similarity and program clone search. Actually, our study shows that prior similarity approaches are either too slow to handle large program repositories, or not precise enough, or yet not robust against slight variations introduced by compilers, source code versions or light obfuscations. We propose a novel spectral analysis method for program-level similarity and program clone search called Programs Spectral Similarity (PSS). In a nutshell, PSS one-time spectral feature extraction is tailored for large repositories, making it a perfect fit for program clone search. We have compared the different approaches with extensive benchmarks, showing that PSS reaches a sweet spot in terms of precision, speed and robustness.