BinCoFer数据集
收藏arXiv2025-04-28 更新2025-04-30 收录
下载链接:
https://github.com/whoami648/BinCoFer
下载链接
链接失效反馈官方服务:
资源简介:
BinCoFer数据集是由华中科技大学网络空间安全与工程学的研究人员创建的,包含150个二进制文件和102个第三方库。该数据集旨在用于验证BinCoFer工具在检测二进制程序中第三方库重用方面的性能。BinCoFer是一种用于检测二进制程序中重用第三方库的工具,它采用一种新颖的三阶段净化策略来减少特征库中的冗余,并提高检测效率。
The BinCoFer dataset was developed by researchers from the School of Cyberspace Security and Engineering at Huazhong University of Science and Technology, and it comprises 150 binary files and 102 third-party libraries. This dataset is designed to validate the performance of the BinCoFer tool in detecting third-party library reuse in binary programs. BinCoFer is a specialized tool for detecting reused third-party libraries in binary programs, which adopts a novel three-stage purification strategy to reduce redundancy in the feature library and improve detection efficiency.
提供机构:
华中科技大学网络空间安全与工程学
创建时间:
2025-04-28
原始信息汇总
BinCoFer数据集概述
数据集目的
- 致力于检测C/C++二进制程序中第三方库的部分重用情况。
数据集内容
- 主要包含Arch Linux的数据集,涵盖:
- 基准真值(ground truth)
- 二进制程序
- 第三方库
- 注意:这些资源尚未完全整理。
数据集来源
- 从ArchLinux系统中抓取截至2023年8月的所有软件包,总计11,369个项目。
- 通过手动修改PKGBUILD文档:
- 添加静态链接编译选项
- 调整编译顺序以将动态链接改为静态链接
- 最终成功手动编译148个二进制程序。
数据集划分
- 采用7:3的比例划分:
- 70%(110个二进制文件):用于选择阈值(阈值选择数据集)
- 30%(38个二进制文件):用于实验验证所选阈值下的效果(验证数据集)
适用场景
- 用于在二进制级别检测第三方库的部分重用。
- 特别适合在ArchLinux类似分布的数据集上进行检测。
相关模型
- 使用BCSD模型进行检测(该模型在ArchLinux数据集上训练)。
获取方式
- 通过GitHub仓库获取代码和数据集:
git clone https://github.com/whoami648/BinCoFer.git
搜集汇总
数据集介绍

构建方式
BinCoFer数据集的构建采用了三阶段纯化策略,旨在有效检测C/C++二进制第三方库的复用情况。首先,通过收集动态链接库形式的TPLs构建初始特征库;其次,利用二进制代码相似性检测技术(BCSD)提取函数级特征,确保在无法获取源代码的情况下仍能有效工作;最后,通过强调核心函数并过滤简单函数和常见函数,减少特征库冗余。整个过程在ArchLinux平台上手动编译了包含150个二进制文件和102个TPLs的数据集,确保了数据的多样性和代表性。
特点
BinCoFer数据集具有显著的特点,包括其专注于二进制级别的TPL检测,解决了源代码不可获取时的检测难题。数据集通过函数级特征提取和三阶段纯化策略,有效减少了特征库的冗余,提高了检测效率。此外,数据集还特别关注部分复用TPLs的场景,通过核心函数的权重分配和相似性聚合,显著提升了检测的准确性和召回率。数据集的构建还充分考虑了编译优化的影响,确保了在不同编译环境下的鲁棒性。
使用方法
BinCoFer数据集的使用方法主要包括三个步骤:首先,对目标二进制文件进行预处理和函数级特征提取;其次,将提取的特征与TPL特征库中的核心函数进行相似性比较;最后,通过加权聚合相似性分数,判断目标二进制文件是否复用了特定的TPL。该方法避免了直接使用相似性阈值判断函数复用的不准确性,显著提高了检测的精确度和效率。此外,数据集还提供了详细的实验设置和评估指标,便于研究者在不同场景下进行验证和比较。
背景与挑战
背景概述
BinCoFer数据集由华中科技大学网络空间安全学院的研究团队于2025年提出,旨在解决C/C++二进制程序中第三方库(TPL)检测的关键问题。随着开源软件的普及,TPL在软件开发中被广泛使用以提升效率,但其不规范使用可能引发法律和安全问题。BinCoFer通过构建二进制格式的TPL特征库,并采用三阶段纯化策略来减少特征冗余,显著提升了检测效率和准确性。该数据集在ArchLinux平台上构建,包含150个二进制程序和102个TPL,为二进制级别的TPL检测提供了重要基准。
当前挑战
BinCoFer数据集面临的挑战主要包括:1) 领域问题方面,TPL检测需应对部分引用库的识别难题,以及二进制代码因编译选项差异导致的语义不一致问题;2) 构建过程中,需处理特征库冗余、核心函数提取的准确性,以及二进制代码相似性度量的可靠性。此外,缺乏源代码信息增加了特征提取的难度,而不同编译环境下的二进制代码差异进一步加剧了匹配的复杂性。
常用场景
经典使用场景
BinCoFer数据集在软件成分分析(SCA)领域具有广泛的应用价值,特别是在二进制程序中的第三方库(TPL)检测场景中表现突出。该数据集通过构建二进制格式的TPL特征库,并结合三阶段纯化策略,有效解决了源代码不可访问情况下的TPL检测问题。其经典使用场景包括识别商业软件中未经授权的TPL使用、检测潜在的安全漏洞以及分析软件供应链中的合规性问题。
解决学术问题
BinCoFer数据集针对TPL检测中的四个核心学术问题提出了创新解决方案:特征库冗余(P1)、部分引用库检测(P2)、无源代码场景(P3)和编译影响(P4)。通过函数级二进制代码相似性检测(BCSD)技术和基于权重的相似性聚合方法,该数据集显著提升了检测精度(89.3%)和F1分数(0.752),较现有方法分别提高20%和7%,为二进制软件分析领域建立了新的性能基准。
衍生相关工作
基于BinCoFer数据集衍生出多项重要研究工作:在检测方法层面,jTrans等跨编译器二进制相似性检测模型被应用于特征提取;在系统优化方向,ModX和LibAM等工具改进了模块化检测框架;在应用扩展领域,BinaryAI等商业化平台整合了该数据集的纯化策略。这些工作共同推动了二进制SCA技术从学术研究向工业实践的转化。
以上内容由遇见数据集搜集并总结生成



