前言
DoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。
拒绝服务攻击(DoS,Denial of Service)堪称网络的恶性肿瘤,究其原因是网络协议本身的安全缺陷,拒绝服务通过以较小的资源消耗导致目标主机上很大的资源开销。拒绝服务的本质就是使受害主机不能即时接受处理外界请求或者即时回应外界请求。
除了这种以上这种网络抗议外,攻击者会对一些重要的服务或者知名网站进行攻击;一些心怀不满的网络游戏玩家或者竞争对手也会利用拒绝服务对其攻击。
分类
带宽消耗攻击
分为两个层次:洪泛攻击和放大攻击
洪泛攻击
- 特点:使用僵尸程序发送大量流量至被攻击者,目的在于使其堵塞带宽。
放大攻击
- 特点:与洪泛攻击类似,通过恶意放大流量限制受害者的带宽。攻击者利用僵尸程序伪造攻击目标A的IP地址,利用这些IP地址向网络上存在某些漏洞的服务器B发送请求。服务器B接收到这些请求时,会向攻击目标A发送应答。由于服务器B本身就存在服务漏洞,所以发送的应答包比请求包还要大。这样就使用少量的带宽,就可以发送大量应答到攻击目标A。
例子
- UDP洪水攻击::我们知道UDP是一种无连接的协议,发送UDP数据包时,所有的数据包均不需要在发送和接收时进行握手验证。当大量的UDP数据包发送给受害系统时,可能会导致带宽阻塞从而使合法的服务无法请求受害系统。遭受DDoS UDP 洪泛攻击时,UDP的目的端口是随机或指定端口。
- 死亡之ping::通常,一次ping大小为32字节(若考虑IP标头则为84字节)。在当时,大部分电脑无法处理大于IPv4最大封包大小(65,535字节)的ping封包。因此发送这样大小的ping可以令目标电脑崩溃。
- ICMP洪水攻击::ICMP洪水攻击是在ping的基础上形成的,但是ping程序很少能造成目的及宕机的问题,这是因为ping的发送包的速率太慢了,像我实现的PING程序里ping包发送速率限定在1秒1发,这个速率目的主机处理ping包还是绰绰有余的。所以要造成“洪水”的现象,就必须提升发包速率。
- 泪滴攻击::泪滴攻击指的是向目标机器发送损坏的IP包,诸如重叠的包或过大的包载荷。借由这些手段,该攻击可以通过TCP/IP协议栈中分片重组代码中的漏洞来瘫痪各种不同的操作系统。
资源消耗性攻击
例子
- 协议分析攻击(SYN flood,SYN洪水)
传送控制协议(TCP)同步(SYN)攻击。TCP进程通常包括发送者和接受者之间在数据包,他们在发送之前就创建了信号交换。启动系统发送一个SYN请求,接收系统返回一个带有自己SYN请求的ACK(确认)作为交换。发送系统接着传回自己的ACK来授权两个系统间的通讯。若接收系统发送了SYN数据包,但没接收到ACK,接受者经过一段时间后会再次发送新的SYN数据包。接收系统中的处理器和内存资源将存储该TCP SYN的请求直至超时。DDoS TCP SYN攻击也被称为“资源耗尽攻击”,它利用TCP功能将僵尸程序伪装的TCP SYN请求发送给受害服务器,从而饱和服务处理器资源并阻止其有效地处理合法请求。它充分利用发送系统和接收系统之间的信号交换。发送大量欺骗性的原IP地址TCP SYN数据包,给受害系统。最终,大量TCP SYN攻击请求反复发送,导致受害系统内存和处理器资源耗尽,致使其无法处理任何合法用户的请求。
- LAND攻击::这种攻击方式与SYN floods类似,不过在LAND攻击包中的源地址和目标地址都是攻击对象的IP。这种攻击会导致被攻击的机器死循环,最终耗尽资源而死机。
- CC攻击::CC攻击使用代理服务器向受害服务器发送大量貌似合法的请求(通常为HTTP GET)。攻击者创造性地使用代理,利用广泛可用的免费代理服务器发动DDoS攻击。许多免费代理服务器支持匿名,这使追踪变得非常困难。2004年,一位匿名为KiKi的中国黑客开发了一种用于发送HTTP请求的DDoS攻击工具以攻击名为“Collapsar”的NSFOCUS防火墙,因此该黑客工具被称为“Challenge Collapsar”(挑战黑洞,简称CC),这类攻击被称作“CC攻击”。
- 僵尸网络攻击(分布式HTTP洪水攻击)::僵尸网络是指大量被命令与控制(C&C)服务器所控制的互联网主机群。攻击者传播恶意软件并组成自己的僵尸网络。僵尸网络难于检测的原因是,僵尸主机只有在执行特定指令时才会与服务器进行通讯,使得它们隐蔽且不易察觉。僵尸网络根据网络通讯协议的不同分为IRC、HTTP或P2P类等。
- 应用程序级洪水攻击::与前面叙说的攻击方式不同,应用程序级洪水攻击主要是针对应用软件层的,也就是高于OSI的。它同样是以大量消耗系统资源为目的,通过向IIS这样的网络服务程序提出无节制的资源申请来破坏正常的网络服务。
DOS攻击和DDOS攻击区别
DDOS是DOS攻击的一种方法
DoS即DenialOfService,拒绝服务的缩写。不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。DOS是单机于单机之间的攻击。
DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
防御
拒绝服务攻击的防御方式通常为入侵检测,流量过滤和多重验证,旨在堵塞网络带宽的流量将被过滤,而正常的流量可正常通过。
防火墙
防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址。当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信。
复杂攻击难以用简单规则来阻止,例如80端口(网页服务)遭受攻击时不可能拒绝端口所有的通信,因为其同时会阻止合法流量。此外,防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响。然而,防火墙能有效地防止用户从启动防火墙后的计算机发起攻击。
交换机、路由器
大多数交换机有一定的速度限制和访问控制能力。有些交换机提供自动速度限制、流量整形、后期连接、深度包检测和假IP过滤功能,可以检测并过滤拒绝服务攻击。例如SYN洪水攻击可以通过后期连接加以预防。基于内容的攻击可以利用深度包检测阻止。和交换机类似,路由器也有一定的速度限制和访问控制能力,而大多数路由器很容易受到攻击影响
黑洞引导
黑洞引导指将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备厂商,以避免网络受到较大影响。
流量清洗
当流量被送到DDoS防护清洗中心时,通过采用抗DDoS软件处理,将正常流量和恶意流量区分开。正常的流量则注回客户网站。这样一来可站点能够保持正常的运作,处理真实用户访问网站带来的合法流量。