[发明专利]一种基于改进的时间卷积网络的漏洞检测方法在审
| 申请号: | 202111257188.4 | 申请日: | 2021-10-27 |
| 公开(公告)号: | CN114065210A | 公开(公告)日: | 2022-02-18 |
| 发明(设计)人: | 蔡赛华;陈锦富;林薇;王维佳;王姝慧 | 申请(专利权)人: | 江苏大学 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06K9/62;G06N3/04 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 212013 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 改进 时间 卷积 网络 漏洞 检测 方法 | ||
本发明提供了一种基于改进的时间卷积网络的漏洞检测方法。包括:步骤1,分析C/C++源代码的数据依赖和漏洞关键点,对源代码进行切片,并标记代码切片是否含有漏洞;步骤2:使用word2vec方法将代码切片转换为token向量序列;步骤3:按照8:2的比例对代码切片划分训练集和测试集,将训练集送入改进的时间卷积网络进行训练,使用测试集进行测试,建立漏洞检测模型;步骤4:对于待检测的源代码,按照步骤1的方式对源代码进行切片,按照步骤2的方式生成每个代码切片的token向量序列,将token向量序列输入训练好的网络模型,得到漏洞检测结果。
技术领域
本发明属于软件漏洞检测领域,涉及一种基于改进的时间卷积网络的漏洞检 测方法。
背景技术
软件技术的飞快发展和用户需求的日益新增使得软件内部的逻辑也逐渐变 得复杂,这也增加了出现软件漏洞的可能。一旦存在软件漏洞,攻击者可以利用 这些漏洞攻击软件系统,从而威胁用户安全,因此由软件漏洞引发的安全问题引 起了高度重视。漏洞大多是由不安全的代码造成的,尤其是开源代码的漏洞问题 会得到广泛的传播。在软件的生命周期中,越早检测出软件中存在的漏洞会减少 损失,因此,针对源代码的漏洞检测具有重要的意义。
近些年,随着深度学习技术的快速发展,深度学习也被大量应用于漏洞检测 中。与传统的机器学习方法相比,深度学习能够从结构性数据中自动提取高级特 征,从而减少了特征提取的工作量。此外,深度学习方法自动提取的抽象特征表 示比手工提取的特征具有更好的泛化能力。针源代码的时序性,学者们利用能够 并行处理时序数据的时间卷积网络(Temporal convolutional network,TCN)来 检测源代码漏洞。TCN通过堆叠不同膨胀率的膨胀因果卷积,灵活地扩大网络 的感受野,这使得TCN能够更好地捕获源代码中的较长的依赖关系。与循环神 经网络(recursive neural network,RNN)的变体不同,TCN在每个时间步长的 权重是同时更新的,因此具有较好的并行性。然而,源代码中存在大量的语句是 与漏洞无关的,由于这些无关语句的干扰,原始的TCN在输出层学到的源代码 的高级特征往往不足以正确地检测漏洞。其次,原始的TCN是一种单向的结构, 源代码是作为文本,更需要使用双向网络结构来捕获上下文语义。
针对TCN对代码漏洞检测效果不佳的问题,本发明提出了BiTCN_DRSN模 型。针对代码中存在与漏洞无关的语句,BiTCN_DRSN模型利用深度残差收缩 网络(Deep ResidualShrinkage Networks,DRSN)来减少代码片段中与漏洞信息 无关的特征。DRSN能够注意到与漏洞信息无关的特征,通过软阈值化降低与漏 洞信息无关的特征对高层特征的影响。;而且,因为它的收缩阈值是通过神经网 络到的,因此其软阈值化更加灵活。同时,BiTCN_DRSN模型针对TCN单向性 的局限性,利用前向序列学习和后向序列学习,将两个方向学习出来的特征进行 非线性融合,使得网络能够使用两个方向上的信息进行漏洞检测。本发明提出的 模型既能够使神经网络更加注重与漏洞相关的源代码特征,又能够解决TCN单 向结构对源代码双向结构学习能力不足的问题。
发明内容
针对源代码的时序性,TCN模型具有能够并行处理数据、感受野灵活、梯度 稳定等优势。但是,TCN模型的单向结构不能充分地捕获源代码的双向特征, 此外TCN的残差连接方式也不能很好地剔除源代码中与漏洞检测任务无关的特 征信息。我们针对这两点对TCN做出改进。
本发明提供了一种基于改进的时间卷积网络的漏洞检测方法,包括:
步骤1,分析C/C++源代码的数据依赖和漏洞关键点,对源代码进行切片, 并标记每个代码切片是否含有漏洞;
步骤2,使用word2vec方法将代码切片转换为token向量序列;
步骤3,按照8:2的比例对代码切片划分训练集和测试集,以token向量序 列为输入,以切片是否有漏洞为标签,将训练集送入改进的时间卷积网络进行训 练,使用测试集进行测试,建立漏洞检测模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111257188.4/2.html,转载请声明来源钻瓜专利网。





