BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques

The binary code similarity detection (BCSD) technique can quantitatively measure the differences between two given binaries and give matching results at predefined granularity (e.g., function), and has been widely used in multiple scenarios including software vulnerability search, security patch ana...

Full description

Bibliographic Details
Published in:BenchCouncil Transactions on Benchmarks, Standards and Evaluations
Main Authors: Peihua Zhang, Chenggang Wu, Zhe Wang
Format: Article
Language:English
Published: KeAi Communications Co. Ltd. 2024-06-01
Subjects:
Online Access:http://www.sciencedirect.com/science/article/pii/S2772485924000152
_version_ 1850029975131914240
author Peihua Zhang
Chenggang Wu
Zhe Wang
author_facet Peihua Zhang
Chenggang Wu
Zhe Wang
author_sort Peihua Zhang
collection DOAJ
container_title BenchCouncil Transactions on Benchmarks, Standards and Evaluations
description The binary code similarity detection (BCSD) technique can quantitatively measure the differences between two given binaries and give matching results at predefined granularity (e.g., function), and has been widely used in multiple scenarios including software vulnerability search, security patch analysis, malware detection, code clone detection, etc. With the help of deep learning, the BCSD techniques have achieved high accuracy in their evaluation. However, on the one hand, their high accuracy has become indistinguishable due to the lack of a standard dataset, thus being unable to reveal their abilities. On the other hand, since binary code can be easily changed, it is essential to gain a holistic understanding of the underlying transformations including default optimization options, non-default optimization options, and commonly used code obfuscations, thus assessing their impact on the accuracy and adaptability of the BCSD technique. This paper presents our observations regarding the diversity of BCSD datasets and proposes a comprehensive dataset for the BCSD technique. We employ and present detailed evaluation results of various BCSD works, applying different classifications for different types of BCSD tasks, including pure function pairing and vulnerable code detection. Our results show that most BCSD works are capable of adopting default compiler options but are unsatisfactory when facing non-default compiler options and code obfuscation. We take a layered perspective on the BCSD task and point to opportunities for future optimizations in the technologies we consider.
format Article
id doaj-art-e2202087f64a4592a97c3a1cbcc070ca
institution Directory of Open Access Journals
issn 2772-4859
language English
publishDate 2024-06-01
publisher KeAi Communications Co. Ltd.
record_format Article
spelling doaj-art-e2202087f64a4592a97c3a1cbcc070ca2025-08-20T00:36:26ZengKeAi Communications Co. Ltd.BenchCouncil Transactions on Benchmarks, Standards and Evaluations2772-48592024-06-014210016310.1016/j.tbench.2024.100163BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniquesPeihua Zhang0Chenggang Wu1Zhe Wang2SKLP, Institute of Computing Technology, China; UCAS, ChinaSKLP, Institute of Computing Technology, China; UCAS, China; Zhongguancun Laboratory, ChinaSKLP, Institute of Computing Technology, China; Zhongguancun Laboratory, China; Corresponding author at: SKLP, Institute of Computing Technology, China.The binary code similarity detection (BCSD) technique can quantitatively measure the differences between two given binaries and give matching results at predefined granularity (e.g., function), and has been widely used in multiple scenarios including software vulnerability search, security patch analysis, malware detection, code clone detection, etc. With the help of deep learning, the BCSD techniques have achieved high accuracy in their evaluation. However, on the one hand, their high accuracy has become indistinguishable due to the lack of a standard dataset, thus being unable to reveal their abilities. On the other hand, since binary code can be easily changed, it is essential to gain a holistic understanding of the underlying transformations including default optimization options, non-default optimization options, and commonly used code obfuscations, thus assessing their impact on the accuracy and adaptability of the BCSD technique. This paper presents our observations regarding the diversity of BCSD datasets and proposes a comprehensive dataset for the BCSD technique. We employ and present detailed evaluation results of various BCSD works, applying different classifications for different types of BCSD tasks, including pure function pairing and vulnerable code detection. Our results show that most BCSD works are capable of adopting default compiler options but are unsatisfactory when facing non-default compiler options and code obfuscation. We take a layered perspective on the BCSD task and point to opportunities for future optimizations in the technologies we consider.http://www.sciencedirect.com/science/article/pii/S2772485924000152DatasetBinary code similarity detectionCompiler optimizationCode obfuscation
spellingShingle Peihua Zhang
Chenggang Wu
Zhe Wang
BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
Dataset
Binary code similarity detection
Compiler optimization
Code obfuscation
title BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
title_full BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
title_fullStr BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
title_full_unstemmed BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
title_short BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniques
title_sort bincodex a comprehensive and multi level dataset for evaluating binary code similarity detection techniques
topic Dataset
Binary code similarity detection
Compiler optimization
Code obfuscation
url http://www.sciencedirect.com/science/article/pii/S2772485924000152
work_keys_str_mv AT peihuazhang bincodexacomprehensiveandmultileveldatasetforevaluatingbinarycodesimilaritydetectiontechniques
AT chenggangwu bincodexacomprehensiveandmultileveldatasetforevaluatingbinarycodesimilaritydetectiontechniques
AT zhewang bincodexacomprehensiveandmultileveldatasetforevaluatingbinarycodesimilaritydetectiontechniques