[发明专利]代码漏洞检测方法及装置在审
申请号: | 202111319219.4 | 申请日: | 2021-11-09 |
公开(公告)号: | CN114020628A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 程佩哲;旷亚和;吕博良;程元鸿 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/04;G06N3/08 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 崔博;杨勇 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 漏洞 检测 方法 装置 | ||
1.一种代码漏洞检测方法,其特征在于,所述方法包括:
获取待分析程序片段及已知漏洞程序片段,并根据所述待分析程序片段及已知漏洞程序片段,分别生成待分析程序片段控制流图及已知漏洞程序片段控制流图;
对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果;
根据所述权重评分计算结果,从所述待分析程序片段控制流图的基本块及所述已知漏洞程序片段控制流图的基本块中,分别选取预设数量的权重词符;
将所述权重词符转换为特征矩阵,并将所述特征矩阵输入至预先建立的双生神经网络模型中,得到待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间的相似度,并根据所述相似度对所述待分析程序片段进行漏洞检测。
2.根据权利要求1所述的方法,其特征在于,所述对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果包括:
根据所述待分析程序片段控制流图及所述已知漏洞程序片段控制流图,确定所述待分析程序片段控制流图中的基本块及其对应的多个词符,以及确定所述已知漏洞程序片段控制流图中的基本块及其对应的多个词符;
利用重要性排序算法,对所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块分别进行权重评分计算,得到各基本块的权重评分计算结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述权重评分计算结果,从所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块中,分别选取预设数量的权重词符包括:
根据各基本块的权重评分计算结果,分别得到所述待分析程序片段控制流图中各词符的总权重评分以及所述已知漏洞程序片段控制流图中各词符的总权重评分;
根据总权重评分,从所述待分析程序片段控制流图中的基本块及所述已知漏洞程序片段控制流图中的基本块中,分别选取预设数量的权重词符。
4.根据权利要求3所述的方法,其特征在于,所述将所述权重词符转换为特征矩阵包括:
利用词嵌入算法,生成各权重词符的语义向量;
根据各权重词符的语义向量及各权重词符对应的总权重评分,得到各权重词符的特征向量;
根据所述特征向量,分别生成所述待分析程序片段对应的权重词符的特征矩阵及所述已知漏洞程序片段对应的权重词符的特征矩阵。
5.根据权利要求1所述的方法,其特征在于,所述将所述特征矩阵输入至预先建立的双生神经网络模型中,得到待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间的相似度包括:
将所述特征矩阵输入至预先建立的双生神经网络模型中,经由所述双生神经网络模型中的卷积层、池化层及全连接层的处理后,得到所述待分析程序片段的特征矩阵与已知漏洞程序片段的特征矩阵之间对应的欧式距离,并将所述欧式距离作为相似度。
6.根据权利要求1所述的方法,其特征在于,所述根据所述相似度对所述待分析程序片段进行漏洞检测包括:
若获知所述相似度大于预设阈值,则判定所述待分析程序片段中存在与所述已知漏洞程序片段中类型一致的漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111319219.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现输送式装卸烟叶的烤房
- 下一篇:规则多边形的绘制方法及装置