Enhancing Function Name Prediction using Votes-Based Name Tokenization and Multi-Task Learning

Proc. ACM Softw. Eng. 1,FSE, Article 75 (July 2024), 24 pages
2024年05月15日
  • 简介
    最近的二进制函数名称预测使用数据驱动的机器学习取得了一定的进展,这些预测方法可以为反向工程师提供有价值的见解,因为在公开发布的二进制文件中缺少描述性函数名称。然而,现有方法在捕获不同优化的二进制文件中的函数语义方面遇到了困难,无法保留函数名称中标签的含义。我们提出了Epitome框架,它使用基于投票的名称分词和多任务学习来增强函数名称预测,专门针对不同编译优化二进制文件。Epitome通过预先训练的汇编语言模型和图神经网络学习全面的函数语义,包括函数语义相似性预测任务,以最大化不同编译优化级别上下文中函数语义的相似性。此外,我们提出了两种数据预处理方法来提高函数名称的可理解性。我们使用从编译为5种优化(O0-Os)的4种架构(x64、x86、ARM和MIPS)的二进制文件中提取的2,597,346个函数来评估Epitome的性能。Epitome在精度、召回率和F1分数方面的表现超过了最先进的函数名称预测工具,分别提高了44.34%,64.16%和54.44%,同时也表现出了更好的泛化能力。
  • 作者讲解
  • 图表
  • 解决问题
    本文旨在解决反向工程中缺少描述性函数名称的问题,并提出了一种新的方法来增强函数名称预测。
  • 关键思路
    作者提出了Epitome框架,通过基于投票的名称分词和多任务学习,结合预训练的汇编语言模型和图神经网络,学习全面的函数语义,进而提高函数名称预测的准确率。
  • 其它亮点
    作者在2,597,346个函数上评估了Epitome的性能,证明其在精度、召回率和F1得分上均优于现有的方法,并展现了出色的通用性。此外,作者还提出了两种数据预处理方法来提高函数名称的可读性。
  • 相关研究
    最近的相关研究包括二进制代码分析、函数名称预测和反向工程等方面。例如,有关函数名称预测的相关研究包括DeepBinDiff和BinSeq等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问