NS2环境下的DDoS攻击模拟

上传人:沈*** 文档编号:67573493 上传时间:2022-03-31 格式:DOC 页数:34 大小:695KB
收藏 版权申诉 举报 下载
NS2环境下的DDoS攻击模拟_第1页
第1页 / 共34页
NS2环境下的DDoS攻击模拟_第2页
第2页 / 共34页
NS2环境下的DDoS攻击模拟_第3页
第3页 / 共34页
资源描述:

《NS2环境下的DDoS攻击模拟》由会员分享,可在线阅读,更多相关《NS2环境下的DDoS攻击模拟(34页珍藏版)》请在装配图网上搜索。

1、本 科 生 毕 业 论 文NS2环境下的DDoS攻击模拟院 系: 计算机科学系 专 业: 网络工程 学生姓名: 学 号: 指导教师: 摘 要分布式拒绝服务攻击(DDoS)严重威胁着Internet的安全,对其研究已经成为网络安全领域中的一个热点话题。但是由于DDoS攻击涉及到大量的主机、服务器以及路由器等网络设备,对其研究往往会制约于实验环境的缺乏。另一方面,NS2是一个得到了广泛使用且功能非常强大的网络模拟器,可以模拟各种不同的网络环境和协议。因此,本论文提出了在NS2虚拟网络环境下模拟DDoS攻击的一个可行方案。目的是为DDoS研究领域提供多一个可选实验平台,减少实验环境对该研究的制约,从

2、而有助于研究的顺利进行和发展。本论文首先介绍了DDoS攻击和NS2网络模拟器的相关知识,然后详细地讲述使用NS2来模拟DDoS攻击的具体实现方案,而且按照该方案实现了小型DDoS攻击的模拟并得到了满意的结果,从而证明了模拟方案的可行性。论文最后对模拟结果进行了详细分析并提出了几个方面的改进措施。本论文的模拟方案可以供从事DDoS攻击研究的人员使用,而且研究人员可以结合一些DDoS攻击防御技术应用到模拟方案中,检验防御技术的可行性和有效性,并有可能从中想到一些改进措施。因此,本论文所做的工作是有价值和应用前景广阔的。关键词:分布式拒绝服务攻击;IP欺骗;过滤;模拟;网络安全AbstractDis

3、tributed denial of service (DDoS) attacks pose a huge threat to the Internet security, and the research on this type of attacks becomes a hot spot in the area of network security. Since there would be a large amount of network devices such as hosts, servers and routers involved in DDoS attacks, the

4、research on the attacks might often be restricted by lack of experimental environment. On the other hand, NS2 is a very popular and powerful network simulator, which is capable of simulating various types of network environments and protocols. Therefore, this thesis proposed a feasible scheme about

5、how to simulate DDoS attacks in a virtual network environment provided by NS2. The goal of the thesis is to provide an alternative platform for experiment, to weaken the restraints of lack of experimental environment, and to facilitate the progress and development of research on DDoS attacks.This th

6、esis firstly introduced the related knowledge about DDoS attacks and NS2 network simulator, and then it laid emphasis on how to simulate DDoS attacks by using NS2. It described the whole simulation scheme in detail, implemented the simulation on small scale DDoS attacks according to the scheme and r

7、eceived satisfying results. From the simulation results, we can confirm the feasibility of the simulation scheme. At last, the thesis analyzed the simulation results in depth and raised several aspects of improvements based on the analysis.The simulation scheme proposed by this thesis can be utilize

8、d by the researchers who engage in the research on DDoS attacks. Furthermore, the researchers may incorporate some DDoS defense techniques with this simulation scheme to verify the feasibility and effectiveness of the defense techniques. Besides, it is likely to think out some improvements of the de

9、fense techniques through the process. Thus, the work of this thesis is valuable and has a good prospect of application.Keywords: Distributed Denial of Service (DDoS) Attacks; IP Spoofing; Filtering; Simulation; Network Security目 录第一章前言1第二章DDOS攻击介绍32.1DDoS攻击原理32.2DDoS攻击工具42.3DDoS防御技术52.3.1攻击预防62.3.2攻

10、击时的应对策略62.3.3攻击追踪7第三章NS2网络模拟器83.1NS2简介83.2两种常用的NS2模拟平台93.2.1Linux平台上的NS293.2.2Windows+Cygwin平台上的NS29第四章NS2模拟DDOS攻击104.1模拟拓扑的建立104.2模拟过程的分析114.2.1非攻击阶段114.2.2攻击阶段124.2.3完整的模拟过程134.3模拟结果的讨论154.3.1模拟过程演示154.3.2模拟结果分析184.4模拟的改进194.4.1扩大模拟规模204.4.2动态拓扑模拟204.4.3细化攻击分组类型20第五章结论21致谢22参考文献23附录25第一章 前言近年来,分布式

11、拒绝服务攻击(DDoS)已经对Internet安全构成了重大威胁,它是一种新出现但已被广泛使用的Internet攻击方式。因此,针对DDoS攻击及其防御技术的研究是非常重要的,而且已经成为网络安全领域中一个热点话题。关于DDoS攻击的论文非常多,专家学者们提出了各种各样的解决方法。下面对比较著名的几篇作简要的概述:D-WARD1是一个基于攻击源端的DDoS防御策略,由于在源端进行攻击检测比较复杂且准确率不高,所以D-WARD采用限速策略代替过滤策略来处理可疑的攻击分组;HCF2和PI3都是基于攻击分组的传输路径来实行过滤的防御技术;PacketScore4是基于受害者端的应对策略,它在受害者端

12、对所有经过的分组进行三个步骤处理:压型、评分、丢弃,也就是为每个分组根据预定的规则来评分,然后基于受害者的使用性能来划定丢弃分数线,分数低于该分数线的分组会被直接丢弃;SOS5也是基于受害者端的防范测略,它实际上是一个为已授权客户与受保护的服务器之间提供可靠通信的体系结构,通过一些特定的中间节点来控制对目标服务器的访问。由于DDoS攻击是一种大型的涉及到成千上万台主机、服务器和路由器的Internet攻击,针对它的研究往往会因为实验环境的缺乏而困难重重。于是,研究人员们普遍倾向于在虚拟的环境中进行实验,这样不仅大大降低了实验成本,还能很容易根据特定的要求改变实验环境,这些都是虚拟环境要优于实际

13、环境的地方。在众多的提供虚拟环境的网络模拟工具中,NS2(Network Simulator Version 2)是一个得到了广泛使用且功能非常强大的网络模拟器。事实上,许多针对DDoS攻击的研究都是在NS2中进行模拟的。例如:论文6就是利用NS2来模拟防御DDoS攻击的PPM(Probabilistic Packet Marking)技术,并对各种PPM技术的模拟结果进行比较,从而提出一些改进措施。论文7也是基于NS2来模拟随机流网络模型中的DDoS攻击,并根据模拟结果提出更有效的防御方法。还有论文8和9都是利用NS2来检验新提出的DDoS防御技术的性能,能较直观地显示出新技术的有效性。因此

14、,在NS2虚拟环境下模拟DDoS攻击是可行且有效的。本论文将重点介绍如何利用NS2来模拟小型的DDoS攻击。后面的章节安排如下:第二章具体介绍与DDoS攻击有关的知识;第三章介绍NS2相关的内容;第四章详细讲述用NS2模拟DDoS攻击的具体实现和结果分析;第五章是论文总结。第二章 DDoS攻击介绍2.1 DDoS攻击原理拒绝服务DoS(Denial of Service)攻击是一种使受害者无法提供或使用正常服务的攻击方式10。攻击的目标通常是Internet上的服务器、路由器和主机等网络设备。分布式拒绝服务DDoS(Distributed Denial of Service)攻击是一种近年来新

15、出现的DoS攻击方式,攻击者控制分布在Internet上的大量主机同时向受害者发动大规模的DoS攻击。DDoS攻击的原理如图1所示。攻击者主控端主控端主控端代理端代理端代理端代理端代理端代理端受害者图1 DDoS攻击原理为了发动DDoS攻击,攻击者通常需要执行以下五个步骤11:(1) 对大量的分布在Internet上的主机进行扫描以探测可利用的脆弱性。(2) 危害易受攻击的主机以获得未经授权的访问。(3) 在已被危害的每台主机(主控端Master)上安装攻击工具。(4) 用主控端来进行进一步的扫描和危害更多的主机(代理端Agent)。(5) 由代理端在同一时间对目标发动大规模的DoS攻击。以上

16、的步骤一般都是自动进行的。在半自动的DDoS攻击中,攻击者只需要控制主控端来指定攻击类型和目标地址,然后命令代理端来发动攻击,其余的步骤都是自动执行的。更厉害的是全自动DDoS攻击,它不需要攻击者与攻击机器(主控端和代理端)进行通信,用来危害主机的攻击代码已经包含了发动攻击的时间、攻击类型、攻击持续时间和目标地址。因此,全自动攻击能够最大限度地减少攻击者暴露的机会,而且由于攻击者经常利用IP欺骗技术来隐藏他们的源地址,这给攻击源追踪工作带来了很大困难。攻击者通常是通过向受害主机发送大量的攻击分组(packet)流,使得受害主机耗尽可用的资源从而导致拒绝服务。基于攻击分组的类型,有如下几种常见的

17、DoS攻击类型(括号里为分组类型):TCP SYN攻击(TCP SYN)、Smurf攻击(ICMP echo)、Fraggle攻击(UDP echo)、Ping of Death攻击(ICMP echo)、Land攻击(TCP SYN)和Teardrop攻击(IP)。根据研究统计(见表1)12,大多数DDoS攻击是基于TCP协议的,而基于TCP的攻击主要就是TCP SYN泛洪攻击。表1 DDoS攻击分组的类型分布协议比例TCP94UDP2ICMP2Others22.2 DDoS攻击工具攻击者通常会使用一些DDoS攻击工具来使攻击更加容易实现,常见的攻击工具有如下几个11:Trinoo,它是一个

18、执行UDP泛洪攻击的DDoS攻击工具,于1999年8月被发现。Trinoo主要由主程序(主控端)和后台控制程序(代理端)组成,通过缓冲区溢出来危害各种Unix和Linux系统。主程序通常安装在一台被危害的主机上,然后主程序标识潜在的目标,创建执行漏洞利用的脚本,并把后台控制程序安装到目标主机上。利用Trinoo发动DDoS攻击的步骤是:攻击者首先和主程序通信,利用主程序来发起DDoS攻击,然后主程序与后台控制程序交流信息并命令后台程序向目标发动最终的UDP泛洪攻击。Trinoo还包含一个客户端程序用来控制主程序,这使得攻击者可以远程控制多个主控端。攻击者、主控端以及代理端通常使用以下端口进行通

19、讯:(1) 攻击者到主控端:目的端口为TCP 27665(2) 主控端到代理端:目的端口为UDP 27444(3) 代理端到主控端:目的端口为UDP 31335TFN(Tribe Flood Network),它也是一个通过缓冲区溢出来危害各种Unix和Linux系统的DDoS攻击工具,由客户端(主控端)和后台控制程序(代理端)组成,客户端和后台控制程序执行一个能引起ICMP泛洪、SYN泛洪、UDP泛洪和Smurf攻击的DDoS工具。攻击者、主控端和代理端之间使用ICMP echo和ICMP echo-reply报文分组进行通信。主控端能够根据IP识别号和ICMP echo-reply分组的有

20、效载荷来区分要发动攻击的类型。TFN还能够使用源IP地址欺骗来隐藏攻击源。TFN2K,它是TFN更新的变体。攻击者、主控端和代理端之间的通信不使用任何特定的形式,而是在运行时随机选取,可以是TCP、UDP或者ICMP报文分组。Stacheldraht,它是一个综合了Trinoo和原始TFN特点的DDoS攻击工具。和Trinoo一样,Stacheldraht由主程序(主控端)和后台控制程序(代理端)组成。Stacheldraht还能像TFN那样执行ICMP泛洪、SYN泛洪、UDP泛洪和Smurf攻击。此外,它的一个显著特点是能够对攻击者和主程序之间的通信进行加密。攻击者、主控端和代理端使用下面的

21、端口进行通信:(1) 攻击者到主控端:TCP 16660(2) 主控端到代理端:TCP 65000或ICMP echo-reply(3) 代理端到主控端:TCP 65000或ICMP echo-reply以上只是简要地介绍了4个常用的攻击工具,要了解更多的DDoS攻击工具可参考网页http:/packetstormsecurity.nl/distributed/。2.3 DDoS防御技术通常地,DDoS防御机制可分为攻击前的预防、攻击时的应对策略和攻击后的追踪三个阶段。2.3.1 攻击预防攻击预防的目标是尽可能地消除遭到DDoS攻击的可能性。为了达到该目标,此阶段所要做的工作主要有三点:第一,

22、对所有主机进行扫描以发现可能被攻击者利用的安全漏洞并修复这些漏洞;第二,检查所有主机看是否出现已被攻击者安装了主控端或代理端程序的症状;第三,监控网络流通量以检测是否存在攻击者、主控端和代理端之间相互通信的信息。2.3.2 攻击时的应对策略与攻击预防相比,攻击时的应对策略显得更为重要,因为很多时候攻击是不可避免的。这个阶段的目标是尽力采取可能的措施来减轻攻击对受害者的影响。该阶段又可分为攻击检测和过滤两大部分。2.3.2.1 攻击检测攻击检测的任务是尽早发现所有正在进行的DDoS攻击。一般地,攻击检测是在受害者网络里进行的,因为那里存在大量的攻击分组从而较容易检测到攻击。由于所用的策略不同,有

23、两种常用的检测方法,分别是模式检测(Pattern Detection)和异常检测(Anomaly Detection)10。模式检测就是把网络中存在的每个通讯模式与已知的各种DDoS攻击模式作比较,如果发现和某个确定的攻击模式相匹配,就认为该通信是一个DDoS攻击。因此,如果是使用该方法,我们就要特别留意网络流通量中是否存在大量的某种确定类型的分组(如TCP SYN和ICMP echo等),因为这些异常大数量的同一类型分组很可能就是来自某一个DDoS攻击。异常检测,顾名思义就是通过发现网络中的某些异常来检测攻击的。例如,发现某些服务器或网络性能突然有较大幅度的下降,就有可能是发生了DDoS攻

24、击。需要注意的是,模式检测只能检测到已知类型的DDoS攻击但不会发生判别错误的情况,而异常检测则能检测到未知类型的DDoS攻击但有可能把一些正常的通讯判定为DDoS攻击。因此,要根据具体情况来选择最适合的检测方式。2.3.2.2 过滤当我们已经检测到了一个DDoS攻击,那么下一步需要做的是采取有效的对策来消除攻击。通常地,采用过滤技术来去除攻击。过滤技术就是利用已检测到的DDoS攻击的某些特征来彻底排除具有这些特征的攻击分组流。一般地,过滤是在代理端网络中进行的,因为这样可以防止大量的带有源IP地址欺骗的攻击分组从代理端网络中发送出去(代理端负责执行最终的DDoS攻击),而且由于攻击分组的密集

25、程度远小于受害者网络的,从而比较容易过滤。在代理端网络中,需要结合两个策略来实现过滤13。第一个是入口过滤策略,通过设置边界路由器来限制进入网络的源IP地址,具体做法是不允许源IP地址与网络内部的IP地址相同的分组进入该网络。该策略的目的是防止外部的带有源IP地址欺骗的攻击分组进入该网络。第二个是出口过滤策略,通过设置边界路由器来限制从网络出去的源IP地址,具体做法是不允许源IP地址与网络内部的IP地址不同的分组从该网络发出去。这个策略的目的是防止在该网络内部发起带IP地址欺骗的攻击。结合这两个策略就能很好地过滤掉利用IP地址欺骗的攻击报文分组。除了网络边界路由器的过滤策略外,还有很多针对特定

26、问题的过滤技术,例如前言部分介绍过的论文2、3和4,它们所提出的都是比较著名和典型的攻击过滤技术。2.3.3 攻击追踪攻击追踪的目标是查出攻击的真实来源。由于攻击者经常使用IP欺骗技术来隐藏攻击的实际源头,所以不要依赖攻击分组的源地址来进行追踪,那是没有效果的,而要基于攻击路径上的每台路由器的记录来进行追踪,也就是逐跳地沿着可能的攻击路径来反向追踪,直至找到真正的攻击源头。综上所述,我们需要结合攻击前、攻击时和攻击后三个阶段的防御措施来建立一个完整的DDoS防御体系。第三章 NS2网络模拟器3.1 NS2简介NS2(Network Simulator Version 2)是一个面向对象的、离散

27、事件驱动的、开放源代码的网络环境模拟器,最初由加州大学伯克利分校(UC Berkeley)开发而成,主要用于解决网络研究方面的问题。NS2提供了在有线和无线网络上的TCP、路由、多播等多种协议的模拟14。由于NS2是一个开源项目,任何人都可以获得、使用和修改其源代码,并扩展和更新其功能,使得它已成为目前最流行的网络模拟工具之一,同时也广泛被科研机构和高校用于进行网络分析研究与教学。NS2是一个面向对象的网络模拟工具,可以完整地模拟整个网络环境。NS2本质上是一个离散事件模拟器,它本身有一个虚拟时钟,所有模拟都是由离散事件驱动的。NS2可以模拟各种不同的通信网络,已经实现的一些功能模块有:网络传

28、输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、Web、CBR和VBR;路由队列管理,如DropTail、RED和CBQ;路由算法,如Dijkstra、无线网络的WLAN、Ad hoc路由以及移动IP等。NS2也为进行局域网的模拟实现了多播和一些MAC子层协议15。NS2使用了分裂对象模型的开发机制,采用C+和OTcl(具有面向对象特性的Tcl脚本语言)两种编程语言进行开发。它们之间通过TclCL进行自动连接和映射。考虑到效率和操作方便的原因,NS2把数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都用C+编写,这些对象

29、通过TclCL映射对OTcl解释器可见。这样,用户只需要通过简单的OTcl脚本编写模拟代码,对模拟拓扑、节点和链路等部件和参数进行方便快捷的配置。NS2可以说是OTcl的脚本解释器,它包含事件调度器和网络组件对象库等。事件调度器控制模拟的过程,在适当时间激活事件队列中的当前事件,并执行该事件。网络组件模拟网络设备或节点的通信,通过制定模拟场景和进程,交换特定的分组来模拟真实网络环境15。3.2 两种常用的NS2模拟平台NS2是在Unix系统上开发的,因此可以在Unix和Linux系统上运行。此外,NS2也可以在Windows平台上运行,但是需要另外安装一个在Windows平台上模拟Linux环

30、境的软件Cygwin,然后就在Cygwin上来运行NS2。下面就简述一下这两种常用的NS2模拟平台:Linux和Windows+Cygwin 14。3.2.1 Linux平台上的NS2NS2在Linux平台上运行比较稳定。Linux对NS2的必选模块和可选模块均支持性良好,而且由于Linux完全开放源代码的特性,可根据需要任意修改源代码。此外,相关帮助文档较多,使问题的解决较为容易。但是要求使用者要对Linux操作系统较为熟悉。3.2.2 Windows+Cygwin平台上的NS2在Windows+Cygwin平台上使用NS2可能会出现比较多的问题,系统稳定性和对可选模块的支持性较差。但是由于

31、Windows提供了比较友好的界面和易操作性,使得不少用户选择在该平台上运行NS2。由于本人对Linux的操作不够熟悉,所以选择Windows+Cygwin平台上使用NS2来进行本论文的相关工作。第四章 NS2模拟DDoS攻击4.1 模拟拓扑的建立要使用NS2来模拟DDoS攻击,我们首先需要确定模拟拓扑图。DDoS攻击是一种大规模的动态的网络攻击方式,要完全模拟这种大型的攻击是非常困难的。因此,出于本人能力和时间的考虑,同时也为了便于模拟,本论文只把模拟拓扑局限在较小型的静态的网络中,也就是说,在一个拥有几十台主机和几个边界路由器的小型静态网络环境中模拟DDoS攻击。尽管模拟环境较小,但是设计

32、的模拟方案是可以扩展应用到较大型的动态网络中去的,只是工作量会比较大和需要修改较多的NS2源代码。这些是本论文之后打算做的工作。本论文的模拟拓扑图如图2所示,拓扑图中一共有6类节点:发动起始攻击者、主控端、代理端(即攻击电脑)、正常用户、路由器和受害者(服务器)。攻击者控制10台主控端电脑,而每个主控端又进一步控制3台攻击电脑,因此一共有30台攻击电脑一起向受害服务器发起DDoS攻击,另外还有20台正常用户电脑连接到受害服务器上(服务器一共连接了50台电脑)。这50台电脑均经过各自的上游路由器连接到受害服务器所在的本地路由器(简化了中间经过的所有路由器),最终连接到服务器上。假定模拟拓扑中所有

33、的链路都由手工静态设定,所有路由器只负责数据包的转发。关于模拟拓扑图的几点说明如下:1. 图中第三层节点的简写解释:“正”表示正常用户;“攻”(红色字体)表示攻击电脑。2. 图中第二、三层的省略号表明第二层一共有10个主控端受攻击者控制,第三层一共有50台客户电脑通过路由器与受害服务器相连接,其中30台在攻击阶段变为攻击电脑受主控端控制。3. 所有“路由器”(蓝色字体)只负责数据包的转发。4. 所有链路都预先由手工静态设定并不再改变,分组只在链路表明的方向上传送。5. 图中攻击者与主控端单向通信,主控端与攻击电脑双向通信,攻击电脑与上游路由器相连的是单向箭头,表示攻击流;正常客户与上游路由器相

34、连的是普通直线,表示正常数据流。攻击者主控端主控端主控端正攻受害者图2 DDoS攻击模拟拓扑图攻攻攻 攻攻正攻攻攻正 路由器路由器路由器路由器路由器本地路由器4.2 模拟过程的分析模拟过程分为两个阶段:非攻击阶段和攻击阶段。下面分别详细讲述这两个阶段所要做的工作。4.2.1 非攻击阶段下面先介绍一下NS2里面的根据Pareto On/Off分布产生流量的流量产生器POO_Traffic。研究表明Pareto模型比Poisson模型更适合描述广域Internet网络流量16。因此,采用根据Pareto分布产生流量的POO_Traffic流量产生器来模拟非攻击阶段时正常用户与服务器的通信流量是十分

35、合适的。POO_Traffic流量产生器会在Pareto On时期发送恒定速率的分组,而在Off时期将不发送任何分组。在NS2中建立一个新的Pareto On/Off流量产生器需要以下Tcl语句17:set p new Application/Traffic/Pareto$p set packetSize_ 210$p set burst_time_ 500ms$p set idle_time_ 500ms$p set rate_ 200k$p set shape_ 1.5通常地,shape_参数取默认值1.5来模拟产生Internet流量。在非攻击阶段,50台客户电脑都通过采用Pareto

36、On/Off流量产生器来模拟与服务器的正常通信流量。同时,服务器进行实时的流量统计。4.2.2 攻击阶段DDoS攻击阶段的模拟过程如下:1. 攻击者首先发送一个控制报文给主控端,告诉主控端攻击开始。2. 当主控端收到攻击者的攻击控制报文,就进行进一步入侵其他电脑(这里同样通过发送一个提示攻击开始的控制报文给攻击电脑,命令攻击电脑发起攻击)。3. 当攻击电脑收到主控端的攻击控制报文,就把流量产生器由Pareto改为CBR,并设置尽量大的packet_size_和rate_,从而模拟向服务器发送大量攻击分组流。而正常客户仍然使用Pareto定期向服务器发送分组。4. 服务器通过实时的流量检测和统计

37、会发现流量此时会明显高于正常情况,然后就能初步断定发生了DDoS分布式拒绝服务攻击。5. 把服务器的流量统计输出到文件,并用Xgraph显示流量相对于时间的图形,从图中会明显发现在DDoS攻击发生时流量明显增大,几乎占满了服务器所有的可用带宽。对于攻击阶段的模拟过程作如下说明:攻击者与主控端、主控端与攻击电脑之间的连接均为TCP连接,然后在TCP代理上使用CBR,用CBR模拟发送控制报文。客户电脑与服务器之间的连接均为UDP连接,其中攻击电脑在UDP代理上使用CBR,而正常电脑则使用Pareto。另外,由于服务器要做流量统计,而与Agent/UDP相连的Agent/Null不能够统计流量,所以

38、需要把服务器的接收Agent由Agent/Null改为Agent/LossMonitor。4.2.3 完整的模拟过程完整的DDoS攻击模拟流程(包括非攻击阶段和攻击阶段)的详细描述如下:1. 模拟一开始(时间为0.0s),调用过程“record”来实时统计记录服务器的流量。2. 在2.0s时,开始陆续启动50台客户电脑的Pareto流量产生器来向服务器发送分组(根据Pareto On/Off分布)。3. 2.0s10.0s期间,为非攻击阶段,客户电脑与服务器正常通信。正常通信流量在2.0Mbps3.0Mbps之间。4. 在10.0s时,攻击者开始发起DDoS攻击。他向10个主控端分别发送一个控

39、制报文(用CBR模拟实现,参数packet_size_为1),通知主控端攻击开始。5. 大约经过0.1s后(10.1s),主控端收到攻击者的控制报文,然后再向各自控制的3台攻击电脑分别发送控制报文,命令攻击电脑发动DDoS攻击。6. 再经过0.1s(10.2s),攻击电脑收到主控端的控制报文,然后就向目标服务器发动DDoS攻击。通过把流量产生器由Pareto改为CBR并向服务器发送大量分组来实现攻击。7. 10.0s20.0s期间,为攻击阶段,50台客户电脑中的30台变为攻击电脑向服务器发动攻击,其余20台仍为正常电脑与服务器正常通信。8. 攻击阶段期间,服务器的可用带宽被攻击流全部占用(8M

40、bps),即通信流量大约为8Mbps,高出正常值2至3倍。从而致使正常用户的合法数据流不能到达服务器,导致拒绝服务。9. 20.0s之后,攻击结束,攻击流消失,30台攻击电脑又变为普通的正常客户电脑(把CBR改为原来的Pareto),50台客户电脑又开始与服务器正常通信。10. 在28.0s时,关闭50台客户电脑的Pareto流量产生器,即与服务器的正常通信结束。11. 30.0s时,结束整个模拟过程。12. 模拟结束后会产生几个文件:过程跟踪文件(out.tr)、流量统计文件(sta.tr)和Nam文件(out.nam),还有Nam程序会直观显示整个模拟过程和Xgraph画出服务器流量统计图

41、。说明:整个模拟过程历时30.0s。其中DDoS攻击阶段为10.0s,非攻击阶段一共为20.0s。在Nam显示中,攻击者与主控端、主控端与攻击电脑之间用于通信的控制报文用黑色表示;正常客户与服务器之间的数据流用蓝色表示;攻击电脑(非攻击阶段为正常电脑)与服务器之间的攻击流(非攻击阶段为正常数据流)均用红色表示。在Xgraph中,服务器的流量统计图横坐标为时间(s),纵坐标为流量(Mbps)。综上所述,下面给出大概的模拟流程图,如图3所示。模拟开始(0.0s,调用“record”)启动客户电脑的Pareto(2.0s)DDoS攻击开始(10.0s)DDoS攻击结束(20.0s)关闭客户电脑的Pa

42、reto(28.0s)模拟结束(30.0s)图3 模拟流程图4.3 模拟结果的讨论本文根据上面所提出的模拟方案进行了模拟,下面对模拟的过程和结果进行讨论。4.3.1 模拟过程演示Nam(即Network Animator)是一个通过动画演示来展示NS2模拟网络的运行情况的程序,它可以和NS2配合使用。下面给出利用Nam演示模拟过程的一些截图和简要说明:首先,给出模拟的网络拓扑图,如图4所示。图4 模拟拓扑图说明:图4中所示的模拟拓扑一共有68个节点(编号067)。节点0表示攻击者,节点110表示主控端,节点1160表示客户电脑,节点6165表示客户电脑的上游路由器,节点66表示服务器的本地路由

43、器,节点67表示服务器。DDoS攻击发生前(大约在5.0s时)的截图如图5。图5 攻击前截图说明:由图5可知,攻击发生前网络上只有少数的分组在传输。此时,蓝色和红色表示的都为合法分组。DDoS攻击阶段(大约在15.0s时)的截图如图6。图6 DDoS攻击时截图说明:由图6可知,DDoS攻击进行期间,网络上的分组突然大量增加,尤其是红色表示的攻击分组(蓝色仍表示合法分组),占满了某些链路。值得注意的是,节点66(服务器的本地路由器)相连的链路包括节点66与67(服务器)之间的链路几乎全被红色的分组占据,即表示服务器此时受到了大量的攻击分组的攻击。DDoS攻击结束后(大约在24.0s时)的截图如图

44、7。图7 攻击结束后截图说明:如图7所示,攻击结束后,网络又恢复了原来的“平静”,即只有少数的分组在传输。此时的情况与攻击前基本一样(蓝色和红色均表示合法分组)。4.3.2 模拟结果分析Xgraph是一个开源的通用2D绘图工具,它能够通过输入数据集或者文件来绘制图形。根据在NS2模拟过程中生成的服务器流量统计文件(sta.tr),Xgraph可以绘制出服务器的流量统计图,如图8所示。图8 服务器流量统计图图8中的红色曲线表示整个模拟过程中服务器的流量分布。在0.0s2.0s期间,模拟网络上还没有任何分组出现,故此时服务器流量为0。当模拟到达2.0s时,客户电脑陆续启动Pareto流量产生器并向

45、服务器发送合法分组,服务器开始产生流量。在2.0s10.0s期间,客户电脑与服务器的通信均为正常通信,所以服务器的流量基本维持在2.0Mbps3.0Mbps之间,该流量范围被服务器认为是正常范围。当到达10.0s时,DDoS攻击开始,服务器的流量马上急速上升至8Mbps,此数值为服务器的可用带宽,即攻击流占满了服务器的所有可用带宽。从流量统计图中明显看出,攻击阶段(10.0s20.0s)里服务器的流量远超出了正常范围。当模拟到达20.0s后,DDoS攻击结束,服务器的流量又急速下降到2.0Mbps3.0Mbps的正常范围里。28.0s后,客户电脑关闭所有的Pareto流量产生器,故此后服务器的

46、流量逐渐趋于0。图8所示的流量统计图很好地描述了模拟方案的效果,由图可知模拟得到了期望的结果。因此,本论文所提出的用NS2模拟DDoS攻击的方案是可行的。4.4 模拟的改进本论文只给出了使用NS2模拟DDoS攻击的一个可行方案并实现了小型的模拟,因此有必要对现阶段的模拟方案进行改进,使其能更有效更真实地模拟DDoS攻击。下面从三个方面来考虑如何改进模拟方案,本人将在本论文之后从事这些改进措施的研究。4.4.1 扩大模拟规模由于本人能力和时间的限制,本论文局限在较小型的只有几十台主机和几个边界路由器的静态网络环境中模拟DDoS攻击。事实上,DDoS攻击是一种大型的涉及到成千上万台主机、服务器和路

47、由器的Internet攻击方式。因此,要做到更真实地模拟DDoS改进,首先需要扩大模拟的规模,使涉及到的网络设备达到数量规模。需要注意的是,模拟工作量可能会随着模拟规模的增大而指数增加,而且需要更高性能的计算机来运行模拟程序。4.4.2 动态拓扑模拟本论文的模拟是基于静态拓扑结构的,而DDoS攻击的攻击路径是有可能动态改变的,因此需要把静态拓扑变为动态拓扑。这就需要路由器的帮助了。本论文中的路由器只根据默认的路由选择来转发分组,实际上路由器需要执行某种动态路由协议来转发分组,甚至有时候还需要修改已有的某种路由协议来达到特定的目的。通过在路由器上运行或修改某种动态路由协议,就能把模拟拓扑变为动态

48、的。但是这样做是比较复杂的,可能需要较多地修改NS2里面关于路由器的C+源代码。除了在路由器上做改进外,还需要构造更像Internet的网络拓扑。要达到这个目的,可以使用Inet软件包(http:/topology.eecs.umich.edu/inet/)来生成类似Internet的网络。4.4.3 细化攻击分组类型本论文只是通过攻击电脑向服务器发送大量分组来模拟攻击流,并没有具体定义攻击分组的类型。实际上,DDoS攻击可以根据攻击分组的类型分为较典型的几类:攻击分组为TCP SYN的TCP SYN攻击、攻击分组为ICMP echo的Smurf攻击、攻击分组为UDP echo的Fraggle

49、攻击18等。为了进一步模拟这几种常见的DDoS攻击,需要细化攻击分组类型,这就要修改NS2中与分组有关的文件来重新定义具体分组类型。第五章 结论本论文主要提出了使用NS2模拟DDoS攻击的一个可行方案,并实现了在小型网络环境下的模拟。由于DDoS攻击是一种大型的涉及到成千上万台主机、服务器以及路由器的Internet攻击方式,对其研究往往会制约于实验环境的缺乏。因此,需要寻找实际环境的代替品来进行实验。于是许多研究就转移到在虚拟环境下进行,这样不只大大降低了实验成本,还方便实验环境的随意改变。NS2是一个得到了广泛使用且功能非常强大的网络模拟器,许多针对DDoS攻击的研究都是在NS2中进行模拟

50、的。本论文的目的就是为使用NS2模拟DDoS攻击提供一个可行方案,为DDoS攻击研究提供多一个可选实验平台,从而有助于该研究的顺利进行和发展。由于本人能力和时间有限,本论文只模拟了小型的DDoS攻击。尽管如此,本论文所给出的模拟方案和结论还是比较有价值的,不仅提供了攻击模拟的可行方案,还有助于设计更真实的大型的DDoS攻击模拟计划。当然,本论文所提出的方案还需要做较多的改进,例如在4.4节中所提到的三方面改进:扩大模拟规模、改用动态拓扑模拟和细化攻击分组类型。未来的工作除了研究从上述三方面来改进DDoS攻击的模拟方案外,还打算结合一些DDoS攻击防御技术来综合模拟DDoS攻击与防御,并从中检验

51、防御技术的有效性和提出一些改进措施。毕竟,我们的最终目的应当是设计出最为有效的适用性最广的DDoS攻击防御技术。致谢本人非常感谢中山大学计算机科学系的龙冬阳教授在对本论文选题的确定、准备论文过程中所遇问题的解答以及参考资料的提供等方面所做的重要指导工作。同时,感谢中山大学计算机科学系博士研究生樊凯师兄和04级C班本科生洪江守同学对本人学习NS2网络模拟器的使用和本论文模拟方案的确定提供的帮助。当然,还要感谢本人的父亲叶光沛和母亲严振贞对本人在学习和生活上的支持。参考文献1 J. Mirkovic, G. Prier, and P. Reiher, Attacking DDoS at the S

52、ource, In Proceedings of the 10th IEEE International Conference on Network Protocols, Nov. 20022 C. Jin, H. Wang and K. G. Shin, Hop-count filtering: An effective defense against spoofed DDoS traffic, In Proceedings of the 10th ACM Conference on Computer and Communications Security, October 20033 A.

53、 Yaar, A. Perrig and D. Song, Pi: A path identification mechanism to defend against DDoS attacks, In Proceedings of the 2003 IEEE Symposium on Security and Privacy, May 20034 Y. Kim, W. C. Lau, M. C. Chuah, and H. J. Chao, PacketScore: Statistics-based overload control against distributed denial of

54、service attacks, In Proceedings of IEEE INFOCOM, 2594-2604, Apr. 20045 A. D. Keromytis, V. Misra, and D. Rubenstein, SOS: Secure overlay services, In Proceedings of ACM SIGCOMM, 61-72, Aug. 20026 Qiang Li, Hongzi Zhu, Meng Zhang, Jiubin Ju, Simulating and Improving Probabilistic Packet Marking Schem

55、es Using Ns2, Sixth International Conference on Parallel and Distributed Computing, Applications and Technologies, 20057 Jiejun Kong, Mansoor Mirza, James Shu, Christian Yoedhana, Mario Gerla, Songwu Lu, Random Flow Network Modeling and Simulations for DDoS Attack Mitigation, IEEE International Conf

56、erence on Communications (ICC03), 20038 Yen-Hung Hu, Hongsik Choi, Hyeong-Ah Choi, Packet filtering to defend flooding-based DDoS attacks, IEEE Sarnoff Symposium on Advances in Wired and Wireless Communication, 20049 Rajesh Sharma, Krishan Kumar, Kuldip Singh, R C Joshi, Shared Based Rate Limiting:

57、An ISP Level Solution to Deal DDoS Attacks, Annual India Conference, Sept. 200610 Jelena Mirkovic, Janice Martin and Peter Reiher, A taxonomy of DDoS attacks and DDoS defense mechanisms, Technical report #020018, University of California, Los Angeles, http:/lasr.cs.ucla.edu/ddos/ucla_tech_report_020

58、018.pdf11 Merike Kaeo著, 吴中福等译, 网络安全性设计(第二版), 北京:人民邮电出版社, 200512 孙曦, 朱晓研, 王育民, DDoS下的TCP洪流攻击及对策, 网络安全技术与应用, (4): 31-34, 200413 CERT Coordination Center, CERT Advisory CA-1996-21 TCP SYN Flooding and IP Spoofing Attacks, http:/www.cert.org/advisories/CA-1996-21.html14 于斌, 孙斌, 温暖, 王绘丽, 陈江锋, NS2与网络模拟, 北

59、京:人民邮电出版社, 200715 Jae Chung, Mark Claypool, NS by Example, http:/nile.wpi.edu/NS/16 V. Paxson and S. Floyd, Wide-area Traffic: The Failure of Poisson Modeling, IEEE/ACM Transaction on Networking, 199517 Kevin Fall, Kannan Varadhan, The ns Manual, http:/www.isi.edu/nsnam/ns/doc/ns_doc.pdf 18 CERT Coo

60、rdination Center, CERT Advisory CA-1996-01 UDP Port Denial of Service Attack, http:/www.cert.org/advisories/CA-1996-01.html附录1) 本人于本科学习期间在现代计算机杂志上发表过一篇与本毕业论文相关的名为DDoS攻击及其防御技术研究的DDoS攻击综述论文,本毕业论文有一小部分取材于该论文。下面给出该论文的详细出处:叶建成, DDoS攻击及其防御技术研究, 现代计算机, (1): 67-69, 20082) 本毕业论文所提出的使用NS2模拟DDoS攻击方案的完整Tcl脚本代码请

61、参见附件中的ddos.tcl文件。毕业论文成绩评定记录指导教师评语:成绩评定: 指导教师签名: 年 月 日 答辩小组或专业负责人意见:成绩评定: 签名(章): 年 月 日院系负责人意见:成绩评定:签名(章): 年 月 日附表一、毕业论文开题报告论文(设计)题目:NS2环境下的DDoS攻击模拟(简述选题的目的、思路、方法、相关支持条件及进度安排等)l 选题目的与依据: 目前,分布式拒绝服务攻击(DDoS)已经对Internet安全构成了重大威胁,它是一种近年来新出现的但已被普遍使用的Internet攻击方式。如何防范DDoS攻击是当今网络安全领域里一个非常热门的研究课题。但是,由于DDoS攻击涉

62、及到大量的网络设备,对其研究往往会制约于实验环境的缺乏。因此,很多情况下需要在虚拟环境下来对它进行研究。于是,本人选择使用NS2网络模拟器来模拟DDoS攻击作为本科毕业论文的研究题目。该研究是非常有价值的,成功的模拟将为DDoS攻击研究提供了一个有效可行的实验平台,减少研究对实际环境的依赖。l 研究思路与方法:首先,熟悉使用一个常用的执行DDoS攻击的攻击工具Trinoo。它专门执行UDP泛洪攻击,通过该工具的使用来熟悉DDoS攻击流程。然后,集中主要精力来学习使用NS2网络模拟器,利用它来模拟DDoS攻击。l 相关支持条件:提供相关文档、书籍、论文检索库的支持。其他实验视学校硬件情况而定。l 研究预期:研究的重点放在使用NS2模拟器来模拟DDoS攻击。NS2是一个著名且功能非常强大的网络模拟器,掌握它的使用是非常有意义的。可能的话,希望能通过NS2的模拟来提出新的DDoS防御技术。l 简要

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!