文档库 最新最全的文档下载
当前位置:文档库 › dos与ddos攻击与防范措施

dos与ddos攻击与防范措施

dos与ddos攻击与防范措施
dos与ddos攻击与防范措施

毕业设计(论文)

题目:Dos与DDos攻击与防范措施

论文题目:Dos与DDos攻击与防范措施

摘要::通过专业防火墙+入侵检测系统,建立网络级的检测和防范屏障。在企业网内部通过加强安全教育,提高安全意识,结合简单易行的检测方法,安装杀毒软件和最新系统补丁,能有效地将DoS和DDoS攻击造成的损失降到最小。

关键词::DoS;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)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

目录

一、概述 (1)

二、防火墙 (4)

(一)包过滤型 (5)

1.包过滤型产品 (8)

2.包过滤技术的优点 (14)

3.※※※※※※ (18)

(二)※※※※※※※※※※ (22)

1.※※※※※※※※ (24)

2.※※※※※※※※※※ (30)

3.※※※※※※ (31)

(三)※※※※※※※※※※ (33)

三、※※※※※※ (36)

(一)※※※※※※※※※※ (38)

(二)※※※※※※※※※※ (43)

四、※※※※※※※ (45)

五、结论与体会 (48)

参考文献 (50)

目录格式说明:

1、毕业论文篇幅长的要写出目录,使人一看就可以了解论文的大致内容。目录要

标明页数,以便论文审查者阅读方便;

2、除标明处外,均用小四号宋体;

3、页边距:上3.6cm、下3cm,左侧3cm、右侧2.5cm;

4、段落格式:1.5倍行间距;

5、纸张大小:A4。

1 概要

随着Internet

发展的主要障碍,目前,由于黑客采用DDoS SCO,https://www.wendangku.net/doc/6712878710.html,、e buy、https://www.wendangku.net/doc/6712878710.html,、https://www.wendangku.net/doc/6712878710.html,、ZDNet、https://www.wendangku.net/doc/6712878710.html,等国外知名网站,致使网络服务中断了数小时,造成的经济损失达数百万美元。DDoS攻击由于破

坏性大,而且难于防御,因此它已经引起了全世界的广泛关注。阐述的DDoS实时监测模型,能够快速监测出主机或服务器是否在遭受DDoS攻击,如果监测出突然增加的数据流是攻击流的话,能够快速给网络管理员发出警报,采取措施从而减轻DDoS攻击所带来的危害。

2 DOS攻击原理

2.1 DOS攻击概念

WWW安全FAQ[1]给DOS攻击下的定义为:有计划的破坏一台计算机或者网络,使得其不能够提供正常服务的攻击。DOS攻击发生在访问一台计算机时,或者网络资源被有意的封锁或者降级时。这类攻击不需要直接或者永久的破坏数据,但是它们故意破坏资源的可用性。最普通的DoS攻击的目标是计算机网络带宽或者是网络的连通性。带宽攻击是用很大的流量来淹没可用的网络资源,从而合法用户的请求得不到响应,导致可用性下降。网络连通性攻击是用大量的连接请求来耗尽计算机可用的操作系统资源,导致计算机不能够再处理正常的用户请求。DoS攻击广义上指任何导致被攻击的服务器不能正常提供服务的攻击方式。具体而言,Dos攻击是指攻击网络协议实现的缺陷或通过各种手段耗尽被攻击对

象的资源, 以使得被攻击计算机或网络无法提供正常的服务,直至系统停止响应甚至崩溃的攻击方式。DoS攻击的服务资源包括网络带宽, 文件系统空间容量,

开放的进程或者允许的连接等。

2.2 DoS攻击的原理与思想

要对服务器实施拒绝服务攻击, 主要有以下两种方法: 1迫使服务器的缓

冲区满, 不接收新的请求; o使用IP欺骗, 迫使服务器把合法用户的连接复位, 影响合法用户的连接, 这是DoS攻击实施的基本思想。为便于理解,以下介绍一个简单的DoS攻击基本过程。如图1所示, 攻击者先向受害者发送大量带有虚假地址的请求,受害者发送回复信息后等待回传信息。由于是伪造地址,所以受害者一直等不到回传信息,分配给这次请求的资源就始终不被释放。当受害者等待一定时间后, 连接会因超时被切断,此时攻击者会再度传送一批伪地址的新请求,

这样反复进行直至受害者资源被耗尽,最终导致受害者系统瘫痪。

2.3 DoS攻击分类

( 1) 利用协议中的漏洞

一些传输协议在其制定过程中可能存在着一些漏洞。攻击者可以利用这些漏洞进行攻击致使接受数据端的系统当机、挂起或崩溃。这种攻击较为经典的例子是半连接SYNFlood攻击,如图2所示,该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYNACK后并不回应, 这样,目的主机就为这些源主机建立了大量的连接队列, 而且由于没有收到ACK就一直维护着这些队列, 造成了资源的大量消耗而不能向正常请求提供服务。这种攻击利用的是TCP/IP协议的/ 三次握手0的漏洞完成。由于攻击所针对的是协议中的缺陷,短时无法改变, 因此较难防范。

( 2) 利用软件实现的缺陷

软件实现的缺陷是软件开发过程中对某种特定类型的报文或请求没有处理,导致软件遇到这种类型的报文时运行出现异常,从而导致软件崩溃甚至系统崩溃。这些异常条件通常在用户向脆弱的元素发送非期望的数据时发生。攻击者攻击时是利用这些缺陷发送经过特殊构造的数据包, 从而导致目标主机的瘫痪,如OOB攻击,Teardrop攻击,Land攻击,IGMP碎片包攻击等。

(3) 发送大量无用突发数据攻击耗尽资源

这种攻击方式凭借手中丰富的资源,发送大量的垃圾数据侵占完资源, 导致DoS。如ICMPFlood, ConnectionFlood等。为了获得比目标系统更多资源, 通常攻击者会发动DDoS攻击,从而控制多个攻击傀儡发动攻击,这样能产生更大破坏。

(4) 欺骗型攻击

这类攻击通常是以伪造自身的方式来取得对方的信任从而达到迷惑对方瘫痪其服务的目的。最常见的是伪造自己的IP或目的IP(通常是一个不可到达的目标或受害者的地址) ,或伪造路由项目、或伪造DNS解析地址等,受攻击的服务

器因为无法辨别这些请求或无法正常响应这些请求就会造成缓冲区阻塞或死机。如IPSpoofing DoS攻击。

2.4 DoS攻击的危害性及其难以防范的原因

DoS攻击的危害性主要在于使被攻击主机系统的网络速度变慢甚至无法访问无法正常地提供服务; 最终目的是使被攻击主机系统瘫痪、停止服务。该网络上DoS攻击工具种类繁多,攻击者往往不需要掌握复杂技术, 利用这些工具进行攻击就能够奏效。尽管可以通过增加带宽来减少DoS攻击的威胁,但攻击者总是可以利用更大强度的攻击以耗尽增加的资源。使得DoS攻击成为一种当前难以防范的攻击方式。

3 DoS攻击技术发展

随着对DoS攻击进行防范的技术的不断加强, DoS攻击技术也在不断发展。迄今, DoS攻击主要有DDoS, DRDoS( Dis-tributedReflectionDenial of Service Attack, 分布式反射拒绝服务攻击) 、TCP DoS, UDP DoS以及ICMP DoS等攻击技术。其中DDoS由于破坏性大,难以防范, 也难以追查攻击源, 被认为是当前最有效的主流攻击技术。而DRDoS作为DDoS的变体,是一种新出现的攻击技术,其破坏力更大, 更具隐蔽性。

3.1 DDoS攻击

DDoS是在传统的DoS攻击基础之上产生的一种分布、协作的大规模攻击方式,主要目标是较大的站点,像商业公司、搜索引擎和政府部门的站点。DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这种攻击来势迅猛、令人难以防备, 且具有较大的破坏性。DDoS的攻击原理如图3所示。

从图3可以看出, 一个比较完善的DDoS攻击体系包括以下四种角色:

(1) 攻击者。它所用的主机, 也称为攻击主控台。它操纵整个攻击过程,向主控端发送攻击命令。

(2)主控端。是攻击者非法侵入并控制的一些主机, 这些主机分别控制大量的代理攻击主机。其上面安装特定的程序,不仅可以接收攻击者发来的特殊指令,还可以把这些命令发送到代理攻击端主机上。

( 3)代理攻击端。也是攻击者侵入并控制的一批主机,其上面运行攻击程序,接收和运行主控端发来的命令。代理攻击端主机是攻击的执行者,真正向受害者主机发送攻击。

( 4) 受害者。被攻击的目标主机。

为发起DDoS攻击,攻击者首先寻找在Internet 上有漏洞的主机,进入系统后在其上面安装后门程序。接着在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,另一部分充当攻击的代理攻击端。最后各部分主机在攻击者调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪, 身份不易被发现。实施DDoS攻击的工具主要有Trinoo, TFN(The

Tribe Flood Network) , Stanchelled,TFN2K,Trinity v3,Shaft,WinTrinoo 等。

3.2 DRDoS

DRDoS是DDoS攻击的变形, 与DDoS的不同之处是它不需要在实际攻击之前占领大量傀儡机。攻击时,攻击者利用特殊发包工具把伪造了源地址(受害者地址) 的SYN连接请求包发送给那些大量的被欺骗的服务器, 根据TCP三次握手规则,这些服务器群会向源IP( 也就是受害者) 发出大量的SYN+ACK或RST包来响应此请求。结果原来用于攻击的洪水数据流被大量服务器所分散,并最终在受害者处汇集为洪水, 使受害者难以隔离攻击洪水流,并且更难找到洪水流的来源。

DRDoS攻击的结构如图4所示。这里反射服务器是指当收到一个请求数据报后就会产生一个回应数据报的主机, 如Web服务器。与以往DDoS攻击不同的是,利用反射技术, 攻击者不需要把服务器作为网络流量的放大器,甚至可以使洪水流量变弱,最终才在目标服务器处合为大容量的洪水。这样的机制让攻击者可以利用不同网络结构的服务器作为反射服务器以发起攻击。当前最具威胁的反射服务器包括以下三类:DNS服务器、Gnutella服务器、基于TCP/IP的服务器( 特别是Web服务器)。

3.3 其他的DoS攻击

其他的DoS攻击手法主要有利用TCP/IP协议进行的TCPDoS攻击, 如SYNFlood攻击、Land攻击、Teardrop攻击; 利用UDP服务进行的UDPDoS攻击, 如UDP FloodDoS攻击; 利用ICMP协议进行的ICMPDoS攻击,如Pingof Death 攻击、Smurf 攻击等。

3.4 DoS攻击简评

DoS攻击针对的是互联网上的网络和设备,目的是使其无法继续工作。它不需要攻击者具备很好的技术能力,任何人只要有攻击程序, 就可以让未受保护的网络和设备失效, 因此DoS攻击相对简单, 且容易达到目的。现在, 随着DDoS和DR-DoS出现和进一步发展,DoS攻击的破坏力变得更大, 也更难以防范和追根溯源。因此重视DoS攻击并研究其相应防范技术显得更为重要。

4 DOS常用的命令

Windows 2000/2003 Server

4.1.最基本,最常用的,测试物理网络的

ping 192.168.10.88 -t ,参数-t是等待用户去中断测试

4.2.查看DNS、IP、Mac等

A.在Win98平台上用的是:winipcfg

B.B.Win2000以上的平台上用的是:Ipconfig/all

C.NSLOOKUP:如查看河北的DNS

C:\>nslookup

Default Server: https://www.wendangku.net/doc/6712878710.html,

Address: 202.99.160.68

>server 202.99.41.2 则将DNS改为了41.2

> https://www.wendangku.net/doc/6712878710.html,

Server: https://www.wendangku.net/doc/6712878710.html,

Address: 202.99.160.68

Non-authoritative answer:

Name: https://www.wendangku.net/doc/6712878710.html,

Address: 202.99.160.212

4.3.网络信使

Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段

net stop messenger 停止信使服务,也可以在面板-服务修改

net start messenger 开始信使服务

4.4.探测对方对方计算机名,所在的组、域及当前用户名

ping -a IP -t ,只显示NetBios名

nbtstat -a 192.168.10.146 比较全的

https://www.wendangku.net/doc/6712878710.html,stat -a 显示出你的计算机当前所开放的所有端口

netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等

6.4.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址

arp -a

4..7在代理服务器端

捆绑IP和MAC地址,解决局域网内盗用IP:

ARP -s 192.168.10.59 00-50-ff-6c-08-75

解除网卡的IP与MAC地址的绑定:

arp -d 网卡IP

4.8.在网络邻居上隐藏你的计算机

net config server /hidden:yes

net config server /hidden:no 则为开启

4..9几个net命令

A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。

比如:查看这个IP上的共享资源,就可以

C:\>net view 192.168.10.8

在 192.168.10.8 的共享资源

资源共享名类型用途注释

--------------------------------------

网站服务 Disk

命令成功完成。

B.查看计算机上的用户帐号列表 net user

C.查看网络链接 net use

例如:net use z: \\192.168.10.8\movie

将这个IP的movie共享目录映射为本地的Z盘

D.记录链接 net session

例如: C:\>net session

计算机用户名客户类型打开空闲时间-------------------------------------------------------------------------------

\\192.168.10.110 ROME Windows 2000 2195 0 00:03:12

\\192.168.10.51 ROME Windows 2000 2195 0 00:00:39

命令成功完成

4.10、路由跟踪命令

A.tracert https://www.wendangku.net/doc/6712878710.html,

B.pathping https://www.wendangku.net/doc/6712878710.html, 除了显示路由外,还提供325S的分析,计算丢失包的%

4.11.关于共享安全的几个命令

A.查看你机器的共享资源 net share

B.手工删除共享

net share c$ /d

net share d$ /d

net share ipc$ /d

net share admin$ /d

注意$后有空格。

C.增加一个共享:

c:\net share mymovie=e:\downloads\movie /users:1

mymovie 共享成功。

同时限制链接用户数为1人。

4.12.在DOS行下设置静态IP

A.设置静态IP

CMD

netsh

netsh>int

interface>ip

interface ip>set add "本地链接" static IP地址 mask gateway

B.查看IP设置

interface ip>show address

Arp

显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。

4.13.经典的DOS命令和使用方法

经典的DOS命令,新手必用的教材~!

语法

arp [-a [InetAddr] [-N IfaceAddr] [-g [InetAddr] [-N IfaceAddr] [-d InetAddr [IfaceAddr] [-s InetAddr EtherAddr [IfaceAddr]

参数

-a [InetAddr] [-N IfaceAddr]

显示所有接口的当前 ARP 缓存表。要显示指定 IP 地址的 ARP 缓存项,请使用带有 InetAddr 参数的 arp -a,此处的 InetAddr 代表指定的 IP 地址。要显示指定接口的 ARP 缓存表,请使用 -N IfaceAddr 参数,此处的 IfaceAddr 代表分配给指定接口的 IP 地址。-N 参数区分大小写。

-g [InetAddr] [-N IfaceAddr]

与 -a 相同。

-d InetAddr [IfaceAddr]

删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。要删除所有项,请使用星号通配符代替 InetAddr。

-s InetAddr EtherAddr [IfaceAddr]

向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静

态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表分配给该接口的 IP 地址。

/?

在命令提示符显示帮助。

注释

InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。

物理地址 EtherAddr 由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。

通过 -s 参数添加的项属于静态项,它们不会 ARP 缓存中超时。如果终止TCP/IP 协议后再启动,这些项会被删除。要创建永久的静态 ARP 缓存项,请在批处理文件中使用适当的 arp 命令并通过“计划任务程序”在启动时运行该批处理文件。

只有当网际协议 (TCP/IP) 协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。

范例

要显示所有接口的 ARP 缓存表,可键入:

arp -a

对于指派的 IP 地址为 10.0.0.99 的接口,要显示其 ARP 缓存表,可键入:

arp -a -N 10.0.0.99

要添加将 IP 地址 10.0.0.80 解析成物理地址 00-AA-00-4F-2A-9C 的静态ARP 缓存项,可键入:

arp -s 10.0.0.80 00-AA-00-4F-2A-9C

At

计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则 at 列出已计划的命令。

语法

at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]

at [\\ComputerName] hours:minutes [/interactive] [{/everyate[,...]|/nextate[,...]}] command]

参数

\\computername

指定远程计算机。如果省略该参数,则 at 计划本地计算机上的命令和程序。 ID

指定指派给已计划命令的识别码。

/delete

取消已计划的命令。如果省略了 ID,则计算机中所有已计划的命令将被取消。 /yes

删除已计划的事件时,对来自系统的所有询问都回答“是”。

hours:minutes

指定命令运行的时间。该时间用 24 小时制(即从 00:00 [午夜] 到 23:59)的小时: 分钟格式表示。

/interactive

对于在运行 command 时登录的用户,允许 command 与该用户的桌面进行交互。

/every:

在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行command 命令。

date

指定运行命令的日期。可以指定一周的某日或多日(即,键入 M、T、W、Th、F、S、Su)或一个?械哪橙栈蚨嗳眨??1 到31 之间的数字)。用逗号分隔多个日期项。如果省略了 date,则 at 使用该月的当前日。

/next:

在下一个指定日期(比如,下一个星期四)到来时运行 command。

command

指定要运行的 Windows 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的通用命名协定 (UNC) 符号,而不是远程驱动器号。

5、DoS攻击的防范技术

根据上述DoS攻击原理和不断更新的攻击技术,很少有网络可以免受DoS 攻击,DoS防御存在许多挑战。主要原因:一是分组、分组头、通信信道等都有可能在攻击过程中改变,导致DoS攻击流不存在能用于检测和过滤的共同特性;二是分布资源的协作使DoS攻击难以防御和跟踪,同时,资源、目标和中间域之间缺乏合作也不能对攻击做出快速、有效和分布式的响应;三是攻击者紧跟安全技术的进展,不断调节攻击工具逃避安全系统检查。面对此种情况,可以从以下几个方面来防范DoS攻击。

5.1、加固操作系统

对各种操作系统参数进行设置以加强系统的稳固性。重新编译或设置Linux 以及各种BSD系统、Solaris和Windows等操作系统内核中的某些参数,可在一定程度上提高系统的抗攻击能力。

5.2、利用防火墙

防火墙是防御DoS攻击最有效的办法,目前很多厂商的防火墙中都注入了专门针对DoS攻击的功能。现在防火墙中防御DoS攻击的主流技术主要有两种:连接监控(TCP Interception)和同步网关(SYN Gateway)两种。

5.3、利用负载均衡技术

就是把应用业务分布到几台不同的服务器上,甚至不同的地点。采用循环DNS服务或者硬件路由器技术,将进入系统的请求分流到多台服务器上。这种方法要求投资比较大,相应的维护费用也高。

5.4、带宽限制和QoS保证

通过对报文种类、来源等各种特性设置阀值参数,保证主要服务,稳定可靠的资源供给,防止有限资源被过度消耗。以上方法对流量小、针对性强、结构简单的DoS攻击进行防范还是很有效的。而对于DDoS攻击、DRoS攻击等攻击,则需要能够应对大流量的防范措施和技术,需要能够综合多种算法、集多种网络设备功能的集成技术。

参考文献

[1] (美)Bruce Schneier.网络信息安全的真

相[M].北京:机械工业出版社.2001

[2] 王忠诚.电子商务安全[M] 北京:机械工

业出版社.2005

[3] 肖军模.网络信息安全[M].北京:机械

工业出版社.2005

[4] 蒋汉生.电子商务安全导论[M].辽宁:

辽宁教育出版社.2005

DDOS的攻击与防范

1 概要

DDOS是英文“Distributed Denial of Service”的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。虽然同样是拒绝服务攻击,但是DDOS和DOS 还是有所不同,DDOS的攻击策略侧重于通过很多“僵尸主机”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为“洪水式攻击”,常见的DDOS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDOS攻击,原因是很难防范,至于DOS 攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDOS攻击。

2、DDOS的攻击原理

众所周知,DoS(Denial of Service,拒绝服务攻击) 是DDoS的基础,它利用了TCP三次握手过程的空子。攻击者首先向服务器发送带有虚假地址的Syn 连接请求,服务器接~lJSyn请求信息之后就发送Syn+ACK或RST回复信息,然后等待回传信息。由于地址是虚假的,所以服务器一直等不到回传的消息分配给这次请求的服务器资源就始终无法被释放。当服务器等待一定的时间后,连接会因超时而被中断。攻击者会再度传送一批新的请求,在这种反复不断地、无休止地发送伪地址请求的情况下,服务器资源在漫长的回应等待中最终被耗尽。

单一的DoS攻击是一对一的。若被攻击目标计算机的CPU速度低、内存小或网络带宽窄等各项性能指标不高,其攻击效果比较明显。然而,随着计算机处理能力的大大提高和网络技术的高速发展,其对恶意攻击包的承受能力大为提高,使得攻击者对目标的攻击效果大打折扣。于是攻击者们又找到了另一种新的DoS攻击方法,RpDDoS。DDoS是利用多台计算机,采用分布式对单个或多个目标同时发起DoS攻击。攻击者首先寻找在互联网上有系统漏洞(Bug)的计算机,窃取其IP地址、用户名和登录密码等数据,进入系统后安装后门程序,即木马病毒。这些被安装了特定程序、受到攻击者控制的各类计算机,充当了傀儡角色。攻击者发动攻击的时候,通常攻击者本身并不直接参与,而是利用这些傀儡。攻击时,攻击者向主控端发送攻击命令,主控端又把这些指令送到代理主

机上,代理端是真正向受害者发起攻击的直接执行者。

DoS攻击只需要一台单机和一个调制解调器(Modem) 就可实现,算是“单打”;而DDoS攻击是利用一大批受控制的计算机向目标同时发起攻击,采用狼群战术,属于“群殴”。这样来势迅猛的、从不同方向不同渠道来的密集攻击令人难以防备,因此具有较大的破坏性。

现今全球网络广泛连接,给我们的生活带来了方便,同时也为DDoS攻击创造了极为有利的条件。现在,各大城市之间网络带宽都为G级,这使得网络攻击者更容易从远程城市,甚至从其他国家发起攻击,受控制的代理端主机可以分布在更大范围,甚至可以跨越国界遍布全世界,选择和利用它更灵活、更方便,攻击者隐藏起来更难以寻迹。上面提及的韩国的网络攻击事件充分证明了这一点。

3、DDoS防范方法

DDoS攻击主要分两大类:带宽耗尽型和资源耗尽型。①带宽耗尽型主要是堵塞目标网络的出口,导致带宽消耗不能提供正常的服务。例如:常见的Smurf 攻击、 UDP Flood攻击、MStream Flood攻击等,都属于此类型。针对此类攻击一般采取的措施是QoS,即在路由器或防火墙上针对此类数据流进行限制流量,从而保障正常带宽的使用。单纯带宽耗尽型攻击较易被识别,并被丢弃。②资源耗尽型是攻击者利用服务器处理缺陷,消耗目标服务器的关键资源,~MCPU、内存等,导致无法提供正常服务,常见的有TCP Syn Flood攻击等。资源耗尽型攻击利用系统对正常网络协议处理的缺陷,使系统难以分辨正常流和攻击流,因此防范难度较大。

根据DDoS的攻击原理,对DDoS攻击的防范主要分为三层:攻击源端防范、骨干网防范和目标端防范。对于第一层攻击源端而言,由于攻击者发动攻击之后,往往删除攻击命令等痕迹,隐藏起来,再加上网络上联网协议的缺陷和无国界性,以目前的国家机制和法律很难追踪和惩罚国外的DDoS攻击者。对于第二层大型电信骨干网来说,他们需满足各种不同用户的服务要求,其认证和授权问题难以解决,所以在节点上实行限制,实现起来难度很大。因此,第三层的目标端防范技术,作为最实际的防范措施,得到广泛的应用。

本人写的只是讨论目标端路由器防范。用户端路由器的 ACL*M~E流是比较有效的防范措施,例如对特征攻击包进行访问限制;发现有攻击嫌疑的IP包就丢弃;或者对异常流量进行限制等。

3.1 过滤广播欺骗(Broadcast Spoofing)

Smurf攻击通常使用IP欺骗使网络产生大量的响应 ICMP回复请求。路由器上设置Access list和Filtering directed broadcast可阻断某些Smurf攻击。

可滤掉的IP地址域:

0.0.0.0/8:Default/Broadcast&Other unique IP

127.0.0.0/8:Host Loopback IP address

169.254.0.0/16:DHCP中自动生成的IP

192.0.2.0/24:TEST~NET IP

10.0.0.0/8,172.16.0.0/12,192.168.0.0/16:

RFC 1918上定义的IP

Acces list set

Router(config)#acces-list 101 deny ip 0.0.0.0 0.255.255.255 any Router(config)#acces-list 101 deny ip 10.0.0.0

0.255.255.255 any

R0uter(confjg)#access—list l 0l deny ip

127.0.0.0 0.255.255.255 any

Router(config)#access—list 1 0 1 deny ip

169.254.0.0 0.0.255.255 any

Router(config)#access-list l01 deny ip

192.0.2.0 0.0.0.255 any

Router(config)#access—list 101 deny ip

172.16.0.0 0.15.255.255 any

Router(config)#access-list 1 0 1 deny ip

192.168.0.0 0.0.255.255 any

Router(config)#access—list 101 deny ip{内部网

IP组}any

Router(config)#access-list l 0 1 permit ip any

any

Router(config)#interface serial 0

Router(config—if)#ip acces—group 1 0 1 in

Cisco 7000 Series Router Acces list set(Turbo

ACL enable)

Router(config)#acces-list compiled

Filtering directed broadcast

Router(config—if)#no ip directed broadcast

3.2 利用反向路径转发(RPF)过滤源IP欺骗

Cisco路由器上使用“ip verfy unicast reverse~ path”网络接口命令,这个功能检查每一个经过路由器的数据包。在路由器的CEF(Cisco Expres Forwarding) 表中,该数据包所到达网络接口的所有路由项中,如果没有该数据包源IP地址的路由,该数据包将被丢弃。

RPF Rule Set

Router(config)#ip cef

Router(config——if)#ip verify unicast reverse-path

使用Unicast RPF需要打开路由器的“\CEF

swithing\”或“\CEF distributed switching\”选项,不需要将输入接口配置为CEF交换。只要该路由器打开了CEF功能,所有独立的网络接口都可以配置为其他交换模式。

Dual-Homed Routing RPF Rule Set

Router(config)#ip cef一>cef enable

Router(config—if)#ip verify unicast source

reachable——via any

3.3 过滤TCP Syn Flooding(Syn洪水攻击)

如上所述,客户端与服务器建立连接,是TCP的三次握手来实现的。攻击者

利用发送带有虚假地址的Syn请求,以此来消耗服务器的资源。解决SynFlooding 的方法之一为:

利用established过滤TCP协议

Router(config)#access-list 1 05 permit tcp any

192.168.10.0 0.0.0.255 established

Router(config)#access-list 1 05 permit tcp any

host 192.168.10.1 eq 80

Router(config—if)#ip access-group 1 05 in

Established状态是已经建立连接的状态。以上设置中,外部的数据包只与192.168.10.1的服务器建立连接,其余的都被丢弃掉。而内部的192.168.10.0/24所有host均可与外部建立连接。

利用TCP intercept过滤Syn Flooding

Router(config)#access-list 1 07 permit tcp any

l92.168.10.0 0.0.0.255.

Router(config)#ip tcp intercept mode intercept

Router(config—if)#ip access-group 1 07 in

以Intercept Mode~作的路由器,拦截在ACL中定义的TCP(Syn)包,代替服务器先与客户端建立连接,如连接成功,再与服务器连接,最后将两个half —connection合并起来,形成一个完整的透明连接。用这种利用IP Spoofing 的方法可以阻挡Syn Flooding攻击,但其缺点是会增加路由器的开销。

3.4设置Rate Limit进行过滤

ICMP是广为利用的网络管理协议,攻击者也用来做网络攻击手段。设置Rate Limit将利用CAR可限制传输量,拦截攻击。但需注意一点,Rate Limit不能截断DoS的所有攻击。

利用CAR to rate limit过滤ICMP packets

access-list 2020 permit icmp any any echo-

reply

interface xy

rate——limit output access-group 2020 3000000 5 1 2000 786000 conform-action

transmit exceed-action drop

用rate limiting过滤Syn packets

access-list 1 52 permit tcp any host eq www

access-list 1 53 permit tcp any host eqⅥ,、Ⅳw established

interface{int}

rate-limit output access-group 1 53 45000000 1 00000 1 00000 conform-action

transmit exceed—actiOn drop

rate-limit output access-group 1 52 1 000000 1 00000 1 00000 conform-action

transmit exceed-action drop

此外,设置硬件防火墙也是很重要的。在防火墙上封掉不必要的端口,关闭

相关文档