DoS攻击

简介

拒绝服务攻击,它利用协议或系统的缺陷,采用欺骗的策略进行网络攻击,最终目的是使目标主机因为资源全部被占用而不能处理合法用户提出的请求,即对外表现为拒绝提供服务。

分类

  1. SYN-Flood洪水攻击
    SYN-Flood洪水攻击是当前最常见一种DoS与DDoS攻击方式,它利用了TCP协议缺陷进行攻击。我们先简单回顾TCP三次握手的过程:首先,客户端发送一个包含SYN同步标志的TCP报文,请求和服务器端连接;服务器将返回一个SYN+ACK的报文,表示接受客户端的连接请求;客户端随即返回一个确认报文ACK给服务器端,至此一个TCP连接完成。SYN-Flood攻击者攻击前伪造一个源IP非自身IP的SYN报文,将此报文发送给服务器端,服务器端在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重新发送SYN+ACK给客户端,并等待一段时间后丢弃这个未完成的连接,当攻击者发出大量这种伪造的SYN报文时,服务器端将产生大量的”半开连接”,消耗非常多的CPU和内存资源,结果导致服务器端计算机无法响应合法用户的请求了。此时从正常客户的角度看来,服务器失去响应。对于SYN攻击,可以通过减少服务器端计算机SYN+ACK应答报文重发次数和等待时间进行一定程度上的防范,但对于高速度发来的SYN包,这种方法也无能为力。
  2. Land攻击
    Land攻击也是DoS与DDoS攻击中经常采用的一种攻击方法。在Land攻击中,发送给目标主机的SYN包中的源地址和目标地址都被设置成目标主机的IP地址,这将使目标主机向它自己的IP地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时。这样也会占用大量资源,严重时UNIX系统往往崩溃,而Windows 系统也会变的极其缓慢。预防Land攻击的最好办法是通过配置防火墙,过滤掉从外部发来的确含有内部源IP地址的数据包。
  3. Smurf攻击
    Smurf是采用了放大效果的一种DoS攻击,这种攻击形式利用了TCP/IP中的定向广播特性,由攻击者向网络中的广播设备发送源地址假冒为被攻击者地址的ICMP响应请求数据包,由于广播的原因,网络上的所有收到这个数据包的计算机都会向被攻击者做出回应,从而导致受害者不堪重负而崩溃。为了防范这种攻击,最好关闭外部路由器或防火墙的地址广播功能。
    还有一种Fraggle攻击原理和smurf攻击原理相同,只不过使用的UDP应答消息而不是ICMP。可以通过在防火墙上过滤UDP应答消息实现对这种攻击的防范。
  4. UDP-Flood攻击
    UDP-Flood攻击也是利用TCP/IP服务来进行,它利用了Chargen和Echo来回传送毫无用处的数据来占用所有的带宽。在攻击过程中,伪造与某一计算机的Chargen服务之间的一次UDP连接,而回复地址指向开着Echo服务的一台计算机,这样就生成在两台计算机之间的大量的无用数据流,如果数据流足够多,就会导致带宽完全被占用而拒绝提供服务。防范UDPFlood攻击的办法是关掉不必要的TCP/IP服务,或者配置防火墙以阻断来自Internet的UDP服务请求。