防范DDoS

时间:2022-09-20 04:30:49

摘要:DDoS 攻击的防御是当前网络安全研究领域中的难点。通过对DDoS攻击原理的讨论和对现有防范技术的剖析,提出了防范DDoS攻击的一些积极的建议。

关键词:分布式拒绝服务;DDoS 攻击;防御

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2009)13-3370-03

1 引言

随着网络的发展和广泛应用,互联网几乎时刻面临各种各样的攻击和威胁,网络安全已也面临着严重的挑战和威胁。从前几年的Yahoo、亚马逊、CNN及最近淘宝等为代表的被攻击事件可以看出,分布式拒绝服务攻击(DDoS)的技术发展非常迅速,所造成的破坏也更加严重。DDoS尤其对企业的网络型业务构成的威胁最为严重,造成的经济损失也十分巨大。它同时也是一种很难用传统办法去防护的攻击手段,服务器、带宽都是它的攻击目标。和交通堵塞一样,DDoS已经成为一种网络公害,目前已成为大型网站和网络服务器运营商的一项主要安全威胁。

2 DDoS背景知识

2.1 DDoS 介绍

DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,拒绝服务就是用超出被攻击目标处理能力的海量数据包消耗可用系统,带宽资源,致使网络服务瘫痪的一种攻击手段。目的就是利用自身的资源通过一种放大或不对等的方式来达到消耗对方资源的目的。同一时刻很多不同的IP对服务器进行访问造成服务器的服务失效甚至死机。也可以理解为,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击[1]。

2.2 DoS与DDoS

虽然同样是拒绝服务攻击,但是DDoS和DoS还是有所不同,DoS一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高,它的效果是明显的。其主要侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务[2],常见的DoS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。

DDoS的攻击手段是在传统的Dos攻击基础之上产生的一类攻击方式攻击策略,是一种分布、协作的大规模攻击方式[3],主要瞄准比较大的站点,比如一些商业公司、搜索引擎和政府部门的站点。侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。

就这两种拒绝服务攻击而言,危害较大的主要是DDoS攻击,DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。如果说以前网络管理员对抗DoS可以采取过滤IP地址方法的话,那么面对当前DDoS众多伪造出来的地址则显得没有办法,至于DoS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范。

2.3 被DDoS攻击时的现象

1) 被攻击主机上有大量等待的TCP连接;

2) 网络中充斥着大量的无用的数据包,源地址为假;

3) 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;

4) 利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;

5) 严重时会造成系统死机。

2.4 DDoS攻击对Web站点的影响

当对一个Web站点执行 DDoS 攻击时,这个站点的一个或多个Web服务会接到非常多的请求,最终使它无法再正常使用。在一个DDoS攻击期间,如果有一个不知情的用户发出了正常的页面请求,这个请求会完全失败,或者是页面下载速度变得极其缓慢,看起来就是站点无法使用。典型的DDoS攻击利用许多计算机同时对目标站点发出成千上万个请求。为了避免被追踪,攻击者会闯进网上的一些无保护的计算机内,在这些计算机上藏匿DDoS程序,将它们作为同谋和跳板,最后联合起来发动匿名攻击。

2.5 攻击运行原理

图1是DDoS攻击体系,分成四大部分,最重要的第2和第3部分:它们分别用做控制和实际发起攻击。请注意控制机与攻击机的区别,对第4部分的受害者来说,DDoS的实际攻击包是从第3部分攻击傀儡机上发出的,第2部分的控制机只命令而不参与实际的攻击。对第2和第3部分计算机,黑客有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自黑客的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦黑客连接到它们进行控制,并发出指令的时候,攻击傀儡机就成为害人者去发起攻击了。

3 当前主要有三种流行的DDoS攻击

1) SYN/ACK Flood攻击:这是经典最有效的DDoS攻击方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。

2) TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,但很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。

3) 刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址[4]。

4 抵御DDoS的七条建议

对付DDoS是一个系统工程,想仅仅依靠某种系统或产品防住DDoS是不现实的,可以肯定的是,完全杜绝DDoS目前是不可能的,若通过适当的办法增强了抵御DDoS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDoS攻击。

1) 采用高性能的网络设备

首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDoS攻击是非常有效的。

2) 尽量避免NAT的使用

无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力。

3) 充足的网络带宽保证

网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。

4) 升级主机服务器硬件

在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包。

5) 把网站做成静态页面

把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,因为到目前为止关于HTML的溢出还没出现,

6) 增强操作系统的TCP/IP栈

Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDoS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个。

7) 安装专业抗DDoS防火墙

5 结束语

DDoS 攻击作为一种新的网络攻击手段,对网络的安全已经构成了极大的威胁,对DDoS 攻击的原理与防御方法的研究一直在进行中,现实生活中,针对网络的攻击也不可能是孤立存在的,因而网络安全的关键不仅仅在于技术,更为重要的是对网络安全的意识,需要全社会来关注,需要大家通力合作,才能给我们提供一个更安全的Internet 平台,才能为我们网络的文明、进步打下良好的基石。

参考文献:

[1] 吴虎,云超.对DDoS攻击防范策略的研究及若干实现[J].计算机应用研究,2002(8).

[2] 林栋. 拒绝服务攻击(DoS)的攻与防[J].广东通信技术,2003(4):26-28.

[3] 孙曦,朱晓研,王育民.DDoS下的TCP洪流攻击及对策[J].网络安全技术与应用,2004(4).

[4] Kaeo M.网络安全性设计[M].2版.吴中福,译.北京:人民邮电出版社,2005.

马鸿雁(1978-),女,河南焦作人,助工,主要研究方向:计算机应用。

上一篇:《网页设计与编程》课程网站开发与教学实例的... 下一篇:高速公路GPS车辆监控管理系统的应用