安全测试方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:18399257 阅读:25 留言:0更新日期:2018-07-08 19:42
本申请涉及一种安全测试方法、系统、计算机设备和存储介质。所述方法包括:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。采用本方法能够安全检测效率。

【技术实现步骤摘要】
安全测试方法、装置、计算机设备和存储介质
本申请涉及安全
,特别是涉及一种安全测试方法、装置、计算机设备和存储介质。
技术介绍
随着互联网技术的发展以及网络信息的增长,越来越多的企业或者个人通过互联网提供信息服务。然而,在提供信息服务时,应用软件或操作系统设计时的缺陷或编码时产生的错误,或者在业务交互处理过程中的设计缺陷或逻辑流程上的不合理之处都会形成漏洞。为了避免漏洞被有意或无意地利用,从而造成损失,需要对进行漏洞检测。目前在检测漏洞时,通常需要了解代码的内部结构后再对代码进行安全测试,然而代码的数据量大,了解代码结构需要花费大量的时间,导致进行安全检测的效率低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能提高安全检测效率的安全测试方法、装置、计算机设备和存储介质。一种安全测试方法,所述方法包括:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。在一个实施例中,所述方法还包括:获取所述当前网络访问请求对应的当前网络页面;将所述访问参数与所述当前网络页面上预设的选项参数进行对比,确定所述选项参数与所述访问参数的包含关系;所述在所述当前代码中插入探针函数的步骤包括:若检测到所述选项参数不包括所述访问参数,在所述当前代码中插入探针函数。在一个实施例中,所述方法还包括:获取所述当前代码对应的多个历史网络访问请求的历史执行路径;计算所述各个历史执行路径的分布比例,将超过预设分布比例的历史执行路径作为所述预设路径。在一个实施例中,所述方法还包括:获取所述当前代码的代码特征,所述代码特征包括所述当前代码对应的变量约束条件;根据所述变量约束条件构造测试参数;根据所述测试参数执行所述当前代码,得到代码运行数据;根据所述代码运行数据确定所述当前代码对应的漏洞检测结果。在一个实施例中,所述代码特征还包括所述当前代码对应的功能控件,所述根据所述测试参数执行所述当前代码,得到代码运行数据的步骤包括:根据所述功能控件以及所述测试参数构造测试网络访问请求;根据所述测试网络访问请求执行所述当前代码,得到代码运行数据。在一个实施例中,所述方法还包括:若确定所述当前代码存在漏洞,丢弃所述当前网络访问请求。在一个实施例中,所述在所述当前代码中插入探针函数的步骤包括:对所述当前代码进行检测,得到所述当前代码的目标语句,所述目标语句包括以下代码语句中的至少一个:当前代码的起始语句、终止语句、判断语句、变量约束条件对应的语句以及访问参数对应的代码语句;在所述当前代码的目标语句上插入探针函数。一种安全测试装置,所述装置包括:请求接收模块,用于接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;代码获取模块,用于根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;探针插入模块,用于在所述当前代码中插入探针函数;执行路径得到模块,用于在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测模块,用于检测所述当前代码的执行路径与预设路径是否一致;漏洞确定模块,用于若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。在一个实施例中,所述装置还包括:页面获取模块,用于获取所述当前网络访问请求对应的当前网络页面;包含关系确定模块,用于将所述访问参数与所述当前网络页面上预设的选项参数进行对比,确定所述选项参数与所述访问参数的包含关系;所述探针插入模块用于:若检测到所述选项参数不包括所述访问参数,在所述当前代码中插入探针函数。在一个实施例中,所述装置还包括:历史路径得到模块,用于获取所述当前代码对应的多个历史网络访问请求的历史执行路径;预设路径得到模块,用于计算所述各个历史执行路径的分布比例,将超过预设分布比例的历史执行路径作为所述预设路径。在一个实施例中,所述装置还包括:代码特征获取模块,用于获取所述当前代码的代码特征,所述代码特征包括所述当前代码对应的变量约束条件;参数构造模块,用于根据所述变量约束条件构造测试参数;执行模块,用于根据所述测试参数执行所述当前代码,得到代码运行数据;结果得到模块,用于根据所述代码运行数据确定所述当前代码对应的漏洞检测结果。在一个实施例中,所述代码特征还包括所述当前代码对应的功能控件,所述执行模块用于:根据所述功能控件以及所述测试参数构造测试网络访问请求;根据所述测试网络访问请求执行所述当前代码,得到代码运行数据。在一个实施例中,所述装置还包括:丢弃模块,用于若确定所述当前代码存在漏洞,丢弃所述当前网络访问请求。在一个实施例中,所述探针插入模块用于:对所述当前代码进行检测,得到所述当前代码的目标语句,所述目标语句包括以下代码语句中的至少一个:当前代码的起始语句、终止语句、判断语句、变量约束条件对应的语句以及访问参数对应的代码语句;在所述当前代码的目标语句上插入探针函数。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。上述安全测试方法、装置、计算机设备和存储介质,接收当前网络访问请求,当前网络访问请求携带有统一资源定位符以及访问参数,根据统一资源定位符获取执行当前网络访问请求的当前代码,在当前代码中插入探针函数,在根据访问参数执行当前代码的过程中,通过探针函数记录当前代码中代码语句的执行顺序,得到当前代码的执行路径,检测当前代码的执行路径与预设路径是否一致,若执行路径与预设路径不一致,确定当前代码存在安全漏洞,本专利技术实施例提供的方法利用探针函数获取网络访问请求对应的代码的执行路径,并将执行路径与预设路径对比得到漏洞测试结果,能够动态根据接收的网络访问请求进行漏洞检测,安全检测效率高。附图本文档来自技高网...

【技术保护点】
1.一种安全测试方法,所述方法包括:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。

【技术特征摘要】
1.一种安全测试方法,所述方法包括:接收当前网络访问请求,所述当前网络访问请求携带有统一资源定位符以及访问参数;根据所述统一资源定位符获取所述当前网络访问请求对应的当前代码;在所述当前代码中插入探针函数;在根据所述访问参数执行所述当前代码的过程中,通过所述探针函数记录所述当前代码中代码语句的执行顺序,得到所述当前代码的执行路径;检测所述当前代码的执行路径与预设路径是否一致;若所述执行路径与预设路径不一致,确定所述当前代码存在安全漏洞。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述当前网络访问请求对应的当前网络页面;将所述访问参数与所述当前网络页面上预设的选项参数进行对比,确定所述选项参数与所述访问参数的包含关系;所述在所述当前代码中插入探针函数的步骤包括:若检测到所述选项参数不包括所述访问参数,在所述当前代码中插入探针函数。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述当前代码对应的多个历史网络访问请求的历史执行路径;计算所述各个历史执行路径的分布比例,将超过预设分布比例的历史执行路径作为所述预设路径。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:获取所述当前代码的代码特征,所述代码特征包括所述当前代码对应的变量约束条件;根据所述变量约束条件构造测试参数;根据所述测试参数执行所述当前代码,得到代码运行数据;根据所述代码运行数据确定所述当前代码对应的漏洞检测结果。5.根据权利要求4所述的方法,其特征在于,所述代码特征还包括所述当前代码对应的功能控件,所述根据所述测试参数执行所述当前代码,得到代码运行数据的步骤包括:根据所...

【专利技术属性】
技术研发人员:林嘉思
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1