[发明专利]基于SOAP消息最坏差异输入变异的Web Service脆弱性测试方法无效
申请号: | 201310465377.X | 申请日: | 2013-10-08 |
公开(公告)号: | CN103532777A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 陈锦富;陈加梅;王环环;詹永照;苏晨飞 | 申请(专利权)人: | 江苏大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08;G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 卢亚丽 |
地址: | 212013 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 soap 消息 最坏 差异 输入 变异 web service 脆弱 测试 方法 | ||
技术领域
本发明属于Web服务脆弱性测试技术领域,涉及一种基于SOAP消息进行最坏差异输入变异以检测Web服务脆弱性的测试方法。
背景技术
简单对象访问协议SOAP是用来定义数据描述和远程访问的标准,是一个基于XML文档不依赖传输协议的表示层协议,以XML文档形式提供了一个简单的用在分散的或分布式环境中交换结构化类型信息的机制。目前针对Web服务脆弱性测试的研究还不多见,主要集中在基于WSDL和SOAP消息的Web服务功能性测试和可靠性测试研究上,还有基于数值扰动和规则变异进行脆弱性测试的研究。Weider D.Yu等人提出了一种基于SOAP消息变异的Web服务脆弱性测试方法,提出了一个Web服务脆弱性错误注入模型,它包括三个模块:WS Client、WS Interface和UDDI Registry。根据此模型,从跨站脚本、SQL注入、脚本注入、Web Service遍历、欺骗攻击、内存泄漏、强制错误、访问验证和DOS攻击几个方面对Web服务的脆弱性进行测试。缺点是没有给出具体的实验数据分析。Offutt和Xu提出的对SOAP消息变异测试方法主要有数值扰动和互动扰动,其基本思想是通过使用一些变异操作来修改请求消息,具体的讲,根据基于边界值测试的类型定义规则,数值扰动修改了在SOAP消息中的值,它与变异测试的思想类似,所不同的是,所有的变异体都是用来测试Web服务的。但是它存在的缺点是没有提出一个可行的测试用例生成算法。Almeida等人针对Web服务的可靠性测试主要从数据通信扰动方面展开研究,由于数据通信主要是测试通信信息的关系和约束,把SOAP消息看作是有N个节点组成的规则树,根据SOAP消息的特点对其进行变异,最后收集了9个Web服务采用SMAT-WS工具对这些变异算子进行了大量的实验。存在不足是通过变异算子进行变异来产生测试用例时,没有给出相应的测试用例生成算法。
研究发现,引发失效的输入如果在输入域的某一区域出现,则很可能在这一片连续的区域中的所有的输入都会引发Web服务的安全性问题,同时借鉴分割测试的思想,根据SOAP消息参数个数、类型等特点把输入域分区。基于以上思想,提出了最坏差异输入变异方法对Web服务进行脆弱性测试,根据SOAP消息类型等特点寻找一个相较于合法输入的最远邻序列作为测试数据来产生测试用例,即每次从候选测试用例集合中挑选出离所有待测的测试用例距离最远的来测试Web服务。
发明内容
本发明针对Web服务SOAP消息的特点,提出一种基于SOAP消息最坏差异输入变异的Web Service脆弱性测试方法,有效监测Web服务的脆弱性,并提出了测试用例自动生成算法,设计了针对Web服务的算子,实现了测试Web服务脆弱性的原型系统,在原型系统基础上进行了充分的实验,证明本发明方法的有效性和可行性。为达到上述目的,本发明的构思如下。
步骤1,首先根据待测的URL进行地址获取Web服务的接口信息;
步骤2,通过解析WSDL协议得到相对应的SOAP消息格式,分析消息的参数个数和类型;
步骤3,根据SOAP消息参数的个数和类型调用最远邻测试用例生成算法生成测试用例;
步骤4,针对Web服务特点设计变异算子,选择相应的算子将SOAP消息的参数值进行变异;
步骤5,生成的测试用例及变异值作用于SOAP消息,观察客户端接收的响应消息,并进行安全性分析。
上述步骤3所述的最远邻测试用例生成算法包含6个子算法:BRA算法、ResStr算法、NFDT算法、CFDT算法、加权明氏距离算法和多维变量逆概率分布算法,依据SOAP消息参数和个数的不同,调用不同的子算法生成测试用;具体步骤如下:
步骤3.1,若SOAP消息参数个数为一个,判断参数类型,若参数为数值型参数,调用BRA算法,将数值翻转,或转换为二进制形式按位翻转产生下一个最远邻的测试用例;若参数为字符串类型,调用算法ResStr算法,把字符串逆置;
步骤3.2,若SOAP消息参数有两个,根据输入域的类型求下一个最远邻测试用例,若输入域为正方形区域,调用NFDT算法,若输入域为圆形区域,调用CFDT算法,若输入域为曲线,对输入域函数求导;
步骤3.3,若SOAP消息参数超过3个,根据多维变量加权明氏距离算法或逆概率输入分布函数算法进行计算得到下一个最远邻测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310465377.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种恒温储物装置
- 下一篇:医患沟通专科平台(老年)