提高分布式应用程序漏洞检测准确性的方法及系统技术方案

技术编号:33886347 阅读:16 留言:0更新日期:2022-06-22 17:19
本发明专利技术公开一种提高分布式应用程序漏洞检测准确性的方法及系统,其中该方法包括:在调用方,将请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中;在被调用方,接收到的位于滑动时间窗口中的请求数据当作污点数据进行基于污点数据的数据流跟踪漏洞检测,并将相关数据信息注册到滑动时间窗口中;在调用方,将请求数据与返回的与其所对应的响应数据进行绑定;在滑动时间窗口内,将调用方和被调用方的数据进行匹配,并将匹配到的调用方的污点数据的传播阶段和被调用方的污点数据的输出阶段进行组合并上报;在上述检测方法中,通过滑动时间窗口和请求与响应数据的一致性保证了基于数据流跟踪检测分布式应用程序漏洞的准确性。程序漏洞的准确性。程序漏洞的准确性。

【技术实现步骤摘要】
提高分布式应用程序漏洞检测准确性的方法及系统


[0001]本专利技术涉及分布式应用程序漏洞检测
,尤其涉及一种提高分布式应用程序漏洞检测准确性的方法及系统。

技术介绍

[0002]目前传统的漏洞检测工具无法针对大型分布式架构(也称微服务架构,如dubbo)的应用程序进行有效的漏洞检测。由于微服务架构中许多请求与响应数据被埋藏在服务内部调用中,基于黑盒检测,很多请求的响应数据在服务调用中进行传递,请求的响应数据往往无法获取到有用的信息;基于探针技术的灰盒检测,往往是以单个JVM虚拟机来保证检测准确性的(单JVM可以利用identityHashCode方法保证IAST技术中的污点数据内存地址的唯一性,即使两个完全相同的字符串在不同请求中也会映射成不同的内存地址,而在不同请求中hashCode方法只能保证相同的字符串得到相同的hash值),在跨JVM调用中无法保证足够的准确性。因此,无论是基于黑盒检测的原理还是基于探针技术的灰盒(IAST)检测原理,均无法提升基于分布式架构的应用程序漏洞检测的准确性。

技术实现思路

[0003]本专利技术的目的是为解决上述技术问题的不足而提供一种提高分布式应用程序漏洞检测准确性的方法及系统,以提高基于数据流跟踪的方式检测分布式应用系统漏洞的准确性。
[0004]为了实现上述目的,本专利技术公开了一种提高分布式应用程序漏洞检测准确性的方法,其包括:
[0005]在调用方,将存在污点数据的请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中;/>[0006]在被调用方,接收到所述调用方发送的并位于所述滑动时间窗口中的请求数据后,将该请求数据当作污点数据并进行基于所述污点数据的数据流跟踪漏洞检测,如果检测到漏洞,则将该请求数据、与该请求数据所对应的该响应数据以及检测到的漏洞信息注册到所述滑动时间窗口中;
[0007]在所述调用方,将所述请求数据与返回的与其所对应的所述响应数据进行绑定,并将绑定后的所述请求数据和所述响应数据更新到所述滑动时间窗口中;
[0008]在所述滑动时间窗口内,以来自于所述调用方的互相绑定的请求数据和响应数据作为匹配值进行匹配,如果匹配到相同的数据对,则将与该匹配值对应的调用方的污点数据的传播阶段和被调用方的污点数据的输出阶段进行组合并上报。
[0009]较佳地,所述滑动时间窗口的时间长度为一分钟。
[0010]较佳地,,基于IAST插桩工具,对基于分布式架构工作的待测应用程序进行插桩处理,以使得在每一步的检测过程中,可获取到待测应用程序的每一个请求执行过程的上下文。
[0011]本专利技术还公开一种提高分布式应用程序漏洞检测准确性的系统,其包括调用方数据跟踪模块、被调用方数据跟踪模块、绑定更新模块以及匹配输出模块;
[0012]所述调用方数据跟踪模块,用于调用方将存在污点数据的请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中;
[0013]所述被调用方数据跟踪模块,用于在被调用方接收到所述调用方发送的并位于所述滑动时间窗口中的请求数据后,将该请求数据当作污点数据并进行基于所述污点数据的数据流跟踪漏洞检测,如果检测到漏洞,则将该请求数据、与该请求数据所对应的该响应数据以及检测到的漏洞信息注册到所述滑动时间窗口中;
[0014]所述绑定更新模块,用于在所述调用方将所述请求数据与返回的与其所对应的所述响应数据进行绑定,并将绑定后的所述请求数据和所述响应数据更新到所述滑动时间窗口中;
[0015]所述匹配输出模块,用于在所述滑动时间窗口内,以来自于所述调用方的互相绑定的请求数据和响应数据作为匹配值进行匹配,并将与该匹配值对应的调用方的污点数据的传播阶段和被调用方的污点数据的输出阶段进行组合并上报。
[0016]较佳地,所述滑动时间窗口的时间长度为一分钟。
[0017]较佳地,还包括插桩模块,所述插桩模块用于基于IAST插桩工具,对基于分布式架构工作的待测应用程序进行插桩处理,以使得在每一步的检测过程中,可获取到待测应用程序的每一个请求执行过程的上下文。
[0018]本专利技术还公开另一种提高分布式应用程序漏洞检测准确性的系统,其包括:
[0019]一个或多个处理器;
[0020]存储器;
[0021]以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的提高分布式应用程序漏洞检测准确性的方法的指令。
[0022]本专利技术还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的提高分布式应用程序漏洞检测准确性的方法。
[0023]与现有技术相比,通过上述本专利技术提供的检测方法,通过对污点数据的数据流跟踪来检测漏洞,检测过程中,采用滑动时间窗口来框定调用方的请求数据、污点数据的传播过程信息以及出现漏洞的响应数据,且通过该同一滑动时间窗口来框定被调用方出现漏洞的请求数据、响应数据及漏洞信息,最后,在该滑动时间窗口内通过匹配的方式查找出与每一漏洞点对应的分别来自于调用方和被调用方的请求数据、响应数据,然后将匹配到的与该漏洞点对应的调用方的污点数据的传播阶段和被调用方的污点数据的输出阶段进行组合并上报;由此可知,在上述检测方法中,通过滑动时间窗口的设置保证了数据分析的时间有效性,通过调用方请求数据与响应数据的绑定以及滑动时间窗口内的匹配查找,保证了与漏洞点对应的请求数据和响应数据的一致性,从而在很大长度上保证了基于数据流跟踪检测分布式应用程序漏洞的准确性。
附图说明
[0024]图1为本专利技术其中一实施例中检测方法流程图。
[0025]图2为本专利技术另一实施例中检查方法流程图。
[0026]图3为本专利技术实施例中检查系统的系统结构图。
具体实施方式
[0027]为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0028]本实施例公开了一种提高分布式应用程序漏洞检测准确性的方法,以提高基于数据流跟踪方式检测分布式应用程序漏洞的准确性,具体地,如图1,该检测方法包括如下步骤:
[0029]S1:在调用方,给被调用方发送请求前,判断请求数据中是否存在污点数据,如果是,则将当前请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中,并等待被调用方返回的数据信息;如果请求数据中不存在污点数据,那么意味着不能通过数据流跟踪的方式来检测漏洞,所以,不执行将该请求数据注册到滑动时间窗口内的动作,也即,放弃对这样的请求数据进行分析。
[0030]S2:在被调用方,接收到所述调用方发送的请求数据后,在所述滑动时间窗口中查找是否存在该请求数据,如果是,则将该请求数据当作污点数据,并继续进行基于所述污点数据的数据流跟踪漏洞检测,如果检测到漏洞,则将该请求数据、与该请求数据所对应的该响应数据以及检测到的漏洞信息注册到所述滑动时间窗口中。如果未检测到本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种提高分布式应用程序漏洞检测准确性的方法,其特征在于,包括:在调用方,将存在污点数据的请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中;在被调用方,接收到所述调用方发送的并位于所述滑动时间窗口中的请求数据后,将该请求数据当作污点数据并进行基于所述污点数据的数据流跟踪漏洞检测,如果检测到漏洞,则将该请求数据、与该请求数据所对应的该响应数据以及检测到的漏洞信息注册到所述滑动时间窗口中;在所述调用方,将所述请求数据与返回的与其所对应的所述响应数据进行绑定,并将绑定后的所述请求数据和所述响应数据更新到所述滑动时间窗口中;在所述滑动时间窗口内,以来自于所述调用方的互相绑定的请求数据和响应数据作为匹配值进行匹配,如果匹配到相同的数据对,则将与该匹配值对应的调用方的污点数据的传播阶段和被调用方的污点数据的输出阶段进行组合并上报。2.根据权利要求1所述的提高分布式应用程序漏洞检测准确性的方法,其特征在于,所述滑动时间窗口的时间长度为一分钟。3.根据权利要求1所述的提高分布式应用程序漏洞检测准确性的方法,其特征在于,基于IAST插桩工具,对基于分布式架构工作的待测应用程序进行插桩处理,以使得在每一步的检测过程中,可获取到待测应用程序的每一个请求执行过程的上下文。4.一种提高分布式应用程序漏洞检测准确性的系统,其特征在于,包括调用方数据跟踪模块、被调用方数据跟踪模块、绑定更新模块以及匹配输出模块;所述调用方数据跟踪模块,用于调用方将存在污点数据的请求数据连同其中的污点数据传播过程信息注册到一滑动时间窗口中;所述被调用方数据跟踪模块,用于在被调用方接收到所述调用方发送的并位于所述滑...

【专利技术属性】
技术研发人员:刘海涛万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1