基于IPv6的DDoS攻击分析
2016-09-01刘铁武向昌盛时凌云
刘铁武,向昌盛,时凌云
(湖南工程学院 计算机与通信学院,湘潭 411104)
基于IPv6的DDoS攻击分析
刘铁武,向昌盛,时凌云
(湖南工程学院 计算机与通信学院,湘潭 411104)
互联网面临的最严重的安全威胁之一是DDoS攻击.随着IPv6网络的发展,研究其面临的DDoS攻击是不能回避的现实问题.在分析DDoS攻击成因的基础上,将其分为资源攻击和漏洞攻击.讨论了DDoS攻击的原理、DDoS攻击的特征以及IPv6与DDoS的关联.分析了IPv6潜在的新的攻击点,一方面,能为DDoS攻击的检测和控制提供基础;另一方面能为合理利用DDoS攻击提供帮助.
DDoS攻击;IPv6;攻击点;资源攻击;漏洞攻击
DDoS(distributed denial of service)攻击[1]是指攻击者通过傀儡主机,消耗攻击目标的计算资源或对被攻击者系统进行破坏,阻止目标为用户提供合法的服务.Web服务器和DNS服务器成为了最常见的攻击目标.计算资源是指CPU、内存、网络带宽等.
根据CERT统计[2],DDoS攻击正以每年50%的速度增长.统计资料表明,DDoS攻击是最主要的、最常见的网络攻击手段.Microsoft、SCO、Amazon、eBay、Yahoo等知名网站都曾受到其攻击,致使服务中断数小时,损失超过数百万美元.DDoS攻击不但可以针对网络主机,而且可对路由器等网络基础设施进行攻击,可以使攻击目标邻近区域通信流量过载,从而使网络性能下降.
IPv6协议的基本框架已经逐步成熟.由于地址短缺等原因,日本和韩国等亚洲国家在IPv6的商务和业务开展方面处于领先地位,作为IP的发源地,美国在地址和商业网络占据先天优势,不愿花费大量成本构建IPv6的应用网络,主要以实验和研究为主.但在技术方面处于世界领先地位.IETF的6bone已扩展到全球54个国家和地区,这标志着IPv6必将在全球范围内得到部署和应用[3-4].
DDoS攻击的研究是网络技术的热点之一[5],当前的主要研究成果是基于IPv4,侧重于DDoS攻击的检测与控制,它们局限于特定的应用环境.而IPv6网发展时间较短,相应的研究成果不多.
通过分析,我们知道,基于IPv4的某些DDoS攻击对于IPv6仍然有效,并且IPv6为DDoS攻击提供了新的途径.
DDoS攻击犹如”过街老鼠”.其实,我们还应看到其积极的一面,让它为我们服务.比如应用于军事上,对敌方网络进行攻击.1991年的海湾战争就是一个范例[4].
由此可见,本文的研究工作对于DDoS的控制和合理利用,具有理论价值和现实意义.
本文第1节介绍了DDoS产生和发展的背景;第2节基于协议结构讨论了IPv6与DDoS的关联,并由此对攻击分类,分析了攻击的特征和原理;第3节分析了IPv6潜在的攻击点;第4节是研究工作的结论.
1 DDoS攻击的产生和发展
多种因素推动了DDoS攻击的产生和发展.
①漏洞.大量的操作系统和协议漏洞使得攻击者组织和控制大量的僵尸主机,构建大规模的僵尸网络成为可能.互联网设计之初,主要关注包的快速转发,没有重视其安全性.
②网络规模的发展.网络规模的迅速扩大,为大规模的僵尸网络提供了可能.如MS08-067病毒形成的僵尸网络主机高达1800万[3].
③硬件的发展.随着电子技术和网络技术的发展,主机的处理能力不断增强,网络带宽不断提高,僵尸主机能以更高的效率进行攻击.
④体系结构.将处理功能交结网络边缘部分,是当今网络技术的趋势.正是这种哑铃结构,决定了骨干网络不具备检测和控制能力.
⑤利益驱动.商家之间竞争、国家利益冲突等.
此外,由于大量攻击工具的出现,降低了攻击的技术难度;还有的人为了炫耀技术等.
2 DDoS攻击与IPv6
2.1协议结构分析
2.1.1IPv4的局限性
随着网络技术和网络应用的高速发展,IP v4的缺陷正日益显现.与DDoS攻击相关的有:
①32位地址结构中,因为所划分的子网较小,攻击主机能够利用IP地址进行线性扫描,很容易地发现网络中的活动主机.
②IP分组中,虽然定义了服务类型字段,由于历史的原因,并没得到广泛的支持.这种“尽力而为”(best effort)的网络,无法提供QoS保证,也无法区分服务的差异.
③IPSec仅作为其可选组件,IPv4本身并不对分组的来源进行检查,也没有加密措施,源地址欺骗和网络窃听成为了可能.
2.1.2IP v6的改进
比较而言,面对DDoS攻击,IP v6有了很多有益的改进.
①IPSec作为IP v6的必备组件,提供了数据完整性检查、数据加密、访问控制、数据源的身份认证、抗重播攻击等安全特性.这种主动防御机制能有效防御诸如源地址欺骗、窃取主机敏感信息和机密信息的攻击,具有更高的安全性.
②巨大的地址空间中,其地址结构引入了本地网络和本地子网的概念,限制使用NAT,允许网络节点使用全球唯一的IP地址进行通信. 这种可会聚的(aggregateable)、层次化的地址结构能有效抵御网络扫描,使病毒传播变得困难.
③基于IPv6的DNS系统,以PKI为基础,能有效抵御身份伪装和信息窃取.如果能采用DNS Security Extensions 协议,能进一步增强新的针对DNS的攻击的防护能力.
④ICMPv6不响应组播和广播地址,如能在网络边缘设计过滤规则,就能阻止攻击者的数据包向广播网段扩散.
⑤IP v6不允许分组长度小于1280字节(最后一个分组例外),对于这样的包直接丢弃而不转发,这能防止一部分碎片攻击.
2.2分类
从研究的角度出发,有多种关于DDoS攻击的分类方法.依据网络体系结构,文献[1]划分为网络层攻击和应用层攻击;根据包的地址和攻击速率,文献[5]局限于网络层DDoS攻击进行了详细分类;本文依据DDoS的攻击点,将其分为资源攻击和漏洞攻击.
2.2.1资源攻击
它以消耗网络带宽,主机的CPU、内存等资源为目的.
针对带宽的flood攻击是最常见的,资料显示,它占DDoS攻击的90%以上[2].资源攻击有TCP/SYN flood, UDP flood, ICMP/ping flood,ICMP/Smurf flood和它们的任意组合.其特征是大量看似合法的TCP、UDP、ICMP的数据包被传送到目的地.SYN flood利用了TCP连接建立的3次握手过程,向目标发送大量握手请求的SYN包,使服务器无法处理正常的握手请求; UDP 是面向无连接的, UDP flood 可以随意地发送大量UDP包到某个端口,如果是不正常的应用,服务器要回送ICMP请求,由此消耗服务器处理资源,并且很容易阻塞上行链路的带宽; ping是通过发送ICMP报文探寻网络主机是否存在的命令,某些操作系统,不能处理超过65535字节的Ping包,导致Ping to Death.随着操作系统、网络带宽和计算机硬件的升级,单个Ping包攻击效果不佳,而结合TCP/IP协议的ping flood具有很大的攻击力;Smurf采用反射技术,向多个目标发送ICMP请求,源地址改为攻击目标的地址,于是大量的ICMP回送到攻击目标.
DNS攻击利用了DNS请求基于UDP,不需要认证的特点,向服务器发送大量的、随意的域名解析请求,占用处理机资源.SQL也是常见的攻击目标,如果没有正确的索引,对大型表的排序等,最坏情形下将引发O(n2)的操作,以此消耗CPU资源,增大响应时间.
2.2.2漏洞攻击
指利用网络协议、操作系统、应用程序的漏洞和bug而实施的攻击.如碎片攻击通过对重组的分片的偏移量进行精心构造,使其相互重叠,系统因不知如何处理这样的分片而死机;缓冲区溢出攻击则利用了程序和编译器不对缓冲区进行严格的边界检查的弱点,写入超过缓冲区容量的数据,导致程序运行失败,系统死机、重启等.
值得一提的是,许多攻击既利用了漏洞,又消耗了资源,如TCP/SYN flood利用了3次握手的过程,考虑其以消耗资源为目标,本文将其归结为资源攻击.
2.3攻击的特征和原理
2.3.1攻击的特征
资源攻击是当前网络面临的最主要的DDoS攻击,因为互联网主要承载TCP业务,其中又以TCP/SYN flood最为常见.分析DDoS攻击,我们可以知道其特征如下[3-5].
①攻击流量的目的地址相对集中,并且不支持拥塞控制.正常流量的发送进程应该会考虑拥塞控制的,当发现网络通信质量很差时, 发送进程应该减少发送速率.拥塞控制可以由传输层实现,如TCP本身的拥塞控制机制; 而UDP协议因其本身不具有拥塞控制机制,则只能由应用层来实现.但是,DDoS攻击流量不会考虑网络拥塞,当网络拥塞仍然大量发送数据包.
② 集中于同一目标主机的多个端口,或者是同一目标主机的同一端口.一种是利用随机端口同时向目标机数千端口发送数据包;另一种是用固定端口同时向目标机单一端口发送大量数据包.
③ TCP Flood/ICMP Flood攻击时,大量的数据包标志位相同.数据包可以是TCP的SYN包、RST包和ICMP的 mask包、time包、echo包等.
2.3.2攻击原理
每个DDoS攻击服务器是一台已被入侵并运行了特定程序的网络主机[2-4],能够控制多个攻击代理(attack agent),各个攻击代理接受服务器的指令向目标发送攻击包.其算法步骤为:
①探测扫描大量主机,寻找可入侵的目标.
②入侵有安全漏洞的主机,植入攻击攻击程序,以取得控制权.
③利用傀儡主机继续扫描、入侵,建立大规模的傀儡主机群.
④对目标发动攻击.
图1 攻击的基本模型
3 IPv6的新的攻击点
综上分析,由于IPv6的新特性,某些面向IPv4的DDoS攻击将失效,但是并不能克服所有的DDoS攻击.一方面,正如IPv6集成业务企业Nephos6的JohnSpence所说,“大多数认为IPv6比IPv4更加安全的想法,都源于RFC强制要求IPv6堆栈中包含IPsec支持;但无疑是一种太过简单的看法.”并且,在最近发布的RFC6434中,已经取消了这一强制要求.也就是说,我们根本无法确定IPsec是否将作用于某些IPv6的软件和硬件上.另一方面,Ipsec仅仅是IP层协议组件,无力解决其它层次的安全问题,例如,来自应用层的攻击.除此之外,网络、协议和OS存在着各种各样的漏洞,一些面向IPv4的DDoS攻击对于IPv6仍然有效,并且IPv6可能为DDoS提供新的攻击点.
3.1IPv6与 IPv4共存
IPv6正在快速发展,但是,由于部署成本等原因,IPv4还将在今后较长一段时间存在,在它完全退出之前,互联网是IPv6与 IPv4共存的局面.由此,将会产生一些安全问题.
①从IPv4向IPv6转换.它们并不是“逐位”(bit on the wire)兼容,IPv6本身的双协议堆栈努力提供自动转换机制[4].当转换流通过网络时,必然要进行事务处理(transaction):拆分每一个IPv4分组,修改分组的内容,按IPv6的要求重新封装.其中的每次操作,都给执行不力者提供了机会,可能产生或者触发安全漏洞.
②6RD和6to4的使用.6RD和6to4都不需要专门的隧道,就能实现IPv6网络与 IPv4网络之间的数据交换[2,3].这为用户带来方便的同时,也可能给ISP带来威胁.一些面向IPv4的攻击直接威胁IPv6网络, ISP反而可能成为攻击的源头.
③IPv4与IPv6的互动.为了促进IPv6的部署,大多数应用程序在执行DNS查表等操作时,倾向于优先采用IPv6选项,这就可能使流量翻倍.加重路由器和网络的负担.
④隧道操作.在不同网络间进行隧道操作,即使是IPSec也可能产生问题.一般地,隧道操作等同于建立网络-网络、网络-主机、主机-主机之间的VPN.原来的分组被封装在一个新的分组中.与超出发送方控制的网络建立VPN时,可能暴露数据,被攻击者利用.另外,IPSec的安全保护需要用到附加协议(如IKE),进行密钥协商和管理.增加了复杂性和网络设备的负担.
3.2IPv6自身
3.2.1协议框架
网络协议的主要任务是数据通信,而不是抵御DDoS攻击.任何协议都是有漏洞的,IPv6也不例外.
①大网段.理论上,IPv6的一个网段可容纳264个主机.扫描一个IPv4的子网只需几秒,而扫描一个IPv6子网需要数年.这提高了攻击者扫描漏洞的难度,但同时也给IP管理带来了困难.为了管理,只能缩小扫描区间.可能的做法是,拒绝分配一部分地址.但是这样,很多用户会被大型网络地址转换协议(NAT-PT)设备隐藏在固定的地址集后面,给攻击者提供了机会.特别是一些知名的IP地址和命名空间,将面临巨大威胁.
②加密机制.基于PKI(Public Key Infrastructure )的加密和认证机制的安全性依赖于密钥的长度.密钥越长,其计算量越大,这为攻击者提供了新的攻击点.当前,网络的带宽增长速度远高于CPU主频的增长速度.如果攻击者向目标发送大量随意填充的数据包,被攻击者就会因为耗费大量CPU时间而无法响应正常的服务.
3.2.2协议机制
IPv6的协议机制,为攻击者提供了机会.
①组发地址.如FF01::1是所有DHCP服务器的地址,也就是说,以该地址为目标地址的分组,所有DHCP服务器都可能收到.利用这点,容易对DHCP服务器进行攻击,使其无法提供服务.
②邻居发现(neighbor discovery).在IPv6中,邻居发现使用了5种不同类型的ICMP6.有多种用途.如在链接中可包含确定邻居的链路层地址,清空已失效的缓存值,还可发现那些自已想要转发分组的邻居.但同时,它也给攻击者提供了机会.邻居发现攻击将取代IPv4中的同类攻击,例如ARP Spoofing攻击.
③分片攻击点.攻击者利用IPv6报文分片正常过程中的一些漏洞,绕过防火墙实施攻击.包过滤设备仅通过判断第一个分片的目的端口号来决定是否允许通过.于是,攻击者将第一个分片伪装成合法的,包含恶意数据的后续分片就可以穿透防火墙,到达网络主机内部实施攻击.
3.2.3包头漏洞
IPv6分组特有的头部,给攻击者提供了机会.
①大型扩展头.在IPv6中,取消了IPv4的选项功能,却附加了一组目标选项、逐跳(hop-by-hop)选项、身份认证等的扩展头,它与40字节的主头和有效负载一起构成Pv6的分组.大量大型的扩展头的流量会淹没防火墙和安全网关,也会降低路由器转发能力.这给DDoS攻击提供了途径[5].
②Type 0路由头. Type 0路由头功能,可以使某些数据解释为源路由内容丢失,利用这一点,可以制造出路由循环的DDoS攻击.如图1,一个发给节点A的数据包,被标记为经过再返回A.在IPv4中,最多包含9个路由节点,但在IPv6中可以达到88个.这明显增加了攻击的可能性.一份Cisco的报告显示[3],这一漏洞可能导致内存崩溃,并有可能导致远程代码的执行.如果远程代码执行失败,就可能对路由器造成DDoS攻击.
图2 分组的路由循环
3.2.4OS漏洞
在IPv4中,大量的OS漏洞和bug已经被攻击者利用.面对IPv6,有些操作系统暴露出一些新的漏洞.Linux和Mac限制所监听的路由器数目为15,而windows XP、2003、vista等最流行的OS却没有这一限制[4].著名的漏洞工具flood-router6正是利用了这点,成为了攻击者首选的工具包.在短时间内向子网发送大量数据包,只需几秒,一台健全的windows设备就变成了砖头.
Naptha漏洞[5]则是利用OS内核会在一定时间内为TCP连接保存一条记录,利用大量的连接来消耗主机的计算资源.
除了上述攻击点外,另一个令人担忧的事实是:许多基于IPv4的研究成果可能失效.以文献[4]为例,它提出的 APA-ANTI-DDoS模型从异常流量、拥塞特性和协议分析3个方面着手,很好地解决了DDoS的检测和防御.但是,其基本思想是通过Hash函数将232个IP地址映射到一个较小的空间来检测DDoS攻击,对于IPv6巨大的地址空间,它将无能为力.
4 结 论
不断发展的网络技术和计算机硬件技术、不断增加的漏洞,为DDoS攻击提供了客观条件.当前,僵尸网络的规模已达到千万级,攻击流量达几十G.本文的研究结果表明, DDoS攻击是以漏洞为切入点,以消耗目标的计算资源为目的.与IPv4相比,IPv6虽然避免一部分DDoS攻击,但有些攻击手段仍然有效.并且,IPv6本身潜伏着一系列新的攻击点.
各种攻击方法灵活组合形成新的变种、应用层攻击等是DDoS攻击发展新的趋势.
以本文为基础,我们将在后续的工作中研究DDoS攻击的检测和控制.
[1] Zhang YZ, Xiao J, Yun XC, Wang FY. DDoS Attacks Detection and Control Mechanisms[J]. Journal of Software, 2012,23(8):2058-2072.
[2] Chen Y, Ku W, Sakai K, Decruze C. A novel DDoS Attack Defending Framework with Minimized Bilateral Damages[J]. In: Proc. of the 7th IEEE Conf. on Consumer Communications and Networking Conf. (CCNC). Piscataway, 2010:1-5.
[3] Mirkovic J, Reiher P. A Taxonomy of DDoS Attack and DDoS Defense Mechanisms[J]. ACM SIGCOMM Computer Communication Review, 2004,34(2):39-54.
[4] Sun ZX, Jiang JL, Jiao L. DDOS Attack Detecting and Defending Model. Journal of Software, 2007,18(9): 2245-2258.
[5] Kumar K, Joshi RC, Singh K. A Distributed Approach Using Entropy to Detect DDoS Attacks in ISP Domain[C]. In: Proc. of the Int’l Conf. on Signal Proceeding, Communications and Networking (ICSCN). Chennai, 2007:331-337.
DDoS Attacks Analysis Based on IPv6
LIU Tie-wu, XIANG Chang-sheng, SHI Ling-yun
(College of Computer and Communication, Hunan Institute of Engineering, Xiangtan 411104, China)
DDoS Attacks are one of the most serious security threats for the Internet. Along with the development of IPv6 network, studying DDoS attacks IPv6 faces has become an avoidable realistic problem. Based on the analysis of the cause of DDoS attacks, the paper divides DDoS Attacks into resource attacks and Vulnerability attacks. The paper discusses the principles of DDoS attacks, the characteristics of DDoS attacks and the association between IPv6 and DDoS. Analyzing potential new attack points, for one thing, provides the basis for DDoS attacks detection and control; for another, offers help for rational utilization of DDoS attacks.
DDoS Attacks; IPv6; Attack Points; Resource Attacks; Vulnerability Attacks
2016-02-28
湖南省自然科学基金项目(2016JJ2040);湖南省大学生研究性学习和创新性实验计划项目(湘教通[2014]248).
刘铁武(1966—),男,副教授,研究方向:数据结构与算法.
TP393.4
A
1671-119X(2016)03-0037-05