Source Code Foundation Models are Transferable Binary Analysis Knowledge Bases
作者: Zian Su, Xiangzhe Xu, Ziyang Huang, Kaiyuan Zhang, Xiangyu Zhang
分类: cs.SE, cs.AI, cs.CL
发布日期: 2024-05-30 (更新: 2024-10-30)
💡 一句话要点
提出一种探针与恢复框架,利用源码大模型提升二进制代码分析效果
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 二进制代码分析 源码基础模型 大型语言模型 逆向工程 代码摘要
📋 核心要点
- 现有HOBRE方法依赖单模态模型或通用LLM,性能欠佳,无法有效弥合二进制-源代码语义鸿沟。
- 提出探针与恢复框架,利用SCFMs生成上下文,辅助黑盒LLM进行二进制分析,提升恢复精度。
- 实验表明,该方法在二进制摘要和函数名恢复任务上显著优于现有方法,提升效果明显。
📝 摘要(中文)
本文提出了一种新颖的探针与恢复框架,用于解决人机导向的二进制逆向工程(HOBRE)问题,旨在弥合二进制代码和源代码之间的语义鸿沟。该框架结合了二进制-源代码编码器-解码器模型和黑盒大型语言模型(LLMs),利用预训练的源码基础模型(SCFMs)合成相关的、富含符号的代码片段作为上下文。这些上下文信息能够帮助黑盒LLMs提高恢复精度。实验结果表明,该方法在零样本二进制摘要和二进制函数名恢复方面取得了显著的改进,摘要任务的CHRF指标相对提升了10.3%,基于GPT4的指标相对提升了16.7%,函数名恢复的token级别精确率和召回率分别绝对提升了6.7%和7.4%。这些结果证明了该方法在自动化和改进二进制代码分析方面的有效性。
🔬 方法详解
问题定义:论文旨在解决人机导向的二进制逆向工程(HOBRE)问题,即如何将二进制代码转换为人类可读的、与源代码相关的形式,从而弥合二进制代码和源代码之间的语义鸿沟。现有方法主要依赖于单模态模型(如SCFMs)的监督微调或通用LLMs的提示学习,这些方法无法充分利用双侧(二进制和源代码)的信息,导致性能不佳。
核心思路:论文的核心思路是利用预训练的源码基础模型(SCFMs)的知识,生成与二进制代码相关的、富含符号信息的代码片段作为上下文,然后将这些上下文信息提供给黑盒大型语言模型(LLMs),以提高LLMs在二进制分析任务中的性能。这种方法借鉴了多模态模型的思想,将来自不同模态的信息融合起来,从而更好地理解二进制代码的语义。
技术框架:该框架主要包含两个部分:二进制-源代码编码器-解码器模型和黑盒LLMs。首先,使用二进制-源代码编码器-解码器模型,根据输入的二进制代码生成相关的代码片段。然后,将生成的代码片段作为上下文,与原始的二进制代码一起输入到黑盒LLMs中。LLMs根据这些信息进行二进制摘要或函数名恢复等任务。整个流程可以看作是一个“探针”和“恢复”的过程,其中编码器-解码器模型负责“探针”,LLMs负责“恢复”。
关键创新:该方法最重要的创新点在于利用了SCFMs的预训练知识,生成与二进制代码相关的上下文信息。这种方法避免了直接对LLMs进行微调或提示学习,而是通过提供额外的上下文信息来引导LLMs更好地理解二进制代码的语义。这种方法可以充分利用SCFMs的知识,同时避免了对LLMs的过度依赖。
关键设计:论文中没有明确给出关键的参数设置、损失函数、网络结构等技术细节,这些信息可能在相关的参考文献中。但可以推测,编码器-解码器模型的训练可能使用了标准的序列到序列学习方法,损失函数可能包括交叉熵损失等。黑盒LLMs的选择和使用方式也是一个关键的设计点,论文中使用了GPT4作为黑盒LLM,并对其进行了适当的提示工程。
🖼️ 关键图片
📊 实验亮点
实验结果表明,该方法在零样本二进制摘要和二进制函数名恢复任务上取得了显著的改进。在摘要任务中,CHRF指标相对提升了10.3%,基于GPT4的指标相对提升了16.7%。在函数名恢复任务中,token级别精确率和召回率分别绝对提升了6.7%和7.4%。这些结果表明,该方法能够有效地利用SCFMs的知识,提高二进制代码分析的准确性和效率。
🎯 应用场景
该研究成果可应用于自动化二进制代码分析、恶意代码检测、软件漏洞挖掘等领域。通过提升二进制代码的可读性和可理解性,可以帮助安全研究人员更高效地分析和理解二进制程序,从而提高软件安全性和可靠性。未来,该方法有望应用于更复杂的二进制分析任务,例如二进制代码相似性检测、二进制代码补丁生成等。
📄 摘要(原文)
Human-Oriented Binary Reverse Engineering (HOBRE) lies at the intersection of binary and source code, aiming to lift binary code to human-readable content relevant to source code, thereby bridging the binary-source semantic gap. Recent advancements in uni-modal code model pre-training, particularly in generative Source Code Foundation Models (SCFMs) and binary understanding models, have laid the groundwork for transfer learning applicable to HOBRE. However, existing approaches for HOBRE rely heavily on uni-modal models like SCFMs for supervised fine-tuning or general LLMs for prompting, resulting in sub-optimal performance. Inspired by recent progress in large multi-modal models, we propose that it is possible to harness the strengths of uni-modal code models from both sides to bridge the semantic gap effectively. In this paper, we introduce a novel probe-and-recover framework that incorporates a binary-source encoder-decoder model and black-box LLMs for binary analysis. Our approach leverages the pre-trained knowledge within SCFMs to synthesize relevant, symbol-rich code fragments as context. This additional context enables black-box LLMs to enhance recovery accuracy. We demonstrate significant improvements in zero-shot binary summarization and binary function name recovery, with a 10.3% relative gain in CHRF and a 16.7% relative gain in a GPT4-based metric for summarization, as well as a 6.7% and 7.4% absolute increase in token-level precision and recall for name recovery, respectively. These results highlight the effectiveness of our approach in automating and improving binary code analysis.