ModX:基于程序模块化与语义匹配的二进制级部分导入第三方库检测
软件工程
2022-04-19 v1
摘要
随着软件的快速增长,使用第三方库(TPL)已变得越来越普遍。库使用的繁荣为软件工程师提供了大量便利和加速程序开发的方法。不幸的是,它也带来了巨大挑战,因为管理大量库变得困难得多。已有研究和方法来检测并理解软件中的 TPL。然而,大多数现有方法依赖语法特征,当这些特征被更改或被对抗方故意隐藏时便不够鲁棒。此外,这些方法通常将每个导入的库整体建模,因此无法应用于宿主软件仅部分使用库代码段的场景。为了在语义层面检测完全和部分导入的 TPL,我们提出 ModX,一个利用新颖程序模块化技术将程序分解为细粒度基于功能的模块的框架。通过提取语法和语义特征,它度量模块间距离以检测程序中相似的库模块复用。实验结果表明,ModX 以高出 353% 的模块质量分数区分出更内聚的程序模块,优于其他模块化工具,并以平均精度高 17%、召回率高 8% 击败其他 TPL 检测工具。
引用
@article{arxiv.2204.08237,
title = {Modx: Binary Level Partial Imported Third-Party Library Detection through Program Modularization and Semantic Matching},
author = {Can Yang and Zhengzi Xu and Hongxu Chen and Yang Liu and Xiaorui Gong and Baoxu Liu},
journal= {arXiv preprint arXiv:2204.08237},
year = {2022}
}