System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于标签标记的交互式应用安全检测方法技术_技高网

一种基于标签标记的交互式应用安全检测方法技术

技术编号:40574493 阅读:7 留言:0更新日期:2024-03-06 17:15
本发明专利技术公开了一种基于标签标记的交互式应用安全检测,涉及网络信息安全技术领域,解决了IAST的检测存在一定的误报率,进而误导开发人员,降低漏洞修复效率的技术问题。该方法包括S1、通过IAST向被测应用程序插入Java Agent探针;S2、被测应用程序中的预设参数在传递过程中经过预设传递点时,添加污点传播标签;S3、污点标记参数在传递过程中经过安全方法或过滤方法时,进行清洗操作,并添加安全标签;S4、在被测应用程序执行的关键位置,根据污点传播标签、清洗标签,判断传递过程中的预设参数是否为风险参数;S5、根据风险参数的相关信息,生成污点分析报告。本发明专利技术能够降低误报率,帮助开发人员提高漏洞修复效率。

【技术实现步骤摘要】

本专利技术涉及网络信息安全,尤其涉及一种基于标签标记的交互式应用安全检测方法


技术介绍

1、随着科技的不断发展,许多新兴的互联网信息技术不断涌现,为了方便各类用户进行操作,各种应用系统应运而生。在应用系统运行过程中,经常会出现一些漏洞,这些漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷。攻击者可以利用这些漏洞在未授权的情况下访问或破坏系统。因此,在应用系统投入使用之前,通常需要使用各类安全检测技术来对应用系统的漏洞进行检测,以降低攻击者通过漏洞对系统的破坏概率,提升系统的安全性。

2、近几年被广泛应用的安全测试技术有交互式应用安全测试(interactiveapplication security testing,简称:iast),iast是一种动态应用程序安全测试方法,它结合了静态分析和动态分析的优势,模拟应用程序的实际执行过程,监控参数传递和处理情况,以检测潜在的安全漏洞,相较于动态应用程序安全测试(dynamic applicationsecurity testing,简称:dast)和静态应用程序安全测试(static application securitytesting,简称:sast)有低误报、低漏报的优势。

3、iast是一款被动式的交互式安全测试工具,其检测流程是通过在web服务器中间件安装agent探针采集数据,然后将数据发往云端做漏洞检测,但这种被动式的检测存在一定的误报率,错误的将一些安全参数标记为潜在风险,会误导开发人员利用错误的信息去修复漏洞,降低了漏洞修复的效率。

4、在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:

5、iast的检测存在一定的误报率,会误导开发人员利用错误的信息去修复漏洞,降低了漏洞修复的效率。


技术实现思路

1、本专利技术的目的在于提供一种基于标签标记的交互式应用安全检测方法,以解决现有技术中存在的iast的检测存在一定的误报率,会误导开发人员利用错误的信息去修复漏洞,降低了漏洞修复的效率的技术问题。本专利技术提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。

2、为实现上述目的,本专利技术提供了以下技术方案:

3、本专利技术提供的一种基于标签标记的交互式应用安全检测方法,包括以下步骤:

4、s1、通过iast向被测应用程序插入java agent探针;

5、s2、所述被测应用程序中的预设参数在传递过程中经过预设传递点时,添加污点传播标签,得到污点标记参数;

6、s3、所述污点标记参数在传递过程中经过安全方法或过滤方法时,进行清洗操作,并添加安全标签;

7、s4、在所述被测应用程序执行的关键位置,根据所述污点传播标签、清洗标签,判断传递过程中的预设参数是否为风险参数;

8、s5、根据所述风险参数的相关信息,生成污点分析报告。

9、优选的,在所述被测应用程序已经定义的类和方法中,通过java字节码操作框架插入相关字节码,给所述预设参数添加所述污点传播标签。

10、优选的,通过所述java字节码操作框架插入预设代码,转换java.lang.stringbuilder#append(java.lang.string)方法和java.lang.stringbuilder#tostring()方法的字节码,添加所述污点传播标签。

11、优选的,步骤s1中,所述java agent探针持续监控所述预设参数在所述被测应用程序中的传递过程和处理流程。

12、优选的,在所述java agent探针的监控过程中,能够自动识别出所述安全方法、过滤方法的调用点。

13、优选的,步骤s3,所述污点参数在传递过程中经过安全方法或过滤方法时,或者进行转义操作,并添加安全标签。

14、优选的,步骤s5包括以下步骤:

15、s51、对所述风险参数的调用链进行跟踪,定位所述风险参数的源头入口,以及中间的处理代码;

16、s52、根据调用链、源头入口及处理代码,分析所述被测应用潜在的安全风险;

17、s53、将所述污点参数的传递链路和所述安全风险的相关信息记录,生成污点报告。

18、优选的,步骤s4中,通过在所述被测应用程序的关键位置插入检查代码,将带有所述污点传播标签且不带有所述安全标签的预设参数判定为风险参数。

19、优选的,所述安全方法或过滤方法为所述被测应用程序内置的安全函数或第三方库中的过滤器。

20、优选的,所述预设参数包括一下任意一种或多种:外部输入参数、字符串或容器类型的参数、通过非安全函数生产或处理的参数、被敏感函数操作的参数、对程序控制流产生影响的参数及经过源头是可疑参数,经过处理和传递产生的间距参数。

21、实施本专利技术上述技术方案中的一个技术方案,具有如下优点或有益效果:

22、本专利技术在进行iast测试时,结合对安全方法和过滤方法的考虑,引入标签标记的方法,实现更精确的安全漏洞检测。通过采用污点传播标签标记可能存在风险的参数,再采用安全标签标记经过清洗或转义操作的参数,降低传递过程中的潜在风险,提高检测准确性。开发人员可以根据标签判断参数是否经过安全处理,进而更有效地定位和修复潜在的安全问题,增强应用程序整体安全性;能够使iast技术更精准地识别潜在安全漏洞,减少误报率,同时为开发人员提供更有针对性的修复建议,提高漏洞修复效率,进一步增强软件应用的安全性。

本文档来自技高网...

【技术保护点】

1.一种基于标签标记的交互式应用安全检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,在所述被测应用程序已经定义的类和方法中,通过Java字节码操作框架插入相关字节码,给所述预设参数添加所述污点传播标签。

3.根据权利要求2所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,通过所述Java字节码操作框架插入预设代码,转换java.lang.StringBuilder#append(java.lang.String)方法和java.lang.StringBuilder#toString()方法的字节码,添加所述污点传播标签。

4.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,步骤S1中,所述JavaAgent探针持续监控所述预设参数在所述被测应用程序中的传递过程和处理流程。

5.根据权利要求4所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,在所述JavaAgent探针的监控过程中,能够自动识别出所述安全方法、过滤方法的调用点。

6.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,步骤S3,所述污点参数在传递过程中经过安全方法或过滤方法时,或者进行转义操作,并添加安全标签。

7.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,步骤S5包括以下步骤:

8.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,步骤S4中,通过在所述被测应用程序的关键位置插入检查代码,将带有所述污点传播标签且不带有所述安全标签的预设参数判定为风险参数。

9.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,所述安全方法或过滤方法为所述被测应用程序内置的安全函数或第三方库中的过滤器。

10.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,所述预设参数包括一下任意一种或多种:外部输入参数、字符串或容器类型的参数、通过非安全函数生产或处理的参数、被敏感函数操作的参数、对程序控制流产生影响的参数及经过源头是可疑参数,经过处理和传递产生的间距参数。

...

【技术特征摘要】

1.一种基于标签标记的交互式应用安全检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,在所述被测应用程序已经定义的类和方法中,通过java字节码操作框架插入相关字节码,给所述预设参数添加所述污点传播标签。

3.根据权利要求2所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,通过所述java字节码操作框架插入预设代码,转换java.lang.stringbuilder#append(java.lang.string)方法和java.lang.stringbuilder#tostring()方法的字节码,添加所述污点传播标签。

4.根据权利要求1所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,步骤s1中,所述javaagent探针持续监控所述预设参数在所述被测应用程序中的传递过程和处理流程。

5.根据权利要求4所述的一种基于标签标记的交互式应用安全检测方法,其特征在于,在所述javaagent探针的监控过程中,能够自动识别出所述安全方法、过滤方法的调...

【专利技术属性】
技术研发人员:陈继成卢中阳邬迪
申请(专利权)人:北京基调网络股份有限公司
类型:发明
国别省市:

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

1