作者:Hartmut Wilms译者 霍泰稳 来源:InfoQ 酷勤网收集 2008-10-06
Anil John最近写了一篇叙述信息泄露威胁和Web服务的文章。在文章中,他详细探讨了潜在黑客常用的攻击技巧,以及一些常见的Web服务应用又是如何“支持”了这些攻击。
Anil谈到了“预操作监视(pre-operational surveillance)”,也就是我们从前常说的IT领域里的“信息泄露威胁”。他详细地介绍了两个可能的威胁:
- SOAP错误的错误信息
- WSDL扫描/踩点(Foot-Printing)/查点(Enumeration)
关于SOAP错误的错误消息,他说道:
……攻击者最喜欢的策略是试图在Web服务里产生一个异常或者错误,以希望连接字符串、堆栈踪迹和其他敏感信息能够在SOAP错误的地方泄露出来。
Anil就此提出了两个应对措施,一个是在模式与实践书籍《Web服务安全/Web Service Security》[免费PDF版本]和《WCF安全指南/WCF Security Guide》[免费PDF版本]中所提到的——异常防护模式(Exception Shielding Pattern)。他同时指出还可以选用类似XML安全网关的硬件设备,他曾使用过Layer 7、Cisco/Reactivity网关等设备,碰巧晓得它们均支持此功能。
Apache Asis团队的Steve Loughran针对本文评论说:
Apache Axis默认情况下不会串线【译者注:意指跨越调用边界】传递完整的堆栈踪迹[……]。你不需要额外使用XML安全硬件,只需要锁定端点的基本信息就可以。
他还提到了Axis安全指南。
对于第二个威胁——元数据发布,Anil说:
在WSDL中发现的这类信息,也就是只需在服务端点URL后面加上?WSDL就可以轻易得到的信息,对于要寻找服务中缺点的攻击者来说,是个绝对有用的信息源。因此,这样的信息不应该被提供,或者最好直接关闭。
如果元数据发布被关闭了,那么客户端如何知道定位或者唤醒Web服务的方法呢?据Anil所述,一个可能的方法是加入含有合适的访问控制机制的企业注册/仓库,并根据契约优先方法阻止WSDL的自动生成。
在文章“保护你的WCF元数据”中,Dominick Baier解释了一些有关WCF元数据发布的细节。他给出了一些保护元数据发布的方法:
- 强制使用SSL;
- 通过开发实现IMetadataExchange和含有完整WCF安全特性集的定制绑定,暴露元数据交换(Metadata Exchange,MEX)端点;
- 允许用户通过WMI从WCF服务中检索元数据。
另外在“给WCF元数据授予访问权限”文章中,Dominick还从技术角度谈到了检测元数据检索请求等。
查看英文原文:WCF and Information Disclosure Threats
来自:http://www.infoq.com/cn/news/2008/09/wcf-information-disclosure

