一种污点分析方法及装置制造方法及图纸

技术编号:33328186 阅读:10 留言:0更新日期:2022-05-08 09:07
本申请实施例涉及安全技术领域,公开一种污点分析方法及装置,用以提高污点分析技术的通用性。污点分析装置获取被测试对象中污染源的原始污染源信息;获得所述原始污染源信息对应的变异污染源信息组,所述变异污染源信息组包括根据所述原始污染源信息构造的至少一个变异污染源信息;获得污染目标信息,确定至少一个污染目标信息组;将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配;确定所述被测试对象中的污染源与匹配的第一污染目标信息组对应的污染目标之间存在污染路径。由于通过变异污染源信息组和污染目标信息组进行匹配来实现污点分析,不依赖于线程模型,可以适用于多组件分布式架构和异步IO并发框架,因此具有通用性。因此具有通用性。因此具有通用性。

【技术实现步骤摘要】
一种污点分析方法及装置


[0001]本申请涉及安全
,尤其涉及一种污点分析方法及装置。

技术介绍

[0002]传统的污点分析方法中,一般先分析污染源信息及其相应的线程标识(identifier,ID),以及分析每个污染目标信息及污染目标信息对应的线程ID,然后确定线程ID相同的污染源信息和污染目标信息之间存在关联关系,最后判断存在关联关系的污染源信息和污染目标信息之间是否存在污染路径,从而检测存在关联关系的污染源信息和污染目标信息之间的污染路径是否存在安全漏洞。
[0003]但是在多组件分布式架构下,污染源和污染目标位于不同的软件中,这时污染源和污染目标对应不同线程ID,导致无法完成污染源和污染目标之间的污点分析。以及在很多异步输入输出(input output,IO)并发框架,如协程技术,这些技术不依赖于线程模型、不存在线程ID,导致也无法完成污染源和污染目标之间的污点分析。
[0004]可见,传统的污点分析方法存在局限性,无法适应多组件分布式架构和很多异步IO并发框架,因此提出一种通用的污点分析方法十分必要。

技术实现思路

[0005]本申请实施例提供一种污点分析方法及装置,用以提高污点分析技术的通用性,更好地适应多组件分布式架构及异步IO并发框架。
[0006]第一方面,提供一种污点分析方法,所述方法可以应用于污点分析装置,所述污点分析装置为电子设备。污点分析装置可以获取被测试对象中污染源的原始污染源信息;根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组,其中,所述变异污染源信息组包括根据所述原始污染源信息构造的至少一个变异污染源信息;获得污染目标信息,确定至少一个污染目标信息组;将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配;若所述变异污染源信息组与所述至少一个污染目标信息组中的第一污染目标信息组匹配,确定所述被测试对象中的污染源与所述第一污染目标信息组对应的污染目标之间存在污染路径。
[0007]污染源为产生污染源信息的实体、组件、指令、或代码,污染源信息为污染源产生的数据。
[0008]污染目标为产生污染目标信息的实体、组件、指令、或代码,污染目标信息为污染目标产生的数据。
[0009]在该方法中,污点分析装置通过生成的变异污染源信息组和污染目标信息组进行匹配,可以确定出存在关联关系的污染源和污染目标,及污染路径,可见本申请实施例中的污点分析方法不依赖于线程ID,因此具有通用性,能够适配多组件分布式架构或者异步IO。
[0010]在一个可能的实现中,所述污点分析装置还可以根据原始污染源信息构造至少一个变异污染源信息,然后将所述至少一个变异污染源信息保存为所述原始污染源信息对应
的变异污染源信息组,即所述变异污染源信息组中包括所述至少一个变异污染源信息。
[0011]示例的,所述污点分析装置可以对所述原始污染源信息中的参数值进行至少一次重新赋值,并将每次重新赋值后得到的污染源信息确定为一个变异污染源信息。或者所述污点分析装置可以对所述原始污染源信息中的参数进行至少一次更改,并将每次更改后得到的污染源信息确定为一个变异污染源信息。
[0012]在该实现中,所述污点分析装置通过构造至少一个变异污染源信息,避免了仅通过原始污染源信息进行匹配造成的偏差,若构造多个变异污染源信息,还可以进一步提高匹配的准确性,提高污点分析的准确性。
[0013]在一种可能的实现中,所述污点分析装置可以采用聚类算法对获取到的污染目标信息进行聚类,确定至少一个污染目标信息组。这样可以提高与变异污染源信息组匹配时的效率和准确性。
[0014]在一种可能的实现中,所述污点分析装置在将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配时,可以根据所述变异污染源信息组中包括的请求类型、参数或参数值中的至少一项,将所述变异污染源信息组与每个污染目标信息组分别进行匹配。通过变异污染源信息组与污染目标信息组的匹配,可以提高污点分析的准确性。
[0015]在一种可能的实现中,在确定所述被测试对象中的污染源与所述第一污染目标信息组对应的污染目标之间存在污染路径之后,所述污点分析装置还可以验证所述污染路径是否存在安全漏洞。这样可以检测出污染路径是否存在真实的安全漏洞,以实现被测试对象的漏洞扫描。
[0016]在一种可能的实现中,在获取被测试对象中污染源的原始污染源信息之前,所述污点分析装置接收用户的访问请求,所述访问请求包括请求类型、参数和参数值;根据所述访问请求确定所述被测试对象中污染源的原始污染源信息。在该实现中,原始污染源信息基于用户对被测试对象的访问确定,可以保证后续对用户访问过程中可能存在的漏洞进行分析。
[0017]在一种可能的实现中,所述被测试对象为多组件分布式架构的应用程序或者异步输入输出IO并发框架的应用程序。本申请实施例提供的污点分析适用于多组件分布式架构及异步IO并发框架。
[0018]第二方面,提供了一种污点分析装置,所述装置具有实现上述第一方面及第一方面任一可能的实现中的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的功能模块。
[0019]在一种可能的实现中,所述装置包括:
[0020]获取模块,用于获取被测试对象中污染源的原始污染源信息;根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组,其中,所述变异污染源信息组包括根据所述原始污染源信息构造的至少一个变异污染源信息;获得污染目标信息,确定至少一个污染目标信息组;
[0021]匹配模块,用于将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配;
[0022]确定模块,用于若所述变异污染源信息组与所述至少一个污染目标信息组中的第一污染目标信息组匹配,确定所述被测试对象中的污染源与所述第一污染目标信息组对应
的污染目标之间存在污染路径。
[0023]在一种可能的实现中,所述获取模块在根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组时,具体用于:对所述原始污染源信息中的参数值进行至少一次重新赋值,并将每次重新赋值后得到的污染源信息确定为一个变异污染源信息;将至少一个变异污染源信息保存为所述原始污染源信息对应的变异污染源信息组。
[0024]在一种可能的实现中,所述获取模块在确定至少一个污染目标信息组时,具体用于:采用聚类算法对获取到的污染目标信息进行聚类,确定至少一个污染目标信息组。
[0025]在一种可能的实现中,所述匹配模块在将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配时,具体用于:根据所述变异污染源信息组中包括的请求类型、参数或参数值中的至少一项,将所述变异污染源信息组与每个污染目标信息组分别进行匹配。
[0026]在一种可能的实现中,所述装置还包括:
[0027]验证模块,用于在确定所述被测试对象中的污染源与所述第一污染目标信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种污点分析方法,其特征在于,包括:获取被测试对象中污染源的原始污染源信息;根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组,其中,所述变异污染源信息组包括根据所述原始污染源信息构造的至少一个变异污染源信息;获得污染目标信息,确定至少一个污染目标信息组;将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配;若所述变异污染源信息组与所述至少一个污染目标信息组中的第一污染目标信息组匹配,确定所述被测试对象中的污染源与所述第一污染目标信息组对应的污染目标之间存在污染路径。2.如权利要求1所述的方法,其特征在于,所述根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组,包括:对所述原始污染源信息中的参数值进行至少一次重新赋值,并将每次重新赋值后得到的污染源信息确定为一个变异污染源信息;将至少一个变异污染源信息保存为所述原始污染源信息对应的变异污染源信息组。3.如权利要求1或2所述的方法,其特征在于,所述确定至少一个污染目标信息组,包括:采用聚类算法对获取到的污染目标信息进行聚类,确定至少一个污染目标信息组。4.如权利要求1

3任一项所述的方法,其特征在于,所述将所述变异污染源信息组与所述至少一个污染目标信息组进行匹配,包括:根据所述变异污染源信息组中包括的请求类型、参数或参数值中的至少一项,将所述变异污染源信息组与每个污染目标信息组分别进行匹配。5.如权利要求1

4任一项所述的方法,其特征在于,所述确定所述被测试对象中的污染源与所述第一污染目标信息组对应的污染目标之间存在污染路径之后,还包括:验证所述污染路径是否存在安全漏洞。6.如权利要求1

5任一项所述的方法,其特征在于,在获取被测试对象中污染源的原始污染源信息之前,所述方法还包括:接收用户的访问请求,所述访问请求包括请求类型、参数和参数值;根据所述访问请求确定所述被测试对象中污染源的原始污染源信息。7.如权利要求1

6任一项所述的方法,其特征在于,所述被测试对象为多组件分布式架构的应用程序或者异步输入输出IO并发框架的应用程序。8.一种污点分析装置,其特征在于,所述装置包括:获取模块,用于获取被测试对象中污染源的原始污染源信息;根据所述原始污染源信息获得所述原始污染源信息对应的变异污染源信息组,其中,所述变异污染源信息组包括根据所述原始污染源信息构造的至少一个变异污染源信息;获得污染目标信息,确定至少一个污染目标信息组;匹配模块,用于...

【专利技术属性】
技术研发人员:石岩
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1