二进制软件漏洞检测的迁移学习策略

《Neural Networks》:Transfer learning strategies for vulnerability detection in software binaries

【字体: 时间:2026年05月07日 来源:Neural Networks 6.3

编辑推荐:

  摘要:针对闭源软件中漏洞检测需直接分析二进制代码的场景,安全社区日益采用自然语言处理(NLP)领域的Transformer模型以提升上下文感知能力。然而现有方法多聚焦于相似性检测而非直接漏洞分类,且缺乏适配二进制代码漏洞检测(BCVD)的清晰框架。为此,本研究

  
摘要:针对闭源软件中漏洞检测需直接分析二进制代码的场景,安全社区日益采用自然语言处理(NLP)领域的Transformer模型以提升上下文感知能力。然而现有方法多聚焦于相似性检测而非直接漏洞分类,且缺乏适配二进制代码漏洞检测(BCVD)的清晰框架。为此,本研究系统探究了该领域中优化Transformer的迁移学习策略。具体而言,研究人员评估了三种适配方法——全序列微调(Full Sequence Fine-Tuning)、词元级微调(Token-Level Fine-Tuning)及冻结特征提取(Frozen Feature Extraction),实验覆盖x86与ARM架构、Linux与Windows平台及多样化软件来源构成的四个数据集。为支持稳健评估,研究人员构建了异构基准数据集VulnBin以整合上述数据。进一步对比了代码专用Transformer与通用Transformer,并以既有BCVD方法为基准。结果表明,三种策略的检测性能相近,其中冻结特征提取在资源消耗更低的同时达到同等效果;代码预训练Transformer持续优于文本预训练模型,且上下文感知嵌入比静态表征更能捕捉漏洞语义。跨项目评估显示多数配置仍具合理性,但揭示了随机划分基准掩盖的分布偏移(distribution shift)挑战,表明该问题值得BCVD研究重点关注。
论文解读:二进制软件漏洞检测的迁移学习策略研究
研究背景与动机
随着部署系统中软件漏洞引发的网络安全事件频发,开发可靠的漏洞检测技术成为刚需。由于大量专有系统、物联网设备及遗留系统无法获取源代码,二进制代码漏洞检测(BCVD)成为关键手段。然而,二进制代码缺乏变量名、类型等高级语义标记,与预训练模型常用的自然语言或源代码语料存在显著领域差异(domain gap)。尽管Transformer模型在二进制分析中展现出潜力,但现有研究多将其用于相似性检测(similarity detection),即通过比对已知漏洞数据库实现检测,难以发现未知漏洞;而将Transformer应用于漏洞分类(classification)这一判别性任务的系统性研究尚属空白,尤其是缺乏针对预训练Transformer适配二进制域的最优迁移学习策略指导。为此,研究人员针对BCVD分类任务,首次系统探究了迁移学习方法的选择及其影响因素。
研究方法与技术路径
研究人员构建了异构基准数据集VulnBin,整合了FormAI(AI生成的C代码编译产物)、ICLR-W/ICLR-L(NDSS18的Windows/Linux二进制文件)、Asterisk、LibTIFF、LibPNG及BinPool(Debian包)等多源数据,涵盖x86、x86-64、ARM架构及不同优化级别。研究选取CodeBERT(编码器)、CodeGPT(解码器)、CodeT5(编码器-解码器)三种Transformer架构,系统评估了三种迁移学习策略:全序列微调(更新所有参数)、词元级微调(以BiGRU分类器处理词元嵌入)、冻结特征提取(固定Transformer权重并训练分类头)。同时,对比了代码预训练模型与文本预训练模型的性能差异,并在严格跨项目协议(训练集与测试集无项目重叠)下验证泛化鲁棒性,最终以传统BCVD基线方法和静态嵌入技术为参照进行基准测试。
研究结果与分析
  1. 1.
    方法论范式(Methodological Paradigms):明确BCVD领域存在相似性检测与分类检测两种范式,指出当前分类范式缺乏系统性迁移学习研究的现状。
  2. 2.
    手动特征方法(Manual feature-based approaches):早期方法依赖Tracelet(基于编辑距离的文本相似度)、BinDiff(基于结构元素量化)等手工特征,存在领域知识依赖强、泛化性差的局限。
  3. 3.
    方法论(Methodology):通过实验设计验证了三种迁移学习策略在架构、预训练域、跨项目泛化等方面的表现,形成标准化评估框架。
  4. 4.
    结果与讨论(Results and discussion):实验显示三种适配策略检测性能无统计学显著差异,冻结特征提取在资源效率上更具优势;代码预训练Transformer显著优于文本预训练模型;上下文感知嵌入比静态表征更有效捕捉漏洞语义。跨项目评估揭示了分布偏移导致的泛化差距。
  5. 5.
    总体讨论(General Discussion):提出实践决策框架,表明适配策略选择可脱离准确率考量,优先基于计算成本与部署约束;强调分布偏移是BCVD研究需重点关注的挑战。
  6. 6.
    有效性威胁(Threats to validity):从构念效度、内部效度、外部效度三方面讨论了实验设计的局限性,如数据集偏差、硬件环境差异等。
结论与意义
研究表明,在二进制代码漏洞检测中,全序列微调、词元级微调与冻结特征提取三种迁移学习策略的检测性能相当,其中冻结特征提取在保持性能的同时显著降低资源消耗,为实际部署提供了高效选择。代码预训练Transformer因更贴近二进制代码的语法结构,其表现持续优于文本预训练模型。跨项目泛化实验揭示了随机划分基准掩盖的分布偏移问题,提示未来研究需加强对领域泛化能力的探索。该研究为Transformer在BCVD中的应用提供了首个系统性迁移学习指南,并通过开源VulnBin数据集与实现框架推动了领域可复现研究。相关成果发表于《Neural Networks》,为二进制安全分析领域的模型适配与工程实践奠定了理论基础。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号