[发明专利]代码漏洞检测方法、装置、设备及存储介质在审
申请号: | 201911206314.6 | 申请日: | 2019-11-29 |
公开(公告)号: | CN110929267A | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 郭熙辰 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 贾伟;张颖玲 |
地址: | 518055 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 漏洞 检测 方法 装置 设备 存储 介质 | ||
本发明公开了一种代码漏洞检测方法、装置、设备及存储介质。其中,所述方法包括:获取目标代码;基于解释器运行所述目标代码,获取所述目标代码的预设操作对应的程序流,所述程序流包括:用于执行逻辑操作的函数对应的参数;对所述程序流基于各参数的初始状态,跟踪并记录程序流中各参数对应的流转方式和行为状态,得到各参数的数据流;对数据流基于预设规则进行检测,确定数据流的识别结果;基于各参数的数据流的识别结果,生成所述目标代码的代码漏洞检测结果。本发明实施例能够有效避免动态调用导致的漏报,提高代码漏洞检测的准确性。
技术领域
本发明涉及软件检测领域,尤其涉及一种代码漏洞检测方法、装置、设备及存储介质。
背景技术
代码漏洞是软件开发过程中进行程序代码编辑时,有意或无意产生的代码缺陷。代码漏洞的存在会威胁开发出的软件的安全稳定运行。因此,需要对代码漏洞进行检测,以保证相应软件的稳定运行。
相关技术中,可以通过静态代码分析工具,对程序代码进行分析,发现其中的安全性问题,比如SQL(结构化查询语言)注入漏洞、命令注入漏洞、硬编码密码(HardcodedPassword)、信息泄露等。静态代码分析工具采用的是语义分析加规则的方式来发现安全性问题,通过语义解析模块来跟踪数据流,通过人工定义规则来识别哪些数据流存在安全性问题。如果程序代码中使用的都是静态调用,静态代码分析工具能取得不错的效果。但是,大量项目的程序代码中使用了动态调用,静态代码分析工具在这种情况下就无法正确的进行数据流追踪,导致产生大量漏报。
发明内容
有鉴于此,本发明实施例提供了一种代码漏洞检测方法、装置、设备及存储介质,旨在提高程序代码的代码漏洞检测的准确性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种代码漏洞检测方法,包括:
获取目标代码;
基于解释器运行所述目标代码,获取所述目标代码的预设操作对应的程序流,所述程序流包括:用于执行逻辑操作的函数对应的参数;
对所述程序流基于各参数的初始状态,跟踪并记录程序流中各参数对应的流转方式和行为状态,得到各参数的数据流;
对数据流基于预设规则进行检测,确定数据流的识别结果;
基于各参数的数据流的识别结果,生成所述目标代码的代码漏洞检测结果。
本发明实施例又提供了一种代码漏洞检测装置,包括:
获取模块,用于获取目标代码;
第一确定模块,用于基于解释器运行所述目标代码,获取所述目标代码的预设操作对应的程序流,所述程序流包括:用于执行逻辑操作的函数对应的参数;
第二确定模块,用于对所述程序流基于各参数的初始状态,跟踪并记录程序流中各参数对应的流转方式和行为状态,得到各参数的数据流;
检测模块,用于对数据流基于预设规则进行检测,确定数据流的识别结果;
第三确定模块,用于基于各参数的数据流的识别结果,生成所述目标代码的代码漏洞检测结果。
本发明实施例还提供了一种代码漏洞检测设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器,用于运行计算机程序时,执行本发明任一实施例所述方法的步骤。
本发明实施例又提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明任一实施例所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911206314.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链的酒类产品的质量溯源方法及设备、介质
- 下一篇:助力装置