Skip to main content
QUICK REVIEW

[论文解读] Unsupervised Features Extraction for Binary Similarity Using Graph Embedding Neural Networks

Roberto Baldoni, Giuseppe Antonio Di Luna|arXiv (Cornell University)|Oct 23, 2018
Software Engineering Research参考文献 21被引用 9
一句话总结

本文提出了一种基于图嵌入神经网络的无监督特征学习方法,用于二进制函数相似性计算,通过从标注的控制流图(ACFG)生成嵌入表示。与手工特征工程不同,该方法利用类似 word2vec 的指令嵌入(i2v)自动提取顶点特征,在二进制相似性任务中相比最先进方法实现了 2% 的性能提升,同时在嵌入空间中实现了有意义的语义聚类。

ABSTRACT

In this paper we consider the binary similarity problem that consists in determining if two binary functions are similar only considering their compiled form. This problem is know to be crucial in several application scenarios, such as copyright disputes, malware analysis, vulnerability detection, etc. The current state-of-the-art solutions in this field work by creating an embedding model that maps binary functions into vectors in $\mathbb{R}^{n}$. Such embedding model captures syntactic and semantic similarity between binaries, i.e., similar binary functions are mapped to points that are close in the vector space. This strategy has many advantages, one of them is the possibility to precompute embeddings of several binary functions, and then compare them with simple geometric operations (e.g., dot product). In [32] functions are first transformed in Annotated Control Flow Graphs (ACFGs) constituted by manually engineered features and then graphs are embedded into vectors using a deep neural network architecture. In this paper we propose and test several ways to compute annotated control flow graphs that use unsupervised approaches for feature learning, without incurring a human bias. Our methods are inspired after techniques used in the natural language processing community (e.g., we use word2vec to encode assembly instructions). We show that our approach is indeed successful, and it leads to better performance than previous state-of-the-art solutions. Furthermore, we report on a qualitative analysis of functions embeddings. We found interesting cases in which embeddings are clustered according to the semantic of the original binary function.

研究动机与目标

  • 为解决在恶意软件分析、漏洞检测和版权纠纷中缺乏源代码时的二进制函数相似性挑战。
  • 通过用无监督学习技术替代手工设计的 ACFG 特征,减少人工特征工程中的偏见。
  • 评估无监督指令嵌入模型(如 i2v)是否能提升二进制函数图嵌入的质量。
  • 探究所学习的嵌入是否能捕捉汇编代码的语义与句法结构,从而实现有意义的聚类与类比推理。
  • 探索嵌入在相同源代码二进制之外的泛化能力,暗示其在更广泛软件分析任务中的潜力。

提出的方法

  • 从编译后的二进制函数构建标注的控制流图(ACFG),其中每个基本块作为顶点,其特征由汇编指令生成。
  • 应用在大规模汇编代码语料上预训练的无监督指令嵌入模型(i2v),将单条指令映射为稠密向量。
  • 通过加权平均指令嵌入计算顶点特征向量,其中在性能最佳的变体(i2v_attention)中使用注意力机制。
  • 使用基于 Structure2Vec 的图神经网络将整个 ACFG 嵌入为 R^n 中的固定大小向量,以保留结构与语义相似性。
  • 采用 t-SNE 进行降维,以可视化并定性分析函数嵌入的语义聚类。
  • 使用标准二进制相似性基准评估性能,对比无监督特征学习与手工特征工程的效果。

实验结果

研究问题

  • RQ1无监督指令嵌入模型(如 i2v)是否能在生成有效 ACFG 嵌入方面超越手工设计的特征?
  • RQ2所学习的嵌入是否能捕捉汇编指令之间的语义关系,如算术运算或内存访问模式?
  • RQ3嵌入空间是否能揭示基于语义行为的函数聚类,即使这些函数由同一源代码编译或采用不同优化?
  • RQ4嵌入空间中是否存在类比推理的证据,例如向量运算能捕捉指令变换(如 add → sub)?
  • RQ5嵌入在相同源代码二进制之外的泛化能力如何,是否暗示其在更广泛软件分析任务中的潜力?

主要发现

  • 采用注意力加权指令嵌入的 i2v_attention 模型,在二进制相似性任务中相比基于手工特征工程的最先进方法,性能提升了 2%。
  • 定性 t-SNE 可视化显示,按语义类型(如 AES 辅助函数、Camellia 加密/解密函数)对函数嵌入进行了清晰聚类,表明嵌入空间中保留了语义信息。
  • i2v 模型成功捕捉了汇编指令之间的句法与语义关系,证据来自向量类比,如 add → sub 和 ldr → str 的变换。
  • 来自不同编译器或架构的同一函数的嵌入在空间中聚类紧密,表明对编译差异具有鲁棒性。
  • 基于采样的特征提取方法表现较差,表明其不适用于二进制相似性任务。
  • 结果表明,无监督指令嵌入可泛化至非同源代码二进制,暗示其在更广泛软件分析任务中具有潜力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。