Know Your Neighborhood: General and Zero-Shot Capable Binary Function Search Powered by Call Graphlets
Not on the map. Why?
Abstract (arXiv)
Binary code similarity detection is an important problem with applications in areas such as malware analysis, vulnerability research and license violation detection. This paper proposes a novel graph neural network architecture combined with a novel graph data representation called call graphlets. A call graphlet encodes the neighborhood around each function in a binary executable, capturing the local and global context through a series of statistical features. A specialized graph neural network model operates on this graph representation, learning to map it to a feature vector that encodes semantic binary code similarities using deep-metric learning. The proposed approach is evaluated across five distinct datasets covering different architectures, compiler tool chains, and optimization levels. Experimental results show that the combination of call graphlets and the novel graph neural network architecture achieves comparable or state-of-the-art performance compared to baseline techniques across cross-architecture, mono-architecture and zero shot tasks. In addition, our proposed approach also performs well when evaluated against an out-of-domain function inlining task. The work provides a general and effective graph neural network-based solution for conducting binary code similarity detection.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 18 of its 36 references that are in the map. First posted on arXiv 2 Jun 2024.
Builds on
18 of 36 references.
References · 18
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2016Layer Normalizationcited by 5,579
- 2019Fast Graph Representation Learning with PyTorch Geometriccited by 2,414
- 2016Instance Normalization: The Missing Ingredient for Fast Stylizationcited by 1,187
- 2018Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networkscited by 878
- 2017In Defense of the Triplet Loss for Person Re-Identificationcited by 784
- 2020Circle Loss: A Unified Perspective of Pair Similarity Optimizationcited by 402
- 2019Graph Matching Networks for Learning the Similarity of Graph Structured Objectscited by 202
- 2020GraphNorm: A Principled Approach to Accelerating Graph Neural Network Trainingcited by 116
- 2021PalmTree: Learning an Assembly Language Model for Instruction Embeddingcited by 49
- 2022jTrans: Jump-Aware Transformer for Binary Code Similaritycited by 44
- 2020Trex: Learning Execution Semantics from Micro-Traces for Binary Similaritycited by 34
6 more
- 2020Revisiting Binary Code Similarity Analysis using Interpretable Feature Engineering and Lessons Learnedcited by 14
- 2023CFG2VEC: Hierarchical Graph Neural Network for Cross-Architectural Software Reverse Engineeringcited by 6
- 2023GraphMoco:a Graph Momentum Contrast Model that Using Multimodel Structure Information for Large-scale Binary Function Representation Learningcited by 5
- 2023FASER: Binary Code Similarity Search through the use of Intermediate Representationscited by 4
- 2022Scalable Program Clone Search Through Spectral Analysiscited by 3
- 2022Semantic Learning and Emulation Based Cross-platform Binary Vulnerability Seekercited by 1
Built on by
Not cited yet.