BinCoFer: Three-Stage Purification for Effective C/C++ Binary Third-Party Library Detection

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zou, Yayi, Zhang, Yixiang, Zhao, Guanghao, Wu, Yueming, Shen, Shuhao, Fu, Cai
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913810316525568
author Zou, Yayi
Zhang, Yixiang
Zhao, Guanghao
Wu, Yueming
Shen, Shuhao
Fu, Cai
author_facet Zou, Yayi
Zhang, Yixiang
Zhao, Guanghao
Wu, Yueming
Shen, Shuhao
Fu, Cai
contents Third-party libraries (TPL) are becoming increasingly popular to achieve efficient and concise software development. However, unregulated use of TPL will introduce legal and security issues in software development. Consequently, some studies have attempted to detect the reuse of TPLs in target programs by constructing a feature repository. Most of the works require access to the source code of TPLs, while the others suffer from redundancy in the repository, low detection efficiency, and difficulties in detecting partially referenced third-party libraries. Therefore, we introduce BinCoFer, a tool designed for detecting TPLs reused in binary programs. We leverage the work of binary code similarity detection(BCSD) to extract binary-format TPL features, making it suitable for scenarios where the source code of TPLs is inaccessible. BinCoFer employs a novel three-stage purification strategy to mitigate feature repository redundancy by highlighting core functions and extracting function-level features, making it applicable to scenarios of partial reuse of TPLs. We have observed that directly using similarity threshold to determine the reuse between two binary functions is inaccurate, a problem that previous work has not addressed. Thus we design a method that uses weight to aggregate the similarity between functions in the target binary and core functions to ultimately judge the reuse situation with high frequency. To examine the ability of BinCoFer, we compiled a dataset on ArchLinux and conduct comparative experiments on it with other four most related works (i.e., ModX, B2SFinder, LibAM and BinaryAI)...
format Preprint
id arxiv_https___arxiv_org_abs_2504_19551
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle BinCoFer: Three-Stage Purification for Effective C/C++ Binary Third-Party Library Detection
Zou, Yayi
Zhang, Yixiang
Zhao, Guanghao
Wu, Yueming
Shen, Shuhao
Fu, Cai
Software Engineering
Third-party libraries (TPL) are becoming increasingly popular to achieve efficient and concise software development. However, unregulated use of TPL will introduce legal and security issues in software development. Consequently, some studies have attempted to detect the reuse of TPLs in target programs by constructing a feature repository. Most of the works require access to the source code of TPLs, while the others suffer from redundancy in the repository, low detection efficiency, and difficulties in detecting partially referenced third-party libraries. Therefore, we introduce BinCoFer, a tool designed for detecting TPLs reused in binary programs. We leverage the work of binary code similarity detection(BCSD) to extract binary-format TPL features, making it suitable for scenarios where the source code of TPLs is inaccessible. BinCoFer employs a novel three-stage purification strategy to mitigate feature repository redundancy by highlighting core functions and extracting function-level features, making it applicable to scenarios of partial reuse of TPLs. We have observed that directly using similarity threshold to determine the reuse between two binary functions is inaccurate, a problem that previous work has not addressed. Thus we design a method that uses weight to aggregate the similarity between functions in the target binary and core functions to ultimately judge the reuse situation with high frequency. To examine the ability of BinCoFer, we compiled a dataset on ArchLinux and conduct comparative experiments on it with other four most related works (i.e., ModX, B2SFinder, LibAM and BinaryAI)...
title BinCoFer: Three-Stage Purification for Effective C/C++ Binary Third-Party Library Detection
topic Software Engineering
url https://arxiv.org/abs/2504.19551