保护 XML Web 服务免受黑客攻击

2016-01-29 19:33 5 1 收藏

保护 XML Web 服务免受黑客攻击,保护 XML Web 服务免受黑客攻击

【 tulaoshi.com - ASP 】

       Matt Powell
  Microsoft Corporation
  
  
  简介
  在与开发人员就 XML Web 服务的将来谈话的过程中我们得知,他们最大的担心之一就是害怕软件中存在的弱点可能使服务受到不怀好意的用户的攻击。这可以说既是一个坏消息,又是一个好消息。说它是坏消息,是因为攻击可能导致服务的可用性受限制、私有数据泄露,更糟糕的情况是,使计算机的控制权落入这些不怀好意的用户的手中。说它是好消息,是因为您可以获得一些真正的保护,以减少这些攻击所带来的风险。我们将介绍已出现的攻击类型,以及您如何保护自己在部署、设计和开发领域的心血。此主题的第一篇专栏文章将集中讲述部署时应考虑的问题,下一篇专栏文章将讲述在开发 XML Web 服务时需注意的设计和开发问题。
  
  攻击类型
  要找出风险所在并了解如何避免,第一步应了解服务可能遭受的攻击类型。在了解了可能遇到的问题种类后,就可以采取适当的措施来减小这些问题所带来的风险。
  
  攻击通常可分为三大类:
  
  欺骗
  利用错误
  拒绝服务
  欺骗
  在要求身份验证的系统上,最常见的黑客攻击之一是算出某个用户的身份验证证书,以该用户登录,然后访问该用户的信息。这已经很糟糕了,但如果被泄露的证书属于系统管理员或其他某个具有更高权限的用户,则风险会更大。因为,在这种情况下,攻击可能不仅限于泄露单个用户的数据,而且有泄露所有用户数据的可能。
  
  黑客可能会使用多种方法来确定用户的密码。例如:尝试对该用户有意义的字,如该用户的姓名、其宠物的名字或生日。更有恒心的黑客甚至会尝试字典中的每个字(字典攻击)。获取证书信息的其他方法包括:捕捉网络数据包并读取发送的数据中的信息;通过 DNS 欺骗,插入一台不怀好意的计算机,作为客户端和服务器之间的中介;假装系统管理员,以排除故障为由,要求用户给出其证书;或者,记录与服务器的登录握手,然后重复这一过程,尝试通过身份验证。
  
  可以通过采取诸如强制实现加强密码等措施以及使用安全身份验证机制,来缓解由欺骗所带来的大多数风险。
  
  利用错误
  决定系统弱点的关键因素之一是运行在该系统上的代码的质量。系统错误不仅仅局限于使某个特定的线程出现异常。黑客可能利用这些弱点在系统上执行他们自己的代码,访问具有较高权限的资源,或者,只是利用可能潜在地引起系统速度减慢或变得不可用的资源漏洞(由错误引起的)。这种攻击中最著名的一个例子就是红色代码蠕虫病毒,这种病毒利用 Index Server ISAPI 扩展中的错误,在受感染的系统上执行它选择的代码,然后继续寻找其他有弱点的计算机。
  
  另外一种常见攻击就是利用输入数据的有效性假设方面的错误。例如,XML Web Service 希望用户名作为参数输入的情况。如果您假设用户名仅包含 ASCII 字符串,并因此将它直接放入您的 SQL 查询,可能会使您的服务出现严重的弱点。例如,假设您的代码中有一个 SQL 查询,如下所示:
  
  sqlQuery = "SELECT * FROM Users WHERE (Username='" & UsernameInput & "')
  
  如果 UsernameInput 参数包含的内容恰好如下所示
  
  Bob') or not (Username='0
  
  那么您的服务可能会返回所有记录,而不只是特定用户的记录。
  
  拒绝服务
  拒绝服务攻击的目的不在于闯入一个站点,或更改其数据,而在于使站点无法服务于合法的请求。红色代码蠕虫病毒不仅感染计算机,并继而寻找并感染其他计算机,而且,还使得被感染的计算机向官方的白宫 Web 站点发送大量的数据包。因为数千台计算机被感染,所以发往白宫 Web 站点的请求的数目极高。因为红色代码蠕虫病毒会导致从大量计算机发出请求,所以被视作“分布式拒绝服务攻击”。由于涉及到如此众多的计算机,因此这种攻击极难限制。
  
  拒绝服务请求可能有多种形式,因为可以通过多种级别发送伪请求,以攻击您的系统。例如,您的站点可能允许用户 PING 您的 IP 地址,从而使 ICMP 消息被发送到您的服务器,然后又被返回。这是一种排除连接故障的有效方法。但是,如果数百台计算机同时向您的服务器发送数千个数据包,您会发现您的计算机忙于处理 PING 请求,而无法获得 CPU 时间来处理其他正常的请求。
  
  级别稍高的是 SYN 攻击,这种攻击需要编写一个低级网络程序,所发送的数据包看起来有如 TCP 连接握手中的第一个数据包(SYN 包)。这种攻击比 PING 请求攻击危害更大,因为对于 PING 请求,

来源:http://www.tulaoshi.com/n/20160129/1509648.html

延伸阅读
标签: Web开发
尽管可以使用许多技术来实现面向服务体系结构(SOA),不过最常用的还是使用 Web 服务,这意味着要使用 XML。SOAP 和 REST 是实现 Web 服务最流行的两种方法,这两者都基于 XML。 一个例子 比如说,通过将这个 SOAP 文档作为 Web 请求发送,可以向 Google Web 服务提出请求。(如清单 2 所示) 清单 2. 通过发送 SOAP 文档向 Google Web 服...
标签: Web开发
全局XML Web服务体系结构(Global XML Web Services Architecture,下面简称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准。相当多的大公司正在GXA的幕后进行合作,包括微软和IBM. GXA的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中。虽然在过去的几年中,已经做...
  随着Internet的发展,很多机构都将自己内部的网络连接到Internet上,因而网络安全问题越来越重要。 一、现有防火墙技术及其局限性 为了增加网络的安全和保护内部网络上的重要数据,需要将内部网与Internet相隔离,当前主要通过防火墙技术来完成这个目的。然而为了保护内部主机,防火墙软件就必须限制外部网络中的主机对内部网络的...
标签: Web开发
全局XML Web服务体系结构(Global XML Web Services Architecture,下面简称GXA)平台是一个新术语,包括Web服务交互领域的许多制定的新标准。相当多的大公司正在GXA的幕后进行合作,包括微软和IBM。GXA的主要目标是定义指定Web服务的协议新家族的语法和语义,这些协议把SOAP和XML的基本功能带到下一代相互适应性中。虽然在过去的几年中,已...
标签: 电脑入门
QQ密码、个人资料和聊天记录能否安全成为至关重要的问题,为了有效地防止聊天记录等本地信息的丢失和被,可以采取以下措施: 1.设置本地消息口令 首先按下鼠标右键,从QQ图标上选择“系统参数”,在“系统参数”中选择“安全设置”标签。接着选择“启用本地消息加密”,再依次输入口令并确认口令即可。 同时为了保险一定要勾选“启用本地消息...

经验教程

906

收藏

97
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部