[发明专利]web应用测试数据流跟踪方法及系统有效
申请号: | 202010172809.8 | 申请日: | 2020-03-13 |
公开(公告)号: | CN111046396B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 胡娇娇;万振华;王颉;李华;董燕;潘志祥 | 申请(专利权)人: | 深圳开源互联网安全技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 张艳美;赵贯杰 |
地址: | 518000 广东省深圳市龙华区龙华*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | web 应用 测试 数据流 跟踪 方法 系统 | ||
本发明公开了一种基于IAST测试平台的web应用测试数据流跟踪方法及系统,其中数据流跟踪方法包括:在被测应用程序所在服务器上安装代理程序,所述代理程序用于与运行所述应用程序的虚拟机沟通,所述应用程序启动后,通过所述代理程序和字节码插桩工具在所述应用程序的输入阶段和输出阶段中的关键函数内插入监测代码,插桩所述监测代码时,在所述监测代码中传入待插桩函数的类文件名、方法名、方法参数和返回值,通过所述监测代码得到污点数据在所述应用程序中的传播途径,所述污点数据为测试过程中用户输入的数据;采样上述数据流跟踪方法,不但可实现对污点数据的实时跟踪,同时还能基于实际请求,准确获取请求‑响应过程中的执行方法链。
技术领域
本发明涉及软件测试技术领域,尤其涉及一种基于IAST测试平台的web应用测试数据流跟踪方法及系统。
背景技术
随着网络技术的发展,web应用的数据也有着快速的增长,同时应用的接口数量也越来越多,为了保证应用程序正常运行,需要产品在上线前对其有着充分的测试,其中包括判断是否存在越权漏洞。Web应用安全测试技术目前业界常用的技术有DAST(动态应用程序安全测试),SAST(静态应用程序安全测试)和IAST(交互式应用程序安全测试),在测试中,数据流跟踪是多种安全漏洞检测(包括SQL注入、命令行注入和目录遍历等)的基础,目前业界所用的数据流跟踪方法是基于模拟器进行数据流跟踪的优化,包括对客户操作系统指令进行反汇编的阶段、编译产生宿主机执行代码的阶段和最终代码执行的阶段。该技术主要是基于系统级别的,需要获取系统指令,对于需要检测Web应用程序安全性的用户来说,无法准确定位到具体的代码文件,行数或者函数及参数。
发明内容
本发明的目的是提供一种基于IAST测试平台的web应用测试数据流跟踪方法,在完成应用程序功能测试的同时还可以实时获取应用程序的完整信息,以做到对数据的准确定位。
本发明的另一目的是提供一种基于IAST测试平台的web应用测试数据流跟踪系统,在完成应用程序功能测试的同时还可以实时获取应用程序的完整信息,以做到对数据的准确定位。
为了实现上述目的,本发明公开了一种基于IAST测试平台的web应用测试数据流跟踪方法,其包括:在被测应用程序所在服务器上安装代理程序,所述代理程序用于与运行所述应用程序的虚拟机沟通,所述应用程序启动后,通过所述代理程序和字节码插桩工具在所述应用程序的输入阶段和输出阶段中的关键函数内插入监测代码,插桩所述监测代码时,在所述监测代码中传入待插桩函数的类文件名、方法名、方法参数和返回值,通过所述监测代码得到污点数据在所述应用程序中的传播途径,所述污点数据为测试过程中用户输入的数据。
与现有技术相比,本发明基于IAST测试平台的web应用测试数据流跟踪方法,利用IAST测试平台中的插桩工具将监测代码插入待测应用程序中输入阶段和输出阶段中的关键函数内,在测试过程中,通过监测代码获取到污点数据从输入阶段到输出阶段的数据流;由此可知,采样上述数据流跟踪方法,可实现实时跟踪污点数据,可以在完成应用程序功能测试的同时实时获取应用程序信息,以做到对数据的准确定位,且不会受软件复杂度的影响,适用于各种复杂度的软件产品,而且无需额外安全测试时间投入,不会对现有开发流程造成任何影响,符合敏捷开发和DevOps模式下软件产品快速迭代、快速交付的要求。
较佳地,所述应用程序启动后,还在所述应用程序的传播阶段、编解码阶段中的关键函数内插入所述监测代码。
较佳地,所述输入阶段、所述传播阶段、所述编解码阶段、所述输出阶段的关键函数分别定义为输入函数、传播函数、编解码函数、输出函数,通过所述监测代码获取所述污点数据的传播途径包括:
1)、当所述输入函数执行时,插桩到所述输入函数中的所述监测代码获取到所述输入函数的input返回值,然后存储该input返回值和所述输入阶段中的方法堆栈到集合容器中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010172809.8/2.html,转载请声明来源钻瓜专利网。