论文推荐|TDSC2022 安全补丁识别最新的方案E-SPI

论文,推荐,tdsc2022,安全补丁,识别,最新,方案,spi · 浏览次数 : 165

小编点评

**摘要** 论文《Enhancing Security Patch Identification by Capturing Structures in Commits》介绍了一种名为E-SPI的方案,该方案可以有效地识别代码提交的安全补丁。 **E-SPI 模型架构** E-SPI 模型采用以下架构: * **代码修改编码器**对代码修改前的函数 Pre-function 和代码修改后的函数 Post-function 进行编码。 * **提交信息编码器**对代码提交中的自言语言进行Dependency Graph 解析。 **实验结果** E-SPI 模型在与其他安全补丁识别算法比较时超过了当前业界的 SOTA。 **主要贡献** * 利用了代码提交中的结构信息,进一步提升识别效果。 * 考虑了代码提交信息作为安全补丁识别的重要特征。 * 基于 AST Path 的建模技术,提高了代码特征建模的能力。

正文

摘要:TDSC 2022发表了安全补丁识别最新的方案“Enhancing Security Patch Identification by Capturing Structures in Commits” (E-SPI)。

本文分享自华为云社区《【论文推荐】TDSC2022 安全补丁识别最新的方案E-SPI》,作者: 华为云软件分析Lab。

TDSC 2022发表了安全补丁识别最新的方案“Enhancing Security Patch Identification by Capturing Structures in Commits” (E-SPI),该方案同时考虑代码提交的Message和Changed Code的拓扑特征,通过实验表明,该方案超过了当前业界的SOTA,达到业界领先。

1. 背景知识

根据《2021年开源安全与风险分析报告》统计,平均每个代码仓含158个安全漏洞,84%的代码仓都至少存在1个安全漏洞。相比20年,21年高风险漏洞环比增长了11%。开源软件带来便利的同时,也引入了潜在的安全风险。大多数软件漏洞都在公开源组件被静默修复,这就导致集成它们的已部署软件无法及时更新,鉴于此,如何高效的识别开源组件的安全补丁成为学术界一个热门的问题。

最近几年,随着深度学习的飞速发展,基于深度学习的安全补丁识别模型快速提升了安全补丁识别模型的有效性。但是,目前大多数现有的安全补丁识别方案直接把代码提交修改的代码、提交信息当成Token,忽略了代码的结构信息,这篇文章提出了E-SPI模型,有效的利用了隐藏在提交中的结构信息,进一步提升识别模型的效果。

2. E-SPI模型架构

E-SPI整体的架构入上图所示,该方案分别对代码提交中的代码修改以及提交信息进行Embedding,最终联合两者的特征,来识别安全补丁。

代码修改编码器:对于代码提交中代码修改,该方案首先抽取代码修改前的函数Pre-function 和代码修改后的函数Post-function ;接着对着两个函数进行AST解析,为了适配序列模型的输入,该方案创新的提出了AST Path提取方法,将、对应AST的图转换成两类AST Paths:Within-context paths、Within-changes paths,其中Within-context paths代表AST树上开始的节点在修改代码中,结束节点不在修改的代码中的路径,Within-changes path代表AST树上开始和结束都在修改代码中的路径;最终以1:1的比例随机分别选取K个Within-context paths 和Within-context paths,来表征代码修改,输入Bi-LSTM完成代码修改的Embedding。

提交信息编码器:对于代码提交中的提交信息,该方案将原始的自言语言进行Dependency Graph解析,从而获取自言语言的依赖关系,针对该图结构,使用Gated Graph Neural Network完成编码。

3. 结果

为了对比,这篇文章选取了学术界7个典型的安全补丁识别算法,这些模型主要的特征以及架构如下

首先,这篇文章从整体上对所有的模型进行了比较,结果(见下图)显示E-SPI达到了SOTA,这表明,相对其他的方案,E-SPI能更好的对代码提交进行建模。通过进一步观察发现,代码提交信息是安全补丁识别问题的重要特征,加入提交信息的模型(Stacking、PatchRNN、SPI、Transformer、E-SPI)显著比没有加入代码提交信息的模型(Commit2Vec、VulFixMiner)要好,即使架构最简单的Stacking模型(添加了代码提交信息特征)也比只使用修改代码的模型Commit2Vec,VulFixMiner结果要好;另外可以发现,在特征相同的情况下,Transformer-Based的模型(Transformer)反而没有BiLSTM-Based的模型(PatchRNN,SPI,E-SPI)结果好,这有可能是样本不足,导致Transformer-Based模型训练不充分。

为了进一步比较不同模型对代码的建模能力,该篇文章在只使用代码修改作为特征的前提下,也对不同模型进行了比较,结果见下图。结果显示Transformer-Based的模型(Transformer)对代码的建模能力会显著优于其他的架构模型(PatchRNN、SPI、Commit2vec、E-SPI w/o changes、E-SPI w/o context);另外我们可以发现AST Paths在代码特征建模有显著的增益,这就导致,在整体上E-SPI对代码的建模能力依然超过了Transformer模型。

文章来自:PaaS技术创新Lab,PaaS技术创新Lab隶属于华为云,致力于综合利用软件分析、数据挖掘、机器学习等技术,为软件研发人员提供下一代智能研发工具服务的核心引擎和智慧大脑。我们将聚焦软件工程领域硬核能力,不断构筑研发利器,持续交付高价值商业特性!加入我们,一起开创研发新“境界”!

PaaS技术创新Lab主页链接:https://www.huaweicloud.com/lab/paas/home.html

相关文献:

【1】Enhancing Security Patch Identification by Capturing Structures in Commits,

论文地址:https://arxiv.org/pdf/2207.09022.pdf

 

点击关注,第一时间了解华为云新鲜技术~

与论文推荐|TDSC2022 安全补丁识别最新的方案E-SPI相似的内容:

论文推荐|TDSC2022 安全补丁识别最新的方案E-SPI

摘要:TDSC 2022发表了安全补丁识别最新的方案“Enhancing Security Patch Identification by Capturing Structures in Commits” (E-SPI)。 本文分享自华为云社区《【论文推荐】TDSC2022 安全补丁识别最新的方案E

论文的技术路线流程图如何绘制?

本文介绍基于Visio软件绘制技术路线图、流程图、工作步骤图等的方法~

[转帖][译] [论文] Ceph: A Scalable, High-Performance Distributed File System (OSDI 2006)

http://arthurchiao.art/blog/ceph-osdi-zh/ 译者序 本文翻译自 2006 年 Sage Weil 的论文:Ceph: A Scalable, High-Performance Distributed File System (PDF)。 标题直译为:《Ceph

[转帖][译] [论文] Bigtable: A Distributed Storage System for Structured Data (OSDI 2006)

http://arthurchiao.art/blog/google-bigtable-zh/ 译者序 本文翻译自 2006 年 Google 的分布式存储经典论文:Bigtable: A Distributed Storage System for Structured Data (PDF)。 标

论文解读丨【CVPR 2022】不使用人工标注提升文字识别器性能

摘要:本文提出了一种针对文字识别的半监督方法。区别于常见的半监督方法,本文的针对文字识别这类序列识别问题做出了特定的设计。 本文分享自华为云社区《[CVPR 2022] 不使用人工标注提升文字识别器性能》,作者:Hint。 本文提出了一种针对文字识别的半监督方法。区别于常见的半监督方法,本文的针对文

论文复现丨基于ModelArts进行图像风格化绘画

摘要:这个 notebook 基于论文「Stylized Neural Painting, arXiv:2011.08114.」提供了最基本的「图片生成绘画」变换的可复现例子。 本文分享自华为云社区《基于ModelArts进行图像风格化绘画》,作者: HWCloudAI 。 项目首页 | GitHu

论文复现丨基于ModelArts实现Text2SQL

摘要:该论文提出了一种基于预训练 BERT 的新神经网络架构,称为 M-SQL。基于列的值提取分为值提取和值列匹配两个模块。 本文分享自华为云社区《基于ModelArts实现Text2SQL》,作者:HWCloudAI。 M-SQL: Multi-Task Representation Learni

论文解读丨CIKM'22 MARINA:An MLP-Attention Model for Multivariate Time-Series Analysis

摘要:华为云数据库创新Lab在论文《MARINA: An MLP-Attention Model for Multivariate Time-Series Analysis》中提出了华为自研的自回归时序神经网络模型,可用于时序数据的预测以及异常检测。 本文分享自华为云社区《CIKM'22 MARIN

论文复现|Panoptic Deeplab(全景分割PyTorch)

摘要:这是发表于CVPR 2020的一篇论文的复现模型。 本文分享自华为云社区《Panoptic Deeplab(全景分割PyTorch)》,作者:HWCloudAI 。 这是发表于CVPR 2020的一篇论文的复现模型,B. Cheng et al, “Panoptic-DeepLab: A Si

【带你读论文】向量表征经典之DeepWalk

摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想。 本文分享自华为云社区《[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec》,作者:ea