【技术实现步骤摘要】
基于数据流跟踪的应用程序漏洞检测方法及系统
[0001]本专利技术涉及应用程序检测
,尤其涉及一种基于数据流跟踪的应用程序漏洞检测方法及系统。
技术介绍
[0002]随着应用程序规模越来越大,功能越来越复杂,数量越来越多,漏洞数量也越来越多,其造成的破坏也日趋严重。一般的安全漏洞都是来自于用户输入的污点数据没有经过安全校验或编码,直接进入敏感函数导致的。所以市面上常见的IAST工具都是通过跟踪污点数据的数据流传播过程来判断是否存在安全漏洞(如中国专利技术专利CN111046396A公开的web应用测试数据流跟踪方法及系统),在被测应用程序通过queryString或者form表单进行数据传承时,IAST工具可以通过getParameter(“key”)等函数获取返回值(即污点数据),这种情况可以将污点数据与污点数据的key值进行关联,开发人员也可以快速的根据污点数据的key值定位存在问题的点。但是随着技术的日益发展,越来越多的应用程序使用JSON请求体来进行数据传参,常见的IAST工具虽然可以跟踪整个JSON请求体,但 ...
【技术保护点】
【技术特征摘要】
1.一种基于数据流跟踪的应用程序漏洞检测方法,其特征在于,所述应用程序基于JSON框架进行数据存储和参数传递,该检测方法包括:采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;获取当前所述应用程序中JSON解析函数返回对象的位置信息;当测试用污点数据进入所述应用程序后,提取并存储所述JSON解析函数解析所述污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得实例化的原始数据集;提取所述JSON对象映射的实体类中自动生成的默认数据,以获得参考数据集;将所述原始数据集中与所述参考数据集中相同的数据去除,以获得目标数据集;所述漏洞检测逻辑通过跟踪所述目标数据集中数据传播途径进行漏洞检测。2.根据权利要求1所述的基于数据流跟踪的应用程序漏洞检测方法,其特征在于,通过所述IAST工具插桩所述应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。3.根据权利要求2所述的基于数据流跟踪的应用程序漏洞检测方法,其特征在于,创建包括若干已知解析类型的JSON解析函数的函数库,并判断当前所述应用程序中任一JSON类函数是否存在于所述函数库,如果是,则直接通过所述IAST工具插桩该JSON类函数;如果否,则根据所述应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数。4.一种基于数据流跟踪的应用程序漏洞检测系统,其特征在于,所述应用程序基于JSON框架进行数据存储和参数传递,该检测系统包括:漏洞检测模块,其采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;位置信息获取模块,其用于获取当前所述应用程序中JSON解析函数返回对象的位置信息;第一数据提取模块,其用于当测试用污点数据...
【专利技术属性】
技术研发人员:刘海涛,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。