MALSIGHT: Exploring Malicious Source Code and Benign Pseudocode for Iterative Binary Malware Summarization

📄 arXiv: 2406.18379v3 📥 PDF

作者: Haolang Lu, Hongrui Peng, Guoshun Nan, Jiaoyang Cui, Cheng Wang, Weifei Jin, Songtao Wang, Shengli Pan, Xiaofeng Tao

分类: cs.CR, cs.AI, cs.SE

发布日期: 2024-06-26 (更新: 2025-06-17)

备注: Accepted by IEEE Transactions on Information Forensics & Security


💡 一句话要点

MALSIGHT:探索恶意源码与良性伪代码,实现迭代式二进制恶意软件摘要生成

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 恶意软件分析 代码摘要 大型语言模型 二进制代码 伪代码

📋 核心要点

  1. 现有基于LLM的恶意软件摘要方法存在可用性差、解释不准确、摘要不完整等问题,难以有效辅助恶意软件分析。
  2. MALSIGHT框架通过探索恶意源码和良性伪代码,迭代生成恶意软件描述,从而提升摘要的质量和完整性。
  3. 实验结果表明,MALSIGHT框架有效,提出的MalT5模型仅用0.77B参数即可达到与更大模型Code-Llama相当的性能。

📝 摘要(中文)

二进制恶意软件摘要旨在从可执行文件中自动生成人类可读的恶意软件行为描述,从而促进恶意软件破解和检测等任务。先前基于大型语言模型(LLM)的方法显示出巨大的潜力。然而,它们仍然面临着严重的问题,包括可用性差、解释不准确和摘要不完整,这主要是由于模糊的伪代码结构和缺乏恶意软件训练摘要。此外,函数之间的调用关系(涉及二进制恶意软件内部的丰富交互)在很大程度上仍未被探索。为此,我们提出了MALSIGHT,这是一种新颖的代码摘要框架,可以通过探索恶意源代码和良性伪代码来迭代生成二进制恶意软件的描述。具体来说,我们使用LLM构建了第一个恶意软件摘要数据集MalS和MalP,并通过人工努力手动改进该数据集。在训练阶段,我们在MalS和良性伪代码数据集上调整了我们提出的MalT5,这是一种新颖的基于LLM的代码模型。然后在测试阶段,我们迭代地将伪代码函数输入到MalT5中以获得摘要。这样的过程有助于理解伪代码结构并捕获函数之间复杂的交互,从而有益于摘要的可用性、准确性和完整性。此外,我们提出了一个新的评估基准BLEURT-sum来衡量摘要的质量。在三个数据集上的实验表明了所提出的MALSIGHT的有效性。值得注意的是,我们提出的MalT5仅具有0.77B参数,即可提供与更大的Code-Llama相当的性能。

🔬 方法详解

问题定义:二进制恶意软件摘要旨在自动生成恶意软件行为的人类可读描述,以辅助恶意软件分析。现有方法依赖于大型语言模型,但由于伪代码结构模糊、缺乏恶意软件训练数据以及忽略函数间调用关系,导致摘要可用性差、准确性低、完整性不足。

核心思路:MALSIGHT的核心思路是利用恶意源代码和良性伪代码,通过迭代的方式生成恶意软件摘要。通过同时学习恶意代码的特征和良性代码的结构,模型可以更好地理解恶意软件的行为,并生成更准确、更完整的摘要。迭代生成的方式有助于模型逐步理解函数间的复杂交互关系。

技术框架:MALSIGHT框架包含数据构建、模型训练和摘要生成三个主要阶段。首先,利用LLM构建恶意软件摘要数据集MalS和MalP,并进行人工修正。然后,在MalS和良性伪代码数据集上训练MalT5模型。最后,在测试阶段,迭代地将伪代码函数输入到MalT5中,生成最终的恶意软件摘要。

关键创新:MALSIGHT的关键创新在于:1) 构建了恶意软件摘要数据集MalS和MalP;2) 提出了MalT5模型,该模型在恶意代码和良性代码上进行训练,能够更好地理解恶意软件行为;3) 提出了迭代摘要生成方法,能够捕获函数间的复杂交互关系;4) 提出了新的评估基准BLEURT-sum,用于评估摘要质量。

关键设计:MalT5模型基于T5架构,并在恶意软件摘要数据集和良性伪代码数据集上进行微调。迭代摘要生成过程通过循环调用MalT5模型,每次输入一个伪代码函数,并将生成的摘要作为上下文信息传递给下一次调用。BLEURT-sum评估基准基于BLEURT模型,并针对摘要任务进行了优化。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,MALSIGHT在三个数据集上均取得了显著的性能提升。特别是,提出的MalT5模型仅使用0.77B参数,就达到了与更大模型Code-Llama相当的性能。此外,BLEURT-sum评估结果表明,MALSIGHT生成的摘要在准确性、完整性和可用性方面均优于现有方法。

🎯 应用场景

MALSIGHT可应用于恶意软件分析、安全漏洞挖掘、威胁情报生成等领域。通过自动生成恶意软件摘要,安全分析人员可以快速了解恶意软件的行为,从而提高分析效率。此外,该技术还可以用于构建自动化恶意软件分析平台,为安全防御提供支持。未来,该技术有望应用于移动安全、物联网安全等新兴领域。

📄 摘要(原文)

Binary malware summarization aims to automatically generate human-readable descriptions of malware behaviors from executable files, facilitating tasks like malware cracking and detection. Previous methods based on Large Language Models (LLMs) have shown great promise. However, they still face significant issues, including poor usability, inaccurate explanations,and incomplete summaries, primarily due to the obscure pseudocode structure and the lack of malware training summaries. Further, calling relationships between functions, which involve the rich interactions within a binary malware, remain largely underexplored. To this end, we propose MALSIGHT, a novel code summarization framework that can iteratively generate descriptions of binary malware by exploring malicious source code and benign pseudocode. Specifically, we construct the first malware summary dataset, MalS and MalP, using an LLM and manually refine this dataset with human effort. At the training stage, we tune our proposed MalT5, a novel LLM-based code model, on the MalS and benign pseudocode datasets. Then, at the test stage, we iteratively feed the pseudocode functions into MalT5 to obtain the summary. Such a procedure facilitates the understanding of pseudocode structure and captures the intricate interactions between functions, thereby benefiting summaries' usability, accuracy, and completeness. Additionally, we propose a novel evaluation benchmark, BLEURT-sum, to measure the quality of summaries. Experiments on three datasets show the effectiveness of the proposed MALSIGHT. Notably, our proposed MalT5, with only 0.77B parameters, delivers comparable performance to much larger Code-Llama.