- 简介二进制代码分析在各种软件安全应用中起着关键作用,如软件维护、恶意软件检测、软件漏洞发现、补丁分析等。然而,与源代码不同的是,由于缺乏语义信息,理解二进制代码对于逆向工程师来说是具有挑战性的。因此,需要自动化工具来协助人类玩家解释二进制代码。近年来,两组技术显示出了良好的前景:(1)基于深度学习的技术在与二进制代码理解相关的任务中展示出有竞争力的结果,此外,(2)大型语言模型(LLM)已经在源代码级别上广泛预训练,用于代码理解和生成等任务。这使得参与者对LLM在二进制代码理解方面的能力产生了疑问。在这项工作中,我们提出了一个基准来评估LLM在实际逆向工程场景中的有效性。基准涵盖了两个关键的二进制代码理解任务,包括函数名称恢复和二进制代码摘要。通过对流行的LLM进行广泛评估,我们获得了有价值的洞见,了解了它们的能力和局限性。我们的评估揭示了现有LLM在一定程度上能够理解二进制代码,从而提高了二进制代码分析的效率。我们的结果突出了LLM在推进二进制代码理解领域方面的巨大潜力。
-
- 图表
- 解决问题评估大型语言模型在二进制代码理解中的有效性,特别是在函数名称恢复和二进制代码摘要这两个任务上。
- 关键思路使用大型语言模型(LLMs)对二进制代码进行预训练,通过在两个任务上的广泛评估,揭示了现有LLMs在二进制代码理解方面的能力和局限性。
- 其它亮点论文提出了一个基准来评估LLMs在实际反向工程场景中的有效性,提高了二进制代码分析的效率。实验使用了多个数据集,包括已经公开的和自己构建的。研究结果表明现有的LLMs在一定程度上能够理解二进制代码,具有很大的潜力推进二进制代码理解领域。
- 最近的相关研究包括使用深度学习技术进行二进制代码理解,以及LLMs在源代码理解和生成方面的应用。


提问交流