System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及代码信息安全,尤其涉及一种引入注意力机制以及神经网络的漏洞检测方法、系统、电子设备及计算机可读存储介质。
技术介绍
1、近年来,计算机技术呈现出更加多元化、复杂化的趋势,这主要体现在各种程序功能的丰富和多样化上,因此导致了相应的程序源码复杂化,而源码作为程序的核心内容,其安全性作为考量程序安全重点,因此源码的漏洞检测是程序安全检查中必不可少的一环。
2、针对程序安全监测,特别是源码的漏洞检测,如中国专利技术专利公开说明书cn116226863a公开了基于图神经网络的软件源码漏洞检测方法,利用图神经网络,构建软件源码漏洞检测模型,对源码漏洞进行二次检测,去掉重读的源码,得到正确的代码;通过该检测模型的训练,每个漏洞特征节点将自身的特征信息传递给邻域节点,再通过激活函数,将图神经网络中的漏洞节点信息进行变换,增强模型的检测能力。但是,通过虽然引入了注意力机制,但并未针对漏洞检测进行多层次、深层次的识别,导致漏洞检测具有局限性。
3、现有技术中如采用奇安信代码卫士进行漏洞识别,判断有关数据如何沿着程序执行路径流动的相关信息,从而判断是否为缺陷,通过对source点扫描、passthrough点扫描、sink点扫描以对xml,ini,properties等配置文件进行判定,使用xpath及键值对进行判断,但此方法未使用深度学习算法获取源码更深层次的语义信息,漏洞误报率高,导致增加安全审计人员工作量。
技术实现思路
1、为解决现有技术的不足,本专利技术提
2、为实现以上目的,本专利技术所采用的技术方案包括:
3、一种引入注意力机制以及神经网络的漏洞检测方法,其特征在于,包括:
4、s1、采用深度卷积神经网络的截断层对源码合集进行深层特征提取,并将所述深层特征进行合并,得到第一特征,其中,所述源码合集为将源码进行分段截取的已标记源码片段以及未标记源码连续片段;
5、s2、将所述第一特征引入通道注意力机制se-net,通过第一池化将多通道矩阵压缩为特征描述符,并匹配通道之间特征依赖程度,获得通道权重值,将所述通道权重值与所述第一特征相乘,得到第二特征;
6、s3、将所述第一特征引入空间注意力机制sam,通过第二池化得到对应池化结果,经卷积后生成空间注意力权重值,将所述空间注意力权重值与所述第一特征相乘,得到第三特征;
7、s4、将所述第一特征通过所述通道注意力机制se-net和所述空间注意力机制sam组成的串行结构,提取第四特征;
8、s5、将所述第一特征通过双向长短时记忆网络blstm,提取当前时刻源码片段前后两个方向的时序信息,得到源码序列特征变化关系;
9、s6、将所述第二特征、所述第三特征、所述第四特征以及所述源码序列特征变化关系输入至相似度计算模块分别输出对应的相似度得分;
10、s7、基于特定所述相似度得分所对应的特征,将与其匹配的所述已标记源码片段作为漏洞。
11、进一步,所述步骤s2中通过第一池化将多通道矩阵压缩为特征描述符进一步包括:采用全局平均池化将多维度的所述多通道矩阵压缩为一个所述特征描述符。
12、进一步,所述步骤s3中通过第二池化得到对应池化结果,经卷积后生成空间注意力权重值进一步包括:
13、采用全局平均池化avgpool和全局最大池化maxpool得出对应的池化结果,将所述池化结果通过所述卷积进行特征融合,以生成所述空间注意力权重值。
14、更进一步,所述步骤s1中将所述深层特征进行合并进一步包括:将所述深层特征在第三维度进行合并。
15、可选地,所述通道权重值与所述空间注意力权重值采用sigmoid函数进行激活后与所述第一特征相乘。
16、可选地,所述第一特征为64×64×1024大小的特征结构。
17、此外,本专利技术还涉及一种引入注意力机制以及神经网络的漏洞检测系统,其特征在于,包括:
18、特征提取模块,用于采用深度卷积神经网络的截断层对源码合集进行深层特征提取,并将所述深层特征进行合并,得到第一特征,其中,所述源码合集为将源码进行分段截取的已标记源码片段以及未标记源码连续片段;
19、通道注意力引入模块,用于将所述第一特征引入通道注意力机制se-net,采用全局平均池化将多维度的所述多通道矩阵压缩为一个所述特征描述符,并匹配通道之间特征依赖程度,获得通道权重值,将所述通道权重值与所述第一特征相乘,得到第二特征;
20、空间注意力引入模块,用于将所述第一特征引入空间注意力机制sam,采用全局平均池化avgpool和全局最大池化maxpool得出对应的池化结果,将所述池化结果通过所述卷积进行特征融合,以生成所述空间注意力权重值,将所述空间注意力权重值与所述第一特征相乘,得到第三特征;
21、串行注意力结构引入模块,用于将所述第一特征通过所述通道注意力机制se-net和所述空间注意力机制sam组成的串行结构,提取第四特征;
22、双向长短时记忆网络引入模块,将所述第一特征通过双向长短时记忆网络blstm,提取当前时刻源码片段前后两个方向的时序信息,得到源码序列特征变化关系;
23、计算模块,用于将所述第二特征、所述第三特征、所述第四特征以及所述源码序列特征变化关系输入至相似度计算模块分别输出对应的相似度得分;
24、漏洞判断模块,用于基于特定所述相似度得分所对应的特征,将与其匹配的所述已标记源码片段作为漏洞。
25、进一步,所述特征提取模块,还用于:将所述深层特征在第三维度进行合并。
26、此外,本专利技术还涉及一种电子设备,其特征在于,包括处理器和存储器;
27、所述存储器,用于存储操作指令;
28、所述处理器,用于通过调用所述操作指令,执行上述的方法。
29、此外,本专利技术还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
30、采用本申请提供的方案,采用深度卷积神经网络的截断层对源码合集进行深层特征提取,并将所述深层特征进行合并,得到第一特征,所述源码合集为将源码进行分段截取的已标记源码片段以及未标记源码连续片段,分别将第一特征引入通道注意力机制se-net和空间注意力机制sam计算对应的权重值后经计算得到第三特征、第四特征;将所述第一特征通过双向长短时记忆网络blstm后经计算得到源码序列特征变化关系;将所述第二特征、所述第三特征、所述第四特征以及所述源码序列特征变化关系输入至相似度计算模块计算得分,基于得分找到对应的漏洞源码片段;因此采用上述技术方案,通过引入通道注意力机制、空间注意力机制以及双向长短时记忆网络能够获取源码更深层次的语义信息,降低漏洞误报率,降低安全审计人员工本文档来自技高网...
【技术保护点】
1.一种引入注意力机制以及神经网络的漏洞检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中通过第一池化将多通道矩阵压缩为特征描述符进一步包括:采用全局平均池化将多维度的所述多通道矩阵压缩为一个所述特征描述符。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤S3中通过第二池化得到对应池化结果,经卷积后生成空间注意力权重值进一步包括:
4.根据权利要求3所述的方法,其特征在于,所述步骤S1中将所述深层特征进行合并进一步包括:将所述深层特征在第三维度进行合并。
5.根据权利要求1所述的方法,其特征在于,所述通道权重值与所述空间注意力权重值采用Sigmoid函数进行激活后与所述第一特征相乘。
6.根据权利要求1所述的方法,其特征在于,所述第一特征为64×64×1024大小的特征结构。
7.一种引入注意力机制以及神经网络的漏洞检测系统,其特征在于,包括:
8.根据权利要求7所述的系统,其特征在于,所述特征提取模块,还用于:
9.一种电子设备,其特征在于
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
...【技术特征摘要】
1.一种引入注意力机制以及神经网络的漏洞检测方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述步骤s2中通过第一池化将多通道矩阵压缩为特征描述符进一步包括:采用全局平均池化将多维度的所述多通道矩阵压缩为一个所述特征描述符。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤s3中通过第二池化得到对应池化结果,经卷积后生成空间注意力权重值进一步包括:
4.根据权利要求3所述的方法,其特征在于,所述步骤s1中将所述深层特征进行合并进一步包括:将所述深层特征在第三维度进行合并。
5.根据权利要求1所述的方法,其特...
【专利技术属性】
技术研发人员:冯晓萌,
申请(专利权)人:中信银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。