从07年的爱沙尼亚DDos信息战,到今年广西南宁30个网吧遭受到DDos勒索,再到新浪网遭受DDos攻击无法提供对外服务500多分钟。DDos愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形势十分严峻,超过1G的攻击流量频频出现,CNCERT/CC掌握的数据表明,最高时达到了12G,这样流量,甚至连专业的机房都无法抵挡。更为严峻的是:利用DDos攻击手段敲诈勒索已经形成了一条完整的产业链!并且,攻击者实施成本极低,在网上可以随便搜索到一大堆攻击脚本、工具工具,对攻击者的技术要求也越来越低。相反的是,专业抗DDos设备的价格十分昂贵,而且对于攻击源的追查难度极大,防护成本远远大于攻击成本。
本文将对DDos攻击的原理做一个剖析,并提供一些解决方法。
一、 DDos攻击
什么是DDos?DDos是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",DDos的中文名叫分布式拒绝服务攻击,俗称洪水攻击。首先,我们来了解一下相关定义。
服务:系统提供的,用户在对其使用中会受益的功能?
拒绝服务:任何对服务的干涉如果使其可用性降低或者失去可用性均称为拒绝服务。
拒绝服务攻击:是指攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需要的服务或者使得服务质量降低。
分布式拒绝服务攻击:处于不同位置的多个攻击者同时向一个或者数个目标发起攻击,或者一个或多个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击,由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击。
图
如图所示,DDos攻击将造成网络资源浪费、链路带宽堵塞、服务器资源耗尽而业务中断。这种攻击大多数是由黑客非法控制的电脑实施的。黑客非法控制一些电脑之后,把这些电脑转变为由地下网络远程控制的“bots”,然后用这些电脑实施DDos攻击。黑客还以每台为单位,低价出租这些用于攻击的电脑,真正拥有这些电脑的主人并不知道自己的计算机已经被用来攻击别人。由于有数百万台电脑现在已经被黑客变成了“bots”,因此这种攻击将非常猛烈。被DDos攻击时的现象:
网络中充斥着大量的无用的数据包;
制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;
利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;
严重时会造成系统死机。
由于网络层的拒绝服务攻击有的利用了网络协议的漏洞,有的则抢占网络或者设备有限的处理能力,使得对拒绝服务攻击的防治成为了一个令管理员非常头痛的问题。尤其是目前在大多数的网络环境骨干线路上普遍使用的防火墙、负载均衡等设备,在发生DDos攻击的时候往往成为整个网络的瓶颈,造成全网的瘫痪。
二、 数据包结构
要了解DDos的攻击原理,就要首先了解一下数据包的结构,才能知根知底,追本溯源。首先来回顾一下数据包的结构。
2.1 IP报文结构
图
2.2 TCP报文结构
图
一个TCP报头的标识(code bits)字段包含6个标志位:
SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。
FIN:表示发送端已经没有数据要求传输了,希望释放连接。
RST:用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。
URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。
ACK:为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。
PSH:如果置位,接收端应尽快把数据传送给应用层, 不必等缓冲区满再发送 .
[1] [2] [3] [4] [5] [6] [7] 下一页