BinCola: Diversity-Sensitive Contrastive Learning for Binary Code Similarity Detection

Shuai Jiang, Cai Fu, Shuai He, Jianqiang Lv, Lansheng Han, Hong Hu

Research output: Contribution to journalArticlepeer-review

1 Scopus citations

Abstract

Binary Code Similarity Detection (BCSD) is a fundamental binary analysis technique in the area of software security. Recently, advanced deep learning algorithms are integrated into BCSD platforms to achieve superior performance on well-known benchmarks. However, real-world large programs embed more complex diversities due to different compilers, various optimization levels, multiple architectures and even obfuscations. Existing BCSD solutions suffer from low accuracy issues in such complicated real-world application scenarios. In this paper, we propose BinCola, a novel Transformer-based dual diversity-sensitive contrastive learning framework that comprehensively considers the diversity of compiler options and candidate functions in the real-world application scenarios and employs the attention mechanism to fuse multi-granularity function features for enhancing generality and scalability. BinCola simultaneously compares multiple candidate functions across various compilation option scenarios to learn the differences caused by distinct compiler options and different candidate functions. We evaluate BinCola's performance in a variety of ways, including binary similarity detection and real-world vulnerability search in multiple application scenarios. The results demonstrate that BinCola achieves superior performance compared to state-of-the-art (SOTA) methods, with improvements of 2.80%, 33.62%, 22.41%, and 34.25% in cross-architecture, cross-optimization level, cross-compiler, and cross-obfuscation scenarios, respectively.

Original languageEnglish (US)
Pages (from-to)2485-2497
Number of pages13
JournalIEEE Transactions on Software Engineering
Volume50
Issue number10
DOIs
StatePublished - 2024

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'BinCola: Diversity-Sensitive Contrastive Learning for Binary Code Similarity Detection'. Together they form a unique fingerprint.

Cite this