arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2107.13404cs.CRcs.LGcs.SE
收藏

XFL:使用极端多标签学习的二进制函数

XFL: Naming Functions in Binaries with Extreme Multi-label Learning

Research Institute CODE, Bundeswehr University Munich(慕尼黑联邦国防军大学CODE研究院);Royal Holloway, University of London(伦敦大学皇家霍洛威学院)

James Patrick-Evans, Moritz Dannehl, Johannes Kinder

摘要:

逆向工程师受益于二进制文件中存在的标识符(如函数名),但通常这些标识符会在发布时被删除。训练一个机器学习模型来自动预测函数名是有希望的,但从根本上说是困难的:与自然语言中的单词不同,大多数函数名只出现一次。在本文中,我们通过引入极限函数标签(XFL)来解决这个问题,这是一种极端的多标签学习方法,可以为二进制函数选择合适的标签。XFL将函数名拆分为标记,将每个标记视为信息标签,类似于在自然语言中标记文本的问题。我们通过DEXTER将二进制代码的语义与标签联系起来,DEXTER是一种新颖的函数嵌入,它将基于静态分析的功能与来自调用图的局部上下文和来自整个二进制的全局上下文相结合。我们证明了XFL/DEXTER在Debian项目的10,047个二进制数据集上的函数标记方面优于最先进的技术,达到了83.5%的精度。我们还研究了XFL与文献中的替代二进制嵌入的组合,并表明DEXTER始终最适合这项任务。因此,我们证明了二元函数标记可以有效地在多标签学习方面进行措辞,并且二元函数嵌入受益于包括显式语义特征。

英文摘要:

Reverse engineers benefit from the presence of identifiers such as function names in a binary, but usually these are removed for release. Training a machine learning model to predict function names automatically is promising but fundamentally hard: unlike words in natural language, most function names occur only once. In this paper, we address this problem by introducing eXtreme Function Labeling (XFL), an extreme multi-label learning approach to selecting appropriate labels for binary functions. XFL splits function names into tokens, treating each as an informative label akin to the problem of tagging texts in natural language. We relate the semantics of binary code to labels through DEXTER, a novel function embedding that combines static analysis-based features with local context from the call graph and global context from the entire binary. We demonstrate that XFL/DEXTER outperforms the state of the art in function labeling on a dataset of 10,047 binaries from the Debian project, achieving a precision of 83.5%. We also study combinations of XFL with alternative binary embeddings from the literature and show that DEXTER consistently performs best for this task. As a result, we demonstrate that binary function labeling can be effectively phrased in terms of multi-label learning, and that binary function embeddings benefit from including explicit semantic features.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑