首页 / 专利库 / 软件 / 交互式应用程序 / 快速验证应用程序漏洞状态的方法及系统

快速验证应用程序漏洞状态的方法及系统

阅读:179发布:2020-05-13

专利汇可以提供快速验证应用程序漏洞状态的方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种快速验证应用程序漏洞状态的方法及系统,其中方法包括如下步骤:S1)、获取其接收并记录到的漏洞原始 基础 数据,并将所述漏洞信息显示出来,以供用户查看;S2)、对漏洞 请求 进行重放;S3)、对上述步骤2中重放的请求进行漏洞检测;S4)、根据上述步骤3中的检测结果 修改 所述漏洞当前对应的漏洞状态,并将修改后的所述漏洞状态更新进所述漏洞原始基础数据中;由此可知,通过上述方法,用户可有针对性地对已原来已发现的漏洞进行二次检测,以判断其是否被修复,不但效率高,而且可有效保证精确度,而且,在用户确认需要对漏洞进行请求重放时,后续所有相关操作都不需要人为参与,使用更简单,从而提高用户使用体验。,下面是快速验证应用程序漏洞状态的方法及系统专利的具体信息内容。

1.一种快速验证应用程序漏洞状态的方法,其特征在于,包括:
S1)、从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将所述漏洞信息显示出来,以供用户查看;
S2)、对上述步骤1中显示出来的所述漏洞中的一个或多个所对应的请求进行重放;
S3)、对上述步骤2中重放的请求进行漏洞检测;
S4)、根据上述步骤3中的检测结果修改所述漏洞当前对应的漏洞状态,并将修改后的所述漏洞状态更新进所述漏洞原始基础数据中。
2.根据权利要求1所述的快速验证应用程序漏洞状态的方法,其特征在于,所述漏洞状态包括新发现状态、已确认状态和已关闭状态;
所述新发现状态,是指在请求重放时新发现且未经任何处理时的状态;
所述已确认状态,是指漏洞已被安全人员确认,需要被修复时的状态。
所述已关闭状态,是指经过请求重放和漏洞重新检测之后确认漏洞已经不存在且已被关闭的状态。
3.根据权利要求1所述的快速验证应用程序漏洞状态的方法,其特征在于,对于指定进行重放的请求,动态在所述请求的请求头中添加第一关键字信息,所述第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。
4.根据权利要求3所述的快速验证应用程序漏洞状态的方法,其特征在于,对于重放的请求,如果检测到新的漏洞,在所述请求的响应头中添加第二关键字信息,所述第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。
5.根据权利要求1所述的快速验证应用程序漏洞状态的方法,其特征在于,所述步骤3中的漏洞检测方法包括:利用IAST交互式技术插桩用户程序中的代码,动态获取用户请求执行的方法链或请求数据,然后根据相关规则判断是否存在漏洞。
6.一种快速验证应用程序漏洞状态的系统,其特征在于,包括漏洞显示模、漏洞重放模块、漏洞检测模块和漏洞处理模块;
所述漏洞显示模块,用于从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将所述漏洞信息显示出来,以供用户查看;
所述漏洞重放模块,用于执行对用户所指定的漏洞请求进行重放;
所述漏洞检测模块,用于检测判断所述漏洞重放模块所执行的请求是否存在漏洞;
所述漏洞处理模块,用于根据所述漏洞检测模块的检测结果修改所述漏洞当前对应的漏洞状态,并对所述漏洞显示模块进行更新。
7.根据权利要求6所述的快速验证应用程序漏洞状态的系统,其特征在于,所述漏洞重放模块中还设置有第一标记模块,所述第一标记模块用于对用户指定进行重放的请求的请求头中动态添加第一关键字信息,所述第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。
8.根据权利要求7所述的快速验证应用程序漏洞状态的系统,其特征在于,所述漏洞检测模块中还设置有第二标记模块,所述第二标记模块用于对存在漏洞的请求的响应头中添加第二关键字信息,所述第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。
9.一种快速验证应用程序漏洞状态的系统,其特征在于,包括:
一个或多个处理器;
存储器
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1至5任一项所述的快速验证应用程序漏洞状态的方法的指令。
10.一种计算机可读存储介质,其特征在于,包括测试用计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至5任一项所述的快速验证应用程序漏洞状态的方法。

说明书全文

快速验证应用程序漏洞状态的方法及系统

技术领域

[0001] 本发明涉及应用程序漏洞检测技术领域,尤其涉及一种快速验证应用程序漏洞状态的方法及系统。

背景技术

[0002] 自软件程序的诞生开始,程序漏洞就应允而生,由于软件开发者开发软件时的疏忽,或者是编程语言的局限性,比如c语言家族比java效率高但漏洞也多,任何一款程序都不可避免地会存在这样或那样的漏洞,从某种程度上可以说,只有暂时未发现漏洞的程序,没有完全安全的程序,即漏洞只能被尽可能多的发现,而不能完全杜绝,鉴于此,每一款程序从开发出来开始直到寿命结束都会涉及到漏洞检测问题,对于用户来说,只有提前检测到存在的漏洞并对其进行处理,才能有效防止安全事故的发生。为了提高漏洞的检测效率,漏洞检测工具也得到不断发展,但是现在的漏洞检测工具的检测目的都是将已存在的安全漏洞给找出来,而不能针对已发现的安全漏洞进行判断其是否已被开发人员修复成功。目前,判断已发现的安全漏洞是否被修复的方法有以下两种:1、安全人员手动测试,重新发送验证请求,人工判断该漏洞是否被验证,耗时长,可能出现遗漏问题;2、基于漏洞扫描工具重新测试一遍,过于消耗资源,部分未修复的漏洞也会重复请求。因此,对于上述两种判断已发现的安全漏洞是否被修复的方法,无论是效率亦或是准确度都不能达到用户的满意。

发明内容

[0003] 本发明的目的是为解决上述技术问题的不足而提供一种快速验证应用程序漏洞状态的方法,以对漏洞检测工具已经发现的漏洞进行有针对性的二次检测,确认其是否被修复成功。
[0004] 本发明的另一目的是提供一种快速验证应用程序漏洞状态的系统,以对漏洞检测工具已经发现的漏洞进行有针对性的二次检测,确认其是否被修复成功。
[0005] 为了实现上述目的,本发明公开了一种快速验证应用程序漏洞状态的方法,其包括如下步骤:
[0006] S1)、从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将所述漏洞信息显示出来,以供用户查看;
[0007] S2)、对上述步骤1中显示出来的所述漏洞中的一个或多个所对应的请求进行重放;
[0008] S3)、对上述步骤2中重放的请求进行漏洞检测;
[0009] S4)、根据上述步骤3中的检测结果修改所述漏洞当前对应的漏洞状态,并将修改后的所述漏洞状态更新进所述漏洞原始基础数据中。
[0010] 较佳地,所述漏洞状态包括新发现状态、已确认状态和已关闭状态;
[0011] 所述新发现状态,是指在请求重放时新发现且未经任何处理时的状态;
[0012] 所述已确认状态,是指漏洞已被安全人员确认,需要被修复时的状态。
[0013] 所述已关闭状态,是指经过请求重放和漏洞重新检测之后确认漏洞已经不存在且已被关闭的状态。
[0014] 较佳地,对于指定进行重放的请求,动态在所述请求的请求头中添加第一关键字信息,所述第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。
[0015] 较佳地,对于重放的请求,如果检测到新的漏洞,在所述请求的响应头中添加第二关键字信息,所述第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。
[0016] 较佳地,所述步骤3中的漏洞检测方法包括:利用IAST交互式技术插桩用户程序中的代码,动态获取用户请求执行的方法链或请求数据,然后根据相关规则判断是否存在漏洞。
[0017] 与现有技术相比,使用本发明快速验证应用程序漏洞状态的方法,用户可对漏洞检测平台所记录的漏洞信息进行查看,并有选择地或者全部对所述查看到的漏洞执行请求重放的动作,在漏洞检测平台执行请求重发的命令后,对执行重发的请求进行漏洞检测,以判断其是否存在漏洞,然后根据判断结果修改漏洞状态,并在漏洞平台中显示出来,以供用户不断查看;由此可知,通过上述方法,用户可有针对性地对已原来已发现的漏洞进行二次检测,以判断其是否被修复,不但效率高,而且可有效保证精确度,而且,在用户确认需要对漏洞进行请求重放时,后续所有相关操作都不需要人为参与,使用更简单,从而提高用户使用体验;另外,在请求的请求头和响应头中添加关键字信息,可以避免在数据库中添加额外的信息追踪,灵活且节省空间。
[0018] 本发明还公开一种快速验证应用程序漏洞状态的系统,其包括漏洞显示模、漏洞重放模块、漏洞检测模块和漏洞处理模块;
[0019] 所述漏洞显示模块,用于从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将所述漏洞信息显示出来,以供用户查看;
[0020] 所述漏洞重放模块,用于执行对用户所指定的漏洞请求进行重放;
[0021] 所述漏洞检测模块,用于检测判断所述漏洞重放模块所执行的请求是否存在漏洞;
[0022] 所述漏洞处理模块,用于根据所述漏洞检测模块的检测结果修改所述漏洞当前对应的漏洞状态,并对所述漏洞显示模块进行更新。
[0023] 较佳地,所述漏洞重放模块中还设置有第一标记模块,所述第一标记模块用于对用户指定进行重放的请求的请求头中动态添加第一关键字信息,所述第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。
[0024] 较佳地,所述漏洞检测模块中还设置有第二标记模块,所述第二标记模块用于对存在漏洞的请求的响应头中添加第二关键字信息,所述第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。
[0025] 本发明还公开一种快速验证应用程序漏洞状态的系统,其包括:
[0026] 一个或多个处理器;
[0027] 存储器
[0028] 以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的快速验证应用程序漏洞状态的方法的指令。
[0029] 本发明还公开一种计算机可读存储介质,其包括测试用计算机程序,所述计算机程序可被处理器执行以完成如上所述的快速验证应用程序漏洞状态的方法。附图说明
[0030] 图1为本发明实施例快速验证应用程序漏洞状态的方法的流程示意图。
[0031] 图2为本发明实施例速动态验证应用程序漏洞状态的系统的原理结构示意图。

具体实施方式

[0032] 为详细说明本发明的技术内容、结构特征、实现原理及所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0033] 如图1所示,本发明公开了本发明公开了一种快速验证应用程序漏洞状态的方法,其包括如下步骤:
[0034] S1)、从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将漏洞信息显示出来,以供用户查看;漏洞原始基础数据,是指作为漏洞检测平台,对于在常规扫描检测过程中已经上报上来的漏洞,会存储漏洞对应的相关信息,包括触发漏洞的请求信息、漏洞类型以及其他信息(比如在用户代码的多少行发现这个漏洞等),在本步骤中,将在常规检测中已经发现的漏洞的漏洞状态、发现时间、漏洞类型等分类展示给用户查看,此处的漏洞类型是指SQL注入,命令行注入,跨站脚本攻击等相关漏洞类型;
[0035] S2)、对上述步骤1中显示出来的漏洞中的一个或多个所对应的请求进行重放,即将出现漏洞的原始请求在漏洞检测平台上再次执行;
[0036] S3)、对上述步骤2中重放的请求进行漏洞检测;
[0037] S4)、根据上述步骤3中的检测结果修改漏洞当前对应的漏洞状态,并将修改后的漏洞状态更新进漏洞原始基础数据中,展示给用户查看。
[0038] 根据上述验证方法的过程可知,用户可有针对性地对已原来已发现的漏洞进行二次检测,以判断其是否被修复,不但效率高,而且可有效保证精确度,而且,在用户确认需要对漏洞进行请求重放时,后续所有相关操作都不需要人为参与,使用更简单,从而提高用户使用体验。
[0039] 进一步地,上述实施例中的漏洞状态包括新发现状态、已确认状态和已关闭状态,以方便用户查看。具体地,新发现状态是指漏洞是在请求重放时新发现且未经任何处理时的状态;已确认状态是指漏洞已被安全人员确认,需要被修复的状态;已关闭状态,是指经过请求重放和漏洞重新检测之后确认该漏洞已经被修复,且被关闭的状态。当用户在漏洞检测平台上查看漏洞原始基础数据时,可根据每个漏洞的当前漏洞状态对其进行相应的操作,如果该漏洞的漏洞状态显示为“新发现”,那么接下来将该漏洞交由安全人员进行确认,如果该漏洞的漏洞状态显示为“已确认”,那么接下来将该漏洞信息返回给开发或维护人员进行打补丁工作,如果该漏洞的漏洞状态显示为“已关闭”,那么就无须对该漏洞进行关注和其他任何操作。
[0040] 较佳地,对于用户指定进行重放的的请求,动态在请求的请求头中添加第一关键字信息,第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。另外,对于重放的请求,如果检测到新的漏洞,在请求的响应头中添加第二关键字信息,第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。本实施例中,在请求的请求头和响应头中添加关键字信息,可以避免在数据库中添加额外的信息追踪,灵活且节省空间。通过上述在请求头和响应头中添加的第一关键字信息和第二关键字信息,在请求重发的时候,无须再添加一个数据库记录存储请求对应的漏洞以及执行时间,而且在获取请求重发的响应数据时,也无须再从数据库取出该记录并判断。
[0041] 上述对重发的请求进行漏洞检测时,漏洞检测方法包括:利用IAST交互式技术插桩用户程序中的代码,动态获取用户请求执行的方法链或请求数据,然后根据相关规则判断是否存在漏洞。本实施例中,通过IAST交互式技术插桩用户程序中的代码,使得测试软件的权限可深入到应用程序的代码内部,从而帮助用户发现隐藏的漏洞。另外,相关规则,包括逻辑权限处理规则和安全漏洞处理规则。逻辑权限处理规则,是指请求是否存在平越权和垂直越权。安全漏洞处理规则,指的是应用程序中是否存在安全漏洞,如CMD注入漏洞(即通过把CMD命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的CMD命令),利用IAST技术插桩用户代码,如果检测到请求传过来的数据没有进行任何处理就被用户在程序中直接执行CMD命令,即可认为存在CMD注入的安全漏洞(正常情况下,Web表单或请求传递的数据在直接执行CMD命令前需要进行编码或白名单等字符处理)。
[0042] 下面对上述快速验证应用程序漏洞状态的方法作一详述:首先,用户可以在漏洞检测平台上通过漏洞检测时间、漏洞状态对已测试出来的漏洞进行分类查看;然后,对于用户已指定需要进行请求重放的漏洞,动态在请求头中加入关键字信息,代表该请求存在已被发现的漏洞和漏洞类型,并进行请求重发;接着,请求被发送至被漏洞检测程序并进行处理,漏洞检测程序利用IAST技术动态检测请求执行过程,判断是否存在漏洞,如果存在漏洞,在请求的响应头中添加关键字信息,代表该请求存在新被发现的漏洞和漏洞类型;最后,通过判断请求头和响应头中关键字信息,如果存在相同漏洞和漏洞类型,代表该漏洞未被修复,如果不存在则代表该漏洞已被修复,自动修改漏洞状态为已关闭。
[0043] 另外,便于上述快速验证应用程序漏洞状态的方法的实施,本发明还公开了一种快速验证应用程序漏洞状态的系统,其包括漏洞显示模块10、漏洞重放模块11、漏洞检测模块12和漏洞处理模块13。漏洞显示模块10用于从漏洞检测平台数据库中获取其接收并记录到的漏洞原始基础数据,并将漏洞信息显示出来,以供用户查看;漏洞重放模块11用于执行对用户所指定的漏洞请求进行重放;漏洞检测模块12用于检测判断漏洞重放模块11所执行的请求是否存在漏洞;漏洞处理模块13用于根据漏洞检测模块12的检测结果修改漏洞当前对应的漏洞状态,并对漏洞显示模块10进行更新。较佳地,漏洞重放模块11中还设置有第一标记模块,第一标记模块用于对用户指定进行重放的请求的请求头中动态添加第一关键字信息,第一关键字信息代表该请求存在已被发现的漏洞和漏洞类型。漏洞检测模块12中还设置有第二标记模块,第二标记模块用于对存在漏洞的请求的响应头中添加第二关键字信息,第二关键字信息代表该请求存在新被发现的漏洞和漏洞类型。上述快速验证应用程序漏洞状态的系统的具体工作过程详见上述快速验证应用程序漏洞状态的方法,在此不再赘述。
[0044] 本发明行公开了另一种快速验证应用程序漏洞状态的系统,其包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序被存储在存储器中,并且被配置成由一个或多个处理器执行,程序包括用于执行上述快速验证应用程序漏洞状态的方法的指令。
[0045] 最后,本发明还公开了一种计算机可读存储介质,其包括测试用计算机程序,计算机程序可被处理器执行以完成上述快速验证应用程序漏洞状态的方法。
[0046] 以上所揭露的仅为本发明的较佳实例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属于本发明所涵盖的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈