拒绝服务攻击即攻击者想办法让⽬标机器停⽌提供服务或资源访问,是常⽤的攻击⼿段之⼀。这些资源包括磁盘空间、、甚⾄⽹络带宽,从⽽阻⽌正常⽤户的。其实对⽹络带宽进⾏的消耗性攻击只是拒绝服务攻击的⼀⼩部分,只要能够对⽬标造成⿇烦,使某些服务被暂停甚⾄主机,都属于拒绝服务攻击。拒绝服务攻击问题也⼀直得不到合理的解决,究其原因是因为这是由于本⾝的安全缺陷造成的,从⽽拒绝服务攻击也成为了攻击者的终极⼿法。攻击者进⾏拒绝服务攻击,实际上让服务器实现两种效果:⼀是迫使的满,不接收新的请求;⼆是使⽤IP欺骗,迫使服务器把合法⽤户的连接复位,影响合法⽤户的连接。拒绝服务攻击的原理1.SYN Foold
SYN Flood是当前最流⾏的(拒绝服务攻击)与(Distributed Denial Of Service分布式拒绝服务攻击)的⽅式之⼀,这是⼀种利⽤缺陷,发送⼤量伪造的TCP连接请求,使被攻击⽅资源耗尽(CPU满负荷或内存不⾜)的攻击⽅式。
SYN Flood攻击的过程在TCP协议中被称为三次握⼿(Three-way Handshake),⽽SYN Flood拒绝服务攻击就是通过三次握⼿⽽实现的。(1) 攻击者向被攻击服务器发送⼀个包含SYN标志的TCP报⽂,SYN(Synchronize)即同步报⽂。同步报⽂会指明客户端使⽤的端⼝以及TCP连接的初始序号。这时同被攻击服务器建⽴了第⼀次握⼿。
(2) 受害服务器在收到攻击者的SYN报⽂后,将返回⼀个SYN+ACK的报⽂,表⽰攻击者的请求被接受,同时TCP序号被加⼀,ACK(Acknowledgment)即确认,这样就同被攻击服务器建⽴了第⼆次握⼿。
(3) 攻击者也返回⼀个确认报⽂ACK给受害服务器,同样TCP序列号被加⼀,到此⼀个TCP连接完成,三次握⼿完成。
具体原理是:TCP连接的三次握⼿中,假设⼀个⽤户向服务器发送了SYN报⽂后突然死机或掉线,那么服务器在发出SYN+ACK应答报⽂后是⽆法收到客户端的ACK报⽂的(第三次握⼿⽆法完成),这种情况下服务器端⼀般会重试(再次发送SYN+ACK给客户端)并等待⼀段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,⼀般来说这个时间是分钟的数量级(⼤约为30秒~2分钟);⼀个⽤户出现异常导致服务器的⼀个线程等待1分钟并不是什么很⼤的问题,但如果有⼀个恶意的攻击者⼤量模拟这种情况(伪造IP地址),服务器端将为了维护⼀个⾮常⼤的半连接列表⽽消耗⾮常多的资源。即使是简单的保存并遍历也会消耗⾮常多的CPU时间和内存,何况还要不断对这个列表中的IP进⾏SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强⼤,最后的结果往往是堆栈溢出崩溃—— 即使服务器端的系统⾜够强⼤,服务器端也将忙于处理攻击者伪造的TCP连接请求⽽⽆暇理睬客户的正常请求(毕竟客户端的正常请求⽐率⾮常之⼩),此时从正常客户的⾓度看来,服务器失去响应,这种情况就称作:服务器端受到了SYN Flood攻击(SYN洪⽔攻击)。 2.IP欺骗DOS攻击
这种攻击利⽤RST位来实现。假设现在有⼀个合法⽤户(61.61.61.61)已经同服务器建⽴了正常的连接,攻击者构造攻击的TCP数据,伪装⾃⼰的IP为61.61.61.61,并向服务器发送⼀个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61.61.61.61发送的连接有错误,就会清空缓冲区中建⽴好的连接。这时,如果合法⽤户61.61.61.61再发送合法数据,服务器就已经没有这样的连接了,该⽤户就必须从新开始建⽴连接。攻击时,攻击者会伪造⼤量的IP地址,向⽬标发送RST数据,使服务器不对合法⽤户服务,从⽽实现了对受害服务器的拒绝服务攻击。 3. UDP洪⽔攻击
攻击者利⽤简单的TCP/IP服务,如Chargen和Echo来传送毫⽆⽤处的占满带宽的数据。通过伪造与某⼀主机的Chargen服务之间的⼀次的UDP连接,回复地址指向开着Echo服务的⼀台主机,这样就⽣成在两台主机之间存在很多的⽆⽤数据流,这些⽆⽤数据流就会导致带宽的服务攻击。 4. Ping洪流攻击
由于在早期的阶段,路由器对包的最⼤尺⼨都有限制。许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进⾏读取之后,要根据该标题头⾥包含的信息来为有效载荷⽣成缓冲区。当产⽣畸形的,声称⾃⼰的尺⼨超过ICMP上限的包也就是加载的尺⼨超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受⽅死机。 5. 泪滴(teardrop)攻击
泪滴攻击是利⽤在TCP/IP堆栈中实现信任IP碎⽚中的包的标题头所包含的信息来实现⾃⼰的攻击。IP分段含有指明该分段所包含的是原包的哪⼀段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。 6.
Land攻击原理是:⽤⼀个特别打造的SYN包,它的原地址和⽬标地址都被设置成某⼀个服务器地址。此举将导致接受服务器向它⾃⼰的地址发送SYN-ACK消息,结果这个地址⼜发回ACK消息并创建⼀个空连接。被攻击的服务器每接收⼀个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(⼤约持续5分钟)。7.
⼀个简单的Smurf攻击原理就是:通过使⽤将回复地址设置成受害⽹络的⼴播地址的ICMP应答请求(ping)数据包来淹没受害主机的⽅式进⾏。最终导致该⽹络的所有主机都对此ICMP应答请求作出答复,导致⽹络阻塞。它⽐ping of death洪⽔的流量⾼出1或2个数量级。更加复杂的Smurf将源地址改为第三⽅的受害者,最终导致第三⽅崩溃。8.
原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使⽤的是UDP应答消息⽽⾮ICMP。拒绝服务攻击的属性分类法
J.Mirkovic和P. Reiher [Mirkovic04]提出了拒绝服务攻击的属性分类法,即将攻击属性分为攻击静态属性、攻击动态属性和攻击交互属性三类,根据DoS攻击的这些属性的不同,就可以对攻击进⾏详细的分类。凡是在攻击开始前就已经确定,在⼀次连续的攻击中通常不会再发⽣改变的属性,称为攻击静态属性。攻击静态属性是由攻击者和攻击本⾝所确定的,是攻击基本的属性。那些在攻击过程中可以进⾏动态改变的属性,如攻击的⽬标选取、时间选择、使⽤源地址的⽅式,称为攻击动态属性。⽽那些不仅与攻击者相关⽽且与具体受害者的配置、检测与服务能⼒也有关系的属性,称为攻击交互属性。
1.攻击静态属性(Static)
攻击静态属性主要包括攻击控制模式、攻击通信模式、攻击技术原理、攻击协议和攻击协议层等。 (1)攻击控制⽅式(ControlMode)
攻击控制⽅式直接关系到攻击源的隐蔽程度。根据攻击者控制攻击机的⽅式可以分为以下三个等级:直接控制⽅式(Direct)、间接控制⽅式(Indirect)和⾃动控制⽅式(Auto)。
最早的拒绝服务攻击通常是⼿⼯直接进⾏的,即对⽬标的确定、攻击的发起和中⽌都是由⽤户直接在攻击主机上进⾏⼿⼯操作的。这种攻击起来相对容易,如果能对攻击包进⾏准确的追踪,通常就能找到攻击者所在的位置。由于直接控制⽅式存在的缺点和攻击者想要控制⼤量攻击机发起更⼤规模攻击的需求,攻击者开始构建多层结构的攻击⽹络。多层结构的攻击⽹络给针对这种攻击的追踪带来很⼤困难,受害者在追踪到攻击机之后,还需要从攻击机出发继续追踪控制器,如果攻击者到最后⼀层控制器之间存在多重跳板时,还需要进⾏多次追踪才能最终找到攻击者,这种追踪不仅需要⼈⼯进⾏操作,耗费时间长,⽽且对技术也有很⾼的要求。这种攻击模式,是⽬前最常⽤的⼀种攻击模式。⾃动攻击⽅式,是在释放的蠕⾍或攻击程序中预先设定了攻击模式,使其在特定时刻对指定⽬标发起攻击。这种⽅式的攻击,从攻击机往往难以对攻击者进⾏追踪,但是这种控制⽅式的攻击对技术要求也很⾼。Mydoom蠕⾍对SCO⽹站和Microsoft⽹站的攻击就属于第三种类型[TA04-028A]。
(2)攻击通信⽅式(CommMode)
在间接控制的攻击中,控制者和攻击机之间可以使⽤多种通信⽅式,它们之间使⽤的通信⽅式也是影响追踪难度的重要因素之⼀。攻击通信⽅式可以分为三种⽅式,分别是:双向通信⽅式(bi)、单向通信⽅式(mono)和间接通信⽅式(indirection)。
双向通信⽅式是指根据攻击端接收到的控制数据包中包含了控制者的真实IP地址,例如当控制器使⽤TCP与攻击机连接时,该通信⽅式就是双向通信。这种通信⽅式,可以很容易地从攻击机查找到其上⼀级的控制器。
单向通信⽅式指的是攻击者向攻击机发送指令时的数据包并不包含发送者的真实地址信息,例如⽤伪造IP地址的UDP包向攻击机发送指令。这⼀类的攻击很难从攻击机查找到控制器,只有通过包标记等IP追踪⼿段,才有可能查找到给攻击机发送指令的机器的真实地址。但是,这种通信⽅式在控制上存在若⼲局限性,例如控制者难以得到攻击机的信息反馈和状态。
间接通信⽅式是⼀种通过第三者进⾏交换的双向通信⽅式,这种通信⽅式具有隐蔽性强、难以追踪、难以监控和过滤等特点,对攻击机的审计和追踪往往只能追溯到某个被⽤于通信中介的公⽤服务器上就再难以继续进⾏。这种通信⽅式⽬前已发现的主要是通过IRC(InternetRelay Chat)进⾏通信[Jose Nazario],从2000年8⽉出现的名为Trinity的DDoS攻击⼯具开始,已经有多种DDoS攻击⼯具及蠕⾍采纳了这种通信⽅式。在基于IRC的傀儡⽹络中,若⼲攻击者连接到Internet上的某个IRC服务器上,并通过服务器的聊天程序向傀儡主机发送指令。 (3)攻击原理(Principle)
DoS攻击原理主要分为两种,分别是:语义攻击(Semantic)和暴⼒攻击(Brute)。
语义攻击指的是利⽤⽬标系统实现时的缺陷和漏洞,对⽬标主机进⾏的拒绝服务攻击,这种攻击往往不需要攻击者具有很⾼的攻击带宽,有时只需要发送1个数据包就可以达到攻击⽬的,对这种攻击的防范只需要修补系统中存在的缺陷即可。暴⼒攻击指的是不需要⽬标系统存在漏洞或缺陷,⽽是仅仅靠发送超过⽬标系统服务能⼒的服务请求数量来达到攻击的⽬的,也就是通常所说的风暴攻击。所以防御这类攻击必须借助于受害者上游路由器等的帮助,对攻击数据进⾏过滤或分流。某些攻击⽅式,兼具语义和暴⼒两种攻击的特征,⽐如SYN风暴攻击,虽然利⽤了TCP协议本⾝的缺陷,但仍然需要攻击者发送⼤量的攻击请求,⽤户要防御这种攻击,不仅需要对系统本⾝进⾏增强,⽽且也需要增⼤资源的服务能⼒。还有⼀些攻击⽅式,是利⽤系统设计缺陷,产⽣⽐攻击者带宽更⾼的通信数据来进⾏暴⼒攻击的,如DNS请求攻击和Smurf攻击,参见4.2.3节以及⽂献[IN-2000-04]和[CA-1998-01]。这些攻击⽅式在对协议和系统进⾏改进后可以消除或减轻危害,所以可把它们归于语义攻击的范畴。 (4)攻击协议层(ProLayer)
攻击所在的TCP/IP协议层可以分为以下四类:、、和。
数据链路层的拒绝服务攻击[Convery] [Fischbach01][Fischbach02]受协议本⾝限制,只能发⽣在局域⽹内部,这种类型的攻击⽐较少见。
针对IP层的攻击主要是针对⽬标系统处理IP包时所出现的漏洞进⾏的,如IP碎⽚攻击[Anderson01],针对传输层的攻击在实际中出现较
多,SYN风暴、ACK风暴等都是这类攻击,⾯向应⽤层的攻击也较多,剧毒包攻击中很多利⽤应⽤程序漏洞的(例如缓冲区溢出的攻击)都属于此类型。
(5)攻击协议(ProName)
攻击所涉及的最⾼层的具体协议,如SMTP、ICMP、UDP、HTTP等。攻击所涉及的协议层越⾼,则受害者对攻击包进⾏分析所需消耗的计算资源就越⼤。
2.攻击动态属性(Dynamic)
攻击动态属性主要包括攻击源地址类型、攻击包数据⽣成模式和攻击⽬标类型。 (1)攻击源地址类型(SourceIP)
攻击者在攻击包中使⽤的源地址类型可以分为三种:真实地址(True)、伪造合法地址(Forge Legal)和伪造⾮法地址(ForgeIllegal)。
攻击时攻击者可以使⽤合法的IP地址,也可以使⽤伪造的IP地址。伪造的IP地址可以使攻击者更容易逃避追踪,同时增⼤受害者对攻击包进⾏鉴别、过滤的难度,但某些类型的攻击必须使⽤真实的IP地址,例如连接耗尽攻击。使⽤真实IP地址的攻击⽅式由于易被追踪和防御等原因,近些年来使⽤⽐例逐渐下降。使⽤伪造IP地址的攻击⼜分为两种情况:⼀种是使⽤⽹络中已存在的IP地址,这种伪造⽅式也是反射攻击所必需的源地址类型;另外⼀种是使⽤⽹络中尚未分配或者是保留的IP地址(例如192.168.0.0/16、172.16.0.0/12等内部⽹络保留地址[RFC1918])。
(2)攻击包数据⽣成模式(DataMode)
攻击包中包含的数据信息模式主要有5种:不需要⽣成数据(None)、统⼀⽣成模式(Unique)、随机⽣成模式(Random)、字典模式(Dictionary)和⽣成函数模式(Function)。
在攻击者实施风暴式拒绝服务攻击时,攻击者需要发送⼤量的数据包到⽬标主机,这些数据包所包含的数据信息载荷可以有多种⽣成模式,不同的⽣成模式对受害者在攻击包的检测和过滤能⼒⽅⾯有很⼤的影响。某些攻击包不需要包含载荷或者只需包含适当的固定的载荷,例如SYN风暴攻击和ACK风暴攻击,这两种攻击发送的数据包中的载荷都是空的,所以这种攻击是⽆法通过载荷进⾏分析的。但是对于另外⼀些类型的攻击包,就需要携带相应的载荷。
攻击包载荷的⽣成⽅式可以分为4种:第⼀种是发送带有相同载荷的包,这样的包由于带有明显的特征,很容易被检测出来。第⼆种是发送带有随机⽣成的载荷的包,这种随机⽣成的载荷虽然难以⽤模式识别的⽅式来检测,然⽽随机⽣成的载荷在某些应⽤中可能⽣成⼤量没有实际意义的包,这些没有意义的包也很容易被过滤掉,但是攻击者仍然可以精⼼设计载荷的随机⽣成⽅式,使得受害者只有解析到应⽤层协议才能识别出攻击数据包,从⽽增加了过滤的困难性。第三种⽅式是攻击者从若⼲有意义载荷的集合中按照某种规则每次取出⼀个填充到攻击包中,这种⽅式当集合的规模较⼩时,也⽐较容易被检测出来。最后⼀种⽅式是按照某种规则每次⽣成不同的载荷,这种⽅式依⽣成函数的不同,其检测的难度也是不同的。 (3)攻击⽬标类型(Target)
攻击⽬标类型可以分为以下6类:应⽤程序(Application)、系统(System)、⽹络关键资源(Critical)、⽹络(Network)、⽹络基础设施(Infrastructure)和因特⽹(Internet)。
针对特定应⽤程序的攻击是较为常见的攻击⽅式,其中以剧毒包攻击较多,它包括针对特定程序的,利⽤应⽤程序漏洞进⾏的拒绝服务攻击,以及针对⼀类应⽤的,使⽤连接耗尽⽅式进⾏的拒绝服务攻击。针对系统的攻击也很常见,像SYN风暴、UDP风暴[CA-1996-01]以及可以导致系统崩溃、重启的剧毒包攻击都可以导致整个系统难以提供服务。针对⽹络关键资源的攻击包括对特定DNS、路由器的攻击。⽽⾯向⽹络的攻击指的是将整个局域⽹的所有主机作为⽬标进⾏的攻击。针对⽹络基础设施的攻击需要攻击者拥有相当的资源和技术,攻击⽬标是根域名服务器、主⼲⽹核⼼路由器、⼤型证书服务器等⽹络基础设施,这种攻击发⽣次数虽然不多,但⼀旦攻击成功,造成的损失是难以估量的[Naraine02]。针对Internet的攻击是指通过蠕⾍、病毒发起的,在整个Internet上蔓延并导致⼤量主机、⽹络拒绝服务的攻击,这种攻击的损失尤为严重。 3.交互属性(Mutual)
攻击的动态属性不仅与攻击者的攻击⽅式、能⼒有关,也与受害者的能⼒有关。主要包括攻击的可检测程度和攻击影响。 (1)可检测程度(Detective)
根据能否对攻击数据包进⾏检测和过滤,受害者对攻击数据的检测能⼒从低到⾼分为以下三个等级:可过滤(Filterable)、有特征但⽆法过滤(Unfilterable)和⽆法识别(Noncharacterizable)。
第⼀种情况是,对于受害者来说,攻击包具有较为明显的可识别特征,⽽且通过过滤具有这些特征的数据包,可以有效地防御攻击,保证服务的持续进⾏。第⼆种情况是,对于受害者来说,攻击包虽然具有较为明显的可识别特征,但是如果过滤具有这些特征的数据包,虽然可以阻断攻击包,但同时也会影响到服务的持续进⾏,从⽽⽆法从根本上防⽌拒绝服务。第三种情况是,对于受害者来说,攻击包与其他正常的数据包之间,没有明显的特征可以区分,也就是说,所有的包,在受害者看来,都是正常的。
(2)攻击影响(Impact)
根据攻击对⽬标造成的破坏程度,攻击影响⾃低向⾼可以分为:⽆效(None)、服务降低(Degrade)、可⾃恢复的服务破坏(Self-recoverable)、可⼈⼯恢复的服务破坏(Manu-recoverable)以及不可恢复的服务破坏(Non-recoverable)。
如果⽬标系统在拒绝服务攻击发⽣时,仍然可以提供正常服务,则该攻击是⽆效的攻击。如果攻击能⼒不⾜以导致⽬标完全拒绝服务,但造成了⽬标的服务能⼒降低,这种效果称之为服务降低。⽽当攻击能⼒达到⼀定程度时,攻击就可以使⽬标完全丧失服务能⼒,称之为服务破坏。服务破坏⼜可以分为可恢复的服务破坏和不可恢复的服务破坏,⽬前⽹络拒绝服务攻击所造成的服务破坏通常都是可恢复的。⼀般来说,风暴型的DDoS攻击所导致的服务破坏都是可以⾃恢复的,当攻击数据流消失时,⽬标就可以恢复正常⼯作状态。⽽某些利⽤系统漏洞的攻击可以导致⽬标主机崩溃、重启,这时就需要对系统进⾏⼈⼯恢复;还有⼀些攻击利⽤⽬标系统的漏洞对⽬标的⽂件系统进⾏破坏,导致系统的关键数据丢失,往往会导致不可恢复的服务破坏,即使系统重新提供服务,仍然⽆法恢复到破坏之前的服务状态。拒绝服务攻击的动机
与其他类型的攻击⼀样,攻击者发起拒绝服务攻击的动机也是多种多样的,不同的时间和场合发⽣的、由不同的攻击者发起的、针对不同的受害者的攻击可能有着不同的⽬的。这⾥,把拒绝服务攻击的⼀些主要⽬的进⾏归纳。需要说明的是,这⾥列出的没有也不可能包含所有的攻击⽬的;同时,这些⽬的也不是排他性的,⼀次攻击事件可能会有着多重的⽬的。
1.作为练习攻击的⼿段
由于DoS攻击⾮常简单,还可以从⽹上直接下载⼯具进⾏⾃动攻击。因此,这种攻击可以被⼀些⾃认为是或者想要成为⿊客⽽实际上是脚本⼩⼦(Script Kiddies)的⼈⽤做练习攻击技术的⼿段。⽽其他的⼀些特权提升攻击(除通过蠕⾍等进⾏⾃动攻击外),通常都会或多或少地牵涉到⼀些技术性的东西,从⽽掌握起来会有⼀定的难度。
2.炫耀
⿊客们常常以能攻破某系统作为向同伴炫耀,提⾼在⿊客社会中的可信度及知名度的资本,拒绝服务攻击虽然技术要求不是很⾼,有时也被⼀些⼈特别是⼀些“所谓的”⿊客①⽤来炫耀。
3.仇恨或报复
仇恨或报复也常常是攻击的动机。寻求报复通常都基于强烈的感情,攻击者可能竭尽所能地发起攻击,因⽽⼀般具有较⼤的破坏性。同时,拒绝服务攻击当是报复者的⾸选攻击⽅式,因为他们的⽬的主要是破坏⽽⾮对系统的控制或窃取信息。因仇恨⽽发起攻击的⼈员有:Ø 前雇员,由于被解雇、下岗或者因为其他不愉快的原因辞职⽽感到不满的。
Ø 现雇员,感到其雇主应该提升⾃⼰、增加薪⽔或以其他⽅式承认其⼯作,⽽愿望没有得到满⾜的,尤其是哪些因为类似原因,打算辞职的。
Ø 现雇员,因为政治⽃争、升职竞争等原因⽽恶意破坏他⼈⼯作成绩的。
Ø 外部⼈员,由于对公司充满仇恨,例如不满的客户或者竞争对⼿的雇员,他们可能希望损害公司的利益或者使其陷⼊困境。Ø 外部⼈员,他们可能仇恨公司所雇⽤的某个⼈,这个⼈也许是前男/⼥朋友,前配偶等。
4.恶作剧或单纯为了破坏
有些系统的使⽤需要账户(⽤户名)和⼝令进⾏⾝份认证,⽽当以某个⽤户名登录时,如果⼝令连续错误的次数超过⼀定值,系统会锁定该账户,攻击者可以采⽤此⽅法实施对账户的拒绝服务攻击。此外,我们在现实⽣活中常常见到⼀些公共设施如通信电缆被恶意毁坏;在⽹络社会中,类似的情况也时有发⽣,这些攻击常常是为了恶作剧。
5.经济原因
有的攻击者攻击系统是为了某种经济利益,⽆论是直接的还是间接的。⽐如A、B是两家相互竞争的依赖Internet做⽣意的公司,如果其中⼀个公司的服务质量降低或者顾客不能访问该公司的⽹络,顾客可能会转向另⼀家公司,则A就可能对B公司提供的⽹上服务实施拒绝服务攻击,在这⾥,攻击者A可以通过对B的攻击⽽获取经济利益。攻击者也可以受雇⽽发起攻击,例如在上例中,⼀些⿊客可能受A的雇佣⽽攻击B的⽹络,类似的实际案例早有报道[Cyberslam04]。
敲诈、勒索也逐渐成为了⼀些攻击者进⾏拒绝服务攻击的⽬的。由于拒绝服务攻击会导致较⼤的损失,⼀些攻击者以此作为敲诈勒索的⼿段。例如,2004年欧洲杯⾜球赛期间发⽣的⼀起针对⼀个赌博公司的敲诈案[BBC04],攻击者威胁说如果该公司不付钱就会攻击其⽹站,使之下线。在其他的重要体育赛事期间,也发⽣过多起类似的犯罪⾏为。
⼜如,Renaud Bidou在Black Hat USA 2005会议中介绍了⼀个以拒绝服务攻击进⾏敲诈勒索的例⼦[Bidou05]。受害者是位于莫斯科的⼀个从事货币兑换的俄罗斯⾦融公司,受害者的业务都是从⽹上在线处理的。攻击者先⽤⼤约每秒150 000个数据包的SYN风暴攻击受害者的服务器(所有数据包指向同⼀个IP的同⼀个端⼝,即受害者关键业务所⽤的端⼝),攻击30分钟后,攻击者通过ICQ联系,要求受害者在36⼩时内⽀付指定数量的赎⾦,整个第⼀波攻击持续60分钟后停⽌。从第⼀波攻击开始起36⼩时后,由于没有收到赎⾦,攻击者发起了第⼆波攻击,在此次攻击中,攻击者从每秒50 000个数据包开始,按每5分钟以每秒50 000个数据包的⼒度递增,到20分钟时达到攻击的极限——每秒200 000个数据包,所有这些数据包都被受害者的SYNCookies措施(见7.1.1节)所阻塞。第⼆波攻击的持续时间不长,到35分钟以后,受害者的业务得以恢复。
随着越来越多的受害者选择向敲诈者妥协[Reuters04],以拒绝服务攻击进⾏敲诈勒索的案例越来越多[computerworld05]。同时,由于拒绝服务攻击常常涉及超出国界的Internet连接,对拒绝服务攻击这种犯罪⾏为的起诉也⽐较困难,这进⼀步加剧了问题的严重性。
6.政治原因
这类攻击的⽬的是对某种政治思想的表达或者压制他⼈的表达。如2001年5⽉间,由美国间谍飞机撞毁我巡逻机引发的,中美⿊客之间的⼀场⽹络⼤战①,以及2003年伊拉克战争期间美国与伊拉克⿊客之间的发⽣的相互攻击对⽅国内⽹络的事件就属政治原因引起的(当然,拒绝服务攻击只是当时双⽅采取的攻击⼿段之⼀)。⼜⽐如,某银⾏贷款给⼀家公司⽤于在某处建⼀对环境污染严重的化⼯⼚,环境保护主义
者可能会攻击该银⾏,后果或者是导致该银⾏的损失,达到报复该银⾏的⽬的,或者是迫使该银⾏取消该项贷款,达到保护环境的⽬的。 7.信息战
在战争条件下,交战双⽅如果采取信息战的⽅式,则拒绝服务攻击就是最常⽤的战术⼿段之⼀。例如,1991年,在海湾战争开战前数周,美国特⼯买通了安曼国际机场的⼯作⼈员,⽤带有病毒的芯⽚替换了运往伊拉克的打印机芯⽚[Military] [RD13]。该病毒由美国国家安全局设计,⽬的就是为了破坏巴格达的防空系统,从⽽为美⽅的空中打击创造有利条件。据⼀本名为《不战⽽胜:波斯湾战争中未揭露的历史》(Triumph without Victory: The Unreported History of the Persian Gulf War)的图书称,该病毒可以逃避层层安全检测,当病毒存在于计算机上时,每次伊拉克的技术⼈员开⼀个窗⼝访问信息的时候,其计算机屏幕上的信息就会消失。有报道称该病毒最后确实起作⽤了[phrack37]。这⾥,美⽅通过激发病毒使得伊拉克防空系统使⽤的打印机不能正常⼯作,就是⼀种拒绝服务攻击。
8.作为特权提升攻击的辅助⼿段
前⾯讨论的⽬的都是由拒绝服务攻击直接达到的,事实上,拒绝服务攻击还可以作为特权提升攻击、获得⾮法访问的⼀种辅助⼿段。这时候,拒绝服务攻击服从于其他攻击的⽬的。通常,攻击者不能单纯通过拒绝服务攻击获得对某些系统、信息的⾮法访问,但其可作为间接⼿段。
SYN风暴攻击可以⽤于IP劫持、IP欺骗等。当攻击者想要向B冒充C时,其通常需要C不能响应B的消息,为此,攻击者可以先攻击C(如果它是在线的)使其⽆法对B的消息进⾏响应。然后攻击者就可以通过窃听发向C的数据包,或者通过猜测发向C的数据包中的序列号等,然后冒充C与第三⽅通信。
⼀些系统在启动时会有漏洞,可以通过拒绝服务攻击使之重启,然后在该系统重启时针对漏洞进⾏攻击。如RARP-boot,如果能令其重启,就可以将其攻破。只需知道RARP-boot在引导时监听的端⼝号(通常为69),通过向其发送伪造的数据包⼏乎可以完全控制其引导(Boot)过程。
有些⽹络配置成当防⽕墙关闭时所有数据包都能通过(特别是对于那些提供服务⽐安全更加重要的场合,如普通的ISP),则可通过对防⽕墙的拒绝服务攻击使其失去作⽤达到⾮法访问受防⽕墙保护的⽹络的⽬的。
对Windows系统的⼤多数配置变动在⽣效前都需要重新启动系统。这么⼀来,如果攻击者已经获得了对系统的管理性特权的变动之后,可能需要采取拒绝服务攻击的⼿段使系统重启或者迫使系统的真正管理员重启系统[Scambrary02],以便其改动的配置⽣效。
对DNS的拒绝服务攻击可以达到地址冒充的⽬的。DNS服务器起到的是把域名解析为IP地址的作⽤。攻击者可以通过把DNS致瘫,然后冒充DNS的域名解析,把错误的域名-IP地址的对应关系提供给⽤户,以便把⽤户(受害者)的数据包指向错误的⽹站(如攻击者的⽹
站),或者把受害者的邮件指向错误的(如攻击者的)邮件服务器,这样,攻击者就达到了冒充其他域名的⽬的。攻击者的最终⽬的⼤致有两种:⼀是窃取受害者的信息,但客观上导致⽤户不能应⽤相应的服务,也构成拒绝服务攻击;⼆是拒绝服务攻击,如蓄意使⽤户不能访问需要的⽹站,不能发送邮件到需要的服务器等。
因篇幅问题不能全部显示,请点此查看更多更全内容