关于冰盾 | 使用条款 | 网站地图
 
DDOS攻击原理及防护方法论
DDOS攻击原理及防护方法论
作者:冰盾防火墙 网站:www.bingdun.com 日期:2015-01-06
 
文章作者:戴鹏飞 
从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:如果置位,接收端应尽快把数据传送给应用层, 不必等缓冲区满再发送 。
2.3 UDP报文结构 

2.4 ICMP报文结构 



三. DDOS攻击方式
3.1 SYN Flood攻击
SYN- Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量 的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在1996年就被发现,但至今仍然显示 出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。它的数据包特征通常 是,源发送了大量的SYN包,并且缺少三次握手的最后一步握手ACK回复。
3.1.1 原理
例如,攻击者首先伪造地址对 服务器发起SYN请求(我可以建立连接吗?),服务器就会回应一个ACK+SYN(可以+请确认)。而真实的IP会认为,我没有发送请求,不作回应。服务 器没有收到回应,会重试3-5次并且等待一个SYN Time(一般30秒-2分钟)后,丢弃这个连接。
如果攻击者大量发送这种伪造源地址的 SYN请求,服务器端将会消耗非常多的资源来处理这种半连接,保存遍历会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行 SYN+ACK的重试。最后的结果是服务器无暇理睬正常的连接请求—拒绝服务。在服务器上用netstat –an命令查看SYN_RECV状态的话,就可以看到: 

如果我们抓包来看: 
可以看到大量的SYN包没有ACK回应。
3.1.2 SYN Flood防护 
目 前市面上有些防火墙具有SYN Proxy功能,这种方法一般是定每秒通过指定对象(目标地址和端口、仅目标地址或仅源
 

 
最新内容:
揭开DDoS攻防的神秘面纱[2015-01-06]
发现最新式的DDOS攻击方式[2015-01-06]
入侵检测术语全接触[2015-01-06]
令人忽略的5900端口[2015-01-06]
浏览网页时硬盘被共享的解析[2015-01-06]
拒绝背后黑手的窥探 IPC$漏洞大揭秘[2015-01-06]
相关内容:

合作伙伴: 黑基网 补天科技 威盾科技 站长下载 新飞金信 北京电信 ZOL应用下载
中华人民共和国增值电信业务经营许可证京ICP备14024464 公安备案号 京1081234 
版权所有©2003-2016 冰盾防火墙  www.BingDun.com 法律声明
服务热线:(010)51661195