双天企业
行业动态

DoS攻击分类概述

日期:2012-11-25

一、什么是DoS攻击?

拒绝服务(Denial of Service,DoS)攻击,是利用系统设计或实现上的漏洞使系统崩溃或资源耗尽无法提供服务的攻击手法,其中,攻击消耗的目标资源包括CPU、内存、硬盘、网络带宽等等。DoS攻击以网络攻击为主,攻击方式相对比较简单,虽然不能窃取信息或运行恶意代码,但可影响被攻击服务的所有用户使用,危害巨大。简单的看,DoS攻击只是一种破坏网络服务的黑客方式,虽然具体的方法变化多端,但都有一个共同点:其根本目的是使受害系统或网络无法接收或处理对指定服务的请求,或者是处理完后无法及时回应此类请求。DoS攻击最早是由单机来完成的,随着服务器系统性能与网络带宽的提高及安全防御设备对同一攻击来源的DoS攻击的检测阻断能力提升,资源耗尽型的DoS攻击向多攻击源方式发展,即分布式拒绝服务攻击(Distributed Denial of service,DDoS)。随着僵尸网络的出现,DoS攻击正向被操纵的大规模真实服务请求发展,为攻击防御带来不小的挑战。

在安全研究领域,广义上的DoS攻击不仅仅包含基于网络服务的远程DoS攻击,本机或者网络客户端被攻击而不能正常提供功能且不能自动恢复也被称为DoS攻击,如以恶意方式造成本机操作系统或应用程序崩溃。由于基于网络的拒绝服务攻击更为常见、危害更大,本文将以远程拒绝服务攻击为主展开,引用并扩展《A Taxonomy of DDoS Attack and DDoS Defense Mechanisms》(Jelena Mirkovic与Peter Reiher发表)对DDoS攻击的部分分类方法,并辅以实例,为读者全面展现DoS攻击技术的特点。

二、按目标分类的DoS攻击

1、 攻击应用服务程序

针对特定应用程序的攻击,受网络与攻击源性能规模的限制较小,是较为常见的攻击方式。其中以漏洞利用型攻击较多,它包括针对特定程序的、引发应用程崩溃或挂起的漏洞利用,以及针对一类应用程序的、应用层协议资源耗尽型漏洞的利用。前者的实例很多,多数是漏洞不能被用来执行远程代码,转而用来使软件崩溃造成DoS攻击,如各种缓冲区溢出、内存破坏漏洞等,都有可能只能用于DoS攻击。后者的实例如针对Apache HTTP 服务器拒绝服务漏洞(CVE编号为2011-3192)的攻击,该漏洞源于Apache HTTP 服务器处理来自客户端的HTTP请求中畸形的Range头选项时存在的问题,如果在Range选项中设置了大量重叠的范围指定命令,则Apache 会在构造回应数据时消耗大量内存和CPU资源,导致Apache失去响应,甚至造成操作系统资源耗尽。图1为攻击报文的报文捕获截图,此种攻击可能对其它实现不够完善的WEB服务器同样有效。

图1 攻击Apache HTTP 服务器拒绝服务漏洞的HTTP头

2、 攻击操作系统

操作系统负责向应用提供封装好的统一系统调用接口,网络报文的处理大部分是由操作系统进行初步处理,再把应用数据交给应用程序。对于基础协议如ARP、IP、TCP、UDP等,以及基础的网络应用服务都是由操作系统实现的,这些实现的相关模块可能隐藏着引发系统崩溃或资源耗尽的漏洞。对于这些漏洞的攻击,可以造成系统上的所有应用服务不能收到或处理客户端的请求,甚至整个系统死机。早期的实例有泪滴攻击(Tear Drop),它是利用有漏洞的TCP/IP协议栈信任IP碎片包头所包含的信息来达到攻击目的。因为IP分片含有指明该分片所包含的是原包哪一部分的信息,某些TCP/IP协议栈实现(包括Service Pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。近期的实例是,针对Windows TCP/IP栈ICMP处理拒绝服务漏洞(CVE编号为2011-1871)的攻击。Vista、Win7、Server 2008等Windows版本,在解析收到的ICMP消息时,TCP/IP栈(Tcpip.sys)中存在错误,黑客可通过特制的ICMP消息序列造成系统停止响应或重启。

3、 攻击网络协议

二至四层的网络协议,为客户端与服务器提供的数据通信提供了基础,同时也成为了DoS攻击的目标。一旦通信的协议受到了攻击,通过协议提供的连接就没有了保障,基于连接的服务当然也不可能正常提供了。IP欺骗DoS攻击就是利用服务器对源IP的信任,伪造TCP Reset报文干扰客户端与服务器之间的TCP连接,攻击者会大量伪造合法用户IP及可能使用的端口号向服务器发送TCP Reset报文,诱使服务器断开与客户端已经建立好的连接,导致无法与合法用户正常通信进而无法提供服务。SYN Flood攻击则是利用了TCP无法区分合法用户的连接请求与攻击者的恶意连接请求,通过耗尽系统支持的TCP连接资源而缓存那些没有下文的攻击性TCP连接,造成合法用户的TCP连接请求只有很少一部分得到正常处理。ARP欺骗则是一种适用于局域网的攻击协议方法,攻击者不断发送伪造的ARP报文,使路由器或其它设备学习到错误的ARP表项,从而使被攻击节点无法正常在以太网上通信。

4、 攻击带宽或链路

应用服务器的接入离不开链路,且一般都有带宽限制,即使在采取了负载均衡措施的情况下,流量容量也是有限的,这些都是DoS攻击可以利用的地方。最直接的攻击链路的方法,是产生足够多没有拥塞控制的流量,使链路极度拥塞,合法用户流量的丢包率达到不可接受的程度,造成链路不能支持上层协议及应用。链路的拥塞还有可能造成路由协议报文丢包,引发路由改变或丢失,从而影响网络的功能与稳定,进而影响网络中的所有网络服务。攻击链路的简单实例是在没有配置生成树协议(STP)的交换机上连接产生环路,这会在整个广播域内产生广播风暴,影响所有接入的设备。

对带宽的攻击,与对链路的攻击相似,都以正常用户流量无法接收或丢包为目的,如果能控制大量傀儡主机发出流量全部占用被攻击服务器的接入带宽,让合法用户的服务请求没有足够的带宽支持,DoS攻击就可以轻易实现,因此其关键是能通过木马、后门等手段控制足够多的傀儡主机。随着网络技术的发展,带宽相应得到了很大提高,依靠几台主机多线程发送流量的攻击基本已很难奏效。目前流行的攻击带宽的DoS攻击工具都是分布式的。一般会分成两部分,执行部分需要在一定数量的傀儡主机上运行,负责攻击流量的发送,控制部分运行在黑客主机,负责控制执行部分的攻击行为,如图2。

图2 DDoS攻击示意图

5、 攻击网络关键设施

DNS服务器、路由器、防火墙等都是网络的关键设施,它们要么是网络通信必需服务的提供者,要么位于网络的关键节点,一旦遭受攻击,其中任何一个出现问题都可能造成网络不通,从而达到拒绝服务的效果。例如2009年5月发生的暴风影音DNS DoS攻击,用户使用暴风影音产品时主机需要对baofeng.com域名进行解析,会将请求信息发送给自己所填写的或自动获取的DNS服务器地址。这是一个递归的查询,即以后的解析工作全部由该域名服务器完成,如果该服务器没有缓存查询的域名,会在根域名服务器、顶级域名服务器、权限域名服务器之间进行迭代查询,最后将相关解析结果返回给主机。由于暴风的域名系统受到了黑客攻击,使用暴风影音的大量用户积聚的域名查询转向电信运营商的域名服务器,产生了对电信运营商DNS服务器的变相DDoS攻击,发送到电信域名系统的正常请求不能得到响应,正常用户的域名请求无法解析,导致多省用户无法上网或速度很慢。

三、按原理分类的DoS攻击

1、 语义攻击

语义DoS攻击指的是利用目标系统实现时的缺陷和漏洞,对目标主机进行的拒绝服务攻击。这种攻击一般不需要攻击者具有很多的傀儡主机或很高的攻击带宽,大部分情况下只需要发送关键性的少量数据包就可以达到攻击目的,如前面提到的针对Windows TCP/IP栈ICMP处理拒绝服务漏洞的攻击。这类攻击都需要服务器处理攻击报文,解析报文中协议的相关字段或数据内容,即协议或数据的语义。

2、 暴力攻击

暴力DoS攻击是通过发送大量的服务会话请求或者是无意义的能够到达服务器的数据包,通过这种方式消耗服务器的CPU、内存、带宽等资源,造成合法用户的服务请求无法被处理。由于语义攻击所需的漏洞不易挖掘,且很容易被服务器管理员修补,因此目前大部分的DoS攻击黑客工具都属于暴力攻击类型,这是服务器防御的重点之一。

四、DoS攻击带来的挑战

DoS攻击一直威胁着众多通过网络从事业务的公司、组织,尽管防御措施提高了,但它变得更强大、更具有针对性,也更加复杂,而且,一些业余黑客也能够发动该攻击,或者利用僵尸网络为其工作,给网络安全带来了持续的挑战。目前常用的防御措施主要有:及时修复漏洞优化系统、提供额外带宽、部署防火墙、IPS等。提供额外带宽是最常见的对抗DDoS的措施之一,但事实上,这样做既无成本效益也不高效。对于网络服务提供者来说,提供高于其需要处理峰值负载的很大额外带宽是很少见的,而且无法抵御超过额外带宽上限的攻击。此外,提供过度的额外带宽仅能提高对暴力DoS攻击的容忍度,而不能应对语义攻击。传统防火墙虽然对暴力攻击有一定的效果,但对DDoS及语义攻击的防御效果相当差。而IPS对语义攻击的防御效果相当明显,优秀的IPS产品对暴力DoS攻击也有一定防御能力,但由于其受限于自身的处理能力,应对大流量的攻击会比较困难。防御大流量DDoS攻击时,部署专业的DDoS流量清洗设备是不错的选择,它与IPS的组合防御效果十分理想,但是对于预算不宽裕的公司或组织,IPS加专业DDoS流量清洗设备的成本开销难以接受。

结束语

目前网上流传了很多黑客开发出来的DoS攻击软件工具,进一步降低了攻击的技术门槛,使得普通网络用户也可以发动DoS攻击。不少中小网站饱受DoS攻击带来的困扰,DoS攻击带来的挑战将是长期的,未来网络服务提供者与安全厂商的技术、人力、财力投入还将不断增加,对现有的攻击方法进行归纳总结,有助于提高安全相关人员对DoS攻击的了解程度,更好地进行应对。