基于智能探针的漏洞验证方法及相关IAST方法、系统技术方案

技术编号:29401763 阅读:17 留言:0更新日期:2021-07-23 22:39
本申请提供一种基于智能探针的漏洞验证方法及相关IAST方法、系统,并涉及计算机网络信息安全领域。其中,包括:通过对目标程序插桩智能探针,和在接受模拟攻击测试时,使相应的智能探针能够对目标程序中可能潜藏的已知类型漏洞作出验证,以实现服务端的漏洞主动验证;以及在此基础上,通过配套可控的测试单元,提供所需的模拟攻击测试,来实现主动型IAST灰盒测试。较之现有技术,能够通过内置轻量级智能探针,提供更为智能的、高效的、易用的且低侵入性和使被测程序无感知的IAST灰盒测试。

【技术实现步骤摘要】
基于智能探针的漏洞验证方法及相关IAST方法、系统
本公开的实施例主要涉及计算机软件安全测试领域,并且更具体地,涉及一种基于智能探针的漏洞验证方法及相关IAST方法、系统。
技术介绍
随着数字时代的到来,基于B/S的Web应用技术被广泛用于政企业务数字化转型中。然而,随之而来的应用安全威胁也显著增加。相关研究显示,越来越多的安全漏洞发生在应用程序层,而非我们以往认知的网络层。为了确保应用程序在交付部署后能够安全稳定的提供服务,通常都会在交付前通过应用安全测试发现和修复其中的薄弱点和漏洞,以防止相关应用程序被黑客及非法人员利用而造成安全危害。然而,由于攻击侧技术的发展和开源组件应用给防守侧带来的安全挑战,加之在出于市场竞争等因素迫使开发者实体/个人开始转向能够满足频繁更新、快速发版的开发模式的大前提下,无益都给相关软件产品在交付前的应用安全测试提出了新的课题和要求。此时,面对上述情形,如何提供一种更为高效且可靠的应用安全测试以满足赋能开发测试人员快速完成相关应用业务代码交付上线前安全测试,成为一个技术难题。
技术实现思路
根据本公开的示例实施例,提供一种基于智能探针的漏洞验证方案,以及基于此进一步提供一种IAST灰盒安全测试方案。在本公开的第一方面中,提供一种基于智能探针的漏洞验证方法。该方法基于Agent技术,具体包括:在服务端,对目标程序中的目标关键函数插桩相应的智能探针;其中,目标关键函数,是指相对于目标类型漏洞的关键函数;对应目标类型漏洞,在目标程序中包括至少一个的目标关键函数;所述智能探针,被配置为接收相应的模拟攻击测试的报文的有效报文内容,和在所述模拟攻击测试的数据流执行到所述智能探针的插桩点时获取有效运行时数据,以及根据所述有效运行时数据和其对应的被插桩目标关键函数信息,及接收的所述模拟攻击测试报文有效报文内容,判断该被插桩目标关键函数在受到所述模拟攻击时是否异常执行,进而确定目标程序中是否潜藏目标类型漏洞;其中,所述模拟攻击测试,是指基于模拟攻击用于检测是否存在目标类型漏洞的测试;所述模拟攻击测试报文,应携带有能够触发目标类型漏洞的有效载荷;所述目标关键函数信息,即标识目标关键函数的信息,例如可以是目标关键函数的函数名称等。在本公开的第二方面中,提供一种基于内置智能探针的主动型IAST方法。作为一种新型的灰盒测试方法,在第一方面述及的漏洞验证方法的基础上,该IAST方法包括:在服务端执行第一方面述及的漏洞验证方法的操作,对目标程序插桩智能探针,和在接受模拟攻击测试时,通过相应的智能探针对目标程序中可能潜藏的已知类型漏洞进行验证性检测;以及在测试端产生模拟攻击测试流量,模拟攻击服务端目标程序,提供相应的模拟攻击测试;其中,所述模拟攻击测试,是指基于模拟攻击用于检测是否存在目标类型漏洞的测试;使产生的所述模拟攻击流量中包括相应的模拟攻击测试报文;所述模拟攻击测试报文,应携带有能够触发目标类型漏洞的有效载荷。在本公开的第三方面中,提供一种基于内置智能探针的IAST灰盒测试系统。该系统包括:漏洞检测单元,及测试单元;所述漏洞检测单元基于Agent技术,部署在服务端,用于IAST灰盒测试过程中的目标程序中已知类型漏洞的检测分析;所述漏洞检测单元,被配置成能够执行第一方面述及的漏洞验证方法的操作,对目标程序插桩智能探针,和在接受模拟攻击测试时,通过相应的智能探针对目标程序中可能潜藏的已知类型漏洞进行验证性检测;测试单元,部署在测试端,用于产生模拟攻击测试流量,模拟攻击服务端目标程序,提供相应的模拟攻击测试;测试单元,包括至少一个的攻击测试节点;攻击测试节点,能够执行所述模拟攻击测试;其中,所述模拟攻击测试,是指基于模拟攻击用于检测是否存在目标类型漏洞的测试;所述模拟攻击流量中包括相应的模拟攻击测试报文;所述模拟攻击测试报文,应携带有能够触发目标类型漏洞的有效载荷。在本公开的第四方面中,提供一种实现漏洞验证的装置。该装置包括:至少一个处理器,和至少一个处理器耦合的存储器,以及存储在存储器中的计算机程序;其中的处理器执行所述计算机程序,对应地能够实现第一方面述及的漏洞验证方法。在本公开的第五方面中,提供了一种计算机可读存储介质。该介质上存储有用于IAST相关的计算机指令,该计算机指令在被计算机处理器执行时能够实现第一、第二方面述及的方法中的部分方法或全部方法。在本公开的第六方面中,提供了一种计算机程序产品。该程序产品包括计算机程序,该计算机程序在被计算机处理器执行时能够实现第一、第二方面述及的方法中的部分方法或全部方法。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1示出了现有技术中的一种主动IAST的示例示意图。图2示出了根据本公开的多个实施例能够在其中或其中组成部分实现的示例环境的示意图;图3示出了根据本公开的一些实施例的基于智能探针进行漏洞验证的过程的示意图;图4示出了上述实施例中的一些的智能探针判断其所插桩的目标关键函数在受到针对性的模拟攻击时是否异常执行的过程的示意图;图5示出了上述实施例中的另一些的智能探针判断其所插桩的目标关键函数在受到针对性的模拟攻击时是否异常执行的过程的示意图;图6示出了根据本公开的一些实施例的基于内置智能探针的主动型IAST灰盒测试的过程的示意图;图7示出了根据本公开的一些实施例的基于内置智能探针的IAST灰盒测试系统的框图;图8示出了根据本公开的一些实施例的用于实现漏洞验证的电子设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。在本公开的实施例的描述中技术术语“探针”,是指“插桩”的“探针”,其本质上是进行信息采集的代码片段,可以是赋值语句或采集覆盖信息的函数调用。在本公开的实施例的描述中技术术语“插桩”,又称“程序插桩”,是指在保证被测程序原有逻辑完整性的基础上在程序中插入“探针”,通过对“探针”抛出的程序运行特征数据(即运行时数据)的分析,获得程序的控制流和数据流,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。其中的“探针”,根据插桩点、捕获数据需求等的不同,可以设计具有相应捕获功能的“探本文档来自技高网
...

【技术保护点】
1.一种基于智能探针的漏洞验证方法,其特征在于,该方法基于Agent技术,包括:/n在服务端,对目标程序中的目标关键函数插桩相应的智能探针;对应目标类型漏洞,在目标程序中包括至少一个的目标关键函数;/n所述智能探针,被配置为接收相应的模拟攻击测试的报文的有效报文内容,和在所述模拟攻击测试的数据流执行到所述智能探针的插桩点时获取有效运行时数据,以及根据所述有效运行时数据和其对应的被插桩目标关键函数信息,及接收的所述模拟攻击测试报文有效报文内容,判断该被插桩目标关键函数在受到所述模拟攻击时是否异常执行,进而确定目标程序中是否潜藏目标类型漏洞;/n其中,所述模拟攻击测试,是指基于模拟攻击用于检测是否存在目标类型漏洞的测试;所述模拟攻击测试报文,应携带有能够触发目标类型漏洞的有效载荷。/n

【技术特征摘要】
1.一种基于智能探针的漏洞验证方法,其特征在于,该方法基于Agent技术,包括:
在服务端,对目标程序中的目标关键函数插桩相应的智能探针;对应目标类型漏洞,在目标程序中包括至少一个的目标关键函数;
所述智能探针,被配置为接收相应的模拟攻击测试的报文的有效报文内容,和在所述模拟攻击测试的数据流执行到所述智能探针的插桩点时获取有效运行时数据,以及根据所述有效运行时数据和其对应的被插桩目标关键函数信息,及接收的所述模拟攻击测试报文有效报文内容,判断该被插桩目标关键函数在受到所述模拟攻击时是否异常执行,进而确定目标程序中是否潜藏目标类型漏洞;
其中,所述模拟攻击测试,是指基于模拟攻击用于检测是否存在目标类型漏洞的测试;所述模拟攻击测试报文,应携带有能够触发目标类型漏洞的有效载荷。


2.根据权利要求1所述的方法,其特征在于,
所述智能探针判断其所插桩的目标关键函数在受到针对性的模拟攻击时是否异常执行的过程,包括:
D1:判断所述模拟攻击测试报文的有效报文内容中是否包括能够触发目标类型漏洞的有效载荷参数;若是,则继而,D2:根据所述模拟攻击测试报文中的有效载荷参数内容,和所述有效运行时数据、目标关键函数信息,判断所述有效运行时数据中是否包括经无害化处理的所述模拟攻击测试报文的有效载荷参数内容;若否,则判定目标关键函数异常执行;
或包括:
配置得使所述智能探针接收的所述模拟攻击测试报文的有效报文内容中还应包括请求参数值;D1:判断所述模拟攻击测试报文的有效报文内容中是否包括能够触发目标类型漏洞的有效载荷参数;若是,则继而,D2:根据所述模拟攻击测试报文中的有效载荷参数内容,和所述有效运行时数据、目标关键函数信息,判断所述有效运行时数据中是否包括经无害化处理的所述模拟攻击测试报文的有效载荷参数内容;以及,D3:判断所述有效运行时数据中是否包括所述请求参数值;若D2为否且D3为是,则判定目标关键函数异常执行。


3.根据权利要求1所述的方法,其特征在于,
对于目标类型漏洞,对目标程序插入的智能探针,能够独立地用于确定目标程序中是否潜藏了目标类型漏洞;
和/或,
对目标程序插桩相应的辅助探针;其中的辅助探针,被用于获取提供给智能探针的模拟攻击测试报文有效报文内容,和/或,被用于获取目标程序返回给测试端的响应报文;
其中,所述的响应报文,用于目标类型漏洞验证的辅助分析。


4.根据权利要求3所述的方法,其特征在于,
所述的辅助探针,能够被复用于不同类型漏洞的验证过程中的有着相同获取位点、符合相同内容格式要求的模拟攻击测试报文有效报文内容或响应报文的获取,和为不同的智能探针提供相应的模拟攻击测...

【专利技术属性】
技术研发人员:张涛宁戈牛伟颖刘恩炙
申请(专利权)人:北京安普诺信息技术有限公司
类型:发明
国别省市:北京;11

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

1