DDoS攻击方式及防御方法分析研究本科毕业设计论文.docx
《DDoS攻击方式及防御方法分析研究本科毕业设计论文.docx》由会员分享,可在线阅读,更多相关《DDoS攻击方式及防御方法分析研究本科毕业设计论文.docx(15页珍藏版)》请在冰豆网上搜索。
DDoS攻击方式及防御方法分析研究本科毕业设计论文
本科毕业设计
题目:
DDoS攻击方式及防御方法分析研究
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
摘要
近年来,互联网越来越普及,大到公司企业的电子商务,小到普通用户的上网购物,都离不开互联网络的支持。
但是,由Internet的发展而带来的网络的安全问题,正变得日益突出,并逐步引起了人们的关注。
本文从DoS的概念入手,对比分析DoS与DDoS的异同之处,进而引申出DDoS攻击的概念,之后分析并介绍DDoS攻击的现象与步骤,并着重分析DDoS攻击中的几种典型攻击,以及对如何防御DDoS提出了几点建议,望能够在现实中有效抵御DDoS攻击,将损失降到最小。
关键词:
DoS;DDoS;分布式拒绝服务;傀儡机;SYN;防火墙
Abstract
Inrecentyears,theInternetisbecomingincreasinglypopular.fromlargetoe-commerceoftheenterprises,andsmalltoordinaryusers’Internetshopping,areinseparablefromthesupportoftheInternet.However,theInternetnetworksecuritysystemsbroughtaboutbythedevelopmentofInternet,arebecomingincreasinglyprominent,andgraduallyattractedattention.Inthispaper,startingfromtheconceptofDoS,andcomparativeanalysisofthesimilaritiesanddifferencesofDoSandDDoS,andthusgivesrisetotheconceptofDDoSattacks,followedbyanalysisanddescribesthephenomenonofDDoSattacksandsteps,andfocusonanalysisofseveraltypicalDDoSattack,aswellasgivesomesuggestionsabouthowtodefendagainsttheseattacks,hopethatinreality,it'seffectiveagainstDDoSattacksandmakethecompanythesmallestloss.
Keyword:
DoS;DDoS;distributeddenialofservice;puppetmachine;SYN;firewall
文章目录
图表目录
第一章绪论
1.1.研究目的
近年来互联网络越来越普及,也越来越多的企业体系利用互联网络来做商业交易,对于一般使用者来说,电子商务更是方便又省时。
但是互联网络与电子商务强力发展的背后,许许多多的安全问题便慢慢的浮现出来。
没有安全、稳定的信息平台,所有使用者将对网际网络与电子商务产生疑虑,这对整个互联网络与电子商务将是一大缺憾。
1.2.文献综述
1.2.1.DDoS攻击前序
拒绝服务攻击开始可能只是为了“取乐”,对系统操作员进行某种报复或是实现各种复杂的攻击,例如对远程服务的隐形欺骗。
某人因在某一信道上遭到侮辱后也经常会将IRC服务器作为攻击目标。
这种情况下的网络和因特网使用是“保密的”,这些攻击对其造成的影响微乎其微。
随着时间的流逝,因特网逐渐成为一种通信渠道,hacktivism(网络激进主义)越来越流行。
地理政治形势、战争、宗教问题、生态等任何动机都可能成为对公司、政治组织或甚至国家的IT基础架构发动进攻的动机。
但是过去一段时间内使用拒绝服务的目的大多数是纯粹的敲诈勒索。
越来越多的企业开始依赖他们的IT基础架构。
邮件、关键数据、甚至电话都通过网络来处理。
如果没有这些主要的通信渠道,大多数公司都难以在竞争中幸存。
而且,因特网还是一种生产工具。
例如,搜索引擎和博彩web站点都完全依赖网络连接。
因此,随着公司直接或间接地依赖因特网,原有的敲诈勒索逐渐转变成数字形式。
首先在短暂而非紧要的时间段内发动攻击。
然后受害者就不得不支付“保护费”。
1.2.2.DDoS攻击现状
现今,随着宽带接入、自动化和如今家庭计算机功能的日益强大,许多人认为对拒绝服务攻击的研究有些多余,并认为拒绝服务技术的创新也已经基本定格…然而,也正是因为互联网技术的不断壮大,电子商务技术的不断普及,不可否认的给黑客们提供了更广阔的攻击机会,这是其一;其二,伴随着计算机功能的日益强大,带宽技术的不断壮大与普及,拉近了世界人民的距离这是事实,但同时也给网络安全埋下可怕的隐患,黑客们同样可以利用这些先进的带宽技术,CPU的高处理能力等进行攻击,尤其将这些技术应用于分布式拒绝服务攻击上来则更显其恐怖。
技术在更新,同时黑客们的手段也在不断更新,变幻难测,从现今时有发生的网络DDoS攻击就不难看出这一特点。
因此对DDoS的认识与研究是非常必要且重要的,我们必须时刻提高警惕,做好相关的防御工作,确保公司网络的正常运行。
1.3.研究内容及方法
研究内容:
本文主要探讨当今盛行的DDoS攻击,详细介绍黑客所使用的DDoS攻击方式之原理,并分析其攻击模式。
并且提出基本的预防方式。
以期望能够达到最快速的防御与回应,将各种损失减到最低。
研究方法:
1介绍、2原理分析、3实例分析、4对比分析
第二章基本概念介绍
2.1.DDoS的前身DoS
DoS是DenialofService的缩写,译为拒绝服务。
拒绝服务是当前网络攻击手段中最常见的一种。
它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而最值得注意的是,攻击者在此攻击中并不入侵目标服务器或目标网络设备,单纯利用网络缺陷或者暴力消耗即可达到目的。
DoS攻击方式一般是一对一的方式,即攻击者直接利用一台控制机/或者设备(为躲避追踪,攻击者一般不用自己的计算机)对攻击目标发起DoS攻击。
在网络还不发达的时候,DoS攻击对处在硬件性能低下、网络连接情况不好等情况下的攻击目标,其攻击效果非常明显,极有可能一个攻击者就能摧毁一个网站或者服务器。
然而,随着计算机和网络技术的发展,硬件设备处理性能的加速度提高,成本也变得非常低廉,带宽、出入口节点宽度等也得到大大提升,这让传统的DoS攻击很难凑效。
伴随着这种情况的出现,DDoS产生了。
2.2.DDoS概念
DDoS是DistributedDenialOfService的缩写,即分布式拒绝服务。
在DoS攻击的基础上,DDoS攻击指攻击者借助于客户/服务器技术,将多个计算机(攻击者一般将这些被攻陷的多台计算机叫做傀儡机,或者口头被网络安全相关人员称为“肉鸡”)联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力,这样就能极为暴力的将原本处理能力很强的目标服务器攻陷。
由此可知,DDoS与DoS的最大区别是数量的关系。
DoS相对于DDoS来说就像是一个个体,而DDoS是无数DoS的集合。
另外,DDoS攻击方式较为自动化,攻击者把他的攻击程序安装到网络中的多台傀儡机上,所采用的这种攻击方式很难被攻击对象察觉,直到攻击者发下统一的攻击命令,这些机器才同时发起进攻。
可以说DDoS攻击是由黑客集中控制发动的一组DoS攻击的集合,这种方式被认为是最有效的攻击形式,并且非常难以抵挡。
图表1为分布式攻击模型。
图表1DDoS攻击模型
第三章
DDoS攻击动机和症状特征
3.1.DDoS攻击的动机
黑客采用这种具有极强破坏力的攻击方式,一般有以下几点动机:
仇恨或报复。
攻击者由于对公司或者组织的不满而发起报复性攻击;
经济原因。
由于DDoS攻击会造成大型服务器瘫痪,导致很大的经济损失,因此一些攻击者以此作为敲诈勒索的手段;
政治原因或信息战。
一些组织或个人通过此手段发动信息战争,震慑敌人等。
3.2.DDoS攻击的症状特征
遭到DDoS攻击后,常见的症状特征有以下几种:
被攻击主机上有大批等待的TCP连接;
数据流中充满着大批的无用的数据包,源地址为假;
服务器处理能力满负荷,或频繁死机或重启动;
链路中存在大量高流量无用数据,造成数据链路拥塞,使受害主机无法正常和外界通信;
利用受害主机可以提供服务或传输协定这一缺点,重复高速的发出特定的服务请求,使受害主机无法实时处置全部正常请求。
第四章DDoS攻击步骤介绍
4.1.DDoS攻击步骤
DDoS攻击,并非像DoS攻击那样简单,攻击者想要进行DDoS攻击,一般需要经历以下3个步骤:
4.1.1.获取目标信息
黑客非常关心的情报有:
被攻击目标主机数目、地址情况;目标主机的配置、性能;目标的带宽。
对于DDoS攻击者来说,攻击互联网上的某个站点,有一个重点就是确定到底有多少台主机在支持这个站点,一个大的网站一般有很多台主机利用负载均衡技术提供同一个网站的www服务。
攻击者想要彻底使目标站点拒绝服务,就必须使支持该站点的所有主机都拒绝服务。
所以,事先搜集目标主机(或者主机群)的信息对DDoS攻击者来说是非常重要的,这关系到使用多少台傀儡机才能达到效果的问题。
4.1.2.占领傀儡机
黑客最感兴趣的主机有三个基本条件:
链路状态好;性能好;安全管理水平差。
攻击者占领傀儡机的方法有多种,如扫描端口、安置后门程序、网站恶意链接等等。
目前,获得大量傀儡机最有效的方法是通过携带后门程序的蠕虫,通过蠕虫的传播,后门程序就被安装到受蠕虫感染的傀儡机上。
因此,这些傀儡机被攻击者侵占并安装上了攻击程序,随时等待攻击者的命令。
4.1.3.实际攻击
经过前2个阶段的精心准备之后,黑客就开始瞄准目标准备攻击了。
具体步骤为:
黑客首先登录到作为控制台的傀儡机,并向所有的攻击机发出攻击命令,这时候存于攻击机中的DDoS攻击程序就会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致目标主机死机或是无法响应正常的请求,达到攻击效果。
第五章DDoS攻击常见分类
5.1.SYNFlood【1】攻击
SYN-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击数据包,造成目标服务器中的半开连接【2】队列被占满,从而阻止其他合法用户进行访问。
正常的TCP请求如图表2,客户机与服务器通过三次握手的方式建立可靠连接,然后实现数据传输。
SYN-Flood攻击则不会完成TCP三次握手的第三步(如图表3),也就是不发送确认连接的信息ACK给服务器。
这样,服务器无法完成第三次握手,但服务器不会立即放弃,服务器会不停的重试并等待一定的时间后放弃这个未完成的连接,这段时间叫做SYNtimeout,这段时间大约75秒左右。
由于半开连接的数量是有限的(很多操作系统的半开连接数的默认值为1024),如果攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源来处理这种半开连接而不会有空余去处理普通用户的正常请求(因为客户的正常请求比率很小),最终该服务器便无法正常工作,从而达到攻击者的目的。
图表2TCP连接的三次握手
图表3SYN-Flood攻击模型
5.2.ConnectionFlood攻击
ConnectionFlood即TCP连接耗尽攻击(或叫着空连接攻击),是一种典型的、非常有效的躲避防火墙阻挡的攻击方式。
这种攻击的原理是攻击者操控大量的具有真实的IP地址的傀儡主机或者代理服务器对目标服务器发起大规模的连接,并且在建立连接之后不发送数据,迫使服务器一直保持连接状态,占用服务器的资源,当连接数达到一定规模,超过了服务器的能力时,正常的连接请求将无法建立,从而达到拒绝服务的攻击目的。
ConnectionFlood攻击模型如图表4。
值得一提的是,ConnectionFlood攻击不同于SYNFlood攻击,SYNFlood攻击需要持续发送数据,而这种攻击无需不停地向受害者发起连接,只要连接数达到一定水平以后,攻击者就可以停止发送,而受害者系统将一直保持拒绝服务状态。
通常这可以在防火墙上限制每个源IP地址每秒钟的连接数来达到防护目的。
图表4ConnectionFlood攻击模型
5.3.CC攻击
CC是ChallengeCollapsar的缩写,译为向黑洞发起挑战。
CC攻击是最著名的基于脚本页面的DDoS攻击,也是最典型的以小博大的攻击方式。
CC攻击的原理是攻击者借助代理服务器或者利用自己控制的大量傀儡机向目标服务器发起基于HTTP协议的正常的连接请求,迫使目标服务器忙于处理这些请求而无暇处理正常用户的请求,从而达到拒绝服务的攻击目的。
CC攻击主要是针对存在ASP、JSP、PHP、CGI等的脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的。
CC攻击的特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,占用连接的同时占用带宽。
一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用几乎是可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是相当大的。
因此,攻击者利用这一特点通过Proxy代理【3】向目标服务器大量的递交查询指令,只需数分钟就能使目标服务器资源耗尽而导致拒绝服务。
5.4.反射攻击
所谓反射攻击,是指攻击者或者控制下的傀儡机向作为第三方的反射器【4】发送特定数据包,再经由反射器向受害者发送攻击者所希望的回应数据包的一种攻击方式。
反射攻击是利用了反射器能响应一个消息的要求而自行产生另一个回应消息的特征或能力。
反射攻击的模型如图表5。
反射攻击的原理是攻击者向网络上的某个或一些IP广播地址发送大量的ICMP【5】回应请求信息,而这些信息的源IP地址被伪造成受害者的IP地址,由于多数的网络主机都会监听该广播地址,当这些网络主机每收到指向该地址的一个Ping包以后,就会向请求包的源IP地址回应一条ICMP应答信息。
这样一来,攻击者每发送一个数据包,受害者都会收到很多(数量为作出响应的网络主机数)的回应包,从而占用受害者的计算资源和从反射器(即广播地址指向的网络)到受害者之间的带宽。
攻击者频繁的发送数据包,将很快导致受害者主机拒绝服务。
值得一提的是,分布式反射攻击不依赖系统漏洞,任何系统都可能成为反射攻击的“帮凶”,而且反射器可以很好地隐藏攻击者的位置。
图表5反射攻击模型
第六章防御DDoS的几点建设性建议
我们知道,完全杜绝DDoS攻击目前是不可能的,但通过适当的措施抵御90%的DDoS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDoS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDoS攻击。
下面是防御DDoS攻击的几个具有建设性的建议或方法:
6.1.增强终端设备的容忍性
随机释放。
管理员发现服务器遭受SYNFlood攻击时,可随机释放一些未完成的半开连接,使服务器能够接受正常用户的请求。
SYNCookie。
当服务器受到一个SYN报文后,不立即分配缓冲区,而是利用连接信息生成一个cookie,并将这个cookie作为将要返回的SYN+ACK报文的初始序列号。
当客户端返回一个ACK【6】报文时,根据包头信息计算cookie,与返回的确认序列号(初始的序列号+1)的前24位进行对比,如果相同,则是一个正常连接,然后分配资源,建立连接,否则拒绝连接。
SYNCache。
在SYNCache的实现中,服务器不是为每一个套接字维持一个未完成连接的队列,而是代之以一个全局的未完成连接的hash表。
这对服务器提供了两方面的保护机制,一是限制存储半开连接的内存上限;一是给定了查询Cache(半开连接表)所需时间的上限以及更新Cache中条目所需的时间上限。
这样有效地降低了SYN攻击的影响。
6.2.提高主机系统或网络安全性
在确保主机配置安全的情况下,还应注意以下几点:
流量、服务和端口控制。
在对服务器做好补丁管理的同时,对一些特定的、容易被攻击利用的协议如ICMP实施流量控制,关闭不需要的服务和端口,这可以很有效的防御ConnectionFlood、CC等攻击。
冗余、备份。
加大网络带宽,留有足够的冗余,这样做的目的是让服务器不至于被一些很小流量的DDoS攻击而导致拒绝服务。
另外,对关键的服务做好备份。
6.3.入口过滤
DDoS攻击中有很大一部分是使用非法报文或请求、伪造的IP请求使得系统不能正常的服务。
而过滤器过滤和减弱DDoS攻击的方法在于能够将合法报文和非法报文区分开,这样就能阻止非法的通信。
下面是基于服务器入口的过滤建议:
端口与协议过滤。
阻止那些曾经有用,现在已不再使用而易被攻击者所利用的服务,如echo(应答协议)、chargen(字符发生器协议)等。
地址过滤。
对于进入网络的数据包,检验并过滤掉有明显伪造痕迹的部分,如来自外网的未分配的、私网专用的IP为源地址的数据包;不应该出现在Internet上的保留地址、私网地址等。
路由配置。
正确配置路由器,禁止转发指向广播地址的数据包。
这能极大地降低反射攻击的威胁。
此外,通过配置路由器,对进来的可疑数据包进行分析并跟踪进入通信的源地址,一旦发现异常,就认为是欺诈而丢弃。
6.4.将网站做成静态网页
我们知道,CC类攻击的主要方式是通过重复递交查询、列表等命令消耗系统性能来实现的。
举个例子,我们在访问某论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,一般来说,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当庞大。
比如我要查找一个关键字,则系统搜索肯定会在一个几百兆的数据库内对所有的数据进行一次判断,占用的CPU资源和消耗的时间都会相当巨大。
CC就是充分利用了这个特点,模拟多个用户不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面)。
因此,如果将所有网站做成静态页面,只给用户提供静态信息,阻止用户与服务器进行交互,这无疑是防御CC攻击的最有效的方式,它将大大提高服务器性能,因为一个静态页面不需要服务器多少资源,甚至可以直接从内存中读取发给用户。
另外,如果服务器要实现动态脚本调用,则应当将该动态脚本放在另外一台单独主机上,以免遭受攻击时连累主服务器。
6.5.安装专业抗DDoS防火墙
DDoS攻击早就有了,而各防火墙厂商也根据许多现有的DDoS攻击手段,将相应防范的代码嵌入到防火墙软件或硬件中,甚至一些高端产品还能够根据DDoS攻击的规律,智能的分辨一些采用混合手段的新型攻击方式。
相比普通网络防火墙,具有专业抗DDoS功能防火墙的优势就非常明显了。
网络防火墙,是在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,计算机流入流出的所有网络通信和数据包均要经过此防火墙。
它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(SecurityGateway),从而保护内部网免受非法用户的侵入。
普通防火墙主要功能如下:
通过过滤不安全的服务而降低风险,建立起一道网络安全的屏障;
通过以防火墙为中心的安全方案配置,将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。
实现对网络安全的强化策略;
通过记录下网络访问并作出日志记录,同时提供网络使用情况的统计数据,来达到监视网络存取和访问的目的;
通过利用防火墙对内部网络的划分,实现内部网重点网段的隔离,从而限制局部重点或敏感网络安全问题对全局网络造成的影响,进而起到防止内部敏感信息外泄的作用。
很显然,普通防火墙所具有的功能无法担当起防护DDoS攻击的艰巨任务。
DDoS攻击是一种向目标服务器频繁发送数据包的分布式攻击行为,其数据包可以是正常的、被普通防火墙所忽略的数据包。
因此,专业抗DDoS防火墙的出现