PatchDFF:一种基于双特征融合的安全补丁识别方法

《Big Data Research》:PatchDFF: A security patch identification method based on dual feature fusion

【字体: 时间:2026年03月02日 来源:Big Data Research 4.2

编辑推荐:

  软件漏洞利用威胁系统安全,及时修复需精准识别安全补丁。本文提出PatchDFF方法,通过构建修复前后程序依赖图(PDG)的子图并输入多图注意力网络(MGAT)提取结构特征,结合BERT嵌入与CNN-Transformer混合编码器(CTE)提取描述语义特征,最终融合结构特征与语义特征提升识别准确率(80.93%)和F1分数(77.04%)。

  
Jiadong Ren|Chunjiao Bao|Shuailin Yang|Jiazheng Li|Chenghao Zhi
中国河北省秦皇岛市燕山大学信息科学与工程学院

摘要

软件漏洞一旦被攻击者利用,就会对软件安全构成严重威胁。及时应用安全补丁进行修复有助于提高软件的稳定性。目前,许多现有的安全补丁识别方法主要关注差异代码(diff code),而没有充分考虑补丁代码的结构及其描述。为了解决这个问题,我们提出了一种基于双重特征融合的安全补丁识别方法,称为PatchDFF。该方法在应用补丁前后生成代码的程序依赖图(Program Dependency Graph, PDG),然后对其进行切片和合并以获取补丁的图结构,并将其输入到多图注意力网络(Multi-Graph Attention Network, MGAT)中以提取补丁的结构特征。该模块对各种PDG子图进行多层次特征提取,以最大限度地保留图结构特征。接下来,将描述信息嵌入并输入到卷积变换器编码器(Convolutional Transformer Encoder, CTE)中以提取语义特征。CTE利用卷积神经网络(Convolutional Neural Networks, CNN)和变换器编码器从补丁描述中提取更全面的语义特征。最后,将结构特征和语义特征融合起来,以增强安全补丁识别的效果。为了评估PatchDFF的有效性,我们使用公共安全补丁数据集PatchDB进行了实验。实验结果表明,PatchDFF在准确率(Accuracy)、精确度(Precision)、召回率(Recall)和F1分数(F1 score)方面都有所提升,准确率为80.93%,精确度为77.85%,召回率为76.25%,F1分数为77.04%。这一结果证明了PatchDFF在安全补丁识别中的有效性。

引言

随着信息技术的快速发展,开源软件(OSS)的全球采用引发了人们对软件系统安全性的日益关注。开源软件的快速发展和广泛采用推动了技术创新,但也引入了潜在的安全漏洞,因为开源组件越来越多地被集成到商业和免费软件项目中。然而,如果出现漏洞,这些组件可能会影响全球数百万用户。安全补丁旨在修复漏洞,防止攻击者利用,从而降低安全风险。相比之下,非安全补丁主要关注修复功能问题或提高性能,而不解决安全问题[1]。根据Common Vulnerabilities and Exposures (CVE)和国家漏洞数据库(National Vulnerability Database, NVD)的数据,2024年公开报告的软件漏洞总数超过了40,000个,这凸显了有效管理安全补丁的紧迫性[2][3]。这一数字持续上升,突显了管理和应用安全补丁的关键重要性。补丁发布是修复软件漏洞的有效方法,但由于补丁数量庞大、管理流程复杂以及发布内容延迟,许多潜在漏洞未能得到及时修复[4]。这增加了网络攻击的风险。因此,及时应用安全补丁以修复漏洞对于确保软件安全至关重要。立即部署旨在优化软件性能或添加新功能的非安全补丁可能会因临时停机而导致不可预见的损失。因此,应根据具体情况来决定是否部署此类补丁。因此,在发布的更新中识别安全补丁具有实际意义。
早期的安全补丁识别方法依赖于研究人员制定的规则,通过分析代码差异和描述来识别补丁[5][6]。尽管这些方法在某种程度上可以识别补丁,但由于它们严重依赖手动特征设计和规则,因此适应性较差。它们难以处理复杂的漏洞和未知类型的补丁,这使得有效应对新的攻击方法或漏洞类型变得具有挑战性。近年来,深度学习在各个领域取得了显著成就[7][8][9],研究人员将其应用于安全补丁识别领域[10][11]。通过分析差异代码和补丁描述,研究人员使用深度学习模型自动识别补丁。例如,一种基于CNN和长短期记忆网络(Long Short-Term Memory Networks, LSTM)的方法通过处理差异代码和描述来识别安全补丁,表现良好。然而,这些方法往往忽略了补丁源代码的整体结构,并过度依赖描述和代码差异信息。结果,它们无法全面分析补丁源代码的结构,从而限制了安全补丁识别的准确性。在补丁识别中观察到的适应性问题与网络安全领域更广泛的挑战相类似。正如Bin Shibghatullah等人[12]所指出的,现代网络攻击策略发展迅速,不断挑战入侵检测和防御机制的适应性。同样,传统的补丁识别模型往往难以泛化到新的漏洞或不熟悉的补丁模式。为了解决这一适应性问题,需要结合结构特征和语义特征,以提高模型在动态安全环境中的理解和响应能力。
这些局限性揭示了当前安全补丁识别研究中的一个关键差距:缺乏一种能够同时理解源代码的结构逻辑和提交描述的语义意图的统一方法。基于差异的或顺序模型主要关注表面级别的文本变化,无法捕捉程序内部的深层上下文依赖关系。为了解决这些问题,我们提出了一种基于双重特征融合的安全补丁识别方法,该方法结合了补丁源代码图的结构特征和描述的语义特征来识别安全补丁。对于补丁源代码,我们在应用补丁前后生成PDG[13],然后对其进行切片和合并,输入到MGAT中以提取补丁的结构特征。该模块通过处理具有不同边类型的PDG子图来提取更全面的补丁结构特征。对于描述,我们首先进行数据清洗,然后使用BERT[14]进行嵌入,最后将处理后的数据输入到CTE中以提取描述的语义特征。该模块通过结合CNN和Transformer编码器的优势,有效捕获描述中的复杂语义特征。CNN特别擅长提取局部特征,而Transformer编码器[15]在建模长距离依赖关系方面表现出色,因此与CNN高度互补。最后,将补丁源代码图的结构特征和描述的语义特征融合起来进行安全补丁识别。我们在PatchDB[1]的数据上进行了实验验证,以评估PatchDFF的性能。结果表明,该方法优于其他先进的安全补丁识别模型,准确率为80.93%,精确度为77.85%,召回率为76.25%,F1分数为77.04%。
本文的主要贡献如下:
  • 1.
    我们设计了MGAT,它通过切片和合并应用补丁前后的代码PDG来生成不同的子图,并提取这些子图的详细特征,从而最大限度地保留了补丁代码的图结构特征。
  • 2.
    我们设计了CTE,从补丁描述中学习高质量的语义表示。通过结合基于CNN的局部模式提取和基于Transformer的全局上下文建模,CTE产生的补丁描述的语义表示比传统架构更具表现力。
  • 3.
    我们提出了一种双重特征融合方法用于安全补丁识别,该方法通过融合补丁代码图的结构特征和描述的语义特征来识别补丁。
  • 4.
    我们在PatchDB数据集上进行了广泛的实验,结果表明PatchDFF在准确率、精确度、召回率和F1分数方面显著优于代表性的先进基线,证明了其在实际安全补丁识别中的有效性。
  • 相关研究

    相关工作

    早期的安全补丁识别方法通常依赖于手动设计的特征和启发式规则[16][17]。Tian等人[18]专注于Linux操作系统中的错误修复补丁,通过分析提交消息和代码差异来定位修复补丁。然而,这种方法依赖于手动特征设计,这限制了其识别复杂漏洞的能力。Wang等人[19]通过实证研究分析了开源软件中的安全补丁,使用了启发式方法

    方法

    本节介绍了如何构建PatchDFF进行安全补丁识别。

    实验结果与分析

    为了验证PatchDFF的有效性,本节探讨了以下研究问题:
    RQ1:PatchDFF在安全补丁识别中的性能如何?
    RQ2:不同类型的特征如何影响安全补丁识别的性能?
    RQ3:特征提取方法的选择如何影响安全补丁识别的性能?
    RQ4:特征连接方法如何影响安全补丁识别的性能?
    RQ5:如何

    实际部署和可扩展性分析

    PatchDFF可以集成到CI/CD管道中,作为自动化的预提交或构建阶段的安全模块。在提交补丁时,PatchDFF会自动评估安全相关性,并提供风险评分以支持代码审查。通过轻量级API或容器的部署只需要最小的工作流程更改。从计算角度来看,PatchDFF显示出很强的可扩展性。由于PatchDB没有涵盖足够的时间段进行评估,因此没有包括详细的时间分析

    结论

    我们提出了一种双重特征融合方法用于安全补丁识别,该方法结合了补丁代码的结构特征和描述的语义特征来提高安全补丁识别的性能。首先,生成应用补丁前后源代码的PDG。接下来,我们对PDG进行切片和合并,以获得具有不同边类型的PDG子图,并将它们输入到MGAT中以提取结构特征。然后,使用CTE提取

    CRediT作者贡献声明

    Jiadong Ren:撰写——原始草案、方法论、资金获取、概念化。Chunjiao Bao:可视化、软件、数据整理。Shuailin Yang:调查。Jiazheng Li:撰写——审阅与编辑、监督、方法论。Chenghao Zhi:验证。

    利益冲突声明

    作者声明他们没有已知的财务利益或个人关系可能影响本文报告的工作。
    相关新闻
    生物通微信公众号
    微信
    新浪微博

    热点排行

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

      版权所有 生物通

      Copyright© eBiotrade.com, All Rights Reserved

      联系信箱:

      粤ICP备09063491号