写点什么

WCF 和信息泄露威胁

  • 2008-09-30
  • 本文字数:974 字

    阅读完需:约 3 分钟

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

2008-09-30 21:001070

评论

发布
暂无评论
发现更多内容

《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

CECBC

如何进行需求梳理及埋点方案设计

易观大数据

朱嘉明:区块链成为经济转型、形成产业新业态的技术手段

CECBC

【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

华为云开发者联盟

运维 服务器 直播 云服务 华为云

林左鸣 史瑞华:人类应鼎力进行的探索

CECBC

单例模式的几种写法你用的哪种?

Java小咖秀

Java 设计模式 23种设计模式

解决问题 1474 个,Flink 1.11 究竟有哪些易用性上的改善?

Apache Flink

flink

企业架构框架之TOGAF

冯文辉

企业架构

可读代码编写炸鸡七 - 表达式太长就拆

多选参数

代码质量 代码组织 代码规范 可读代码编写 可读代码

寻找握剑的手,青睐懂行的人

脑极体

毕业半年的憨憨,将公司的代码上传到GitHub上了

诸葛小猿

GitHub 代码上传

平价又好用的学习电脑小轩PRO来啦,为孩子创造超强学习体验

最新动态

图解:如何实现最小生成树

淡蓝色

Java 数据结构 算法

Python的四种作用域及调用顺序

BigYoung

Python 局部作用域 全局作用域

我想模糊删除redis key🤔

山中兰花草

Java lua redis 面试 批量任务

可读代码编写炸鸡六 - 控制流尽量向前奔涌就好,不要分心

多选参数

代码 代码优化 代码规范 可读代码编写 可读代码

防止数据重复提交的6种方法(超简单)!

王磊

Java

第六周作业

腾志文(清样)

聊聊Dubbo(二):简单入门

猿灯塔

Week 06学习总结

Jeremy

MQTT的搭建、测试、应用及小程序的集成!

诸葛小猿

物联网 IoT mqtt broker

计算机揭秘之:网络分类和性能分析

程序那些事

TCP 计算机网络 网络协议 计算机基础 udp

数十家技术社区联名推荐的GeekOnline来了!

Geek_116789

CAP原理

jason

Week 06 命题作业

Jeremy

LeetCode题解:141. 环形链表,JavaScript HashMap,详细注释

Lee Chen

大前端 LeetCode

第六周总结

腾志文(清样)

区块链加持的家用摄像头能拯救你的隐私吗?

CECBC

以中立性的立场看Severless的目标和流派

韩超

云原生 serverles

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

分布式事务解决方案Seata源码解析

Java 分布式 分布式事务

WCF和信息泄露威胁_SOA_Hartmut Wilms_InfoQ精选文章