您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 基于TCP_IP报头分析和主动测试的DDoS攻击响应机制
一般DoS攻击的抵御方法分为4个大类:第33卷第3期2010年3月合肥工业大学学报(自然科学版)JOURNALOFHEFEIUNIVERSITYOFTECHNOLOGYVol.33No.3Mar.2010基于TCP_IP报头分析和主动测试的DDoS攻击响应机制叶震,施伟伟(合肥工业大学计算机与信息学院,安徽合肥230009)摘要:为了抵御分布式拒绝服务攻击(DDoS),必须解决的一个关键问题是如何有效地从正常的数据流中隔离出攻击流。文章提出了基于TCP_IP报头分析和主动测试的响应机制:使用动态更新的规则集来分析TCP_IP报头以抵御如UDPFlood这类的无连接攻击,通过主动测试机制来抵御面向连接的攻击。仿真结果验证了该机制的有效性。关键词:DDoS;响应;TCP_IP报头;主动测试中图分类号:TP393108文献标识码:A文章编号:1003-5060(2010)03-0363-05DDoSdefenseusingTCP-IPheaderanalysisandproactivetestsYEZhen,SHIWe-iwei(SchoolofComputerandInformation,HefeiUniversityofTechnology,Hefei230009,China)Abstract:Todefendagainstdistributeddenialofservice(DDoS)attacks,onecriticalissueistoeffec-tivelyisolatetheattacktrafficfromthenormalones.AnovelDDoSdefenseschemebasedonTCP-IPheaderanalysisandproactivetestsisherebyproposed.ByanalyzingtheTCP-IPheader,thewellde-finedrulesetisdesignedtodefendtheconnectionlessorientedattack,suchasUDPfloodattack.Meanwhile,theproactivetestbaseddifferentiationtechniqueisproposedtohandleconnection-orien-tedattack.Simulationresultsvalidatetheeffectivenessofsaidscheme.Keywords:distributeddenialofservice(DDoS);reaction;TCP-IPheader;proactivetest0引言[1]攻击预防、攻击检测、攻击源追踪和攻击响应。本文将逐个对每一种抵御机制做简单介绍,并分析它们的优缺点。(1)预防。攻击预防是在攻击到达他们的目标之前来阻止他们。这类技术假定攻击流的源地址是伪造的,所以预防机制通常包含一系列的数据报过滤机制,配置了这些机制的路由器可以确保只有有效的数据流才能被转发。文献[2]中的RPF机制将入口过滤扩展到核心因特网,它根据的原则是每一条核心因特网的链路上的数据流只能来自于有限的地址集合,对任意伪造源地址来发起DoS攻击是有效的,但是过滤粒度较低。文献[3]提出的协议目的是给路由器的每一个端口提供允许出现的源IP地址的范围信息,它周期地更新每一个路由器的进入表来克服因特网的路由不对称,但这种方法需要改变路由协议。(2)检测。依据检测的方法可以将检测机制分为2类。一类是基于误用的DDoS检测。SYN检测方法[4]通过监测统计上的变化来检测攻击。误用检测技术大多建立在1个或多个的假设前提条件上,而这些假定大多数很容易受到影响,所以攻击者可以改变他们的攻击模式来逃避相应的检测机制。另一类是基于异常的DDoS检测,这种机制先建立正常的数据流模型,一旦发现异常就报警。文献[5]利用了人体免疫系统的思想。由收稿日期:2009-02-17;修改日期:2009-04-17作者简介:叶震(1953-),男,安徽无为人,合肥工业大学副研究员.击,但是如何在攻击流量聚集之前就能检测出经被证实的用户与目标之间交流的安全。安全覆盖服务体系的提出用于保证已击流364合肥工业大学学报(自然科学版)第33卷于DoS攻击固有的异常特性,这些方法是有效的,但是很难抵御分布式反射拒绝服务攻击。(3)源追踪。当DoS攻击发生时,最理想的应对措施就是利用攻击源来阻止攻击流,所以攻击源的追踪是很有必要的。主要有3种源追踪:¹通过交互作用来追踪IP地址,文献[6]向所有的路径泛洪大量的数据流,然后观察对它们的影响来推断攻击路径。这种机制的不足之处在于仅仅只适用于在一个ISP的网络内追踪攻击路径。º概率分组标记法(PPM),文献[7]中的标记方法克服了这样的问题:路由器离得越远,收到其标记的数据报的概率就越小。这种机制容易受到伪造标记的攻击。»基于hash函数的IP源追踪,文献[8]提出通过重组路由器上转发的数据报来追踪数据源,但是,源追踪的成功取决于追踪路由器的数量以及覆盖的范围。ddos攻击器(4)响应。根据响应机制距离目标处的远近,部署的位置分为3类:目的端响应、中间网络响应和源端响应。文献[9]利用历史记录来过滤带宽攻击流,它的困难在于不易从合法数据流中区分出攻击流量。中间网络响应机制有以下3种类型:延迟机制、控制器主体机制以及安全覆盖服务机制。文献[10]提出的机制可以让路由器根据去往目标的不同路径中数据量来学习到拥塞信号,从而可以区分出恶意流量。控制器主体机制的目的是从一个ISP区域的路由器边缘来过滤攻[11]在受害端部署响应机制将攻击带来的影响降到最小,因此加强响应机制的部署更具有现实性与可行性。大多数的商业DoS攻击解决方案都属于这种被攻击端反应机制,将它们部署在目的主机以及附近的路由器上较容易实现。为了提供良好的服务性能以及尽可能的容纳更多的正常用户,解决方案将数据流加以区分并给以不同的处理就成为关键。然而,由于DoS攻击流可以模仿任何类型的合法数据流导致准确的区分数据流较为困难。基于报头来辨别易受到IP伪造的攻击;基于数据报的内容来辨别也可能受到越来越多的采用端到端的加密的威胁。常见的DDoS攻击类型如下:TCPSYN攻击、UDP泛洪、PingofDeath、Smurf、Teardrop和Land攻击。将这些攻击分为面向连接的和面向无连接的两类,以便于人们使用不同的方法来区别对待它们。ddos攻击软件本文提出一个新颖的DDoS攻击响应机制:基于TCP_IP数据头分析和主动测试。使用动态更新的规则集来分析TCP_IP报头以抵御如UDP泛洪这类的无连接的攻击;通过主动测试机制来抵御面向连接的攻击,因为可以采用TCP协议内在的拥塞控制和可靠的传输机制来测试每一个TCP流来鉴别其是否为合法数据流。从它们的行为来识别出恶意数据流,如侵略性就是DDoS流的一个很显著的特征[13]。2THAPT机制的提出[12]。以2.1THAPT模型的流程上3种类型的一个基本假设前提是只有有限数量的攻击路径,所以对于分布式的,以真实地址发起的攻击很难奏效。对DDoS攻击的响应最终的目标是能在源端就可以区分并过滤掉攻击流。D-WARD机制是在源端统计流量的特征来抵御攻[3]它们仍需要技术上的不断突破。1相关工作考虑下面的情形,DDoS攻击从一大群的受控主机发起,大多数的攻击没有伪造源地址,受控主机行为与合法主机的行为很难区分,同时,攻击数据流虽然来自很多地理上呈分布式的链路,但总体效果却是一个强大的DDoS攻击。这种使用真实地址、模仿合法主机行为、分布式攻击场景可以逃过大多数现存的预防、检测、源追踪机制并直接威胁攻击目标,所以当攻击发生时人们仅期望THAPT模型的流程,如图1所示,其步骤阐述如下:图1THAPT模型流程图D=不同包地址。R=接收包总数V=总包数第3期叶震,等:基于TCP_IP报头分析和主动测试的DDoS攻击响应机制365(1)一旦接收到新数据报,接收者首先判断它的去向。若是TCP流,前往步骤(6),否则将去往步骤(2)。ddos攻击器(2)判断报头分析的持续时间是否仍在特定周期($t)内,若不在,允许该数据报;否则前往步骤(3)。(3)若仍在$t周期内,计算V、D、R的相应值。(4)如果Vv,或Dd,或Rr,需要进一步使用规则集来检测数据报;否则允许该数据报。(5)判断数据报是否匹配已定义的规则,若匹配,丢弃该数据报,然后更新规则集与$t;否则允许该数据报。(6)接收者检查元组(源IP地址、源端口、目的IP地址和目的端口)来判断当前的数据报是否属于一个新的数据流,若是,前往步骤(7);否则转步骤(9)。(7)如果是新的数据流的第一个数据包,接收者检测其允许通过的流量是否小于最大流速(接收者定义的门限值,用来保证提供一定的服务质量),若不小于,则丢弃该包。(8)若小于,允许通过该数据包之前,需要更新接收者维护的流量表,即流量计数增加1,同时初始化几个计数器,如测试成功次数和测试失败次数。(9)数据包不属于新的数据流,接收者检测该流的历史行为。若测试失败次数不小于其门限值f,丢弃该数据包。(10)对于那些之前表现良好的数据流,该机制将进一步检测其是否通过特定次数的测试h。若已经成功地通过h次的测试,则该流的以后任何数据包都直接被允许而不需要被测试。(11)对于其他的数据流,即测试成功次数低于h,则继续检测它们的当前状态,若仍处在测试状态中,该数据包前往步骤(12),否则执行步骤(13)。(12)这时,接受者可以通过控制反向ACK的速率来强制实施主动测试,测试的目的是使得当前速率不超过历史的1/2。如果数据流遵循这一限制将会被接受,并且其测试成功次数增加1;否则拒绝该数据流,测试失败次数增加1,导致后续的数据流被拒绝的可能性变大。(13)如果数据流不在被测试状态,比较该数据流速率与每个数据流平均占有的带宽速率,比较结果将决定该数据流被测试的概率。若还需要测试该数据流,转向步骤(12);否则因其速率较低而被接受。212TCP_IP报头分析21211$t更新$t是定义好的时间间隔,用来决定每个分析将持续多长时间。初始值设为011s,这样当没有攻击时大多数的数据包都将会被通过。一旦出现攻击,有些数据包将会被丢弃,导致$t增大以及利用已定义好的规则来测试更多的数据包。212.2V、D、R分析每个$t计算一次V、D、R值。(1)/容量0(Volume)计算公式为:$t。(2)/分布式0(Distributed)计算公式为:$t(3)/比率0(Ratio)计算公式为:发出包总数。选择V、D、R来分析数据流是因为它们有各自的优缺点:容量计算分析方法适合于那些有持续攻击速率的攻击,这样的攻击比较容易被检测出来。但是,面对低速率攻击时,它的性能就会下降,而且使用这种方法很难鉴别FlashCrowds和真正的DDoS攻击;分布式计算分析方法针对像Smurf和ICMP泛洪等这样的DoS攻击有着良好的性能,通常的攻击利用IP欺骗以及反射攻击使得攻击源的IP地址呈最大化分布,因此攻击源IP地址的分布性特点在攻击中是较容易识别的,但是这种方法忽视了攻击流的容量大小,如果攻击者关心的是攻击的量,而并非分布性的话,如TCPSYN泛洪,就很难捕获到这样的攻击;比率分析方法检测那些造成攻击流的进出比率很高的攻击有效,如TCPSYN泛洪和Smurf攻击,但是,这种方法很难检测出诸如Land攻击或Frag-ile攻击。因此,综合三者的优点,可以提高检测DDoS攻击的有效性。V、D和R各自的阈限分别是v、d和r。阈值的设定应当基于给定的环境以及多次的模拟试验而得。21213检测规则DDoS攻击的主要特征如下:(1)TCPSYN攻击利用TCP客户机与服务器之间的3次握手过程的缺陷来进行的。(2)UDP和ICMP泛洪攻击
本文标题:基于TCP_IP报头分析和主动测试的DDoS攻击响应机制
链接地址:https://www.777doc.com/doc-2572394 .html