[发明专利]一种确定被动IAST测试API覆盖率的方法及装置有效
申请号: | 202110940183.5 | 申请日: | 2021-08-17 |
公开(公告)号: | CN113392033B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 张涛;宁戈;蔡智强;董毅 | 申请(专利权)人: | 北京安普诺信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 贾晓玲 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 确定 被动 iast 测试 api 覆盖率 方法 装置 | ||
本申请公开的实施例提供了一种确定被动IAST测试API覆盖率的方法及装置。其中,在上述方案中,主要包括:通过采集获取目标Web应用程序中的全量API信息,并在测试过程中通过插桩获取测试请求访问过的URL路径信息,记录所述URL路径对应的API的执行情况,以及根据记录的至少被执行一次的API数与采集获取的全量API的总数,确定所述测试的API覆盖率。相较于现有技术,上述方案显然开销更小,受人为因素影响小,结果更为准确,而且能够在不掌握全量代码的情形下仍能够得到所述API覆盖率。
技术领域
本申请公开的实施例主要涉及Web应用程序安全测试相关的技术领域,且更具体地,涉及一种确定被动IAST测试API覆盖率的方法及装置。
背景技术
Web应用程序通常采用主从式架构。而主从式架构的Web应用程序又被视为前端(一般地,是指浏览器、客户端程序上运行的部分或客户端程序本身)和后端(一般地,是指服务器端运行的部分)两部分。得益于前端技术的发展,前后端分离已经成为行业内开展互联网项目、开发相关Web应用程序的标配模式。通过前、后端的有效解耦,实现前后端分离,前端开始更加注重页面开发的工程化、自动化,后端则更专注于API(这里的API,主要是指前后端分离模式下一种非常重要的后端路由实现方式)的提供和数据库的保障。因此,在针对Web应用程序的测试中,往往将API覆盖率作为衡量相关软件测试完整性的重要指标。
虽然,也有人提出利用代码覆盖率工具通过执行测试用例、收集程序执行轨迹信息以及进而结合代码结构信息分析的方式统计整个软件测试全过程的API覆盖率;然而,如此不免要尽可能地掌握全量代码,同时更是大费周章,却往往有因对代码结构信息分析不到位造成API覆盖率统计失准。
此外,还需要指出的是,统计API覆盖率虽然看上去似乎是存在一种捷径,即掌握已执行API和全量API,即可计算出统计API覆盖率;但是,事实上是,除了随着Web应用程序的规模越来越大、越来越依赖第三方开源组件等因素几乎很难获得目标Web应用程序的全量API信息外,在例如被动IAST测试等一些测试中,由于其与自动化功能测试并行,在发出攻击报文的测试端并不统计请求访问的API信息,故连已执行API信息的获取都是统计API覆盖率时要解决的技术问题。
发明内容
根据本申请公开的实施例,提供了一种针对例如被动IAST测试等的Web应用程序安全测试统计其API覆盖率的方案。
在本公开的第一方面中,提供了一种确定被动IAST测试API覆盖率的方法。该方法包括:获取目标Web应用程序中的全量API信息,使所述API信息包括所述API对应的URL路径信息;并在所述测试过程中,通过预先插桩的第一探针获取其中测试请求访问过的URL路径信息,记录所述URL路径对应的API的执行情况;以及根据记录的至少被执行一次的API数与所述的全量API的总数,确定所述测试的API测试覆盖率。
在本公开的第二方面中,提供了一种确定被动IAST测试API覆盖率的装置。该装置包括:采集模块、测试记录模块和计算模块;其中,采集模块,被配置为用于采集目标Web应用程序中的全量API信息;测试记录模块,被配置为在测试过程中通过预先插桩的第一探针获取其中测试请求访问过的URL路径信息,记录所述URL路径对应的API的执行情况;计算模块,被配置为根据测试记录模块记录的至少被执行一次的API数与采集模块采集的所述全量API的总数,计算所述测试的API测试覆盖率。
在本公开的第三方面中,提供了一种基于插桩的Web后端API获取装置。该装置包括:至少一个处理器,和至少一个处理器耦合的存储器,以及存储在存储器中的计算机程序;其中的处理器执行所述计算机程序,能够实现第一方面述及的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质。该介质上存储有测试相关的计算机指令,该计算机指令在被计算机处理器执行时能够实现第一方面述及的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安普诺信息技术有限公司,未经北京安普诺信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110940183.5/2.html,转载请声明来源钻瓜专利网。