分享自:

迈向大型恶意软件语言模型:超越原始字节

期刊:Network and Distributed System Security (NDSS) SymposiumDOI:10.14722/ndss.2026.230103

本文档是一篇发表于网络与分布式系统安全研讨会(NDSS Symposium)2026年的学术论文,标题为“超越原始字节:迈向大型恶意软件语言模型”。作者团队由Luke Kurlandski、Harel Berger、Yin Pan和Matthew Wright组成,分别来自罗彻斯特理工学院(Rochester Institute of Technology)和以色列的阿里尔大学(Ariel University)。本文将对此原创研究进行全面报告。

一、 研究背景与动机

主要作者与机构: 本研究由Luke Kurlandski(罗彻斯特理工学院)、Harel Berger(阿里尔大学,主要工作在乔治城大学期间完成)、Yin Pan和Matthew Wright(均为罗彻斯特理工学院)合作完成。研究发表于网络与分布式系统安全研讨会(NDSS Symposium)2026。

学术领域与研究背景: 本研究属于网络安全和人工智能的交叉领域,具体聚焦于利用深度学习技术进行静态恶意软件分析。当前,基于原始字节的恶意软件分类器(raw-binary malware classifiers)虽然展现出潜力,但由于需要处理极端长度的字节序列,其在模型容量和长期依赖建模方面存在局限。与此同时,自然语言处理(NLP)领域的大型语言模型(Large Language Models, LLMs)通过在大规模无标签数据上进行自监督预训练,获得了强大的通用表征能力,并能灵活适应多种下游任务。

研究目的: 本研究旨在将LLM的成功范式迁移到恶意软件分析领域,提出并探索“大型恶意软件语言模型(Large Malware Language Models, LMLMs)”的开发。研究核心是围绕数据、模型、预训练和微调四个方面,系统性地回答如何构建LMLMs的问题。其最终目标是验证通过语言建模目标预训练模型是否能够提升下游实际恶意软件分类任务的性能,从而证明LMLMs有潜力取代或超越现有的原始字节分类器。

二、 详细研究流程

本研究包含一个完整且严谨的流程,覆盖了数据准备、模型设计、预训练和下游应用评估等多个关键环节。

1. 数据收集、处理与向量化 * 研究对象与样本规模: 研究专注于Windows平台可移植可执行文件(PE)。初始数据集汇集了来自Assemblage、BODMAS、SOREL以及本地Windows 10系统的超过一千万个PE文件。经过筛选(仅保留32位x86架构、去除了经过加密或压缩混淆的样本),最终获得约200万个文件(31k Assemblage, 5.7k BODMAS, 1.9m SOREL, 49k Windows本地)。 * 数据处理流程: * 三种基础代码表示: 研究提出了三种仅包含代码的恶意软件表示方式,以替代传统方法中从文件开头截取原始字节的做法。 1. 可执行节字节: 使用LIEF工具提取二进制文件中标记为“可执行”或“包含代码”的节,将其字节拼接为连续块。 2. 反汇编指令: 使用Ghidra无头模式对原始二进制文件进行反汇编,仅保留指令流。 3. 反编译代码: 使用Ghidra对二进制文件进行完全反编译,保留包括函数名、参数在内的所有信息。 这三种表示提供了从低级到高级、语义密度递增的代码视图,但高级表示也可能引入反汇编/反编译过程中的噪声。获取它们的计算成本差异巨大(可执行节字节约1毫秒/样本,反汇编约8秒/样本,反编译约14秒/样本)。 * 向量化: 为将代码数据转化为模型可处理的数值形式,研究采用子词分词(subword tokenization)技术。对于三种表示,先进行预分词:将连续16字节、单条指令、单行代码分别视为一个“词”。然后使用字节对编码算法(Byte Pair Encoding, BPE)进一步拆分为子词。此方法实现了无损压缩,极大缩短了序列长度。实验表明,使用16,384词汇量的BPE分词器,代码序列可比传统原始字节序列缩短高达159倍。 * 数据冗余问题处理: 研究发现公开的PE恶意软件数据集(特别是SOREL)中存在严重的样本冗余,即大量不同文件拥有完全相同的代码。这会导致训练-测试数据泄漏,严重高估模型性能(实验中可导致高达35.6%的性能虚高)。为此,研究提出并实施了一套数据清洗流程:通过比对代码表示的哈希值识别重复样本,对于恶意和良性样本代码相同的情况,两者均被剔除;对于同种恶意代码但标签(如家族)不一致的情况,仅保留最常见标签的样本。这确保了数据集的异质性和评估的无偏性。

2. 大型恶意软件语言模型(LMLM)的设计 * 核心架构选择: 鉴于恶意软件序列极长,研究选择了计算复杂度与序列长度呈线性关系的架构,以处理整个程序。具体选择了两种先进的线性序列处理模型作为主干: 1. HRRformer: 一种通过“全息缩减表示”重铸自注意力机制、实现线性复杂度的Transformer变体。本研究为其实现了轻量级的旋转位置编码(RoPE)。 2. Mamba: 一种基于选择性状态空间模型(Selective State Space Model, SSM)的架构,在处理长序列任务上表现出色,且具有RNN的循环特性,无需额外位置编码。 * 模型缩放与形态: 研究通过深入分析激活内存(activations memory)发现,在长序列处理中,激活内存是扩展模型的关键瓶颈。与主流LLM“宽而浅”的形态不同,本研究提出并采用了“深而窄”的模型形态,即使用较多的层数和相对较小的隐藏维度。这可以在有限的激活内存预算下,最大化模型的可学习参数量。具体地,研究实现了具有约6000万非嵌入参数的HRRformer和Mamba变体,其参数量是先前工作的60倍。 * 方向性修改: 为适应不同任务,研究对两种架构进行了方向性修改,使其既能进行单向(因果,Causal)处理,也能进行双向(Bidirectional)处理。 * HRRformer的单向实现: 通过为每个时间步t动态计算仅包含前序令牌信息的叠加态,实现了因果约束。 * Mamba的双向实现: 受双向RNN启发,同时训练一个前向和一个后向的Mamba模型,并将它们的隐藏状态在特征维度上求和,得到最终表征。

3. 无标签数据上的预训练 * 预训练方法: 采用自监督学习对LMLMs进行预训练。 * 因果语言建模: 用于训练单向模型,目标是预测序列中的下一个令牌。 * 掩码语言建模: 用于训练双向模型,随机掩码输入序列中25%的令牌,让模型预测被掩码的原始令牌。 * 实验设置: 在超过80万个已去冗余的样本上,使用不同序列长度(2^12 到 2^16)进行预训练。使用AdamW优化器,并在包含4096个样本的验证集上评估模型的困惑度(Perplexity, PPL)和归一化困惑度(Normalized PPL, NPPL)。

4. 实际恶意软件分析任务的应用 * 下游任务: 预训练后,在三个实际任务上对模型进行微调和评估: 1. 恶意软件检测: 二元分类任务,判断样本是恶意还是良性。使用受试者工作特征曲线下面积(ROC)和准确率(Acc)评估。 2. 家族分类: 多类分类任务,判断恶意软件所属的精细家族。使用马修斯相关系数(MCC)和平衡准确率(BAC)评估,并采用类别重加权处理数据的长尾分布。 3. 行为标注: 多标签分类任务,判断恶意软件表现出哪些恶意行为。使用杰卡德指数(Jaccard Index, Jac)和汉明损失(Hamming Loss, Ham)评估,并采用Focal Loss缓解负样本过多的问题。 * 多视图集成: 研究还提出了一种集成模型,将基于三种不同代码表示(exe, dis, dec)的LMLM独立提取的潜向量拼接,再通过一个组合器网络进行决策,以综合利用不同层次代码视图的信息。 * 对比基线: 将预训练后微调的LMLM与相同架构但从头训练的模型,以及当前最先进的原始字节分类器MalConvGCT进行对比。 * 实验设置: 所有任务均使用经过去冗余清洗的数据集,并遵循严格的时间划分(训练集样本时间早于测试集),以确保评估的可靠性。每个模型针对不同任务进行微调,并报告详细的性能指标。

三、 主要研究结果

1. 数据预处理与压缩结果: * 使用代码专用表示(exe, dis, dec)并结合BPE分词,能有效将序列长度压缩至传统原始字节方法的1/159,极大地降低了计算成本。 * 数据冗余分析揭示了公开数据集的严重重复问题。实验证实,若不处理冗余,分类器性能会被显著高估(例如MalConvGCT在家族分类上的MCC从0.600降至0.407),强调了数据清洗的必要性。

2. 预训练结果: * 模型性能对比: 在因果和掩码语言建模任务中,基于Mamba的LMLM在exe, dis, dec三种表示上均优于基于HRRformer的LMLM,且随着序列长度的增加,优势更加明显。 * 代码表示影响: 模型在更高级的代码表示上学习更容易。具体表现为:对反编译代码建模的困惑度低于反汇编代码,而对反汇编代码建模的困惑度又低于原始字节代码。这表明尽管高级表示可能引入分析误差,但其更丰富的语义信息有助于模型学习。

3. 下游分类任务结果: * 预训练的效果: 总体而言,经过预训练的LMLM在下游任务上的表现优于从头训练的相同模型,平均性能提升1.1%,最高提升可达28.6%。预训练对恶意软件检测和行为标注任务的增益通常大于对家族分类的增益,并且对于使用反编译代码或所有输入表示的模型效益更大。单向模型从预训练中获益通常多于双向模型。 * 输入表示的影响: 三种代码单独使用在分类性能上差异不显著。但在恶意软件检测和行为标注任务上,集成所有三种输入表示(all)的模型往往能取得最佳或接近最佳的性能。 * 架构与方向性影响: Mamba架构在各项复杂任务(尤其是家族分类和行为标注)上显著优于HRRformer和MalConvGCT。双向模型在几乎所有任务和输入表示上,都明显优于其单向版本。 * 最优模型表现: 在双向Mamba模型上使用所有输入表示并进行预训练,取得了最具竞争力的综合表现。

四、 结论与价值

本研究得出结论,通过语言建模目标对恶意软件分类模型进行预训练,能够有效提升其在多样且实际的恶意软件分类任务上的下游性能。这标志着向建立恶意软件领域的大规模表征学习迈出了重要一步。

科学价值: 1. 开创性框架: 首次系统性地提出了构建LMLMs的完整框架,并实证了其可行性。 2. 方法论贡献: 提供了关于恶意软件数据表示(三种代码视图)、高效长序列模型设计(深窄形态)、以及自监督预训练策略的深入见解和实用方案。 3. 重要发现: 揭示了公开恶意软件数据集中严重的样本冗余问题及其对性能评估的误导性,为未来研究设立了更严谨的数据处理标准。

应用价值: 1. 性能提升: 证明了LMLMs可以超越当前最先进的原始字节分类器,为下一代静态恶意软件分析工具的开发指明了方向。 2. 降低人工依赖: 尽管需要自动化反汇编/反编译流程,但相比传统基于手工特征的方案,LMLMs仍大大减少了对领域专家和特征工程的依赖。 3. 灵活部署: 预训练后的单一模型可通过微调适应多种不同的分析任务(检测、分类、行为分析),提高了分析管道的灵活性和效率。

五、 研究亮点

  1. 范式迁移的首次系统性探索: 将NLP中成功的LLM范式(大规模、自监督预训练、下游任务适配)完整地引入恶意软件分析领域。
  2. 多维度的技术创新
    • 数据层面: 提出并比较了三种新颖的代码专用表示,结合先进的分词技术实现高效压缩。
    • 模型层面: 针对长序列处理的激活内存瓶颈,创新性地提出并验证了“深而窄”的模型缩放策略。
    • 架构层面: 成功改造HRRformer和Mamba以适应恶意软件建模的不同方向性需求。
  3. 严谨的数据科学实践: 发现并量化了数据集冗余问题,提出了清洗方案,显著提升了研究结果的可靠性和可复现性。
  4. 全面的评估体系: 在三个具有挑战性且贴近实际的下游任务上进行了广泛实验,并与强基线进行了充分对比,结论坚实。

六、 其他有价值的内容

  • 威胁与系统模型: 论文清晰界定了其研究的场景——假设防御者可以对PE文件进行常规的解码和通用的脱壳处理,然后进行静态分析。这明确了LMLMs的适用边界和前提条件。
  • 计算成本分析: 研究详细对比了不同处理流程(数据提取、模型推理)的计算开销,为实际系统部署提供了参考。
  • 未来工作与伦理考量: 论文指出了未来研究方向(如分词、预训练目标、可解释性、生成任务),并讨论了LMLMs潜在的滥用风险(生成恶意软件),认为当前开源代码的益处大于风险,但此权衡需持续关注。
  • 代码与数据可用性: 作者承诺公开发布用于大规模二进制分析的系统、部分处理后的数据以及模型代码,以鼓励可复现性研究。
上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com