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...
| Published in: | BenchCouncil Transactions on Benchmarks, Standards and Evaluations |
|---|---|
| Main Authors: | , , |
| 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 |
