paperbot · PL 论文追踪

全部论文 待读 收藏

P2 B2SFinder: Detecting Open-Source Software Reuse in COTS Software

B2SFinder:检测COTS软件中的开源软件复用
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 2/10 · 该论文关注二进制与源码匹配以检测COTS软件中的开源复用,属于程序分析与安全方向,但未涉及LLM/Agent、浮点程序分析或贝叶斯程序分析,也不面向机器学习系统或Agentic程序。因此与用户当前研究画像的核心问题匹配度很低。引用 57 inbox
Zimu Yuan, Muyue Feng, Feng Li, Gu Ban, Yang Xiao, Shiyang Wang, Qian Tang, He Su, Chendong Yu, Jiahuan Xu, Aihua Piao, Jingling Xuey, Wei Huo
crossref: 2026-09-12

AI 速览

一句话:提出二进制到源码匹配方法B2SFinder,通过多代码特征与加权匹配精确检测COTS软件中的OSS复用。

COTS软件广泛复用开源软件(OSS),可能引入复用漏洞,因此需检测OSS复用。现有二进制到源码匹配方法虽可扩展到数万OSS项目,但支持的特征少、匹配分数粗略且忽略代码结构,精度不足。本文提出B2SFinder,支持七类在二进制与源码中均可追踪的代码特征,采用加权特征匹配算法,结合三种匹配方法与基于特征特异性和出现频率的加权方法,并依据匹配分数与OSS代码结构识别复用类型。作者在1000个COTS产品的21991个二进制及2189个候选OSS项目上评估,表明其兼具精度与可扩展性;相比现有技术发现的复用案例最多提高2.15倍,平均每二进制53.85秒,并讨论了漏洞检测应用。

问题
COTS软件广泛复用OSS项目,可能引入OSS复用漏洞;现有二进制到源码匹配方法支持特征少、匹配分数粗略且忽略代码结构,难以精确检测COTS中的OSS复用。
方法
提出B2SFinder,支持七类在二进制与源码中均可追踪的代码特征,采用加权特征匹配算法,结合三种匹配方法与两种重要性加权方法,并利用OSS项目代码结构识别不同复用类型。
评估
用优化数据结构实现工具,在1000个COTS产品的21991个二进制文件和2189个候选OSS项目上评估;相比现有技术发现的复用案例最多提高2.15倍,平均每个二进制文件耗时53.85秒。
原文摘要(Abstract)

COTS software products are developed extensively on top of OSS projects, resulting in OSS reuse vulnerabilities. To detect such vulnerabilities, finding OSS reuses in COTS software has become imperative. While scalable to tens of thousands of OSS projects, existing binary-to-source matching approaches are severely imprecise in analyzing COTS software products, since they support only a limited number of code features, compute matching scores only approximately in measuring OSS reuses, and neglect the code structures in OSS projects. We introduce a novel binary-to-source matching approach, called B2SFINDER1, to address these limitations. First of all, B2SFINDER can reason about seven kinds of code features that are traceable in both binary and source code. In order to compute matching scores precisely, B2SFINDER employs a weighted feature matching algorithm that combines three matching methods (for dealing with different code features) with two importance-weighting methods (for computing the weight of an instance of a code feature in a given COTS software application based on its specificity and occurrence frequency). Finally, B2SFINDER identifies different types of code reuses based on matching scores and code structures of OSS projects. We have implemented B2SFINDER using an optimized data structure. We have evaluated B2SFINDER using 21991 binaries from 1000 popular COTS software products and 2189 candidate OSS projects. Our experimental results show that B2SFINDER is not only precise but also scalable. Compared with the state ofthe art, B2SFINDER has successfully found up to 2.15× as many reuse cases in 53.85 seconds per binary file on average. We also discuss how B2SFINDER can be leveraged in detecting OSS reuse vulnerabilities in practice.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5340,
  title = {B2SFinder: Detecting Open-Source Software Reuse in COTS Software},
  author = {Zimu Yuan and Muyue Feng and Feng Li and Gu Ban and Yang Xiao and Shiyang Wang and Qian Tang and He Su and Chendong Yu and Jiahuan Xu and Aihua Piao and Jingling Xuey and Wei Huo},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00100}
}