您的当前位置:首页正文

分布式拒绝服务攻击研究

2020-08-19 来源:品趣旅游知识分享网
2009年第2期福建电脑

59

分布式拒绝服务攻击研究

陈连波,白丽梅

(铁岭广播电视大学辽宁铁岭112000)

【摘要】:分布式拒绝服务(DDos)攻击,是用分布在不同地点的大量计算机,采用协作的方式,同时向被攻击目标发送大大超过其处理能力的数据包,使被攻击目标不能提供正常服务。本文主要分析了DDoS攻击的特点、攻击程序及分类。

【关键词】:分布式拒绝服务攻击;攻击程序

1、分布式拒绝服务攻击概述

分布式拒绝服务(DDos)攻击,是用分布在不同地点的大量计算机,采用协作的方式,同时向被攻击目标发送大大超过其处理能力的数据包,使被攻击目标不能提供正常服务。自1999年来,许多著名的网站如Yahoo、造Ebay等都曾遭受过这种攻击,成了难以挽回的经济损失。因为DDos攻击可以伪造源地址,具有极大的隐蔽性,检测困难,所以Ddos攻击是目前Internet上最难防范的攻击方式。1.1DDoS攻击分析

攻击主机通过长时间准备,入侵大DDoS攻击的基本过程:

当攻击从机接量攻击从机,并在从机上安装守护进程(Daemon),

受到攻击命令后,首先向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,因为地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终不能被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击从机会再次传送新的一批请求。在这种反复发送带有虚假地址请求的情况下,服务器资源最终会被耗尽,甚至导致系统崩溃。

1.2DDoS攻击特点

改变了传统的点对点DDoS攻击采取了分布式的攻击手段,

攻击模式,使得攻击数据流呈现无规律状态;通常使用常见的协议与服务,仅从协议与服务类型方面难以区分正常连接请求与恶意请求;攻击数据包通常经过伪装,使用伪造的源IP地址,无法识别来源。以上特点使得对DDoS攻击的检测十分困难。1.3被DDoS攻击时的现象

被DDoS攻击时的现象包括:被攻击主机上有大量等待的

网络中充斥着大量无用的数据包;高流量无用数据造TCP连接;

成网络拥塞,使受害主机无法正常与外界通信;利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求,造成系统死机。1.4DDoS攻击特性

对DDoS攻击进行分析,可以得到以下DDoS攻击特征:(1)攻击流量目的地址过于集中,且无拥塞控制特性。

(2)用随机端口攻击目标机时,同时向目标机数千端口发送数据包;用固定端口攻击目标机时,同时向目标机单一端口发送大量数据包。

(3)当发生TCPFLOOD/ICMPFlood时,流向目标机流量包含大量的相同标志位数据包,如TCPSYN包、TCPRST包、ICMPECHO包、ICMPMASK包、ICMPTIME包等。1.5DDoS攻击程序

目前攻击者最常使用的几种DDoS攻击程序是:Trinoo,TFN,Stacheldraht和TFN2k。1.5.1Trinoo

Trinoo是发布最早的主流工具,使用TCP和UDP,工作方式是通过一个远程控制程序(攻击者)和主控(Master)通信,指挥守护进程(服务器程序)发动攻击。守护进程驻存在实际进行攻击的系统上,而Master控制守护进程系统。攻击者控制了足够数量的傀儡机并在傀儡机上安装配置好DDoS软件,便建立好了Trinoo网络,随时可以进行攻击。1.5.2TFN(TribeFloodNetwork)

TFN是德国著名黑客Mixter编写的,它由客户端程序和守护程序组成,通过绑定到TCP端口的RootShell控制,实施ICMPFlood,SYNFlood,UDPFlood和Smurf等多种拒绝服务的分布式网络攻击。主控端和代理端主机相互间通信时使TFN客户端、

用ICMPEcho和IcmpEchoReply数据包。1.5.3Stacheldraht

Stacheldraht结合了Trinoo与TFN的特点,并添加了一些补充特征,如加密组件之间的通信和自动更新守护进程。Stachel-draht使用TCP和ICMP通信,攻击者与主控端交互,同时主控端控制代理端。Stacheldraht在功能上与Trinoo和TFN相近。1.5.4TFN2k

TFN2k代表TFN2000版,是Mixter编写的TFN后续版本,它允许端口上随机通信及加密,这样就绕过了边界路由器上端口阻挡的防护措施和入侵检测软件。TFN2k攻击不但可以与SYN、UDP、ICMP和Smurf攻击相配合,而且还可以在不同的攻击方式之间随机切换。2、DDoS攻击的分类

按照TCP/IP协议的层次可将DDoS攻击分为基于ARP的攻击、基于ICMP的攻击、基于IP的攻击、基于UDP的攻击、基于TCP的攻击和基于应用层的攻击。2.1基于ARP的攻击

ARP是无连接的协议,当收到攻击者发送来的ARP应答时,它将接收ARP应答包中所提供的信息,更新ARP缓存。因此,含有错误源地址信息的ARP请求和含有错误目标地址信息的ARP应答均会使上层应用忙于处理这种异常而无法响应外来请

如ARP重求,使得目标主机丧失网络通信能力,产生拒绝服务,

定向攻击。

2.2基于ICMP的攻击

攻击者向一个子网的广播地址发送多个ICMPEcho请求数据包,并将源地址伪装成想要攻击的目标主机的地址。这样,该子网上的所有主机均对此ICMPEcho请求包作出答复,向被攻击的目标主机发送数据包,使该主机受到攻击,导致网络阻塞。例如Ping洪水攻击和Smurf攻击就是典型的基于ICMP的攻击。

2.3基于IP的攻击

TCP/IP中的IP数据包在网络传递时,数据包可以分成更小

在实现分段重新组装的的片段,到达目的地后再进行合并重装。

进程中存在漏洞,缺乏必要的检查。利用IP报文分片后重组的重叠现象攻击服务器,进而引起服务器内核崩溃,如Teardrop是基于IP的攻击。2.4基于UDP的攻击

UDP为用户程序之间的信息传输提供了简便的协议机制,但不提供错误更正和重发,也不防止包的丢失或重复。由于UDP不会验证其发送的数据报是否被正确接收就会发送新的数据报,因此可以伪造大量的数据报用于攻击目标主机,如UDPFlood,UDPEcho,Fraggle等都是基于该协议的攻击。

(下转第78页)

78

数据对象个数之比的反比值.即:

福建电脑

2009年第2期

DKC值表明了这样一个事实:高的DKC值说明对象p周围是一个稀疏的区域,这个对象很可能是一个孤立点;低DKC值说明该对象周围是一个密集的区域它不可能是孤立点。4、基于2k-距离的孤立点算法的描述

基于2k-距离算法的形式化描述如下:Inputs:Dataobjects,intknOutputs:outlier

1.Computealldistancesfrompandselectthefirstk-minninumdistancefromp

2.selectthemaxofthek-mininumdistanceask-distance(p)3.Findk-distanceneighborhoodsofeachobjectp4.Find2k-distanceneighborhoodsofeachobjectp4.Computetdkofp6.selectthetopnwithmaxtdk(p)asoutlier该算法包含六个步骤:

步骤1是计算数据集中所有对象到对象p的距离,并选出其中最小的k个距离。

步骤2是计算对象p的k-距离。

步骤3是计算对象p的k-距离半径内的邻居数目。步骤4是计算对象p的2k-距离半径内的邻居数目。步骤5是计算对象p的DKC值。

步骤6是计算出前n个最大的DKC值的对象做为孤立点。5、实验分析

为了验证DS算法的有效性,在综合数据集上进行了实验。本文实验环境是P42.93GHz,256MB内存,WindowsX专业版操作系统。算法在VC6.0环境下用C++语言实现。数据集存储在文本文件中。5.1正确性分析

有使用一个2维的数据集做实验。其中包含53个孤立点,

孤立点随机分布。图1中可以看4个大小和密度各不相同的簇,

到算法成功的区分出了数据集中的4个簇,并且可以有效的识

别出孤立点。

时间性分析

对于做执行时间的实验使用的数据集结构与验证正确性实验中使用的数据结构相似。考察算法对于不同大小的数据集合的反映时间。实验结果如图2所示。从图中可以看出算法的时间复杂度增加呈一阶线性变化,这说明算法对大规模数据集具有较好的处理能力。

图1图2

6、结束语

本文介绍了孤立点及其挖掘算法,给出了一个新的标识孤立点的定义和算法,并用实验验证了该定义的有效性。未来的工作是进一步研究在高维空间中孤立点的识别方法以及如何提高在真实数据集上的精度问题。

参考文献:

1.Guyon,I.andStork,D.Lineardiscriminantandsupportvectorclassifiers[C].inAdvancesinLarge-MarginClassifiers(eds.A.Smola,P.J.Bartlett,B.Sch?lkopfandD.Schuurmans),147-169,MITPress(2000).

2.Matic,N.,Guyon,I.,Bottou,L.,Denker,J.andVapnik,V.,Computeraidedcleaningoflargedatabasesforcharacterrecognition[C].Proceedingsofthe11thInternationalConferenceonPatternRecognition,1992,2:330-333.3.Hawkins,D.:\"IdentificationofOutliers\andHall,London,1980.4.E.Knorr,R.Ng.AlgorithmsforMiningDistance-basedOutliersinLargeDataSets[C],ProceedingsoftheVLDBConference,1998.392-403.

5.范明,孟小峰1数据挖掘概念与技术M1北京:机械工业出版,2001.8

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第59页)

2.5基于TCP的攻击

在建立TCP连接的过程中,如果在第二次握手以后故意不回应,服务器一般会重新发送SYN/ACK报文给客户端,并在等待一段时间后丢弃这个没有建立连接的请求。值得注意的是,服务器用于等待来自客户机的ACK信息包的TCP/IP堆栈是有限的,如果缓冲区被等待队列充满,它将拒绝下一个连接请求,造成资源的大量消耗,无法向正常请求提供服务,如SYNFlood,Land攻击等。

2.6基于应用层的攻击

应用层包括SMTP,HTTP,DNS等各种应用协议。其中SMTP定义了如何在两个主机间传输邮件的过程,基于标准SMTP的邮件服务器,在客户端请求发送邮件时,是不对其身份进行验证的。另外,许多邮件服务器都允许邮件中继。攻击者利用邮件服务器持续不断地向攻击目标发送垃圾邮件,大量侵占服

务器资源,导致正常邮件的丢失,如电子邮件炸弹、Finger炸弹等。3、结束语

本文主要分析了DDoS攻击的特点、攻击程序及分类。随着网络的发展,DDoS攻击也日益呈现出复杂性、多变性、范围广、追踪难等特征。为了避免DDoS造成灾难性的后果,应尽早识别攻击并采取相应的对策。

参考文献:

1.曹爱娟,刘宝旭,许榕生.抵御DDoS攻击的陷阱系统[J].计算机工程,2004,30(1)

2.徐鸣涛,陆松年,杨树堂.五种IP返回跟踪拒绝服务攻击方法的比较[J].计算机应用研究,2004,21(3)

因篇幅问题不能全部显示,请点此查看更多更全内容