魏春霞,张琳琳,赵 楷
(新疆大学 信息科学与工程学院,新疆 乌鲁木齐830046)
Web服务主要面临的安全攻击包括DoS攻击、Web服务探测攻击、注入攻击、参数篡改攻击、恶意内容攻击等[1,2]。其中,拒绝服务 (DoS)攻击是当前网络主要攻击手段之一,当拒绝服务攻击发生时,受攻击的服务器或网络不能正常接受、处理外界合法请求,导致服务器无法响应合法用户的请求。运行于网络环境下的Web服务因其具有可扩展性、松耦合性等特点及其相关协议的本身具有的脆弱性,使其易遭受DoS攻击。Web服务DoS攻击事件的发生阻碍了Web服务的进一步应用与发展,因此,DoS攻击的检测、防御研究工作具有重要的理论意义和实际价值。基于源地址伪造的DoS攻击是较为常见的攻击方式,攻击者可随意伪造报文中的源地址,隐藏其身份,进行非法操作。这种攻击方式很难追溯攻击者的真实身份,对合法流量的识别也变得十分困难。
本文针对Web服务中存在的源地址伪造DoS 攻击问题,提出一种基于安全令牌的防御Web服务DoS攻击的方法。该方法是在研究了WSS 标准中5 种安全令牌的基础上,针对面向特定应用领域Web服务的防范DoS 攻击要求,提出一种新的安全令牌,同时采取相应的非对称加密算法RSA 对安全令牌进行加密。实验结果表明该方法的提出能够有效地防御基于源地址伪造的DoS攻击,提高Web服务的安全性。
为了保证Web 服务SOAP 消息的安全通信。微软、IBM、Verisign 等联合推出了WS-Security (WSS)规范,WSS是一种提供Web服务应用安全的网络传输协议,其目的是构建安全的SOAP消息交换机制,保证SOAP 消息的机密性及完整性。WSS 规范包含基于XML 的安全令牌,这些令牌封装了用户名/口令、X.509 证书、REL、SAML及Kerberos票据等认证信息,令牌的使用能够使Web服务达到双向认证[1]。用户名/口令令牌定义了如何通过用户名验证服务请求者的身份问题,X.509 令牌定义了如何将X.509证书应用于SOAP 消息中,X.509 证书主要用于身份验证,需要使用与签名者私钥相对应的公钥解密消息,从而达到验证消息的目的;SAML 令牌定义了如何将SAML断言应用于SOAP安全头,以及如何引用SOAP 消息内部的这些断言,Kerberos令牌定义了如何将Kerberos票据附加到SOAP消息中,和X.509证书令牌一样,拥有令牌是通过使用相应的密钥签署消息进行证明的[3-7]。WSS的提出在一定程度上保证了Web服务SOAP 消息的安全。但是,该规范并没有涉及Web服务请求者的源地址认证问题,而攻击者就可能利用这一缺陷对源地址进行伪造,从而对Web服务提供方实施DoS攻击。
DoS攻击的防御是目前网络安全方面的热点问题,许多研究者都提出了自己的研究方案。文献 [8]提出了用户域名令牌,由于域名IP查询服务器中含有域名列表。Web服务提供方接收服务请求后,通过查询域列表可知IP地址是否合法。文献 [9]设计了一种统计源地址数据包数量的数据结构ECBF (extended counting bloom filter)。在ECBF的基础上,提出了随机伪造源地址分布式拒绝服务攻击发生时合法地址识别算法。通过优先转发来自合法地址的数据包,实现对合法流量的有效保护,从而有效地抵御了拒绝服务攻击。文献 [10]使用client puzzles保护Web服务免受DoS攻击,client puzzles是一种密码策略,它通过要求客户在被授权之前解决一些难题的方式提供一种逐步验证的方式,从而达到目标。文献 [11]通过深入分析DoS攻击防御原则和技术,提出3种预防DoS攻击的方式:使用路由器DoS攻击预防,增加可信赖的平台模块以及增强系统的可防御性;文献 [12]提出了基于模型自适应的体系结构和算法,用于检测处于Web应用层的DoS攻击,同时减缓这种攻击的发生,通过使用性能模型预测即将来临的请求的影响,决策机自适应地产生过滤流量的规则,同时发送值得怀疑的流量进行进一步核查,这种方式的作用是丢弃非法请求,最终达到预防DoS攻击的目的。
文献 [9-12]提出的方法是基于网络层的,文献 [14]是基于MAC 层的,而本文提出的方法是基于SOAP 消息层的。本文的方法与文献 [8]类似,不同之处在于本文提出的安全令牌所包含的MAC 地址是唯一且不容易被改变的,同时对提出的MAC 令牌采取了相应的保护措施。因此既保证了令牌的安全,也保证了Web服务免于遭受基于源地址伪造的DoS攻击。
Web服务开放,语言独立及松耦合等特性为电子商务带来极大便利的同时,诸多安全问题也随之而来。这些安全问题在一定程度上阻碍了Web服务的发展。因此,如何提高Web服务的安全性,保证Web服务的正常运行,已成为Web服务进一步推广应用亟待解决的问题之一。
Web服务的核心技术包括SOAP,WSDL和UDDI,这些核心技术以及Web服务安全相关标准所固有的安全缺陷成为攻击者攻击的主要目标。Web服务中常见的攻击有服务探测攻击,权限提升攻击,参数篡改攻击,DoS攻击等。DoS攻击不仅降低了Web服务的服务质量同时减弱了服务的可用性,导致服务器和网络无法正常地提供服务[13]。Web服务易遭受DoS攻击的原因如下:首先,由于Web服务是通过XML 描述的,而XML 中隐含DoS漏洞;此外,Web服务具有松耦合特性,这就意味着客户为了调用服务需要访问应用程序元数据。但是,如果服务器响应的是未授权请求,攻击者将向服务器发送大量请求,目的是耗尽服务器资源。尽管第2种缺陷通过身份验证能够得到缓解,但是在Web服务环境中验证每一条请求是不可能的[15]。一般来说,Web服务中常见的DoS 攻击包含SOAP 洪泛攻击,超大负载攻击和递归负载攻击,SOAP 洪泛攻击是发送者发送大量相同的SOAP请求,导致Web服务提供者承受过剩的载荷,致使它们无法正常提供服务;在超大载荷攻击中,攻击者利用XML文档能够无限递归嵌套的特点引发DoS攻击,通过创建过度复杂且多重嵌套的XML 文档对XML解析器实施攻击[16]。这些攻击都无不对Web服务造成了威胁。
为了保证Web服务的安全运行,Web服务安全相关标准的使用必不可少。Web 服务安全标准主要包括WSS,WS-Trust,WS-Secure conversation等。这些规范都以特定的方式执行,但它们并未涉及服务请求者的源地址认证问题。为了防范基于源地址伪造的DoS攻击,本文在研究了WSS的5种安全令牌的基础上,提出MAC令牌。
通过对WSS的分析可知,WSS中的安全机制并未涉及服务请求者源地址认证问题。然而,在一定程度上,Web服务提供者获悉服务请求者的源地址可丢弃来自未知或伪造源地址的Web服务请求,从而保证Web服务的安全。伪造源地址DoS攻击是最易开展,却又最容易见效的攻击方式[2],因而这一缺陷常常被攻击者所利用,攻击者采用伪造源地址进行DoS攻击,最终致使服务主机资源或网络带宽耗尽[9]。因此,在Web服务开始交互时,服务提供者必须通过某种方式获得Web服务请求者的安全相关信息以判定请求者是否为合法请求者。
本文利用SOAP消息在网络传输中的可扩展性,将一种新的安全令牌MAC令牌引入到SOAP消息头中,SOAP消息封装了该令牌,同时在Web服务参与者间传输SOAP消息。MAC令牌封装了Web服务请求者的MAC地址。当服务提供者收到请求之后,首先查看SOAP 消息头中的MAC令牌,将其与Web服务提供方服务器内部的MAC、IP地址对记录进行对比,进而判断服务请求者的MAC 地址是否存在于服务器内地址对列表内同时服务请求者的IP是否正确,若符合要求,则接受请求,处理请求内容;否则,丢弃服务请求。如图1所示。
图1 安全SOAP消息表示
封装安全令牌的SOAP 消息主要由SOAP header与SOAP body组成。WS-Security的相关内容在SOAP头中得以呈现。本文将提出的MAC 令牌引入SOAP头与WSS中的其他令牌配合使用。用于检测源地址的MAC 令牌的语法必须遵循XML语法规则,通过分析制定了MAC 令牌的语法规则。图2给出了MAC 令牌实例。在WSS内部,从令牌内部可得出到服务请求者的MAC 地址。本文提出的令牌需要在Web服务提供方服务器的配合下才能达到应有的效果。
图2 MAC令牌实例
当Web服务提供者收到SOAP请求之后,他们首先解析MAC令牌,这样将在一定程度上节省计算资源,省去不必要的开支。
由于SOAP消息在公共网络中传输,存在被窃取和篡改的风险。为了防止攻击者截获SOAP 消息,同时通过截获的SOAP消息获取MAC地址,继而以此MAC地址作为凭证向Web服务提供方发送非法请求,最终达到攻击的目的。针对这种潜在威胁,本文提出了一种安全框架用于保护SOAP 消息中的MAC 令牌。这种安全流程图旨在保护传输中MAC 令牌中的MAC 地址,可防止SOAP 头中的MAC地址被攻击者监测利用。为了保证MAC 令牌的加密过程安全可靠,本文采用非对称加密算法对其进行加密。在加密过程中,通过可信权威机构的协助,完成对SOAP消息中MAC令牌的加密。
图3给出了MAC令牌安全保护的流程。服务请求者首先从值得信赖的Web服务获取到密钥对,再对密钥存储机构发出存储私钥请求,期间要经过密钥管理机构的管理;而后Web服务请求者使用公钥对MAC 令牌加密,将加密后的SOAP消息发送至Web服务提供者,服务提供者从密钥存储机构获得相应的私钥并对加密的MAC 令牌进行解密,最终根据所获MAC 地址,查询服务器中是否含有相同MAC、IP地址对。如果存在,服务提供者将处理请求,否则丢弃请求。
图3 MAC令牌安全保护框架
下面结合由本团队开发的中国邮政编码查询系统,详细说明实验的执行过程。本系统是由C#编写,可远程访问的Web服务。通过调用该Web服务,能够实现邮政编码与地名的双向查询。图4 描述了该Web服务的物理架构。用户通过主机查询邮政编码/地名,攻击方 (LOIC)通过截获用户的SOAP消息,对主机发出请求最终达到攻击主机的目的。
图4 邮政编码查询系统物理架构
在该实验中,我们选择Web服务请求到达率,服务提供者响应时间和CPU 利用率作为实验参数。Web服务请求到达率反映了服务请求到达数量的多少,服务提供者响应时间能够标识服务响应的快慢,同时也能够作为DoS攻击发生的指标之一,CPU 利用率反应了Web服务消耗主机内存的比率。实验过程中,首先测量正常执行的Web服务的3项指标;而后,利用著名的DoS攻击工具LOIC 对Web服务实施攻击,同时统计Web服务的该3项参数;将本文提出的方法应用于正常执行的Web服务中,同时给出该3项参数值;最后,将本文提出方法应用于Web服务后,对Web服务实施攻击的同时,给出3项参数值。
对于每一个实验,跟踪并记录CPU 利用率,服务提供者响应时间以及服务请求到达率,分析并比较实验结果。图5~图7分别展示了CPU 利用率,服务提供者响应时间及服务请求到达率的结果。
图5 CPU 利用率
图5~图7分别是对4种不同情况下CPU 利用率、服务请求到达率和服务响应时间的比较。从图5 可以看出,正常执行的Web服务在加入MAC 令牌前后,CPU 的利用率略有下降,这是因为MAC 令牌的加解密需要消耗CPU资源,同时图5也表明遭受DoS攻击后的Web服务在加入MAC令牌后,CPU 利用率显著提高。图6展示了4种不同情况下服务请求到达率的情况。从该图可以看出遭受DoS攻击的Web服务在加入MAC 令牌后,服务请求到达率显著提高;图7表明在服务正常执行的情况下,加入MAC令牌前后服务响应时间并无太大变化,遭受DoS 攻击后的Web服务,在加入MAC 令牌后,受攻击程度明显得到缓解。
图6 服务请求到达率
图7 服务响应时间
实验结果及分析表明,该方法在一定程度上能够有效地缓解DoS攻击,同时提高Web服务的安全性。
通过伪造源地址而实施的拒绝服务攻击对Web服务的参与者造成了威胁,如何有效地防御Web服务DoS攻击,逐渐成为Web服务安全问题的研究热点。然而现有的Web服务规范虽然在一定程度上针对DoS攻击,有较为安全的应对措施,然而它们缺少了对Web服务请求者源地址合法性的考虑。本文对现有的WS安全标准进行深入讨论,同时基于WS安全标准,提出了一种在WS安全标准的安全令牌基础上添加新的MAC 令牌的机制。通过引入的令牌,可以验证Web服务请求者的源地址是否合法。此外,本文还提供了对MAC 令牌的保护机制,与提供保护机制之前相比MAC令牌的安全得到了保障。实验结果表明本文提出的方法有效防御了基于源地址伪造的DoS攻击。但是本文提出的方法仅适用于为特定领域提供Web服务的情况,无法对规模较大的Web服务有所成效,需进一步完善,这是本课题下一步的研究工作。
[1]Nordbotten NA.XML and Web services security standards[J].IEEE Communications Surveys & Tutorials,2009,11(3):4-22.
[2]Bidou R.Attacks on Web services[R].China:The OWASP Foundation,2009:1-22.
[3]Peng D,Li C,Huo H.An extended Username token-based approach for REST-style Web service security authentication[C]//In the 2nd IEEE International Conference on Computer Science and Information Technology.IEEE,2009:582-586.
[4]Kwon T.Privacy preservation with X.509standard certificates[J].Information Sciences,2011,181 (13):2906-2921.
[5]Bertino E,Martino L,Paci F,et al.Security for Web services and service-oriented architectures [M].Heidelberg:Springer,2010:1-226.
[6]Jensen M,Schwenk J,Gruschka N,et al.On technical security issues in cloud computing [C]//IEEE International Conference on Cloud Computing.IEEE,2009:109-116.
[7]Bashir K,Khan M.Modification in Kerberos assisted authentication in mobile Ad-Hoc networks to prevent ticket replay attacks [J].IACSIT International Journal of Engineering and Technology,2012,4 (3):307-310.
[8]Cheong CP,Chatwin C,Young R.A new secure token for enhancing Web service security [C]//IEEE International Conference on Computer Science and Automation Engineering.IEEE,2011:45-48.
[9]XIAO Jun,YUN Xiaochun,ZHANG Yongzheng.Randomly forging source address DoS attacks filtering [J].Journal of Software,2011,22 (10):2425-2437 (in Chinese). [肖军,云晓春,张永铮.随机伪造源地址分布式拒绝服务攻击过滤[J].软件学报,2011,22 (10):2425-2437.]
[10]Suriadi S,Stebila D,Clark A,et al.Defending Web services against denial of service attacks using client puzzles [C]//IEEE International Conference on Web Services.IEEE,2011:25-32.
[11]Chao-yang Z.DoS attack analysis and study of new measures to prevent[C]//International Conference on Intelligence Science and Information Engineering.IEEE,2011:426-429.
[12]Barna C,Shtern M,Smit M,et al.Model-based adaptive DoS attack mitigation [C]//ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.IEEE,2012:119-128.
[13]LIU Yue,LI Qiang,LI Zhoujun.P2Pnetwork security and defense technology research [J].Computer Science,2013,40 (4):9-13(in Chinese).[刘悦,李强,李舟军.P2P网络安全及防御技术研究综述[J].计算机科学,2013,40(4):9-13.]
[14]YE Jing,LI Lingqiang.DoS attack and defense based on the protection of flow MANET network MAC layer [J].Computer Science,2011,38 (4):118-121 (in Chinese).[叶进,李伶强.基于保护流的MANET 网MAC 层DoS攻击及防御[J].计算机科学,2011,38 (4):118-121.]
[15]HUANG Kangyu,HE Zhengqiu,LAI Haiguang,et al.Web service attack technology research [J].Computer Application Research,2010,27 (1):17-22 (in Chinese). [黄康宇,贺正求,赖海光,等.Web服务攻击技术研究综述 [J].计算机应用研究,2010,27 (1):17-22.]
[16]Mehra M,Agarwal M,Pawar R,et al.Mitigating denial of service attack using CAPTCHA mechanism [C]//Proceedings of the International Conference & Workshop on Emerging Trends in Technology.ACM,2011:284-287.