[发明专利]程序漏洞检测方法及相关装置有效
申请号: | 201611102278.5 | 申请日: | 2016-12-02 |
公开(公告)号: | CN108153659B | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 童立舟;丁磊;江诗怡 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 漏洞 检测 方法 相关 装置 | ||
1.一种程序漏洞检测方法,其特征在于,包括:
接收用户输入的待检测逻辑流程图及标准逻辑流程图;其中,所述待检测逻辑流程图用于表示待检测程序的逻辑流程,所述待检测程序为实现目标业务而编写的程序,所述标准逻辑流程图用于表示所述目标业务的必需逻辑流程;
对比所述待检测逻辑流程图与所述标准逻辑流程图的节点数量、节点内容及节点顺序是否一致;
若一致,则提示待检测程序不存在漏洞;
若不一致,则确定所述待检测逻辑流程图存在漏洞,以及确定所述待检测逻辑流程图与所述标准逻辑流程图的不一致节点,并提示所述不一致节点,所述漏洞为所述待检测逻辑流程图多余节点、所述待检测逻辑流程图缺失节点、所述待检测逻辑流程图节点顺序不一致以及所述待检测逻辑流程图节点内容不一致中的任意一种或组合;
其中,存储所述待检测逻辑流程图中的节点的数据结构为第一结构体,存储所述标准逻辑流程图中的节点的数据结构为第二结构体;
相应地,所述对比所述待检测逻辑流程图与所述标准逻辑流程图的节点数量、节点内容及节点顺序是否一致,包括:
对比所述第一结构体与所述第二结构体的数量是否相同;
对比所述第一结构体中的信息属性的值与所述第二结构体中的信息属性的值是否相同;其中,所述信息属性的值用于表示节点内容;
对比所述信息属性值相同的第一结构体与第二结构体的排列顺序是否相同。
2.根据权利要求1所述的程序漏洞检测方法,其特征在于,所述确定所述待检测逻辑流程图存在漏洞,以及确定所述待检测逻辑流程图与所述标准逻辑流程图的不一致节点,并提示所述不一致节点,包括:
若所述待检测逻辑流程图的节点数量与所述标准逻辑流程图的节点数量不一致,则确定所述待检测逻辑流程图存在漏洞,以及确定所述待检测逻辑流程图多余或缺失的节点,并在所述标准逻辑流程图中,以预设样式显示所述节点。
3.根据权利要求1所述的程序漏洞检测方法,其特征在于,所述确定所述待检测逻辑流程图存在漏洞,以及确定所述待检测逻辑流程图与所述标准逻辑流程图的不一致节点,并提示所述不一致节点,包括:
若所述待检测逻辑流程图的节点内容与所述标准逻辑流程图的节点内容不一致,则确定所述待检测逻辑流程图存在漏洞,在所述标准逻辑流程图中,以预设样式显示该内容不一致的节点。
4.根据权利要求1所述的程序漏洞检测方法,其特征在于,所述确定所述待检测逻辑流程图存在漏洞,以及确定所述待检测逻辑流程图与所述标准逻辑流程图的不一致节点,并提示所述不一致节点,包括:
若所述待检测逻辑流程图的节点顺序与所述标准逻辑流程图的节点顺序不一致,则确定所述待检测逻辑流程图存在漏洞,在所述标准逻辑流程图中,以预设样式显示该顺序不一致的节点及其之间的连接线。
5.根据权利要求1所述的程序漏洞检测方法,其特征在于,存储所述待检测逻辑流程图的数据结构为第一树,存储所述标准逻辑流程图的数据结构为第二树;
相应地,所述对比所述待检测逻辑流程图与所述标准逻辑流程图的节点数量、节点内容及节点顺序是否一致,包括:
依据树遍历算法,查找所述第二树包含但所述第一树并不包含的叶子节点。
6.根据权利要求1所述的程序漏洞检测方法,其特征在于,所述待检测逻辑流程图及所述标准逻辑流程图包含起始节点及结束节点之外,还包含判断节点、事件节点及循环节点中的任意一种或多种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611102278.5/1.html,转载请声明来源钻瓜专利网。