当前位置:主页 > 科技论文 > 软件论文 >

RESTful API接口Fuzz测试关键技术研究

发布时间:2021-03-09 18:39
  随着信息技术的持续发展,互联网及软件产品日益向开放、共享的模式发展。根据世界银行的统计,已有100多个国家和超过250个政府,及联合国和世界银行等国际组织,实施“开放数据行动计划”(Open Data Initiative)。通过应用程序接口(Application Programming Interface,API)获取信息,已日益成为消费者获取数据的重要方式之一。因此,应用产品接口的安全性已日趋重要。接口模糊测试(Fuzz)是接口安全测试的主要手段之一。但在实际使用过程中,应用程序接口Fuzz存在用例规模过大、用例覆盖有效性低等问题。本文针对以上问题,结合SwaggerHub接口开发实例的接口实现,提出并实现了一套RESTful API接口Fuzz系统,通过用例自动生成、预筛选等方法,有效提升了应用程序接口模糊测试有效性和测试效率。本文具体工作内容如下:首先,提出了一种基于接口定义描述的测试用例自动生成方法。该方法通过分析接口定义描述文件的关键特征,构建一组接口定义描述与RESTful API资源表述的映射关系,并结合OpenAPI规范给出一组实现。由于该方法基于接口定义实现,对比... 

【文章来源】:东南大学江苏省 211工程院校 985工程院校 教育部直属院校

【文章页数】:72 页

【学位级别】:硕士

【部分图文】:

RESTful API接口Fuzz测试关键技术研究


ProgrammableWeb网站API登记注册数量(2005-2018)[4]

流程图,流程,报文,文件


诓馐岳此担?绾喂乖旖涌诓馐杂美?ㄎ挠任?丶?H缟衔乃?觯?:??试通常采用报文逆向解析、报文拼接等方式来实现。以PeachFuzz工具为例,其接口模糊测试用例的生成方法是通过获取消息请求报文来推测攻击模式,产生模糊报文。这种方法产生的模糊报文,大多数会被接口校验直接过滤,无法到达程序内部。这样的模糊测试效率是比较低的。在OpenAPI规范中,接OpenAPI接口的定义本身是一个JSON对象,其可以表示为JSON文件或YAML文件。在OpenStack标准中,服务发布的接口是符合OpenAPI3.0规范的RESTful接口,接口的一种实现流程如图3-1所示。由此流程可见,在这个系统中,RESTful接口是由符合OpenAPI3.0规范的YAML文件定义的。图3-1微服务接口发布流程YAML是JSON的超集,它的优势在于,可以方便地支持注释、换行符分割、多行字符串等,还可以引用文件。所以消息体中的JSON格式参数可以由YAML定义,而YAML还可以通过注释的方式来声明参数的数据类型与边界值、接口SLA等信息,供外部使用。由于JSON与YAML最终定义的内容相同,表示方法类似,仅在语法格式上存在差异,本文后续章节均以YAML文件定义的RESTfulAPI接口举例进行说明。在OpenAPI3.0/Swagger2.0规范中,对YAML如何定义接口信息给出了明确的要求。ArnaudLauret在其网站[36]对该规范进行了树形结构的整理如图3-2所示。

实例图,文件,报文,标准接口


第三章基于接口定义描述的测试用例生成方法21图3-2OpenAPIMap以SwaggerHub提供的OpenAPI3.0标准接口开发实例[37]为例,举例说明RESTful接口的JSON报文格式与其对应的YAML文件,展示接口定义文件是如何对接口进行描述的:表3-1RESTful接口JSON报文格式及其对应的YAML文件定义字段类型请求报文举例定义文件代码片段路径/petpaths:/pet:方法POSTpost:请求消息报文体{"id":0,"category":{"id":0,"name":"string"},"name":"doggie","photoURIs":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"tags:-petsummary:AddanewpettothestoreoperationId:addPetrequestBody:$ref:"#/components/requestBodies/Pet"

【参考文献】:
期刊论文
[1]基于微服务架构的自动化测试[J]. 张圆冰.  电子技术与软件工程. 2019(04)
[2]微服务框架的设计与实现[J]. 张晶,黄小锋,李春阳.  计算机系统应用. 2017(06)
[3]基于浏览器测试组件的社交网络数据获取技术研究[J]. 陈学敏,沙灜.  信息网络安全. 2015(05)
[4]一种多项式时间的路径敏感的污点分析方法[J]. 李佳静,王铁磊,韦韬,凤旺森,邹维.  计算机学报. 2009(09)
[5]网络安全漏洞研究[J]. 张玉清.  信息网络安全. 2008(11)
[6]缓冲区溢出漏洞研究与进展[J]. 李毅超,刘丹,韩宏,卢显良.  计算机科学. 2008(01)
[7]基于Fuzzing的TFTP漏洞挖掘技术[J]. 刘奇旭,张玉清.  计算机工程. 2007(20)
[8]基于插桩技术的并行程序性能分析方法设计和实现[J]. 马桂杰,蒋昌俊,刘吟,王忱.  计算机应用研究. 2007(10)

硕士论文
[1]针对ZigBee协议MAC层安全的综合检测算法[D]. 李景.北京邮电大学 2013
[2]基于环境的模糊测试技术研究[D]. 张美超.中国科学技术大学 2011
[3]基于REST面向资源的企业信息集成平台框架[D]. 毛力锐.上海交通大学 2010
[4]基于模糊测试的软件安全漏洞发掘技术研究[D]. 黄奕.中国科学技术大学 2010



本文编号:3073290

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3073290.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户66b44***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com