一种面向网络安全的代码漏洞检测方法及系统技术方案

技术编号:37794126 阅读:10 留言:0更新日期:2023-06-09 09:24
本发明专利技术公开了一种面向网络安全的代码漏洞检测方法及系统,其中涉及的一种面向网络安全的代码漏洞检测方法,包括:S1.获取源代码,对源代码进行标准化处理;S2.基于word2Vec将标准化处理后的源代码转换为向量样本,得到与源代码相对应的向量样本;S3.对得到的向量样本进行批量归一化处理,得到处理后的数据;S4.将处理后的数据划分为训练样本和测试样本;S5.基于群体围捕优化算法构建深度卷积神经网络,并将训练样本输入至深度卷积神经网络中进行训练,得到代码漏洞检测模型;S6.将测试样本输入至代码漏洞检测模型中进行检测,输出检测结果。本发明专利技术能够有效提高代码漏洞检测的精度,模型训练速度快,避免梯度消失和梯度爆炸现象,具有良好的泛化性和鲁棒性。具有良好的泛化性和鲁棒性。具有良好的泛化性和鲁棒性。

【技术实现步骤摘要】
一种面向网络安全的代码漏洞检测方法及系统


[0001]本专利技术涉及漏洞检测
,尤其涉及一种面向网络安全的代码漏洞检测方法及系统。

技术介绍

[0002]网络是信息化社会的重要基础,随着互联网时代的发展,软件技术的应用越来越普遍,对相应软件的漏洞检测要求高效、准确。然而,软件漏洞是多种多样的,通过源代码检测漏洞对开发人员的专业经验要求很高。以往的漏洞检测方案要么依赖专家定义的特征,要么只对代码序列使用递归神经网络,很难在传统的代码空间中提取复杂的漏洞特征。
[0003]现有技术中,如公开号为CN114895952A的专利公开了一种异常代码的检测方法及装置、电子设备、存储介质,该方法包括:对待检测代码进行解析得到抽象语法树;基于所述抽象语法树获取数据声明,其中,所述数据声明用于表征数据运行时需返回数据的情况;获取所述待检测代码运行时的实际返回数据;基于所述数据声明与所述实际返回数据的匹配关系,确定所述待检测代码是否发生异常;又如公开号为CN114817913A的专利公开了一种代码检测方法、装置、计算机设备和存储介质,所述方法包括:获取待检测的目标代码;对所述目标代码进行字符串划分,得到目标子字符串序列;获取所述目标子字符串序列中各个目标子字符串分别对应的子字符串向量,组成向量序列;对所述向量序列进行线性特征提取,得到第一提取特征,以及对所述向量序列进行非线性特征提取,得到第二提取特征;对所述第一提取特征以及所述第二提取特征进行融合处理,得到融合特征;基于所述融合特征进行代码检测,得到所述目标代码对应的代码检测结果;又如公开号为CN114745205A的专利公开了一种恶意代码对抗样本检测方法、系统及存储介质,方法包括:构建阶段,利用恶意代码检测模型获取基于良性样本训练集的贡献度分布向量集;检测阶段,将待检测文件输入恶意代码检测模型,若恶意代码检测模型的输出为良性,则获取待检测文件的贡献度分布向量,检测待检测文件的贡献度分布向量置于贡献度分布向量集中是否有离群表现,如果待检测文件的贡献度分布向量被识别为离群点,则待检测文件为对抗样本。
[0004]上述专利虽然能够实现对代码漏洞的检测,但是依然存在以下技术问题:1、基于传统机器学习模型的代码漏洞检测方法,在面对高维、复杂数据时,模型的识别精度难以得到较大的提升;2、基于深度学习的代码漏洞检测方法,在深度学习中,深度神经网络大多基于梯度下降算法进行算法模型的优化,这在处理代码漏洞检测任务时,容易产生梯度消失和梯度爆炸现象;3、现有的复杂模型在训练速度和训练精度方面,通常不可兼得。此外,在模型的泛化性和鲁棒性方面,模型的性能有待进一步提升。

技术实现思路

[0005]在本专利技术的目的是针对现有技术的缺陷,提供了一种面向网络安全的代码漏洞检
测方法及系统,可以解决现有技术中代码漏洞检测精度低、模型容易产生梯度消失和梯度爆炸现象,以及模型的泛化性和鲁棒性差等问题。
[0006]为了实现以上目的,本专利技术采用以下技术方案:一种面向网络安全的代码漏洞检测方法,包括:S1.获取源代码,对源代码进行标准化处理;S2.基于word2Vec将标准化处理后的源代码转换为向量样本,得到与源代码相对应的向量样本;S3.对得到的向量样本进行批量归一化处理,得到处理后的数据;S4.将处理后的数据划分为训练样本和测试样本;S5.基于群体围捕优化算法构建深度卷积神经网络,并将训练样本输入至深度卷积神经网络中进行训练,得到代码漏洞检测模型;S6.将测试样本输入至代码漏洞检测模型中进行检测,输出检测结果。
[0007]进一步的,所述步骤S1具体为:S11.获取源代码;S12.建立与源代码中标识符相对应的映射表;S13.对源代码进行遍历,筛选出需要映射的标识符;S14.基于建立的映射表将筛选出的标识符映射为标准化的标识符,得到经过标准化处理后的源代码。
[0008]进一步的,所述步骤S3中对得到的向量样本进行批量归一化处理,得到处理后的数据,表示为:其中,z
i
表示经过批量归一化处理后输出的第i个数据;γ、β表示激活参数;表示规范后的第i个数据;y
i
表示输入的第i个数据;y表示输入的向量;表示y的平均值;表示y的标准差;ε表示常数;n表示输入向量的元素个数。
[0009]进一步的,所述步骤S5中基于群体围捕优化算法构建深度卷积神经网络具体为:构建深度卷积神经网络,并基于群体围捕优化算法优化深度卷积神经网络的参数,得到优化后的深度卷积神经网络。
[0010]进一步的,所述基于群体围捕优化算法优化深度卷积神经网络的参数具体为:假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:
其中,表示第t+1次迭代时搜索算子的位置向量;表示搜索算子向量与当前最优解向量的差值;t表示迭代次数;表示当前第t次迭代时搜索算子的位置向量;表示系数向量;表示收敛系数向量;表示[0,1]之间的随机向量。
[0011]进一步的,所述基于群体围捕优化算法优化深度卷积神经网络的参数具体为:假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:其中,表示搜索过程中搜索算子的位置向量;表示当前第t次迭代时搜索算子的位置向量;t表示迭代次数;表示搜索算子向量与当前最优解向量的差值;表示系数向量;b表示系数;l表示[

1,1]之间的随机数;表示收敛系数向量;表示[0,1]之间的随机向量;p表示[0,1]之间的随机数。
[0012]进一步的,所述基于群体围捕优化算法优化深度卷积神经网络的参数具体为:假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:其中,表示第t+1次迭代时搜索算子的位置向量;表示搜索算子向量与当前最优解向量的差值;t表示迭代次数;表示当前随机选择的一个搜索算子的位置向量;表示系数向量;表示收敛系数向量;表示[0,1]之间的随机向量。
[0013]相应的,还提供一种面向网络安全的代码漏洞检测系统,包括:标准化模块,用于获取源代码,对源代码进行标准化处理;转换模块,用于基于word2Vec将标准化处理后的源代码转换为向量样本,得到与源代码相对应的向量样本;归一化模块,用于对得到的向量样本进行批量归一化处理,得到处理后的数据;数据划分模块,用于将处理后的数据划分为训练样本和测试样本;训练模块,用于基于群体围捕优化算法构建深度卷积神经网络,并将训练样本输入至深度卷积神经网络中进行训练,得到代码漏洞检测模型;测试模块,用于将测试样本输入至代码漏洞检测模型中进行检测,输出检测结果。
[0014]进一步的,所述训练模块中基于群体围捕优化算法构建深度卷积神经网络包括:
假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:其中,表示第t+1次迭代时搜索算子的位置向量;表示搜索算子向量与当前最优解向量的差值;t表示迭代次数;表示当前第t次迭代时搜索算子的位置向量;表示系数向量;表示收敛系数向量;表示[0,1]之间的随机向量。
[0015]进一步的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向网络安全的代码漏洞检测方法,其特征在于,包括:S1.获取源代码,对源代码进行标准化处理;S2.基于word2Vec将标准化处理后的源代码转换为向量样本,得到与源代码相对应的向量样本;S3.对得到的向量样本进行批量归一化处理,得到处理后的数据;S4.将处理后的数据划分为训练样本和测试样本;S5.基于群体围捕优化算法构建深度卷积神经网络,并将训练样本输入至深度卷积神经网络中进行训练,得到代码漏洞检测模型;S6.将测试样本输入至代码漏洞检测模型中进行检测,输出检测结果。2.根据权利要求1所述的一种面向网络安全的代码漏洞检测方法,其特征在于,所述步骤S1具体为:S11.获取源代码;S12.建立与源代码中标识符相对应的映射表;S13.对源代码进行遍历,筛选出需要映射的标识符;S14.基于建立的映射表将筛选出的标识符映射为标准化的标识符,得到经过标准化处理后的源代码。3.根据权利要求1所述的一种面向网络安全的代码漏洞检测方法,其特征在于,所述步骤S3中对得到的向量样本进行批量归一化处理,得到处理后的数据,表示为:其中,z
i
表示经过批量归一化处理后输出的第i个数据;γ、β表示激活参数;表示规范后的第i个数据;y
i
表示输入的第i个数据;y表示输入的向量;表示y的平均值;表示y的标准差;ε表示常数;n表示输入向量的元素个数。4.根据权利要求1所述的一种面向网络安全的代码漏洞检测方法,其特征在于,所述步骤S5中基于群体围捕优化算法构建深度卷积神经网络具体为:构建深度卷积神经网络,并基于群体围捕优化算法优化深度卷积神经网络的参数,得到优化后的深度卷积神经网络。5.根据权利要求4所述的一种面向网络安全的代码漏洞检测方法,其特征在于,所述基于群体围捕优化算法优化深度卷积神经网络的参数具体为:假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:
其中,表示第t+1次迭代时搜索算子的位置向量;表示搜索算子向量与当前最优解向量的差值;t表示迭代次数;表示当前第t次迭代时搜索算子的位置向量;表示系数向量;表示收敛系数向量;表示[0,1]之间的随机向量。6.根据权利要求4所述的一种面向网络安全的代码漏洞检测方法,其特征在于,所述基于群体围捕优化算法优化深度卷积神经网络的参数具体为:假设深度卷积神经网络的最优解向量为,则对搜索算子进行定位,表示为:其中,表示搜索过程中搜索算子的位置向量;表示当前第t次迭代时搜索...

【专利技术属性】
技术研发人员:李权方肇轩梁海波
申请(专利权)人:工保网保险经纪有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1