基于污点数据流跟踪的应用检测方法及系统技术方案

技术编号:39841119 阅读:11 留言:0更新日期:2023-12-29 16:28
本发明专利技术公开了一种基于污点数据流跟踪的应用检测方法及系统,该应用检测方法包括:创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度;当任一应用被调用时,获取被调用应用中的请求信息;对请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入请求头的参数信息中;在基于污点数据流跟踪的输入阶段,将当前被调用应用信息和调用应用信息注册到信任数据库中;当调用应用的信任度大于被调用应用的信任度时,则将请求信息定位为信任的安全信息

【技术实现步骤摘要】
基于污点数据流跟踪的应用检测方法及系统


[0001]本专利技术涉及应用程序安全检测
,尤其涉及一种基于污点数据流跟踪的应用检测方法及系统


技术介绍

[0002]随着应用程序规模越来越大,功能越来越复杂,数量越来越多,漏洞数量也越来越多,其造成的破坏也日趋严重

一般的安全漏洞都是来自于用户输入的污点数据没有经过安全校验或编码,直接进入敏感函数导致的

所以市面上常见的
IAST
工具都是通过跟踪污点数据的数据流传播过程来判断是否存在安全漏洞
(
如中国专利技术专利
CN111046396A
公开的
web
应用测试数据流跟踪方法及系统
)。IAST
检测技术默认将所有输入数据当作五点数据,基于污点数据分析流技术对应用进行安全检测时,将污点跟踪阶段分为输入

传播

净化

输出四阶段,也即需要跟踪请求进行走完四个阶段才能判断是否存在安全问题

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


技术实现思路

[0004]本专利技术的目的是提供一种可有效提升基于数据流跟踪的方式对应用程序进行检查的准确性和检测效率的基于污点数据流跟踪的应用检测方法及系统

[0005]为了实现上述目的,本专利技术公开了一种基于污点数据流跟踪的应用检测方法,该应用检测方法基于污点数据流跟踪的方式对应用程序进行安全检测,所述应用检测方法包括:
[0006]基于插桩工具,将检测逻辑织入到当前应用和所有被调用的应用中;
[0007]创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该信任度的修改;
[0008]当任一应用被调用时,基于插桩的检测逻辑获取被调用应用中的请求信息;
[0009]对所述请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入所述请求头的参数信息中;
[0010]在基于污点数据流跟踪的输入阶段

传播阶段以及净化阶段的任一阶段,获取所述请求信息中请求头的参数信息,并将当前被调用应用信息和所述参数信息中记录的调用应用信息注册到所述信任数据库中;
[0011]当调用应用的信任度大于被调用应用的信任度时,则将所述请求信息定位为信任的安全信息

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

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

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

[0015]本专利技术还公开一种基于污点数据流跟踪的应用检测系统,该应用检测系统基于污点数据流跟踪的方式对应用程序进行安全检测,所述应用检测系统包括:
[0016]插桩模块,其用于将检测逻辑织入到当前应用和所有被调用的应用中;
[0017]信任定义模块,其用于创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该信任度的修改;
[0018]请求获取模块,其用于在任一应用被调用时,基于插桩的检测逻辑获取被调用应用中的请求信息;
[0019]解析模块,其用于对所述请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入所述请求头的参数信息中;
[0020]注册模块,其用于在基于污点数据流跟踪的输入阶段

传播阶段以及净化阶段的任一阶段,获取所述请求信息中请求头的参数信息,并将当前被调用应用信息和所述参数信息中记录的调用应用信息注册到所述信任数据库中;
[0021]安全确认模块,其用于当调用应用的信任度大于被调用应用的信任度时,则将所述请求信息定位为信任的安全信息

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

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

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

[0025]本专利技术还公开另一种基于污点数据流跟踪的应用检测系统,其包括:
[0026]一个或多个处理器;
[0027]存储器;
[0028]以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的基于污点数据流跟踪
的应用检测方法的指令

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

[0030]与现有技术相比,本专利技术上述技术方案公开的技术方案,创建有信任数据库,在基于
IAST
的污点数据流跟踪方式对应用程序进行安全检测时,在被调用应用的一端,将被调用应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于污点数据流跟踪的应用检测方法,该应用检测方法基于污点数据流跟踪的方式对应用程序进行安全检测,其特征在于,所述应用检测方法包括:基于插桩工具,将检测逻辑织入到当前应用和所有被调用的应用中;创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该信任度的修改;当任一应用被调用时,基于插桩的检测逻辑获取被调用应用中的请求信息;对所述请求信息进行解析,以获得请求头和请求体,并将当前被调用应用前端的调用应用信息存入所述请求头的参数信息中;在基于污点数据流跟踪的输入阶段

传播阶段以及净化阶段的任一阶段,获取所述请求信息中请求头的参数信息,并将当前被调用应用信息和所述参数信息中记录的调用应用信息注册到所述信任数据库中;当调用应用的信任度大于被调用应用的信任度时,则将所述请求信息定位为信任的安全信息
。2.
根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,基于被调用应用启动时的命令行参数或通过该请求信息的环境路径获取存入所述请求头中的调用应用的应用信息
。3.
根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,如果注册到所述信任数据库中的应用为
http
协议架构,则将该应用的初始信任度定义为低信任度值;如果注册到所述信任数据库中的应用为
https
协议架构,则该应用的初始信任度定义为中信任度值;如果注册到所述信任数据库中的应用为
dubbo
微服务协议,则将该应用的初始信任度定义为高信任度值
。4.
根据权利要求1所述的基于污点数据流跟踪的应用检测方法,其特征在于,如果当前被调用应用被多重调用,则获取调用链路上的所有调用应用,并将所有调用应用置入所述请求信息的请求头中;当调用链路上当前被调用应用前方所有调用应用或最后一调用应用的信任度大于该被调用应用时,则将所述请求信息定位为信任的安全信息
。5.
一种基于污点数据流跟踪的应用检测系统,该应用检测系统基于污点数据流跟踪的方式对应用程序进行安全检测,其特征在于,所述应用检测系统包括:插桩模块,其用于将检测逻辑织入到当前应用和所有被调用的应用中;信任定义模块,其用于创建信任数据库,该信任数据库支持应用信息的注册,并根据应用信息的注册信息生成相应的信任度,且支持对该...

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

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

1