论文部分内容阅读
随着Internet的快速发展,越来越多的应用程序需要集成在Internet中。信息在网络上进行传递,需要适应不同的网络环境,在不同的网络平台之间实现信息的兼容。WebService是基于网络的一种软件开发模式,以XML(ExtensibleMarkupLanguage)、SOAP(SimpleObjectAccessProtocol)、WSDL(WebServicesDescriptionLanguage)和UDDI(UniversalDescriptionDiscoveryandIntegration)为核心,支持开放、动态的互操作模式。它通过规范性的设计、发布、实现和调用,可以实现多个WebService构建成一个完整的应用程序功能。在WebService得到广泛应用和实践的同时,其安全性问题日益受到人们的关注。由于WebService往往包含了企业关键业务,如其安全出现问题,将造成重大损失及严重危害。
WebService测试是保证其质量的一种重要技术手段。但目前国内外针对WebService测试的研究并不多,并且主要集中在对WebService的WSDL规范和XML文档的测试方面,也有部分关于WebService可靠性、鲁棒性以及渗透测试方面的研究。基于这些研究基础,论文提出一种基于SOAP消息安全规则变异的WebService安全性测试方法,设计并实现一个WebService安全性测试系统。本文的主要工作如下:
1.研究WebService的安全技术和标准规范。探讨WebService面临的安全性威胁、安全需求实现标准、安全体系、安全性测试框架以及消息级安全技术与规范,包括XMLSignature、XMLEncryption、WS-Security规范等等。
2.提出一种安全规则变异的测试框架。通过对WebService运行特点和各类SOAP消息安全类型漏洞的分析,归纳出安全规则变异点判定规则库,并针对SOAP消息的各种安全类型,设计14种安全规则变异算子,最后给出漏洞判定准则以及基于优先级和权重策略的变异算子选择方法。
3.提出基于SOAP消息安全规则变异的安全性测试用例生成算法TCSRM(TestCasesgeneratedbasedonSecurityRulesMutation),并对算法的效率进行分析。首先基于优先级策略确定各变异点变异顺序,并使用主观和客观相结合的方法求出各类测试用例的重要性权值,从而保证测试充分性。然后将测试用例发送到待测WebService,观察响应消息,提出漏洞检测算法WSVD(WebServiceVulnerabilityDetecting),并给出测试效果和效率的评价方法,对WebService进行漏洞检测和安全性评估。最后实现一个WebService安全性测试工具WSSTT(WebServiceSecurityTestingTool),并通过大量实验和对比分析证明论文所提出的安全性测试方法和漏洞检测算法的可行性和有效性。
4.在.NET平台上设计并实现一个WebService消息级安全性测试原型系统WSSTS(WebServiceSecurityTestingSystem)。该系统能够自动生成符合WS-Security规范的安全性测试消息,主要包括SOAP消息生成器模块、安全处理模块、测试用例生成器模块、测试执行模块和安全分析与评估模块。最后通过案例分析演示该系统的整个工作流程。