DDoS***是目前非常流行的******方式,本文将对DDoS***定义、常用手段以及防御方法进行分析和介绍。

       在网上经常看到***通过技术手段***网站,导致网站无法为网民提供正常服务,给网站带来巨大经济损失。这种***方式就是DDoS***,目前***利用DDoS***勒索网站管理人员已经成为互联网黑色产业链的一部分,而且由于实施DDoS***的成本低、技术门槛低等特点,导致DDoS***事件的发生率也越来越高。

DDoS***概述

       DDoS***的中文名称是分布式拒绝服务(Distributed Denial of Service)***,也就是我们经常说的洪水***。DDoS***可以实现在不同位置的多个***者同时向一个或者几个目标发起***,而在目前的互联网环境中,更为常见的情况是由***控制多台位于不同位置的计算机并利用这些计算机对目标发起***,这些被***控制的计算机就是我们所说的肉鸡。

       目前,DDoS***已经成为互联网黑色产业链中成熟的一部分,它也是***谋取暴利的最简单手法。***通过***软件控制肉鸡,然后利用肉鸡去连接目标服务器,进行大量的流量***和资源***,导致被***服务器将大量的资源和带宽用于应付这些垃圾流量上,导致服务器无法为真正需要服务的网民提供服务。

DDoS***发展趋势

       DDoS***并不是新技术,该***方式最早可以追溯到1996年,2002年时在我国就已经开始频繁出现。在DDoS***发展的这十几年间,DDoS***也在不断变化。DDoS***的发展趋势,主要可以体现在以下几方面:

  1.  DDoS***流量越来越大。

    随着互联网规模和网民数量的不断扩大,整体网络流量也在不断增加,***控制的肉鸡总数也在不

    断增长,***控制用于实施DDoS***的流量从几年前几十上百兆的流量到后来的几十上百G流量,再到现在的几百G的DDoS***流量的出现,DDoS***流量的不断增加,无疑给DDoS***防御工作带来了更大挑战。


2. 针对应用层的***越来越多。

       随着互联网环境中防火墙设备应用范围的不断扩大,传统的DDoS***手段被防火墙设备拦截,导致类似SYN Flood***方式的传统DDoS的***效果并不是很明显,所以***在这种背景下研究出了针对应用层的DDoS***,如针对网站服务器的HTTP GET***以及针对DNS服务器的DNS放大***等。这类***针对的目标是工作在应用层的服务程序,导致服务程序占用了大量的CPU资源和网络带宽,进而无法为网民提供正常服务。

3. 商业化DDoS***越来越多。

       正如网上介绍的***利用技术手段窃取商业机密并买给竞争对手的新闻一样,DDoS***也已经成为商业化竞争手段的一部分。在互联网行业中,有很多公司为了遏制竞争对手,花钱雇佣***通过DDoS***的方式,***对方的网站服务器或者是后台提供支持的服务器,实现对方服务器因拒绝服务***导致网络交易的无法进行而造成巨大的经济损失。

4. 实施DDoS***成本越来越小。

       目前互联网环境中实施DDoS***基本上不需要什么技术手段,也不需要投入太多的成本就可以实现,只需要手中有一套DDoS***软件和大量的肉鸡就可以实现实施DDoS***。而这两个实施DDoS***的必需品在网上花很低的价钱就可以买到,甚至某些卖家针对没有任何技术基础的“小***”提供视频教程等辅助材料,在购买了软件和肉鸡以后,只需要跟着视频教程按步骤操作就可以实现对目标的DDoS***。

常见DDoS***手段

       在了解了DDoS***定义以及DDoS***发展趋势后,接下来对目前常见的DDoS***手段进行分析和描述。常见DDoS***手段主要包括以下几种:

1. SYN Flood***

       SYN Flood***是网络环境中最常见的DDoS***方式,它利用了TCP协议的缺陷,在建立连接的三次握手过程中,通过向目标服务所在的端口发送大量伪造源IP地址的数据报文,造成目标服务器中半开连接队列被占满,进而导致合法用户无法进行正常访问。为了更好地理解SYN Flood***以及后续介绍的常见***方式,我们首先对TCP协议相关的一些信息进行介绍。TCP数据包首部结构如下图1所示。

1.png

图1

       我们比较关注的是TCP首部中的6个标志位。其中SYN标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。FIN标志位表示发送端已经没有数据要求传输了,希望释放连接。RST标志用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。URG标志位为紧急数据标志。如果它为1,则表示本数据包中包含紧急数据。此时紧急数据指针有效。ACK标志位为确认标志位,如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。PSH标志位如果置位,则接收端应尽快把数据传送给应用层,不必等缓冲区满再发送。

SYN Flood***则是利用TCP的缺陷,在建立连接过程中实现的***。正常情况下,建立TCP连接需要客户端和服务端进行三次通信,也就是我们常说的三次握手,过程如下图2所示。

2.png

图2

       首先,客户端发送一个带有SYN标志位的数据报文给服务端,表示询问服务端是否可以与其建立连接。然后服务端会返回SYN+ACK标志的报文用于确认客户端的SYN请求和发送建立连接的请求,最后客户端接收到服务端的数据报文后,会对服务端的SYN标志进行确认,至此TCP连接就建立成功了。

SYN Flood的***则是客户端发送SYN请求时,数据包中的源IP地址是经过伪造的,也就是说服务端在接收到客户端的SYN请求以后,会将含有SYN+ACK标志位的报文发送至伪造的IP地址,而该地址会认为没有请求与该地址建立连接,因此不会予以回应。服务器因为没有收到回应,会继续尝试三到五次发送请求并且等待一个SYN超时以后丢弃这个连接。该过程如下图3所示。

3.png

图3

       SYN Flood***就是利用了TCP的这一缺陷,发送大量的伪造源IP地址的数据报文至服务端,服务端因为把持着大量的没有接受回应的SYN请求导致半开连接队列被占满而无法为合法用户提供服务。

2. ACK Flood***

       ACK Flood***是发生在TCP连接建立以后,客户端向服务端发送大量带有ACK标志位的数据报文,服务端在接收到这种报文以后,会检查该数据报文的源IP地址、目的IP地址、源端口和目的端口是否存在,如果存在则检查数据包所表示的状态是否合法,进而再向应用层发送这个数据包。如果检查发现该数据包不合法,则服务端系统协议栈会返回一个RST数据包通知客户端目标端口不存在。ACK Flood***就是利用协议处理方式的特点,发送大量的带有ACK标志的数据包至服务端,使得服务端发送大量的CPU时间片来做检查和处理的工作,导致资源被占满无法提供正常服务。

3. ICMP Flood***

       对于ping命令,网民用户一定都不会太陌生,很多时候网民用户使用ping命令去尝试与百度或新浪等大型网站建立连接来测试本地网络是否处于可连接状态,ping命令利用的就是ICMP协议。ICMP Flood***则是与ACK Flood***方式很类似,属于流量型***方式,通过构造大量的ICMP协议数据包发送至服务端,借此给服务端造成较大负载进而影响到服务端的正常服务。早在2001年中美***大战时期,中国红客集合广大网络安全爱好者就尝试使用名为“死亡之Ping”的工具,对美国白宫的网站进行***,该工具利用的就是ICMP Flood***。目前,很多的防火墙的安全策略都是直接过滤掉ICMP协议的数据报文,所以导致ICMP Flood***效果并不是很明显,而且出现频率也越来越低。

4. Connection Flood***

       Connection Flood***是原理简单但是功效效果很明显的一种利用小流量冲击大带宽网络服务的DDoS***方式。***控制大量肉鸡并将这些肉鸡发起真实的数据连接请求,在与服务端建立之后,客户端长时间保持连接不释放,长时间占用服务端的资源,造成服务器上的连接数过多而导致效率降低、资源耗尽,导致服务端无法相应其他合法用户建立连接的请求。

5. UDP Flood***

       UDP协议是一种面向无连接的网络协议,UDP Flood的***原理也相当简单,***向服务端发送大量伪造源IP地址的UDP数据报文发送至服务端,进而对服务端应用服务造成压力。目前,UDP Flood***更多地被用于***DNS服务器、流媒体视频服务器等。

6. HTTP Get***(CC***)

       HTTP GET***(CC***)主要是针对Web应用程序设计的,尤其是针对使用动态脚本语言和数据库结合的应用,***通过控制大量肉鸡或者在线代理服务器与目标服务器建立正常的TCP连接,并不断地向服务端Web应用程序提交查询、列数据等大量消耗数据库资源的调用,导致服务器无法提供正常服务。

7. UDP DNS Query Flood***

       UDP DNS Query Flood***是指***向域名解析服务器发送大量的域名解析请求,而这些请求解析的域名通常是随机的或者是不存在的,DNS服务器在接收到***发送的域名解析请求以后首先会在服务器上查找是否存在对应的信息,如果不存在,服务器会将该请求向上一层DNS服务器递归查询域名信息。大量的域名解析的过程会给DNS服务器带来很大的负载压力,当每秒钟域名解析请求超过一定的数量时,就会造成DNS服务器解析域名超时。

DDoS***实施全过程

       在了解了常见的DDoS***手段以后,我们结合***实例来描述实施DDoS***的全过程。利用肉鸡实现***的操作本身没有什么太多需要描述的,这里我们选择利用网上公布的免费代理服务器和使用CC***工具实现的CC***。CC***网络流量图如下图4所示。

4.png

图4

      利用代理服务器实施CC***的目的是解决单一客户端无法实现控制过多连接数和连接请求的操作,而利用代理服务器可以将大量的请求首先发送到代理服务器作为中转,然后再由代理服务器将数据内容转发至目标服务器,实现有更多客户端请求的目的。那么如何获取到更多的代理就成为***的关键,代理越多,***的效果就会更明显。

       获取代理服务器的方法有很多种,可以通过使用代理扫描工具扫描的方式,也可以通过访问免费代理在线公布网站获取免费代理地址的方法。我们这里使用第二种方法获取免费的代理服务器地址,如下图5所示,很容易获取到大量的免费的代理服务器地址。

5.png

图5

       在获取完代理服务器以后,就是将获取到的代理服务器地址导入到CC***工具中,并将配置相应的***信息。由于CC***主要是针对Web应用程序将服务器的资源浪费在查询数据库操作上的,所以配置过程中我们需要填写相应的动态链接地址,并将其他数据信息填写完成以后进行***即可实现大量的HTTP请求数据报文发送的效果,如下图6所示。

6.png

图6

如何防御DDoS***

      就目前互联网环境而言,对于DDoS***的防范,一直都是网络工程师们最为头痛的问题之一。因为针对DDoS***一直没有一个根治的方法,尤其是针对大流量的DDoS***来说,想依靠某些应用防护产品解决问题是不现实的,DDoS***的防御可以说是一个系统的工程,不仅需要购买大量的网络设备,还需要有较大的带宽支持,作为应用服务器或网站的管理人员对于DDoS***的防御可以从以下几方面做起:

  1.  购置高性能的网络设备。

          对于很多企业来说,网络设备可能是其整个业务运营过程中的瓶颈,所以对网络设备的选用可能直接关系到整个网络的运营,如路由器及硬件防火墙等设备应该尽量选择一些用户反映比较不错的产品,这类产品一般都会有比较好的过滤效果,当大流量的DDoS***发生时候,可通过在网络接入点的硬件设备上对流量进行限制,或添加相应的规则进行过滤,而且这种限制和规则过滤的方法对于某些特定种类的DDoS***来说效果非常明显。


2. 配备较大的网络带宽。

      因为网络带宽的大小直接关系到网络运行的快慢以及能够抵御DDoS***的大小。例如某个小型公司网络带宽仅有10-20M,那么如果有***通过恶意DDoS***对其进行***的话,无论该公司采取任何手段和措施也很难抵抗常规的DDoS***。但是配备较大的带宽的做法又是相对的,因为经济的问题,网络带宽将是企业网络运营中开销的一部分,所以对带宽大小的选择和配备也只能根据企业实际情况进行选择。

3. 网络设备应避免使用网络地址转换。

      网络地址转换(NAT)虽然可以很好地解决因IP地址不足而存在的资源分配的问题,但是路由器和硬件防火墙等设备应该尽量避免使用NAT功能,因为NAT功能会在很大程度上降低网络的通信能力,在进行网络地址转换时,需要对网络数据包进行校验和计算,从而导致过多此类工作占用了CPU的时间,导致资源浪费。

4. 升级服务器的硬件设备。

      从上述我们对DDoS***的原理和常用手段我们了解到,DDoS***的目的就是浪费掉服务器的资源,而服务器资源性能主要是由服务器的硬件设备决定的,所以从服务器硬件角度来说,CPU、内存、硬盘以及网卡的性能将直接影响到服务器对抗DDoS***的整体水平。

5. 将动态Web应用改为静态页面。

      目前网络环境中,针对应用层的DDoS***越来越多,而且现在主要的***对象就是网站的运营,因此防御CC***也是防御DDoS***的一部分,而针对CC***最有效的方法就是将动态应用修改为静态页面的方式,该方式不仅可以降低服务器资源的消耗,同时还能在很大程度上减少******的风险。

       但是上述几种防御方法对于中小型企业来说可能是无法支撑的,因为过多的硬件设备和带宽的消费往往会给中小型企业带来很大的压力。针对这种情况,中小型可以选择使用目前网络环境中提供的云DDoS防火墙,管理人员可以将自身网站的流量导向至云DDoS防火墙中,并由它们帮助实现对流量进行过滤和清洗,使得合法用户的流量可以正常通过,进而为正常类用户进行服务。而且这类防火墙往往提供免费的基础防护措施或者针对特定的服务收取较少的费用,是中小型企业应对DDoS***的比较理想的方式。

       如果说***利用技术手段对网站进行******是网络神偷的话,那么实施DDoS***的***者就是赤裸裸的的强盗和劫匪。就目前网络环境而言,对DDoS***的防范已经不再是网站或服务器的管理人员本身关注的事情,而是结合更多的安全人员进行防护的工作,如网络安全软件对僵尸网络客户端的查杀、域名运营商对其反弹地址域名的封杀等,只有经过多方面的共同协作,才能更加有效地全面围剿DDoS***行为的发生,保护互联网环境中网络服务的正常运营。