您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页关于针对DDoS中Flood攻击的防御系统的研究

关于针对DDoS中Flood攻击的防御系统的研究

来源:意榕旅游网
维普资讯 http://www.cqvip.com

Microcomputer Applications Voi.22,No.9,2006 综 述 微型电脑应用 2006Z年第22卷第9期 文章编号:1007—757X(2006)09—0001一o3 关于针对DDoS中Flood攻击的防御系统的研究 胥秋华,李小勇 摘要:本文主要针对DDoS中的Flood攻击的攻击特点,提出一种防御系统的结构,能够满足对不同Flood攻击检测的简易 性、有效性的要求,并且与网络的地理位置、拓扑结构规模无关。该系统主要划分为检测攻击扣确定攻击目标两个阶段。检测攻击 阶段根据对攻击特征有较好描述性的源地址、目标地址、TCP报文的标志以及ICMP报文的类型,检测攻击是否发生。当检测出 攻击发生,启动确定攻击目标阶段,找山攻击目标的具体IP地址。最后综合这两阶段的结果,提取攻击特征,将满足这些特征的 数据包过滤掉,达到防御的效果。 关键词:DDo;Flood攻击;SYN Flood;UDP Flood;ICMP Flood;MULTOPS结构 中图分类号;TP393.08 文献标识码:A 量,但仍然允许某些流量通过,且绝大多数IDS都是被动的, 即住攻在实际发生之前,它们往往无法预先发出警报。而IPS 1 引言 DoS攻击通过伪造超过服务器处理能力的访问数据耗尽 则倾向于提供主动防护,其设计宗旨是预先对入侵活动和攻 击性网络流量进行拦截,避免其造成损火。IPS通过直接嵌入 到网络流量中,即通过一个网络端口接收来自外部系统的流 量,经过检查确认其中不包含异常活动或可疑内容后,再通过 另外一个端口将它传送到内部系统中。这样一水,有问题的数 据包,以及所有来自同一数据流的后续数据包,都能在IPS设 备中被清除掉。 系统资源而造成服务器响应阻塞,使其无法提供正常的服务。 系统资源包括网络带宽、文件系统空间容量、开放的进程或 者允许的连接等。而DDoS则足DoS的特例,黑客利用多台机 器同时攻击米达到妨碍正常使用者使用服务的目的。黑客预 先入侵大量主机以后,在被害主机上安装DDoS攻击,程控被 害主机对攻击目标展开攻击,有些DDOS工具采用多层次的 架构,甚至可以一次控制高达上千台电脑展开攻击,利用这样 的方式可以有效产生极大的网络流量以瘫痪攻击目标。 从攻击类型来看,DOS攻击主要分为对一切网络设备的 流量攻击(这是目前主要的DOS或DDOS攻击形式)和针对系 统漏洞的特定攻击。典型流量型攻击方法有SYN Flood\UDP 该系统是基于保护某个服务器或内部网为目的,被设置 在内部网同Internet之间的路由器或防火端处,检测内部网与 Internet之间的所有通信数据,过滤攻击流量。住大规模的 DDoS攻击下,每一个Flood攻击源能够做到攻击流量很小, 与正常流量之间只有细微的差别,使一般的检测工具难以将 其同正常流量区分开来,但是,FIood攻击的所有流量都必在 最后一个路由器处汇聚,故在此处检测输入流能够快速地检 测山Flood攻击。 Flood和ICMP Flood等,这类攻击可以通过升级程序,打补丁 达到制止的效果。而流量型攻击利用了因特网协议本身的弱 点,以至于屡屡得逞并很难预防。基于研究的目的,本文将集 中针对流量型攻击的防御进行研究,具体提出防御流量型攻 击系统的结构,重点分析针对各类Flood攻击所采取的检测方 法以及确定攻击源的算法思想。 本文提出的防御系统的工作过程分为两个阶段,第一阶 段分析网络流量,检测其中是否混有攻击流量;当发现有攻击 迹象时,启动第二阶段,找出确切的受害者。 不同的攻击方式,攻击原理不同和攻击特点都不同,要设 2防御系统设计 本文提出的防御系统的设计思想源于入侵防护系统(In— trusion Preventl‘on Systern,IPS),过滤网络流量中的异常流 量阻止攻击造成危害。入侵检测系统(Intrusion Detection 计一种对所有攻击都有很好检测效果的检测方法是不可能 的。FIood攻击的方式多样化,必要求检测算法的多元化(见 表1)。 防御系统的结构见图1,其中SYN Flood、UDP Flood和 ICMP FIood检测器同时进行,然后将结果输入一个决策器, 做最后的决策工作。实际上这个“决策器”就是一个“或”过程, 只要其中一个检测器认为发生了攻击,那么“决策器”得出的 System,IDS) ̄过监视网络或系统资源,寻找违反安全策略的 行为或攻击迹象,并发出报警。旨在拒绝明显可疑的网络流 作者简介:胥秋华,上海交通大学信息安全工程学院 李小勇,上海交通大学信息安全工程学院 ・1’ 维普资讯 http://www.cqvip.com

Microcomputer Applications Vo1.22,No.9,2006 综 述 微型电脑应用 2006Z年第22卷第9期 结沦就是攻击存在。启动第二阶段,确定攻击目标的IP地址。 检测器还指出发生哪种攻击、使用的协议及部分特征(即检测 度也可能很大,很难准确地反映网络情况。然而,SYN数据包 和其他非SYN的TCP数据包之间的比例(SYN数据包/其他 非SYN的TCP数据包)比较稳定[4],它的变化情况能较为准 确地说明网络状况,故可作为判断依据。 出存在攻击的特征信息)。最后综合上述信息,提取攻击特征 (协议、类犁/标志、源地址/目标地址),满足这些特征的数据 包将被丢弃。 表l典型的攻击中受害机器作出的响应报文类型 发送的报文 TCP SYN(发往打开的端口) TCP SYN(发往关闭的端口) TCPACK TCPDATA TCPNULL 受害机器响应的报文 TCP SYN/ACK TCP RST(ACK) TCP RST(ACK) TCPRST(ACK) TCPRST(ACK) ICMPEcho Request ICMP TS Request ICMP Echo Reply ICMP TS Reply c 。。。。。。。。。。。。。。。。。。。-。。。。。。。。。。 一 UDP packet(发往打开的端口) UDP packet(发往打开的端口) Protocol dependent ICMP Port Unreach 根据协议分类 。。。。。。。。。。。。。。。。。。。。。 。。‘。 一 图2 网络流量分类框图 另外,从“三次握手”的角度来看,SYN Flood攻击引起输 入流中SYN数据包和FIN数据包的严重不对称。正常情况 下,每一个TCP链接的所有通信数据包都被限定在SYN数据 包(链接的开始)和FIN数据包(链接的结束)之间,也就是说, SYN数据包同FIN数据包是~一对应的。SYN Flood攻击发 送大量伪造请求链接报文,破坏双方通信建立链接的“三次握 手”过程,造成网络中存在大量的“半连接”,使SYN数据包的 数量远远多于FIN数据包。利用TCP协议的固有行为特征 图l防御系统的结构图 “SYN—FIN对”作为SYN Flood攻击检测的一种手段[3]。由 于路由器背后的终端既可能是服务器也可能是客户端,我们 无法分辨主动FlN同被动FlN,而SYN报文和sYN/ACK报 文易于区分,那么“SYN”包括SYN和sYN/ACK。则(sYN+ sYN/ACK)一FIN的/变化幅度即可反映网络中TCP链接的 状况,从而判定是否存在sYNFlood攻击。 文献[1]调查表明多于9O 的DDoS攻击是采用TCP协 议,而SYN Flood攻击又是最常用的攻击方式,对SYN Flood 攻击检测的有效性直接影响整个防御系统的性能。这里采用 以上两种检测方式同时进行,提高灵敏度。将两种检测结果进 文献[2]论述了各类参数对攻击检测好坏程度的影响度, 为我们的研究提供了参数选择的重要依据。这里选择IP源地 址、ICMP类型、IP目的地址、IP协议以及TCP标志作为检测 的主要参数。 网络流量将按照(图2)分类,作为三个检测器的输入,使 它们能够互不干扰同时工作。根据(图2)的第一次分类,根据 IP地址分类,能够分类出部分伪造IP的输出流,这类数据的 源IP地址和外部IP地址都不属于内部网段,故可能是内部网 中的某些机器发送的攻击数据包,直接丢弃即可。下面针对几 种常见的攻击方式,再详细阐述应对的检测。 2.1 SYN Flood的检测 行“或”运算,即只要其中一种检测方式认定存在攻击,那么判 定攻击存在。 当SYN FIood攻击发生时,输入流中的SYN数据包数会 急剧增加,SYN报文数的变化情况将会反映攻击是否发生。 2.2 LIDP Flood的检测 LJDP是一种无连接的协议,当攻击者随机地向受害系统 的端口发送UDP数据包的时候,就可能发生了UDP Flood攻 但是,正常网络中的SYN数据包数变化得较为频繁且有时幅 ・2・ 维普资讯 http://www.cqvip.com

Microcomputer Applications Vo1.22,No.9,2006 综 述 微型电脑应用 2006Z年第22卷第9期 击。当受害系统接收到一个UDP数据包的时候,它会确定目 为受害方。MuLT0PS[5]是一种数据结构,它既能够用于检 测攻击,也能够用于确定攻击目标,且准确性高,速度快。但这 种结构的数据量大,要求很大的内存空问。为了能将这种结构 较好地融合到本文设计的系统中,只用其来确定攻击目标,从 的端口正在等待中的应用程序。它发现该端口中并不存在正 在等待的应用程序,就会产生一个目的地址无法连接的ICMP 数据包发送给该伪造的源地址(表1)。如果向受害者计算机端 口发送了是够多的UDP数据包的时候,整个系统就会瘫痪。 而降低对内存的要求。 MULOPS是一个4层256叉树(图3),它覆盖了所有IPv4 地址空问。每个节点是一个有256个记录的表,每一项记录了 3个数据:输入报文数、输出报文数和指向下一层孩子节点的 指针(无孩子节点时,为NULL)。输入报文数是以某个IP地址 为目的地址的报文,输出报文数是以该IP地址为源地址的报 攻击发生时,目的端不可到达的IcMP数据包(C[MP Pott Unreach)迅速增加,则不可到达ICMP数据包在总的 ICMP数据包中所占的比例会大幅度增加,该参数的异常突 变反映了UDP Flood攻击的发生,故可作为判断依据(即:不 可到达ICMP数据包/lCMP数据包)。 2.3 ICMP Flood的检测 文。这里每一项记录的查找以IP地址作为索引,每一段地址 索引一层节点。下面以确定攻击目标为例,解释如何使用MI. JLTOPS结构。*.*.*.*是树的根节点(每一项记录以第 一ICMP主要用于当某个网关发现传输错误时,立即向信 源主机发送ICMP报文,报告出错信息,让信源主机采取相应 处理措施,它足一种差错和控制报文协议,不仪用于传输差错 报文,还传输控制报文。Et常中,我们最常用的ICMP报文足 响应请求(Type=8)和应答(Type—O),一台主机向一个节点 发送一个Type一8的ICMP报文,如果途中没有异常(例如被 段地址为索引),R(P)为所有输入报文数与输山报文数的 比例,当R(P)大于一定值时,说叫其内部地址有受害者。进一 步分析该节点的每一项R(P),假设16.*.*.*、89.*.*. *、130.*.*.*的R(P)异常,则这些网段中存在受害者,将 树扩展到第二层(三个节点),父亲节点中的第16、89和130项 的指针分别指向相对应的孩子节点,这些孩子节点仍是含256 项记录的表(16.0.*.*一16.255.*.*)。依次类推,逐步扩 展树,直到找到目标节点。 路由器丢弃、目标不回应越ICMP或传输失败),则目标返回 Type=0的1CMP报文,说明这台主机存在,这也就是常说的 ping。但是ping本身很慢(微软为了防止每个人都能用ping来 干坏事,故意将ping延时),很难达到攻击效果。 为了实现ICMPFlood攻击,目前黑客主要采用“反射型” 攻击方式。这种攻击模式里,最终淹没目标的洪水不是由攻击 一雪 者发出的,也不是伪造IP发出的,而是正常通讯的服务器发 出的。“Smut.fFlood”攻击就是这么一种工具,它的实现的原 理也不算复杂,Smurf方式把源IP设置为受害者IP,然后向多 台服务器发送ICMP报文(通常是ECHO请求),这些接收报 文的服务器被报文欺骗,向受害者返回ECHO应答(Type— O)。没有哪个合法的反射器会遇到连接失败的情况,这将导致 垃圾阻塞受害者的门口 对于这类攻击,受害者收到的报文都是来自于正常IP发 送的正常报文,一般防火干墙对它为力。通常采用Type一 0的ECHO应答或Type一14的时间戳应答的攻击方式效果很 亘 图3 MULTOPS 对于某一特定网络来说,不需要对整棵树进行维护。通常 内部网的IP地址的前两段地址是相同的,后两段地址不同 的,例如192.168.*.*。这里把(192.168.*.*)作为根节 点,不断检测R(P)值,若发现异常时,检测该节点的每一项R (P)值(256项),找山异常项并建立对应的新节点(例如:第25 项的R(P)值异常,则新结点192.168.25.*),由异常项的指 好,也是攻击者常用的。正常网络环境中,ECHO应答和时间 戳应答通常与ECHO请求和时间戳请求分别一一对应,而攻 击时,受害方只是收到应答报文,造成请求报文同应答报文之 间的比例严重失调。根据这一特征,可通过对1CMP特定类型 针指向,从而扩展下一层。依次类推,找到确切的攻击目标。这 样,不仅降低的对内存的要求,同时提高了计算速度。 的数据包统计,识别这类攻击,即响应应答报文/响应请求报 文和时间戳应答报文/时间戳请求报文。在网络正常情况下, 这两个参数在1附近上下波动;而网络受到攻击时,它们向0 逼近。 2.4确定攻击目标或攻击源 3结论 本论文针对现有的常见Flood攻击特点,采用多样的检测 算法,有针对性地逐个击破。提出了一种融合这些检测算法的 防御系统结构,采用两阶段检测步骤,第一阶段由三个检测器 组成,分别检测SYN Flood、UDPFlood和ICMP Flood;确定发 生了流量攻击,第二阶段使用MULTOPS结构统计可疑网段 的流最数据,逐步深入,找出确切的受害IP。然后过滤掉可疑 (下转第24页) 输入流和输出流对于不同大小和地理位置的网络是不同 的,但是输入/输出的比例却基本上是稳定的[5]。这里引入一 个概念R(P),R(P)是目的地址为P的数据报文比上源地址为 P的数据报文所得的值。如果R(P)大于一定值,那么内部子网 ・3・ 维普资讯 http://www.cqvip.com

Microcomputer Applications Vo1.22,No.9,2006 BYTE i—type;//类型 BYTE i—code;//代码 USHORT i—cksum;//校验和 开发应用 微型电脑应用 2006Z年第22卷第9期 bwrote=sendto(sockRaw,icmp—data,datasize,0,(struct sockaddr*)&dest,sizeof(dest)); UsHORT i一 d;//自定义数据 bread—recvfrom(sockRaw.recvbuf,MAX——PACKET. 0,(struct sockaddr*)8drom,8dromlen); DecodeICMPHeader(recvbuf,bread, ̄drom); return 0; ) 3.5运行结果 在初始化文本文件中输入要查询的IP地址序列,运行软 件,即可检测微机的在线情况。 IpList.tXt 6//所要查询的IP个数 11.27.25.31 11.27.26.31 11.27.25.32 USHORT i—seq; ULONG timestamp; 1l_27.26.32 11.27.25.6O 11.27.26.8O )IcmpHeader; 3.4程序过程 void FillICMPData(char*icmp--data,int datasize){) void DecodelPOptions(char*bur,int bytes){) void DecodeICMPHeader(char*buf,int bytes,struct 运行结果: 4结束语 该系统应用于各类飞行器跟踪测控前的网络连接检查中,确 sockaddr--in*from){) int main(int argc,char*argv[]) ( 保了网络微机工作的可靠性,在实际应用中快捷、有效。 参考文献: [1]Anthony Joned,Jim Ohlund Windows网络鳊程技术 sockRaw=WSASocket(AF—INET,SOCK—RAW,IP— PROTO — ICMP, NULL,0。 WSA — FLAG — OVERLAPPED); [M].机械工业出版社 r2-]Tim Parker Mark,Sportack TCP/IP技术大全[M].机械 工业出版社 FillICMPData(icmp--data,datasize); [3]谢希人.计算机网络[M].大连理工大学出版社 (收稿日期:2006—2—22) v.O- (上接第3页) 2002[c]. [4]Seung—won Shin,K—young Kim,Jong—SO0 Jang.D~ SAT:Detcting SYN flooding Attack by Two——stage sta— 流景,从而达到防御攻击的目的。提高Flood攻击检测的精确 度和高效性,降低误报率以及在网络处理器上的具体实现是 今后进一步研究的方向。 tistical approach[A].IEEE,O一7695—2262—9/O5,2005 [c]. [5]B.E.Brodsky,Nonparametric Methods in Change.Point Problems’Kluwer Academic Publishers r A].ISBN: 0792321227,1993rC]. 参考文献: [1]David Moore,Geoffrey M.Voelker and Stefan Savage,In— ferring internet Denial of Service Activity rA].USENIX Security Symposium,2001 rC]. [6]Haling Wang,Danlu Zhang and Kang(3.Shin.“Chang— Point Monitoring for the Detection of DoS Attacks[A]. IEEE,TDSC一0001—0104,2004rC]. [2]Akira Kanaoka,Eij i Okamoto Multivaricate Statistical Analysis of Network Traffic for Intrustion Detection [7]Thomer M.Gil and Massimiliano Poletto MULTOPS:a data—structure for bandwidth attack detection[A]. [A].IEEE,1529—4188/03,2003[C] [3]Haining Wang,Danlu Zhang and Kang G.Shin“Detecting SYN Flooding Attack[A].IEEE,0—7803—7476—2/02, ・24・ USENIX Security Symposium,2001[c]. (收稿日期:2006—6—1) 

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

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务