DOS与DDOS攻击与防范毕业设计论文Word文档格式.docx
《DOS与DDOS攻击与防范毕业设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《DOS与DDOS攻击与防范毕业设计论文Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
注意事项
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)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
摘要:
随着电子商务的兴起,对网站的实时性要求越来越高,DOS或DDOS对网站的威胁越来越大。
互联网的不断发展,对人们的学习和生活产生了巨大的影响和推动。
人们对互联网的利用和依赖日益增加,人们通过网络互相通信,共享资源。
对互联网的安全性提出了更高的要求。
但由于各种网络系统及有关软件硬件的缺陷以及系统管理方面的漏洞,导致了许多安全隐患,出现了许多严重的网络安全问题,比如破坏信息,盗取机要信息,造成网络瘫痪,传播病毒等。
网络安全包括三个主要方面:
保密性、完整性和有效性,而DOS与DDOS攻击针对的是安全的第三个方面——有效性,有效性是用来预防、检测或阻止对信息和系统的未被授权的访问,并且对合法用户提供正常服务。
其中DDOS攻击难以防范,而从攻击者的角度来看,攻击是非常容易的。
关键词:
:
DoS;
DDoS;
攻击;
防范
前言:
随着Internet的应用越来越广泛,也为大家带来了方便,也为DOS与DDOS攻击创造了极为有利的条件。
随着计算机技术的迅速发展和互联网应用的日益普及,网络已经成为我们获取信息、进行交流的主要渠道之一,因而网络安全也显得越来越重要。
近年来,拒绝服务攻击已经成为最为严重的网络威胁之一,它不仅对网络社会具有极大的危害性,也是政治和军事对抗的重要手段。
最常见的DOS攻击有计算机网络带宽攻击和连通性攻击,特别是DDOS攻击对因特网构成了巨大的威胁。
目前,DOS和DDOS攻击已成为一种遍布全球的系统漏洞攻击方法,无数网络用户都受到这种攻击的侵害,造成了巨大经济损失。
随着网络应用的日益广泛,网络结构框架已经暴露在众多网络安全的威胁之下,其中拒绝服务(DOS)攻击和基于DOS的分布式拒绝服务(DDOS)攻击最为常见。
随着高速网络的不断普及,尤其是随着近年来网络蠕虫的不断发展,更大规模DDOS攻击的威胁也越来越大。
第一章网络安全
1.1什么是网络安全?
网络的安全是指通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。
网络安全的具体含义会随着“角度”的变化而变化。
比如:
从用户(个人、企业等)的角度来说,他们希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完整性和真实性的保护。
而从企业的角度来说,最重要的就是内部信息上的安全加密以及保护。
1.2安全特征
1.保密性:
信息不泄露给非授权用户、实体或过程,或供其利用的特性。
2.完整性:
数据XX不能进行改变的特性。
即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。
3.可用性:
可被授权实体访问并按需求使用的特性。
即当需要时能否存取所需的信息。
例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击;
4.可控性:
对信息的传播及内容具有控制能力。
1.3安全体系
1.访问控制:
通过对特定网段、服务建立的访问控制体系,将绝大多数攻击阻止在到达攻击目标之前。
2.检查安全漏洞:
通过对安全漏洞的周期检查,即使攻击可到达攻击目标,也可使绝大多数攻击无效。
3.攻击监控:
通过对特定网段、服务建立的攻击监控体系,可实时检测出绝大多数攻击,并采取相应的行动(如断开网络连接、记录攻击过程、跟踪攻击源等)。
4.加密通讯:
主动的加密通讯,可使攻击者不能了解、修改敏感信息。
5.认证:
良好的认证体系可防止攻击者假冒合法用户。
6.备份和恢复:
良好的备份和恢复机制,可在攻击造成损失时,尽快地恢复数据和系统服务。
7.多层防御,攻击者在突破第一道防线后,延缓或阻断其到达攻击目标。
8.隐藏内部信息,使攻击者不能了解系统内的基本情况。
9.设立安全监控中心,为信息系统提供安全体系管理、监控,渠护及紧急情况服务。
1.4小结:
本章主要介绍了网络安全的意义和目的,并对一下攻击和防范做了进一步的分析。
第二章讲述DOS(拒绝服务)
2.1什么是DOS攻击?
DOS攻击(DenialofService,简称DOS)即拒绝服务攻击,是指攻击者通过消耗受害网络的带宽,消耗受害主机的系统资源,发掘编程缺陷,提供虚假路由或DNS信息,使被攻击目标不能正常工作。
2.2DOS攻击概念
WWW安全FAQ[1]给DOS攻击下的定义为:
有计划的破坏一台计算机或者网络,使得其不能够提供正常服务的攻击。
DOS攻击发生在访问一台计算机时,或者网络资源被有意的封锁或者降级时。
这类攻击不需要直接或者永久的破坏数据,但是它们故意破坏资源的可用性。
最普通的DOS攻击的目标是计算机网络带宽或者是网络的连通性。
带宽攻击是用很大的流量来淹没可用的网络资源,从而合法用户的请求得不到响应,导致可用性下降。
网络连通性攻击是用大量的连接请求来耗尽计算机可用的操作系统资源,导致计算机不能够再处理正常的用户请求。
DOS攻击广义上指任何导致被攻击的服务器不能正常提供服务的攻击方式。
具体而言,DOS攻击是指攻击网络协议实现的缺陷或通过各种手段耗尽被攻击对象的资源,以使得被攻击计算机或网络无法提供正常的服务,直至系统停止响应甚至崩溃的攻击方式。
DOS攻击的服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接等。
2.3DOS攻击的原理及方式
要对服务器实施拒绝服务攻击,主要有以下两种方法:
迫使服务器的缓冲区满,不接收新的请求;
使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接,这是DOS攻击实施的基本思想。
为便于理解,以下介绍一个简单的DOS攻击基本过程。
如图1所示,攻击者先向受害者发送大量带有虚假地址的请求,受害者发送回复信息后等待回传信息。
由于是伪造地址,所以受害者一直等不到回传信息,分配给这次请求的资源就始终不被释放。
当受害者等待一定时间后,连接会因超时被切断,此时攻击者会再度传送一批伪地址的新请求,这样反复进行直至受害者资源被耗尽,最终导致受害者系统瘫痪。
图1DOS攻击的基本原理
2.4攻击方式
2.4.1SYNFlood攻击
SYNFlood攻击是一种最常见的DOS攻击手段,它利用TCP/IP连接的“三次握手”过程,通过虚假IP,源地址发送大量SYN数据包,请求连接到被攻击方的一个或多个端口。
当被攻击方按照约定向这些虚假IP,地址发送确认数据包后,等待对方连接,虚假的IP源地址将不给予响应。
这样,连接请求将一直保存在系统缓存中直到超时。
如果系统资源被大量此类未完成的连接占用,系统性能自然会下降。
后续正常的TCP连接请求也会因等待队列填满而被丢弃,造成服务器拒绝服务的现象。
SynFlood原理-三次握手,SynFlood利用了TCP/IP协议的固有漏洞。
面向连接的TCP三次握手是SynFlood存在的基础。
图2SYNFlood攻击
如图2,在第一步中,客户端向服务端提出连接请求。
这时TCPSYN标志置位。
客户端告诉服务端序列号区域合法,需要检查。
客户端在TCP报头的序列号区中插入自己的ISN。
服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。
在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。
到此为止建立完整的TCP连接,开始全双工模式的数据传输过程,而SynFlood攻击者不会完成三次握手。
图3三次握手
如图3,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);
一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:
服务器端受到了SYNFlood攻击(SYN洪水攻击)。
2.4..2Land攻击
Land攻击是利用向目标主机发送大量的源地址与目标地址相同的数据包,造成目标主机解析Land包时占用大量系统资源,从而使网络功能完全瘫痪的攻击手段。
其方法是将一个特别设计的SYN包中的源地址和目标地址都设置成某个被攻击服务器的地址,这样服务器接收到该数据包后会向自己发送一个SYN—ACK回应包,SYN—ACK又引起一个发送给自己的ACK包,并创建一个空连接。
每个这样的空连接到将暂存在服务器中,当队列足够长时,正常的连接请求将被丢弃,造成服务器拒绝服务的现象。
2.4.3Smurf攻击
如图4所示,Smurf攻击是一种放大效果的ICMP攻击方式,其方法是攻击者伪装成被攻击者向某个网络上的广播设备发送请求,该广播设备会将这个请求转发到该网络的其他广播设备,导致这些设备都向被攻击者发出回应,从而达到以较小代价引发大量攻击的目的。
例如,攻击者冒充被攻击者的IP使用PING来对一个C类网络的广播地址发送ICMP包,该网络上的254台主机就会对被攻击者的IP发送ICMP回应包,这样攻击者的攻击行为就被放大了254倍。
ICMPSmurf的袭击加深了ICMP的泛滥程度,导致了在一个数据包产生成千的ICMP数据包发送到一个根本不需要它们的主机中去,传输多重信息包的服务器用作Smurf的放大器。
图4工作原理
2.4.4UDP攻击
UDP攻击是指通过发送UDP数据包来发动攻击的方式。
在UDPFlood攻击中,攻击者发送大量虚假源IP的UDP数据包或畸形UDP数据包,从而使被攻击者不能提供正常的服务,甚至造成系统资源耗尽、系统死机。
由于UDP协议是一种无连接的服务,只要被攻击者开放有一个UDP服务端口,即可针对该服务发动攻击。
UDP攻击通常可分为UDPFlood攻击、UDPFraggle攻击和DNSQueryFlood攻击。
1.UDPFraggle攻击的原理与Smurf攻击相似,也是一种“放大”式的攻击,不同的是回应代替了ICMP回应。
2.DNSQueryFlood攻击是一种针对DNS服务器的攻击行为。
攻击者向DNS的UDP53端口发送大量域名查询请求,占用大量系统资源,使服务器无法提供正常的查询请求。
3.DOS攻击的基本过程包括以下几个阶段:
①攻击者向被攻击者发送众多的带有虚假地址的请求;
②被攻击者发送响应信息后等待回传信息;
③由于得不到回传信息,使系统待处理队列不断加长,直到资源耗尽,最终达到被攻击者出现拒绝服务的现象。
2.5DOS攻击分类
2.5.1利用协议中的漏洞
一些传输协议在其制定过程中可能存在着一些漏洞。
攻击者可以利用这些漏洞进行攻击致使接受数据端的系统当机、挂起或崩溃。
这种攻击较为经典的例子是半连接SYNFlood攻击,如图2所示,该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYNACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK就一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。
这种攻击利用的是TCP/IP协议的/三次握手0的漏洞完成。
由于攻击所针对的是协议中的缺陷,短时无法改变,因此较难防范。
2.5.2利用软件实现的缺陷
软件实现的缺陷是软件开发过程中对某种特定类型的报文或请求没有处理,导致软件遇到这种类型的报文时运行出现异常,从而导致软件崩溃甚至系统崩溃。
这些异常条件通常在用户向脆弱的元素发送非期望的数据时发生。
攻击者攻击时是利用这些缺陷发送经过特殊构造的数据包,从而导致目标主机的瘫痪,
图5
2.5.3发送大量无用突发数据攻击耗尽资源
这种攻击方式凭借手中丰富的资源,发送大量的垃圾数据侵占完资源,导致DOS。
如ICMPFlood,ConnectionFlood等。
为了获得比目标系统更多资源,通常攻击者会发动DDOS攻击,从而控制多个攻击傀儡发动攻击,这样能产生更大破坏。
2.5.4欺骗型攻击
这类攻击通常是以伪造自身的方式来取得对方的信任从而达到迷惑对方瘫痪其服务的目的。
最常见的是伪造自己的IP或目的IP(通常是一个不可到达的目标或受害者的地址),或伪造路由项目、或伪造DNS解析地址等,受攻击的服务器因为无法辨别这些请求或无法正常响应这些请求就会造成缓冲区阻塞或死机。
如IPSpoofingDOS攻击。
2.5.5DOS攻击的危害性及其难以防范的原因
DOS攻击的危害性主要在于使被攻击主机系统的网络速度变慢甚至无法访问无法正常地提供服务;
最终目的是使被攻击主机系统瘫痪、停止服务。
该网络上DOS攻击工具种类繁多,攻击者往往不需要掌握复杂技术,利用这些工具进行攻击就能够奏效。
尽管可以通过增加带宽来减少DOS攻击的威胁,但攻击者总是可以利用更大强度的攻击以耗尽增加的资源。
使得DOS攻击成为一种当前难以防范的攻击方式。
2.5.6DOS攻击特点
DOS攻击针对的是互联网上的网络和设备,目的是使其无法继续工作。
它不需要攻击者具备很好的技术能力,任何人只要有攻击程序,就可以让未受保护的网络和设备失效,因此
DOS攻击相对简单,且容易达到目的。
现在,随着DDOS和DR-DOS出现和进一步发展,DOS攻击的破坏力变得更大,也更难以防范和追根溯源。
2.5.7其他的DOS攻击
其他的DOS攻击手法主要有利用TCP/IP协议进行的TCPDOS攻击,如SYNFlood攻击、Land攻击、Teardrop攻击;
利用UDP服务进行的UDPDOS攻击,如UDPFlooDDOS攻击;
利用ICMP协议进行的ICMPDOS攻击,如PingofDeath攻击、Smurf攻击等。
1.带宽攻击:
这是最古老、最常见的DOS攻击。
在这种攻击中,黑客使用数据流量填满网络。
脆弱的系统或网络由于不能处理发送个他的大量流量而导致系统崩溃或响应速度减慢,从而阻止了合法用户的访问。
2.协议攻击:
这是一种需要更多技巧的攻击,它正变得越来越流行。
这里,恶意黑客以目标系统从来没有想到的方式发送数据流,如攻击者发送大量的SYN数据包。
3.逻辑攻击:
这种攻击包含了对组网技术的深刻理解,因此也是一种最高级的攻击类型。
逻辑攻击的一个典型的实例是LAND攻击,这里,攻击者发送具有相同源IP地址和目标IP地址的伪造数据包。
很多系统不能够处理这种引起混乱的行为,从而导致崩溃。
2.6DOS攻击的防范技术
根据上述DOS攻击原理和不断更新的攻击技术,很少有网络可以免受DOS攻击,DOS防御存在许多挑战。
主要原因:
1.是分组、分组头、通信信道等都有可能在攻击过程中改变,导致DOS攻击流不存在能用于检测和过滤的共同特性;
2.是分布资源的协作使DOS攻击难以防御和跟踪,同时,资源、目标和中间域之间缺乏合作也不能对攻击做出快速、有效和分布式的响应;
3.是攻击者紧跟安全技术的进展,不断调节攻击工具逃避安全系统检查。
面对此种情况,可以从以下几个方面来防范DOS攻击。
2.6.1加固操作系统
对各种操作系统参数进行设置以加强系统的稳固性。
重新编译或设置Linux以及各种BSD系统、Solaris和Windows等操作系统内核中的某些参数,可在一定程度上提高系统的抗攻击能力。
2.6.2利用防火墙
防火墙是防御DOS攻击最有效的办法,目前很多厂商的防火墙中都注入了专门针对DOS攻击的功能。
现在防火墙中防御DOS攻击的主流技术主要有两种:
连接监控(TCPInterception)和同步网关(SYNGateway)两种。
2.6.3利用负载均衡技术
就是把应用业务分布到几台不同的服务器上,甚至不同的地点。
采用循环DNS服务或者硬件路由器技术,将进入系统的请求分流到多台服务器上。
这种方法要求投资比较大,相应的维护费用也高。
2.6.4带宽限制和QoS保证
通过对报文种类、来源等各种特性设置阀值参数,保证主要服务,稳定可靠的资源供给,防止有限资源被过度消耗。
以上方法对流量小、针对性强、结构简单的DOS攻击进行防范还是很有效的。
而对于DDOS攻击、DRoS攻击等攻击,则需要能够应对大流量的防范措施和技术,需要能够综合多种算法、集多种网络设备功能的集成技术
2.6.5防火墙防御
防火墙是防御DOS攻击最有效的办法之一,目前很多厂商的防火墙都注入了专门针对DOS攻击的功能。
现在防火墙中御DOS攻击的主流技术主要有连接监控(TCPInterception)和同步网关(SYNGateway)两种。
2.6.6如何阻挡“拒绝服务”的攻击
由于DOS攻击的最终目标是瘫痪服务器应该从加强服务器自身防御能力。
阻挡“拒绝服务”的攻击的常用方法之一是:
在网络上建立一个过滤器(filter)或侦测器(sniffer),在信息到达网站服务器之前阻挡信息。
过滤器会侦察可疑的攻击行动。
如果某种可疑行动经常出现,过滤器能接受指示,阻挡包含那种信息,让网站服务器的对外连接线路保持畅通。
2.2.7案例分析一
本次案例分析采用实验的方式来验证DOS攻击,采用SYN攻击。
【实验步骤】如下:
1.登录到Windows实验台中登录到Windows实验台,并从实验工具箱取得syn攻击工具XDoc。
2.Windows实验台cmd下运行xDOS攻击工具XDOS运行界面如图所示。
XDOS命令举例演示如下:
xDOS192.168.1.43139–t3–s55.55.55.55
172.20.1.19为被攻击主机的ip地址(实验时请以被攻击主机真实ip为准)
139为连接端口
-t3表示开启的进程
-s后跟的ip地址为syn数据包伪装的源地址的起始地址
3.如图6所示,运行显示如图,Windows实验台正在对本地发送syn数据包。
图6
4.如图7所示,在目标主机使用wireshark抓包,如图8所示,可以看到大量的syn向172.20.1.19主机发送,并且将源地址改为55.55.55.55后面的ip地址。
图7
图8
4.本地主机状态
在目标主机使用命令netstat-an查看当前端口状态,如图9所示,就会发现大量的syn_received状态的连接,表示172.20.1.19主机接受到syn数据包,但并未受到ack确认数据包,即tcp三次握手的第三个数据包。
图9
当多台主机对一台服务器同时进行syn攻击,服务器的运行速度将变得非常缓慢。
5.实验总结
在SYNFlood攻击中,黑客机器向受害主机发送大量伪造源地址的TCPSYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,拒绝服务攻击(DenialofService,DOS)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。
所以,DOS对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。
2.2.8案例分析二
本次实验采用模拟UDPFlood软件攻击
1.UDPFlood是一种采用UDP-Flood攻击方式的DOS软件,它可以向特定的IP地址和端口发送UDP包。
在IP/hostname和port窗口中指定目标主机的IP地址和端口号,Maxduration设定最长的攻击时间,在speed窗口中可以设置UDP包发送的速度,在data框中,定义UDP数据包包含的内容,缺省情况下为UDPFlood.Serverstresstest的text文本内容。
单击Go按钮即可对目标主机发起UDP-Flood攻击。
2.如下图10所示。
图10
3.如图11所示,输入ipconfig/all