王 茜,高建华
(上海师范大学 计算机科学与技术系,上海 200234)
SOA(service-oriented architecture)[1]架构也称面向服务架构,SOA技术的普及与发展使得基于该架构的Web服务安全问题日益突出。SOA架构Web服务安全问题的重要因素就是SOAP消息的传输。由于SOAP传输协议所依赖的WS安全标准存在缺陷,所以在SOAP消息在传输中易受到XML(extensible markup language)[2]注入等一系列针对Web服务的攻击。
基于模糊测试[3]的检测方法可以在满足以下两个条件的情况下检测简单的XML注入式攻击漏洞:①没有检查XML格式和有效性机制;②测试工具可以观察到被测系统的错误响应。然而一些攻击可能来自于多个用户输入字段的组合,所以这就使XML注入式攻击的形式变得更加复杂,检测更加困难。
Julia等[4]通过研究发现,基于污点分析的检测方法会产生许多错误警告,此外该方法生成的跟踪信息有可能包含了许多不相关的信息,存在大量冗余的测试数据。
基于搜索的检测方法能够在有限的空间和时间内找到合适的解,且不受限于系统的规模。主要方法有基于粒子群优化算法[5]的搜索和基于遗传算法的搜索等。但是基于粒子群优化算法的搜索会在执行不久后出现大量粒子聚集的现象,存在过早收敛的缺陷。
由此,本文提出了一种基于改进遗传的XML注入式攻击检测方法。该方法使用实码遗传算法在搜索空间自动搜索用户输入。执行过程中,通过引入影响因子改进适应度函数计算方法,优化适应度函数值和算法的搜索,从而缩短搜索时间,提高搜索效率。……