【技术实现步骤摘要】
代码漏洞检测方法及装置
[0001]本专利技术涉及代码漏洞挖掘
,尤指一种代码漏洞检测方法及装置。
技术介绍
[0002]随着信息技术的发展,软件已成为我们生活中息息相关的重要元素,而与之相关的网络攻击活动数量也在逐年增长。在层出不穷的漏洞中,如何快速、准确地发现应用代码中类似的漏洞,防止不安全的代码持续暴露在高风险环境中,是每个软件开发商必须关注的问题。
[0003]在实际开发中,一种存在漏洞的开发模式很容易在系统的其他模块被找到。然而目前现存的静态分析方法,主要基于污点跟踪、符号执行等技术,并不适用于相似漏洞代码的搜寻。
技术实现思路
[0004]针对现有技术中存在的问题,本专利技术实施例的主要目的在于提供一种代码漏洞检测方法及装置,实现快速匹配应用系统中的类似代码,批量挖掘相似的风险问题。
[0005]为了实现上述目的,本专利技术实施例提供一种代码漏洞检测方法,所述方法包括:
[0006]获取待分析程序片段及已知漏洞程序片段,并根据所述待分析程序片段及已知漏洞程序片段,分别 ...
【技术保护点】
【技术特征摘要】
1.一种代码漏洞检测方法,其特征在于,所述方法包括:获取待分析程序片段及已知漏洞程序片段,并根据所述待分析程序片段及已知漏洞程序片段,分别生成待分析程序片段控制流图及已知漏洞程序片段控制流图;对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果;根据所述权重评分计算结果,从所述待分析程序片段控制流图的基本块及所述已知漏洞程序片段控制流图的基本块中,分别选取预设数量的权重词符;将所述权重词符转换为特征矩阵,并将所述特征矩阵输入至预先建立的双生神经网络模型中,得到待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间的相似度,并根据所述相似度对所述待分析程序片段进行漏洞检测。2.根据权利要求1所述的方法,其特征在于,所述对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果包括:根据所述待分析程序片段控制流图及所述已知漏洞程序片段控制流图,确定所述待分析程序片段控制流图中的基本块及其对应的多个词符,以及确定所述已知漏洞程序片段控制流图中的基本块及其对应的多个词符;利用重要性排序算法,对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果。3.根据权利要求2所述的方法,其特征在于,所述根据所述权重评分计算结果,从所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块中,分别选取预设数量的权重词符包括:根据各基本块的权重评分计算结果,分别得到所述待分析程序片段控制流图中各词符的总权重评分以及所述已知漏洞程序片段控制流图中各词符的总权重评分;根据总权重评分,从所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块中,分别选取预设数量的权重词符。4.根据权利要求3所述的方法,其特征在于,所述将所述权重词符转换为特征矩阵包括:利用词嵌入算法,生成各权重词符的语义向量;根据各权重词符的语义向量及各权重词符对应的总权重评分,得到各权重词符的特征向量;根据所述特征向量,分别生成所述待分析程序片段对应的权重词符的特征矩阵及所述已知漏洞程序片段对应的权重词符的特征矩阵。5.根据权利要求1所述的方法,其特征在于,所述将所述特征矩阵输入至预先建立的双生神经网络模型中,得到待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间的相似度包括:将所述特征矩阵输入至预先建立的双生神经网络模型中,经由所述双生神经网络模型中的卷积层、池化层及全连接层的处理后,得到所述待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间对应的欧式距离,并将所述欧式距离作为相似度。6.根据权利要求1所述的方...
【专利技术属性】
技术研发人员:程佩哲,旷亚和,吕博良,程元鸿,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。