System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络安全,特别是涉及一种细粒度混合语义漏洞检测方法及系统。
技术介绍
1、本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术。
2、在信息技术迅速发展的背景下,软件系统变得越来越复杂,现代软件系统经常受到各种软件漏洞的困扰。最近的有关常见漏洞和暴露的报告显示软件漏洞数量迅速增加,漏洞表现出与已建立的规范相反的行为,并可能导致严重的安全问题,如数据泄漏、功能失败,甚至系统崩溃,对个人、企业和政府实体构成重大威胁。因此,有效的漏洞检测对于确保软件系统的安全性至关重要。
3、现有技术中已经提出了许多用于漏洞检测的静态分析方法,但这些方法在识别有效的代码规则和特征方面严重依赖人类专家的专业知识,并且在检测到新的漏洞变种时表现不佳。为了克服上述问题,基于深度学习的漏洞检测方法不断发展,成为漏洞检测的主流,现在基于深度学习的漏洞检测方法通常可以分为基于相似性和基于模式的漏洞方法。
4、基于相似性的漏洞检测方法通过比较目标系统中的数据或行为与已知漏洞模式或异常行为之间的相似性来识别潜在漏洞。基于模式的漏洞检测方法则专注于检测代码或系统配置与已知漏洞模式或规范不匹配的情况。但上述方法对于漏洞检测的粒度过粗,特征提取能力不足,容易遗漏细粒度的漏洞,影响漏洞检测的准确性。
技术实现思路
1、为了解决现有技术的不足,本专利技术提供了一种细粒度混合语义漏洞检测方法、系统、电子设备及计算机可读存储介质,将codebert预训练语言模型、
2、第一方面,本专利技术提供了一种细粒度混合语义漏洞检测方法;
3、一种细粒度混合语义漏洞检测方法,包括:
4、获取待检测源代码并进行预处理,分别获取序列代码表示和图代码表示;
5、将序列代码表示输入预训练语言模型进行全局语义信息提取,获取全局语义特征向量和注意力分数嵌入矩阵;将序列代码表示输入预设的多尺度融合卷积神经网络进行局部特征信息提取,获取局部特征向量;将图代码表示输入具有残差结构的图卷积神经网络进行结构化信息提取,获取图嵌入向量;
6、将全局语义特征向量、局部特征向量和图嵌入向量融合后输入训练好的漏洞检测模型进行处理,获取漏洞检测结果;根据漏洞检测结果和注意力分数嵌入矩阵对序列代码表示进行细粒度检测,获取漏洞定位结果。
7、在一些实施方式中,所述预训练语言模型包括多个由双向多头自注意力层和前馈神经网络堆栈而成的编码器;
8、所述双向多头自注意力层用于根据序列代码表示计算对应的注意力分数并进行线性变换,获取多头注意力输出;所述前馈神经网络用于对多头注意力输出进行非线性转换。
9、在一些实施方式中,所述序列代码表示输入预设的多尺度融合卷积神经网络进行局部特征信息提取包括:
10、通过多组卷积滤波器对序列代码表示进行处理并进行自适应池化操作,获取多个输出特征向量;
11、将多个输出特征向量加权融合,获取局部特征向量;
12、其中,每组卷积滤波器包括多个大小不同的卷积滤波器,所述输出特征向量为多个卷积滤波器的输出之和。
13、在一些实施方式中,所述将图代码表示输入具有残差结构的图卷积神经网络进行结构化信息提取包括:
14、基于图代码表示,通过软注意力机制和非线性激活函数确定图代码表示中每个节点的最终向量表示;
15、对每个节点的最终向量表示进行拼接池化操作,生成图嵌入向量。
16、在一些实施方式中,所述将全局语义特征向量、局部特征向量和图嵌入向量融合具体为:对图嵌入向量进行维度扩展,并与全局语义特征向量和局部特征向量相加。
17、在一些实施方式中,所述将全局语义特征向量、局部特征向量和图嵌入向量融合后输入训练好的漏洞检测模型进行处理包括:
18、通过全连接层对融合后的向量进行非线性转换,再输出至softmax分类层进行二分类处理,获取漏洞检测结果。
19、在一些实施方式中,所述根据漏洞检测结果和注意力分数嵌入矩阵对序列代码表示进行细粒度检测包括:
20、通过换行符将序列代表表示分割为多个标记列表,并汇总每个标记列表中的词标记的注意力分数,确定标记列表的注意力分数;
21、对每个标记列表进行注意力分数一致性分析,并基于预设的漏洞警报阈值,确定潜在漏洞代码。
22、第二方面,本专利技术提供了一种细粒度混合语义漏洞检测系统;
23、一种细粒度混合语义漏洞检测系统,包括:
24、预处理模块,被配置为:获取待检测源代码并进行预处理,分别获取序列代码表示和图代码表示;
25、特征提取模块,被配置为:将序列代码表示输入预训练语言模型进行全局语义信息提取,获取全局语义特征向量和注意力分数嵌入矩阵;将序列代码表示输入预设的多尺度融合卷积神经网络进行局部特征信息提取,获取局部特征向量;将图代码表示输入具有残差结构的图卷积神经网络进行结构化信息提取,获取图嵌入向量;
26、漏洞检测定位模块,被配置为:将全局语义特征向量、局部特征向量和图嵌入向量融合后输入训练好的漏洞检测模型进行处理,获取漏洞检测结果;根据漏洞检测结果和注意力分数嵌入矩阵对序列代码表示进行细粒度检测,获取漏洞定位结果。
27、第三方面,本专利技术提供了一种电子设备;
28、一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述细粒度混合语义漏洞检测方法的步骤。
29、第四方面,本专利技术提供了一种计算机可读存储介质;
30、一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述细粒度混合语义漏洞检测方法的步骤。
31、与现有技术相比,本专利技术的有益效果是:
32、1、本专利技术提供的技术方案,将codebert预训练语言模型、多尺度融合卷积神经网络msfcnn以及具有残差结构的图卷积神经网络resgcn结合,构建漏洞检测框架,提升特征提取能力;并通过codebert架构中的双向多头自注意力机制来确定漏洞代码所在的语句,实现细粒度漏洞检测。
33、2、本专利技术提供的技术方案,在多尺度融合卷积神经网络中引入了不同尺寸的一维卷积核,更灵活地捕捉输入数据中的局部模式;每个卷积核在不同尺度上操作,使模型能够全面理解局部特征,这种多尺度特征提取策略增强了模型对输入数据中局部结构的敏感性,使其能够更有效地捕捉和表达复杂的局部信息。
34、3、本专利技术提供的技术方案,采用了基于序列的构造图方式构造代码图表示,能够通用于任何类型的漏洞数据;通过具有残差结构的图神经网络以捕获本文档来自技高网...
【技术保护点】
1.一种细粒度混合语义漏洞检测方法,其特征在于,包括:
2.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述预训练语言模型包括多个由双向多头自注意力层和前馈神经网络堆栈而成的编码器;
3.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述序列代码表示输入预设的多尺度融合卷积神经网络进行局部特征信息提取包括:
4.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述将图代码表示输入具有残差结构的图卷积神经网络进行结构化信息提取包括:
5.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述将全局语义特征向量、局部特征向量和图嵌入向量融合具体为:对图嵌入向量进行维度扩展,并与全局语义特征向量和局部特征向量相加。
6.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述将全局语义特征向量、局部特征向量和图嵌入向量融合后输入训练好的漏洞检测模型进行处理包括:
7.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述根据漏洞检测结果和注意力分数嵌入矩阵对
8.一种细粒度混合语义漏洞检测系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7任一项所述的细粒度混合语义漏洞检测方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项所述的细粒度混合语义漏洞检测方法。
...【技术特征摘要】
1.一种细粒度混合语义漏洞检测方法,其特征在于,包括:
2.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述预训练语言模型包括多个由双向多头自注意力层和前馈神经网络堆栈而成的编码器;
3.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述序列代码表示输入预设的多尺度融合卷积神经网络进行局部特征信息提取包括:
4.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述将图代码表示输入具有残差结构的图卷积神经网络进行结构化信息提取包括:
5.如权利要求1所述的细粒度混合语义漏洞检测方法,其特征在于,所述将全局语义特征向量、局部特征向量和图嵌入向量融合具体为:对图嵌入向量进行维度扩展,并与全局语义特征向量和局部特征向量相加。
6.如...
【专利技术属性】
技术研发人员:徐丽娟,安宝龙,李鑫,赵大伟,仝丰华,杨淑棉,陈川,
申请(专利权)人:山东省计算中心国家超级计算济南中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。