基于污点数据流跟踪的应用检测方法及系统与流程

文档序号:36493757发布日期:2023-12-27 07:10阅读:59来源:国知局
基于污点数据流跟踪的应用检测方法及系统与流程

本发明涉及应用程序安全检测,尤其涉及一种基于污点数据流跟踪的应用检测方法及系统。


背景技术:

1、随着应用程序规模越来越大,功能越来越复杂,数量越来越多,漏洞数量也越来越多,其造成的破坏也日趋严重。一般的安全漏洞都是来自于用户输入的污点数据没有经过安全校验或编码,直接进入敏感函数导致的。所以市面上常见的iast工具都是通过跟踪污点数据的数据流传播过程来判断是否存在安全漏洞(如中国发明专利cn111046396a公开的web应用测试数据流跟踪方法及系统)。iast检测技术默认将所有输入数据当作五点数据,基于污点数据分析流技术对应用进行安全检测时,将污点跟踪阶段分为输入、传播、净化、输出四阶段,也即需要跟踪请求进行走完四个阶段才能判断是否存在安全问题。

2、然而,在基于iast工具进行实际检测过程中发现,在输出之前的阶段,例如输入阶段,如果请求数据来自可信数据域,比如一些自动化脚本任务调用,或后台管理员服务调用,这些数据域一般已经对数据进行了可信度处理,不会出现漏洞利用,但是通过输出阶段输出的结果往往也会提示有漏洞存在,这就需要工作人员进行手动筛除这样的漏洞提示,对此,使得基于iast工具进行应用安全检查的准确性不够理想,容易发生误报,而且检查效率不能满足用户的需求。


技术实现思路

1、本发明的目的是提供一种可有效提升基于数据流跟踪的方式对应用程序进行检查的准确性和检测效率的基于污点数据流跟踪的应用检测方法及系统。

2、为了实现上述目的,本发明公开了一种基于污点数据流跟踪的应用检测方法,该应用检测方法基于污点数据流跟踪的方式对应用程序进行安全检测,所述应用检测方法包括:

3、基于插桩工具,将检测逻辑织入到当前应用和所有被调用的应用中;

4、创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该信任度的修改;

5、当任一应用被调用时,基于插桩的检测逻辑获取被调用应用中的请求信息;

6、对所述请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入所述请求头的参数信息中;

7、在基于污点数据流跟踪的输入阶段、传播阶段以及净化阶段的任一阶段,获取所述请求信息中请求头的参数信息,并将当前被调用应用信息和所述参数信息中记录的调用应用信息注册到所述信任数据库中;

8、当调用应用的信任度大于被调用应用的信任度时,则将所述请求信息定位为信任的安全信息。

9、较佳地,基于被调用应用启动时的命令行参数或通过该请求信息的环境路径获取存入所述请求头中的调用应用的应用信息。

10、较佳地,如果注册到所述信任数据库中的应用为http协议架构,则将该应用的初始信任度定义为低信任度值;如果注册到所述信任数据库中的应用为https协议架构,则该应用的初始信任度定义为中信任度值;如果注册到所述信任数据库中的应用为dubbo微服务协议,则将该应用的初始信任度定义为高信任度值。

11、较佳地,如果当前被调用应用被多重调用,则获取调用链路上的所有调用应用,并将所有调用应用置入所述请求信息的请求头中;当调用链路上当前被调用应用前方所有调用应用或最后一调用应用的信任度大于该被调用应用时,则将所述请求信息定位为信任的安全信息。

12、本发明还公开一种基于污点数据流跟踪的应用检测系统,该应用检测系统基于污点数据流跟踪的方式对应用程序进行安全检测,所述应用检测系统包括:

13、插桩模块,其用于将检测逻辑织入到当前应用和所有被调用的应用中;

14、信任定义模块,其用于创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该信任度的修改;

15、请求获取模块,其用于在任一应用被调用时,基于插桩的检测逻辑获取被调用应用中的请求信息;

16、解析模块,其用于对所述请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入所述请求头的参数信息中;

17、注册模块,其用于在基于污点数据流跟踪的输入阶段、传播阶段以及净化阶段的任一阶段,获取所述请求信息中请求头的参数信息,并将当前被调用应用信息和所述参数信息中记录的调用应用信息注册到所述信任数据库中;

18、安全确认模块,其用于当调用应用的信任度大于被调用应用的信任度时,则将所述请求信息定位为信任的安全信息。

19、较佳地,所述解析模块基于被调用应用启动时的命令行参数或通过该请求信息的环境路径获取存入所述请求头中的调用应用的应用信息。

20、较佳地,对于所述信任定义模块,如果注册到所述信任数据库中的应用为http协议架构,则将该应用的初始信任度定义为低信任度值;如果注册到所述信任数据库中的应用为https协议架构,则该应用的初始信任度定义为中信任度值;如果注册到所述信任数据库中的应用为dubbo微服务协议,则将该应用的初始信任度定义为高信任度值。

21、较佳地,如果当前被调用应用被多重调用,则所述解析模块获取调用链路上的所有调用应用,并将所有调用应用置入所述请求信息的请求头中;当调用链路上当前被调用应用前方所有调用应用或最后一调用应用的信任度大于该被调用应用时,则所述安全确认模块将所述请求信息定位为信任的安全信息。

22、本发明还公开另一种基于污点数据流跟踪的应用检测系统,其包括:

23、一个或多个处理器;

24、存储器;

25、以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的基于污点数据流跟踪的应用检测方法的指令。

26、本发明还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如权上所述的基于污点数据流跟踪的应用检测方法。

27、与现有技术相比,本发明上述技术方案公开的技术方案,创建有信任数据库,在基于iast的污点数据流跟踪方式对应用程序进行安全检测时,在被调用应用的一端,将被调用应用和调用应用的应用信息均注册到信任数据库中,并生成与每一应用相对应的信任度,这样,在数据流跟踪的输出阶段之前的任一阶段,如输入阶段,可从信任数据库中获取到被调用应用中的调用应用信任度和被调用应用信任度,并基于二者的信任度的大小关系判断当前进入被调用应用的请求信息是否属于被信任的安全信息,如果是,则无须进行后续的跟踪检测,而且输出结果直接被认定为安全;由此可知,通过上述方案,在基于污点数据流跟踪的方式对应用程序进行检测时,可有效提升检测的准确性和检测效率。



技术特征:

1.一种基于污点数据流跟踪的应用检测方法,该应用检测方法基于污点数据流跟踪的方式对应用程序进行安全检测,其特征在于,所述应用检测方法包括:

2.根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,基于被调用应用启动时的命令行参数或通过该请求信息的环境路径获取存入所述请求头中的调用应用的应用信息。

3.根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,如果注册到所述信任数据库中的应用为http协议架构,则将该应用的初始信任度定义为低信任度值;如果注册到所述信任数据库中的应用为https协议架构,则该应用的初始信任度定义为中信任度值;如果注册到所述信任数据库中的应用为dubbo微服务协议,则将该应用的初始信任度定义为高信任度值。

4.根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,如果当前被调用应用被多重调用,则获取调用链路上的所有调用应用,并将所有调用应用置入所述请求信息的请求头中;当调用链路上当前被调用应用前方所有调用应用或最后一调用应用的信任度大于该被调用应用时,则将所述请求信息定位为信任的安全信息。

5.一种基于污点数据流跟踪的应用检测系统,该应用检测系统基于污点数据流跟踪的方式对应用程序进行安全检测,其特征在于,所述应用检测系统包括:

6.根据权利要求5所述的基于污点数据流跟踪的应用检测系统,其特征在于,所述解析模块基于被调用应用启动时的命令行参数或通过该请求信息的环境路径获取存入所述请求头中的调用应用的应用信息。

7.根据权利要求5所述的基于污点数据流跟踪的应用检测系统,其特征在于,对于所述信任定义模块,如果注册到所述信任数据库中的应用为http协议架构,则将该应用的初始信任度定义为低信任度值;如果注册到所述信任数据库中的应用为https协议架构,则该应用的初始信任度定义为中信任度值;如果注册到所述信任数据库中的应用为dubbo微服务协议,则将该应用的初始信任度定义为高信任度值。

8.根据权利要求5所述的基于污点数据流跟踪的应用检测系统,其特征在于,如果当前被调用应用被多重调用,则所述解析模块获取调用链路上的所有调用应用,并将所有调用应用置入所述请求信息的请求头中;当调用链路上当前被调用应用前方所有调用应用或最后一调用应用的信任度大于该被调用应用时,则所述安全确认模块将所述请求信息定位为信任的安全信息。

9.一种基于污点数据流跟踪的应用检测系统,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至4任一项所述的基于污点数据流跟踪的应用检测方法。


技术总结
本发明公开了一种基于污点数据流跟踪的应用检测方法及系统,该应用检测方法包括:创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度;当任一应用被调用时,获取被调用应用中的请求信息;对请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入请求头的参数信息中;在基于污点数据流跟踪的输入阶段,将当前被调用应用信息和调用应用信息注册到信任数据库中;当调用应用的信任度大于被调用应用的信任度时,则将请求信息定位为信任的安全信息。通过上述方法,在基于污点数据流跟踪的方式对应用程序进行检测时,可有效提升检测的准确性和检测效率。

技术研发人员:刘海涛,万振华,王颉,李华,董燕
受保护的技术使用者:深圳开源互联网安全技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1