作者:Hartmut Wilms译者 霍泰稳 来源:InfoQ   酷勤网收集 2008-10-06

摘要
  Anil谈到了“预操作监视(pre-operational surveillance)”,也就是我们从前常说的IT领域里的“信息泄露威胁”。他详细地介绍了两个可能的威胁:SOAP错误的错误信息;WSDL扫描/踩点(Foot-Printing)/查点(Enumeration)

Anil John最近写了一篇叙述信息泄露威胁和Web服务的文章。在文章中,他详细探讨了潜在黑客常用的攻击技巧,以及一些常见的Web服务应用又是如何“支持”了这些攻击。

Anil谈到了“预操作监视(pre-operational surveillance)”,也就是我们从前常说的IT领域里的“信息泄露威胁”。他详细地介绍了两个可能的威胁:

  1. SOAP错误的错误信息
  2. 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

分类: .NET技术 Windows技术

上一篇:揭开Oslo的神秘面纱   下一篇:构筑Sharepoint项目的5个建议