全面解析DDoS攻击检测、追踪与防范

DDoS是英文Distributed Denial of Service的缩写,即“分布式拒绝服务”。凡是能导致合法用户不能够正常访问网络服务的行为都是DoS攻击,或拒绝服务攻击。在各种DoS攻击中,DDoS攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务。DDoS攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。由于网络的分布式和开放式特性,使得DDos攻击很难防范。

目前DDoS攻击的发展主要有4个趋势:(1)广分布的高强度攻击;(2)伪造源IP地址;(3)数据包结构位的随机性;(4)使用多种协议及多种形式。这4个趋势使得DDoS攻击的检测和防御变得更加困难。

2. DDoS的检测

DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被耗尽,正常的网络包无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存、CPU或某个缓冲区耗尽而无法提供正常的服务。

在遭受流量攻击,同一交换机上的主机都会受到影响。这时Ping同一个交换机上的主机会超时。理论上,如果攻击者能够发动超过主机带宽的傀儡机(群)发动流量攻击,并使用合法的方式与主机进行通信,主机一定难以幸免。流量攻击通常是从傀儡机发送大量无用的数据包将主机带宽或者主机所在的交换机(路由器)带宽耗尽。如果主机所在网络的带宽较小,比如10M,则无论怎样都无法应对流量攻击。要对付流量攻击,至少要有100M或更高的网络带宽。

假如主机的服务非常缓慢或无法访问,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping受害主机Ping超时,而Ping与受害主机在同一交换机上的主机则正常,造成这种原因是受害主机遭受攻击后CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。 很多情况下,资源耗尽型攻击和流量攻击是同时进行的,比如SYN flood。通常资源耗尽型攻击比流量攻击流量耗尽型攻击需要的傀儡机要少,因此更容易攻击成功。

当前资源耗攻击主要有三种类型:

1、无连接攻击:

这种攻击方法主要利用IP、TCP、ICMP等协议的漏洞,在无连接情况下或者连接建立过程中完成攻击。主要是通过向受害主机发送大量伪造源IP和源端口的SYN、ACK、UDP、 ICMP包等,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的,故追踪起来比较困难。对于SYN Flood攻击,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态。

2、TCP全连接攻击:

当主机突然收到比平时多得多的“合法”连接请求时,基本可以判定是这种类型。由于攻击采用的方式几乎无法与真正的合法流量区分,使得这种攻击很难自动防御。但是这种攻击会暴露傀儡机的IP地址,从而相对容易跟踪。然而DDoS攻击的追踪不仅是要找到傀儡机,还要找到隐藏在傀儡机背后的黑客主机。好的DDoS攻击工具可以伪造黑客主机的IP地址,使得对黑客主机的追踪要比对傀儡机的追踪困难的多。TCP全连接攻击的另一个缺点是需要控制大量的傀儡机来模拟合法的连接。

3、Script脚本攻击:

这种攻击是TCP全连接攻击的升级版,但是需要的傀儡机数量相对少一些。主要是针对存在于ASP、JSP、PHP、CGI等的脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,对静态网页的服务器攻击效果不大。其特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的。攻击之后常见的现象ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。

笼统的讲,抵御无连接攻击主要是分析IP包,而对于有连接的攻击则需要分析包的内容。

[ NextPage ]

3. DDoS的追踪

DDoS的追踪主要有两个目的:1是通过追踪攻击源获取攻击包的特征从而对流量进行过滤或者联系ISP寻求帮助;2是找到攻击源并搜集攻击证据,从而有可能通过法律手段对攻击者进行惩罚。无论能否最终找到攻击源,DDoS攻击的追踪技术对于DDoS的防御都是十分重要的。目前主要的DDoS追踪技术有Packet Marking、ICMP追踪、Logging以及Controlled Flooding。这些跟踪技术一般都需要路由器的支持,实际中也需要ISP的协助。

Packet Marking是一大类方法,其基本思想是路由器在IP包中的Identification域加入额外信息以帮助确定包的来源或路径。由于IP包的Id

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301