文档库 最新最全的文档下载
当前位置:文档库 › DDOS攻击与防范技术原理 课程设计报告

DDOS攻击与防范技术原理 课程设计报告

DDOS攻击与防范技术原理 课程设计报告
DDOS攻击与防范技术原理 课程设计报告

上海电机学院课程设计报告

课程名称:计算机网络安全

课题名称: DDOS攻击与防范技术原理

姓名:苏瀚

班级: BX1009 学号: 101003200921 指导老师:熊鹏

报告日期: 2013年06月27日

电子信息学院

上海电机学院实训/课程设计任务书

课程名称网络安全课程设计课程代码033208C1

实训/课程设计课题清单1.ARP 协议原理攻击及防范技术2.DHCP 协议攻击及防范技术3.DDOS攻击与防范技术原理4.ACL 包过滤技术应用

5. CAM表攻击与防范技术

6. TCP SYN攻击与防范技术

7. 网络设备终端登录原理与安全管理

8. 组建高弹性冗余网络

设计时间2013年06 月24 日——2013年06 月28 日

一、实训/课程设计任务汇总

1. 课题分配—--2~3人一组。

2. 最终提供的主操作界面应该方便用户的操作。

3. 最后提交的课程设计成果包括:

a) 课程设计报告打印稿。

b) 课程设计报告电子稿。

c) 小组课程设计报告打印稿

d) 小组课程设计报告电子稿

e) 源程序文件(电子稿)。

f) 可执行程序文件。(电子稿)

二、对实训/课程设计成果的要求(包括实训/课程设计报告、图纸、图表、实物等软硬件要求)

分析课程设计题目的要求;写出详细的需求分析;

根据功能需求,写出详细的设计说明;(包括工作原理)

编写程序代码(有必要的注释),调试程序使其能正确运行;

设计完成的软件要便于操作和使用,有整齐、美观的使用界面;

设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子文档。报告需要交电子版和打印版,源程序交电子版。

三、实训/课程设计工作进度计划:

选择课程设计题目,

分析课题的要求,确定需求分析;确定设计方案;

第二天编写详细设计说明;

绘制程序流程图;编写与调试程序;

第三天测试系统功能,写课程设计报告;

第四天交课程设计报告(打印稿及电子稿);

第五天面试或答辩。

四、主要参考资料:

[1] 计算机网络安全教程(第二版) 梁亚声机械工业出版社2008年7月

[2] Cisco Press - CCNA Security Official Exam Certification Guide 2012

[3] CCNP.Security.Secure.642-637.Official.Cert.Guide).Sean.Wilkins&Trey.Smith

2011

摘要:

计算机网络的发展,特别是Internet的发展和普及应用,为人类带来了新的工作、学习和生活方式,使人们与计算机网络的联系越来越密切。计算机网络系统提供了丰富的资源以便用户共享,提高了系统的灵活性和便捷性,也正是这个特点,增加了网络系统的脆弱性、网络受威胁和攻击的可能性以及网络的复杂性。分布式拒绝服务(DDoS:Distributed Denial of Service)攻击借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

关键字:DDOS, ICMP Flood, UDP Flood, CAR

目录

摘要: (2)

一、需求分析 (4)

1.1课设背景 (4)

二、DDOS攻击技术 (5)

2.1简述DDOS攻击技术 (5)

2.1.1 DOS攻击概述 (5)

2.1.2DDOS攻击概述 (5)

2.2 DDOS攻击原理与表现形式 (6)

2.3 DDOS攻击方式 (7)

2.3.1 ICMP Flood攻击技术 (7)

2.3.2 UDP Flood 攻击技术 (7)

2.3.3其他攻击技术 (8)

2.4 DDOS攻击工具 (9)

2.4.1 LOIC (9)

2.4.2 engage packetbuilder (9)

2.4.3其他辅助工具 (10)

2.5具体实验操作与结果 (10)

2.5.1实验结构图与流程图 (10)

2.5.2 UDP flood攻击 (11)

2.5.3 ICMP flood攻击 (13)

三、DDOS防御技术 (16)

3.1 简述DDOS防御技术 (16)

3.2 防御原理 (17)

3.2.1 CAR (17)

3.2.2 uRPF (17)

3.3 利用CAR进行DDOS防御实验实际操作与结果 (18)

四、遇到的问题与解决 (21)

五、小结 (22)

参考文献 (23)

一、需求分析

随着Internet 的迅猛发展,网络与信息安全问题日益突出。病毒肆虐、网络犯罪、黑客攻击等现象时有发生,严重危及我们正常工作。据国际权威机构统计,全球每年因网络安全问题带来的损失高达数百亿美元。网络上的恶意攻击实际上就是寻找一切可能存在的网络安全缺陷来达到对系统及资源的损害,从而达到恶意的目的。分布式拒绝服务攻击(以下称DDOS) 就是从1996 年出现,在中国2002 年开始频繁出现的一种攻击方式。

分布式拒绝服务攻击(DDOS 全名是Distribut- ed Denial of service),DDOS 攻击手段是在传统的DoS 攻击基础之上产生的一类攻击方式。单一的DOS攻击一般是采用一对一方式的,当攻击目标CPU 速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。

1.1课设背景

随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DOS 攻击的困难程度加大了,目标对恶意攻击包的" 消化能力" 加强了不少,例如:你的攻击软件每秒钟可以发送4000 个攻击包,但我的主机与网络带宽每秒钟可以处理20000 个攻击包,这样一来攻击就不会产生什么效果。分布式拒绝服务攻击使用了分布式客户服务器功能,加密技术及其它类的功能,它能被用于控制任意数量的远程机器,以产生随机匿名的拒绝服务攻击和远程访问。为了有效防范网络入侵和攻击,就必须熟悉网络入侵和攻击的手段和原理,在此基础上才能制定行之有效的防范对策和防御措施,从而确保网络信息的安全。

本次实验要求是先进行DDOS的UDP Flood和ICMP Flood的攻击,再利用GNS3和虚拟机进行DDOS攻击的防御,

二、DDOS攻击技术

2.1简述DDOS攻击技术

2.1.1 DOS攻击概述

在了解DDOS之前,首先我们来看看DOS,DOS的英文全称是Denial of Service,也就是“拒绝服务”的意思。从网络攻击的各种方法和所产生的破坏情况来看,DOS算是一种很简单但又很有效的进攻方式。它的目的就是拒绝你的服务访问,破坏组织的正常运行,最终它会使你的部分Internet连接和网络系统失效。DOS的攻击方式有很多种,最基本的DOS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。DOS攻击的原理如图1所示。

图1 DOS攻击原理

从图1我们可以看出DOS攻击的基本过程:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。

2.1.2DDOS攻击概述

DDOS(分布式拒绝服务),它的英文全称为Distributed Denial of Service,它是一种基于DOS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,像商业公司,搜索引擎和政府部门的站点。从图1我们可以看出DOS攻击只要一台单机和一个modem就可实现,与之不同的是DDOS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。DDOS的攻击原理如图2所示。

图2 DDOS攻击原理

从图2可以看出,DDOS攻击分为3层:攻击者、主控端、代理端,三者在攻击中扮演着不同的角色。

1、攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。

2、主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。在主控端主机上安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。

3、代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发起攻击。

攻击者发起DDOS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各施其职,在攻击者的调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。

2.2 DDOS攻击原理与表现形式

DDOS攻击的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过

大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。

2.3 DDOS攻击方式

本次实验利用ICMP Flood和UDP Flood进行攻击。

2.3.1 ICMP Flood攻击技术

ICMP Flood 的攻击属于流量型攻击方式,利用大的流量给服务器带来较大的负载,影响服务器正常运行。ping 使用的是echo应答,ping的速度很慢仅为1-5包/秒,事实上ICMP本身并不慢(由于ICMP是SOCK_RAW产生的原始报文,速度比SOCK_STREAM的SYN和SOCK_DGRAM的UDP要快几乎10倍!),这样的速度是ping程序故意延迟的。并且必须等待目标主机返回REPLAY信息,这个过程需要花费大量的时间。而Flood——洪水,是速度极快的,当一个程序发送数据包的速度达到了每秒1000个以上,它的性质就成了洪水产生器,洪水数据是从洪水产生器里出来的。但这样还不够,没有足够的带宽,再猛的洪水也只能像公路塞车那样慢慢移动,成了鸡肋。要做真正的洪水,就需要有一条足够宽的高速公路才可以。

ICMP flood攻击分为三种方式:

1.直接flood。直接使用自己的机器去攻击别人,这要求有足够的带宽。直接攻击会暴露自己IP地址,一般不常见。

2.伪造IP的Flood。它随意伪造一个IP来flood。属于比较隐蔽阴险的flood。

3.反射。用采取这种方式的第一个工具的名称来命名的“Smurf”洪水攻击,把隐蔽性又提高了一个档次,这种攻击模式里,最终淹没目标的洪水不是由攻击者发出的,也不是伪造IP发出的,而是正常通讯的服务器发出的。Smurf方式把源IP 设置为受害者IP,然后向多台服务器发送ICMP报文(通常是ECHO请求),这些接收报文的服务器被报文欺骗,向受害者返回ECHO应答(Type=0),导致垃圾阻塞受害者的门口。

2.3.2 UDP Flood 攻击技术

UDPFlood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k

pps的UDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDPFLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDPFlood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。

2.3.3其他攻击技术

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地址。

2.4 DDOS攻击工具

DDOS攻击实施起来有一定的难度,它要求攻击者必须具备入侵他人计算机的能力。但是很不幸的是一些傻瓜式的黑客程序的出现,这些程序可以在几秒钟内完成入侵和攻击程序的安装,使发动DDOS攻击变成一件轻而易举的事情。本次是进行一次简单的实验,所有简单地利用了以下几个工具。

2.4.1 LOIC

利用傻瓜软件就可以发动DDoS攻击的话,为什么还要付费呢?来自系统管理、网络和安全协会互联网风暴中心的消息显示,在这波针对商业公司发起的DDoS攻击浪潮中,人们开始使用低轨道离子加农炮(Low Orbit Ion Cannon,以下简称LOIC),一种开源的DoS攻击工具来对卡或者维萨卡网站的端口进行攻击。使用者要做的事情仅仅就是用鼠标点击一下,攻击就正式开始了。

LOIC是一个功能非常强大的工具。它可以使用大规模的垃圾流量对目标网站实施攻击,从而耗尽网络资源,导致网络崩溃,无法提供服务。本次实验利用该工具进行UDP Flood攻击操作。

2.4.2 engage packetbuilder

一个运行在windows下的使用LibNet和LibPcap进行发报测试的工具,具有一个简单易用的gui界面,可以完全定制各种类型的数据包,并且支持脚本自动发送。是测试IDS/防火墙的好工具。

本次实验利用该工具进行ICMP Flood攻击操作。

2.4.3其他辅助工具

在本次实验中,为了方便利用DDOS技术进行的攻击,我们使用了wireshark 进行流量包的检测,可以区别出ICMP Flood和UDP Flood攻击。

2.5具体实验操作与结果

本次DDOS攻击实验利用了两种工具进行ICMP Flood和UDP Flood攻击,实验中使用四个主机进行攻击网关

测试主机PC5地址:192.168.82.24

本主机PC4地址:192.168.82.15

网关地址是:192.168.82.251

2.5.1实验结构图与流程图

结构图:

流程图:

1.攻击前,PC5对网关进行Ping操作,确保成功连接并查看延时状况

2.四台主机同时对网关进行UDP Flood攻击操作,下图是我的主机操作:

3.在进行攻击时,PC5再进行Ping网关操作

4.发现延迟很高,大部分是请求超时,表现出攻击成功。

2.5.3 ICMP flood攻击

1.攻击前,PC5对网关进行Ping操作,确保成功连接并查看延时状况。

2.四台主机同时对网关进行ICMP Flood攻击操作,下图是我的主机操作:

3.在进行攻击时,PC5再进行Ping网关操作

两次攻击都很好地完成。

三、DDOS防御技术

3.1 简述DDOS防御技术

对付DDOS是一个系统工程,仅仅依靠某种系统或产品防范DDOS是不现实的,可以肯定的是,完全杜绝DDOS攻击,目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。

本次实训,老师还向我们介绍了policing and shaping。简单的说就是

管制和整形:

管制和整形的作用是识别流量违约并做出响应。管制和整形使用同样的算法识别流量违约,但是做出的响应不同。

管制工具对流量违约进行即时检查,发现违约后立即采取设定的动作进行处理。例如,管制工具可以确定负载是否超出了定义的流量速率,然后对超出部分的流量进行重新标记或者直接丢弃。管制工具可以应用在入接口和出接口上。

整形工具是一个与排队机制一起工作的流量平滑工具。整形的目的是将所有的流量发送到同一个接口,并且控制流量永远不超出指定的速率,使流量平滑地通过该接口发送出去。整形工具只可以应用在出接口上。

管制与整形相比较,具有以下区别,参见表22-3。

表22-2:管制与整形比较

管制policing 整形shaping

由于包被丢弃,引起TCP重传通常延迟流量,很少引起TCP重传

不灵活和不可适应通过排队机制来适应网络拥塞

入接口和出接口工具出接口工具

没有缓存的速率限制有缓存的速率限制

下图能明显显示出2种不同的流量限制。

3.2 防御原理

3.2.1 CAR

使用CAR(Control Access Rate)功能限制流速率。如果管理员发现网络中存在DDoS 攻击,并通过Sniffer或者其它手段得知发起DDoS攻击的数据流的类型,然后可以给该数据流设置一个上限带宽,这样超过了该上限的攻击流量就被丢弃,可以保证网络带宽不被占满。

3.2.2 uRPF

URPF(Unicast Reverse Path Forwarding,单播反向路径转发)的主要功能是用于防止基于源地址欺骗的网络攻击行为。

源地址欺骗攻击为入侵者构造出一系列带有伪造源地址的报文,对于使用基于IP地址验证的应用来说,此攻击方法可以导致未被授权用户以他人身份获得访问系统的权限,甚至是以管理员权限来访问。即使响应报文不能达到攻击者,同样也会造成对被攻击对象的破坏。

如图1所示,在Router A上伪造源地址为 2.2.2.1/8的报文,向服务器Router B 发起请求,Router B响应请求时将向真正的“2.2.2.1/8”发送报文。这种非法报文对RouterB和Router C都造成了攻击。

URPF技术可以应用在上述环境中,阻止基于源地址欺骗的攻击。

3.3 利用CAR进行DDOS防御实验实际操作与结果

1.本次CAR防范是利用GNS3进行实验的,首先在GNS3中铺设结构,将本地物理网卡配置到C 1,将虚拟网卡VMnet1配置到C2上,

对R1两个端口进行配置:

F0/0: 192.168.82.144

F0/1: 192.168.100.144

配置好后,如下图所示,

2.打开虚拟机,选好网卡,运行cmd,ping 192.168.100.144,能够成功ping通。

Ping 192.168.82.144,也能成功ping通。

3.在GNS3中的路由器上输入限速命令,并将其应用至f0/1端口。

4.配置后在虚拟机中Ping 192.169.82.144 -t未发现丢包现象,在R1中特权模式下show interfaces rate-limit,未出现丢包现象。

相关文档