6.4 Web服务攻击技术
6.4.1 Web服务攻击技术分类
随着面向服务的体系架构在业界的推广和应用,很多大型应用系统开始采用Web服务技术来构建。构建的这种系统不仅面临来自传统攻击技术的威胁,还要面临很多针对Web服务本身的攻击技术的挑战。
通过分析目前针对基于Web服务的网格应用系统的攻击技术,可以得到Web服务攻击框架,如图6-23所示。该攻击框架针对Web服务应用系统的层次结构,从信息收集、分析和利用的角度出发,涵盖了各层可能的攻击技术。该框架也体现了对网格系统实施攻击的主要过程,覆盖网格体系的各个层次。
![]() |
| 图6-23 Web服务攻击框架 |
依据Web服务攻击体系框架,可以将Web服务攻击技术按层次分为如下类型。
(1)信息收集和分析技术
信息收集和分析是所有信息对抗过程中的重要步骤,在网格攻击过程中同样必不可少。在传统的网络攻击中,信息收集主要是采用端口探测扫描技术,而信息分析则主要是通过端口探测扫描的反馈信息分析判断远程系统的类型、所启用的服务、所采用的协议和可能的漏洞等。
在网格攻击中,特别是在网格系统引入Web服务技术后,原有的针对系统和服务的扫描和分析技术不再能完全满足需要。必须针对Web服务的特点,采用新的技术来有针对性地收集和分析Web服务信息。目前,针对Web服务的扫描分析方法主要有WSDL扫描攻击。
(2)针对应用Web服务的攻击技术
通常,对目标系统最有效的攻击方法是针对具体的操作系统和应用软件系统,如Windows系列操作系统及WWW网页服务器等。但随着人们安全意识的增强,对操作系统及WWW网页服务器等基础平台和通用软件的保护意识越来越高,防护技术也越来越强,针对这些目标的攻击也越来越难以奏效。而Web服务属于上层应用,其设计和开发都是面向具体应用。而在具体应用的设计和开发过程中,由于开发人员的技术水平和安全意识不同,很容易导致安全漏洞的存在。当然,由于Web服务应用可以很容易地使用最新的技术,而这些新技术由于没有经过时间的考验很容易存在脆弱性。应用Web服务攻击则主要利用具体应用服务的漏洞进行有针对性的攻击,该种攻击中有代表性的是SQL注入、XPATH注入、参数篡改和重放过载攻击。
(3)针对支撑Web服务的攻击技术
支撑Web服务与上层的应用Web服务在实现技术方面差别并不大,但通过对一些大型Web服务应用项目的分析,可以看出支撑Web服务属于整个应用系统的核心服务,其他应用服务则建立在这些服务基础之上。因此对支撑Web服务的攻击会对整个应用系统的功能造成更大的影响,如对服务发布、服务发现和安全支持等核心服务的攻击则会影响到整个网格系统的功能。但由于构造技术上同上层应用Web服务差别不大,因此在攻击手段上是类似的。
(4)针对Web服务支撑环境的攻击技术
Web服务支撑环境是构造Web服务所必需的软件系统集合,这些软件系统包括SOAP解析器、XML解析器、WSDL发布系统、SOAP路由、UDDI服务器和XPATH系统等。它们主要为构造Web服务提供基本的支持,如SOAP解析器和XML解析器等主要负责解析接收到的SOAP数据包和XML格式的数据包,分解为Web服务可以处理的参数格式;WSDL发布系统将Web服务的描述以WSDL文件的形式发布;UDDI服务器提供了基本的服务发现和发布机制。因此这些软件系统和技术都是随着Web服务技术的出现而发展和应用的新系统和新技术,对这些系统的攻击形式是以往的攻击技术中所没有的。并且对支撑环境的攻击会影响到更多的上层服务,对整个网格系统的功能造成更大的影响。针对Web服务支撑环境可以构造的攻击手段主要有SOAP解析器攻击、Schema毒化攻击、SOAP路由混淆攻击、UDDI服务侵入攻击及UDDI服务干扰攻击。
(5)针对虚拟机的攻击技术
虚拟机是建立在操作系统之上的代码解释执行系统,其主要功能是将接收到的虚拟机代码解释成本地操作系统的代码执行。这样屏蔽了不同操作系统的异构性,使得开发人员使用统一的语言来开发。最具代表性的虚拟机是Java虚拟机,目前微软的.NET技术也提供了本身的虚拟机。而虚拟机是Web服务技术的基础和重要组成部分,目前很多Web服务用Java和C#编写而成,这些服务的运行都依赖于虚拟机。
虚拟机除了为上层提供统一的平台外,还提供了对下层操作系统的保护,主要通过类型检查技术和砂箱技术来防止对本地操作系统的越权访问。通常情况下,虚拟机技术能够对主机操作系统提供很好的保护,可以有效地防止恶意代码执行。即使是能够执行,也难以对下层的操作系统造成危害。当然,虚拟机也并不是牢不可破的,本节后面将讨论在特定条件下突破虚拟机的一种技术。
| 回书目 上一节 下一节 |