[Paper] StriderSPD:结构引导的联合表征学习用于二进制安全补丁检测

发布: (2026年1月9日 GMT+8 20:55)
6 min read
原文: arXiv

Source: arXiv - 2601.05772v1

概览

本文介绍了 StriderSPD,一个新颖的框架,能够直接从二进制可执行文件中检测安全补丁——无需源代码。通过将结构化图信息与大型语言模型(LLM)相结合,作者实现了更可靠的二进制层面漏洞修复识别,这一能力对闭源软件尤为重要。

关键贡献

  • 结构引导的联合表示:将捕获控制流和数据流结构的图形分支与处理汇编/伪代码标记的 LLM 相结合。
  • 用于标记级对齐的适配器设计:自定义适配器将图嵌入映射到 LLM 的标记空间,实现结构信息与文本信息的无缝融合。
  • 两阶段训练策略:解决庞大 LLM 与轻量图分支之间的不平衡,确保两个组件都能有效学习。
  • 真实且不相交的基准:构建了一个全新的二进制安全补丁检测数据集,该数据集在项目和领域上与现有语料库不相交,提供了对闭源场景更忠实的评估。
  • 实证优势:在新基准上,实验表明 StriderSPD 在精确率、召回率和 F1 分数上均优于之前的二进制 SPD 方法。

方法论

  1. 输入预处理

    • 将二进制文件反汇编为 assembly code 并转换为 pseudo‑code(一种更高级、类语言的表示)。
    • 基于这些生成 program graph,对指令之间的控制流(CFG)和数据流关系进行编码。
  2. 双分支架构

    • LLM 分支:预训练的大语言模型(如 CodeBERT 或类似模型)接受已分词的 assembly/pseudo‑code,学习文本语义。
    • Graph 分支:轻量级图神经网络(GNN)处理 program graph,为每个指令节点提取结构嵌入。
  3. Adapter 层

    • 小型可训练的 adapters 位于 GNN 与 LLM 之间,将图嵌入投射到 LLM 的 token 维度。
    • 这种对齐使模型能够同时关注语法(tokens)和语义(graph context)。
  4. 两阶段训练

    • 阶段 1:冻结 LLM,训练图分支 + adapters,以学习良好的结构映射。
    • 阶段 2:解冻 LLM,联合微调整个系统,使用平衡的 loss 防止庞大的 LLM 主导优化。
  5. 检测头

    • 分类层预测给定二进制片段是否对应安全补丁(二元标签)。

结果与发现

指标StriderSPD先前最佳二进制 SPD改进
精确率0.870.78+9%
召回率0.840.71+13%
F1‑Score0.850.74+11%
  • 消融研究 表明,去除图分支会导致 F1 下降约 7 点,验证了结构线索的价值。
  • 两阶段训练相较于朴素的端到端训练提升约 4% 的 F1,凸显了处理参数不平衡的重要性。
  • 在不相连的基准测试上,StriderSPD 仍保持高性能,表明其在未见项目和领域上的强泛化能力。

实际影响

  • 闭源安全监控:即使供应商未发布变更日志,供应商和安全团队也可以自动标记野外已修补的二进制文件。
  • 供应链风险评估:将 StriderSPD 集成到 CI/CD 流水线中,以验证第三方二进制文件是否已获得最新的安全修复。
  • 漏洞管理工具:通过二进制级补丁检测增强现有扫描器(例如 CVE 跟踪器),降低对源代码仓库的依赖。
  • 事件响应:快速确定受损二进制文件是否已更新,为修复时间表提供信息。

局限性与未来工作

  • 对高质量反汇编的依赖:混淆或高度优化的二进制文件可能产生噪声较多的汇编/伪代码,导致检测准确率下降。
  • 图构建的可扩展性:大型二进制文件会生成庞大的图;未来工作可以探索层次化或基于采样的 GNN。
  • 模型规模:LLM 组件仍然体积庞大,可能限制在边缘设备上的部署;模型蒸馏或轻量化替代方案值得研究。
  • 更广泛的补丁语义:当前工作聚焦于修复漏洞的二进制补丁;将其扩展到特性层面或性能补丁是一个开放方向。

作者

  • Qingyuan Li
  • Chenchen Yu
  • Chuanyi Li
  • Xin-Cheng Wen
  • Cheryl Lee
  • Cuiyun Gao
  • Bin Luo

论文信息

  • arXiv ID: 2601.05772v1
  • 分类: cs.SE, cs.CR
  • 发布时间: 2026年1月9日
  • PDF: Download PDF
Back to Blog

相关文章

阅读更多 »