English

BLens: Contrastive Captioning of Binary Functions using Ensemble Embedding

Machine Learning 2025-02-04 v2 Cryptography and Security

Abstract

Function names can greatly aid human reverse engineers, which has spurred the development of machine learning-based approaches to predicting function names in stripped binaries. Much current work in this area now uses transformers, applying a metaphor of machine translation from code to function names. Still, function naming models face challenges in generalizing to projects unrelated to the training set. In this paper, we take a completely new approach by transferring advances in automated image captioning to the domain of binary reverse engineering, such that different parts of a binary function can be associated with parts of its name. We propose BLens, which combines multiple binary function embeddings into a new ensemble representation, aligns it with the name representation latent space via a contrastive learning approach, and generates function names with a transformer architecture tailored for function names. Our experiments demonstrate that BLens significantly outperforms the state of the art. In the usual setting of splitting per binary, we achieve an F1F_1 score of 0.79 compared to 0.70. In the cross-project setting, which emphasizes generalizability, we achieve an F1F_1 score of 0.46 compared to 0.29. Finally, in an experimental setting reducing shared components across projects, we achieve an F1F_1 score of 0.320.32 compared to 0.190.19.

Keywords

Cite

@article{arxiv.2409.07889,
  title  = {BLens: Contrastive Captioning of Binary Functions using Ensemble Embedding},
  author = {Tristan Benoit and Yunru Wang and Moritz Dannehl and Johannes Kinder},
  journal= {arXiv preprint arXiv:2409.07889},
  year   = {2025}
}

Comments

Accepted at the 34th USENIX Security Symposium (Usenix 2025). 20 pages, 5 figures. Tristan Benoit and Yunru Wang made equal contributions to this work

R2 v1 2026-06-28T18:42:15.948Z