华为Anti-DDoS技术漫谈
上QQ阅读APP看书,第一时间看更新

1.1 什么是DDoS攻击

1.1.1 DDoS攻击的定义

DDoS的前身是DoS(Denial of Service,拒绝服务),最基本的DoS攻击是指攻击者利用大量合理的服务请求来占用过多的攻击目标的服务资源,从而使合法用户无法得到服务响应的过程。DoS 攻击一般采用一对一的方式,当攻击目标各项性能指标不高时(例如 CPU 速度低、内存小或者网络带宽小等),它的效果是明显的,如图1-1所示。

图1-1 DDoS攻击过程示意

随着计算机处理能力的不断提高,网络带宽迅速增长,以往的受攻击目标对这些恶意请求的“消化能力”增强了很多,这就使得Dos攻击的困难程度大大增加。一个攻击者无法使目标“拒绝服务”,那么攻击者会同时发起多个攻击,这时 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击也就应运而生了。DDoS攻击是指攻击者控制僵尸网络中的大量僵尸主机向攻击目标发送大流量数据,耗尽攻击目标的系统资源,导致其无法正常地响应服务请求。

1.1.2 DDoS攻击的特点

1.DDoS攻击很容易被发起

DDoS攻击的发起很容易,攻击者可以很方便地从互联网获取各类DDoS攻击工具,从而发起攻击。比较出名的发起DDoS的免费工具有卢瓦(LOIC)、HOIC(LOIC升级版)、XOIC、Hulk、DAVOSET、黄金眼等。DDoS攻击者还可以购买僵尸网络或者DDoS攻击服务,有的攻击者甚至可以借助正常的软件或网站发起攻击。

2.DDoS攻击防御难度大

DDoS 攻击防御难度大,攻击会损害受害者的金钱、服务和信誉。报告显示,65%以上的DDoS攻击每小时给受害企业造成的损失高达一万美元。例如2016年10月,针对美国DNS服务提供商Dyn公司的一系列DDoS攻击导致Twitter、GitHub、BBC、华尔街日报、Xbox官网、CNN、HBO Now、星巴克、纽约时报、The Verge、金融时报等大量站点无法正常访问,造成的损失不可估量。

1.1.3 DDoS攻击的分类

DDoS 攻击根据攻击方式划分有以下三种类型:泛洪攻击(Flood)、畸形报文攻击(Malformation)和扫描探测类攻击(Scan&Probe)。

1.泛洪攻击

泛洪攻击是一种攻击者通过僵尸网络、代理或直接向攻击目标发送大量伪装的服务请求报文,最终耗尽攻击目标的资源的攻击方式,如图1-2所示。攻击者发送的大量报文可以是TCP的SYN和ACK报文、UDP报文、ICMP报文、DNS报文、HTTP/HTTPS报文等。

图1-2 泛洪攻击

近年来,泛洪攻击又发展出了一种高级形式,即反射攻击。反射攻击并不是攻击者直接向攻击目标发起大量的服务请求,而是攻击者控制僵尸网络中的海量僵尸主机,将其伪装成攻击目标,然后这些僵尸主机以攻击目标的身份向网络中的服务器发起大量服务请求。网络中的服务器会响应大量的服务请求,并发送大量的应答报文给真正的攻击目标,从而造成真正的攻击目标性能耗尽。

反射攻击大多是由UDP flood变种而来的,它反射的是UDP报文,例如NTP、DNS、SSDP、SMTP、Chargen 等。攻击者为什么会选中 UDP 报文呢?因为 UDP 的响应(Response)报文大小要大于请求(Request)报文,这样攻击者就实现了放大攻击流量的目的。

以NTP报文为例,NTP的Monlist命令被用来查询最近所有和服务器通信的记录,服务器会返回最多600个通信记录,这样流量就被放大了数百倍。如果攻击者控制成千上万的僵尸主机,并将其伪装成攻击目标,并向NTP服务器发送大量此命令,那么反射给攻击目标的流量数量可想而知!

2.畸形报文攻击

畸形或特殊报文攻击通常是指攻击者发送大量有缺陷或具有特殊控制作用的报文,从而造成主机或服务器在处理这类报文时造成系统崩溃的过程。常见的畸形报文攻击有Smurf、Land、Fraggle、Teardrop、WinNuke攻击等。特殊控制报文攻击包括超大ICMP报文、ICMP重定向报文、ICMP不可达报文和各种带选项的IP报文攻击。

3.扫描探测类攻击

扫描探测类攻击是一种潜在的攻击行为,并不具备直接的破坏行为。它通常是指攻击者发动真正攻击前的网络探测行为,例如IP地址扫描和端口扫描等。

DDoS攻击从网络层次的划分见表1-1。

表1-1 攻击分类

1.1.4 DDoS攻击分析

1.DDoS攻击类型

通过以上描述,大家应该对DDoS攻击有了初步的了解。下面我们再为大家分析一下当前DDoS攻击的趋势,让大家对我们当今所处的网络环境中的DDoS攻击有一个初步的认识。

如图1-3所示,华为未然实验室现网络攻击事件统计数据显示,SYN flood、UDP flood(包括UDP类反射放大攻击)、HTTP get flood、DNS query flood等依然是DDoS攻击的惯用手段。

(1)SYN flood

SYN flood攻击是DDoS攻击中的经典方式,也是最古老和原始的DDoS攻击方式。在网络发展初期,SYN flood攻击就是DDoS攻击的代名词。SYN flood攻击具有攻击简单、防御难的特质。SYN flood攻击使用的是最简单、最常用的、被用于TCP三次握手的SYN报文,所以其发起攻击十分简单;而且,SYN报文是TCP连接建立的第一个报文。单独来看,每一个SYN报文都是正常的,防御设备不会对其采取任何措施。

(2)UDP flood

UDP flood攻击目前已经取代SYN flood攻击,成为DDoS攻击中的主要方式。具体原因如下:第一,UDP 都是无连接的协议,不提供可靠性和完整性校验,因此其成为攻击者理想的利用对象;第二,UDP 种类繁多,防御起来难度更大;第三,传统 UDP 攻击是攻防者之间关于带宽的比拼,而反射型的 UDP 攻击让攻防者不再对等,因为反射出来的攻击流量要远远大于攻击者投入的流量。

(3)HTTP flood

HTTP flood攻击迅速发展的原因如下:第一,HTTP的应用十分广泛;第二,网页和应用中的漏洞比较容易被攻击者利用构造HTTP反射类的攻击。例如,攻击者在海量访问的网页中嵌入指向攻击目标网站的恶意 JavaScript 代码,当互联网用户访问该网页时,流量会被反射到攻击目标网站。

(4)DNS flood

DNS flood攻击DNS服务器的代价小,影响范围广,能够造成恐慌,因此此类攻击仍占有较大比例。

2.DDoS攻击目标

DDoS 的攻击目标主要为游戏、电子商务、互联网金融等,如图1-4所示。这些都是利润较高的行业,且是竞争最激烈的行业。因此恶意竞争是目前DDoS攻击的主要动机。利润越高、竞争越激烈的行业,遭受攻击的频率越高。

图1-3 DDoS攻击类型分布

图1-4 DDoS攻击行业分布

游戏行业作为近几年兴起的新兴行业,已经成为 DDoS 攻击的“重灾区”。游戏行业也是竞争最激烈的行业之一,在线游戏和直播网站一旦被攻击,玩家将直接掉线,由此带来的损失非常大。游戏行业用户基数大、用户类型多、在线维护难度大的特点,也使其极易受到DDoS攻击。另外,由于很多游戏是基于私有协议开发的,传统的DDoS防御手段在没有贴合业务特性的情况下,防御DDoS攻击较难。

3.DDoS攻击的趋势

DDoS攻击的趋势总结起来主要有4点,如图1-5所示。

图1-5 DDoS攻击趋势

(1)攻击流量越来越大

DDoS的攻击流量已达500Gbit/s。2016年全球有记录的DDoS峰值已近60Gbit/s,而到了2017年上半年,规模最大的DDoS攻击流量则已达到650Gbit/s。其中,游戏行业大于30Gbit/s以上的攻击就超过了1800次。

(2)移动攻击越来越多

随着智能终端和4G 移动网络的普及,来自移动端的攻击越来越多。移动终端的安全防护能力和用户安全意识较弱,容易成为DDoS攻击利用的对象。值得一提的是,随着物联网的兴起,基于物联网协议的SSDP(Simple Service Discovery Protocol)的反射攻击频率越来越高,明显超越NTP、DNS等传统反射攻击。SSDP被广泛应用于网络摄像头和智能家电,因此SSDP反射攻击源数量非常庞大,而且网络资源更加丰富。

(3)应用型攻击越来越普遍

应用层的攻击将会越来越普遍。报告显示,2017年与2016年相比,应用型攻击增长了42%。其中HTTP flood攻击增长高达26%,混合型攻击增长高达40%。

混合型攻击是指攻击者同时采取多种类型的攻击报文来进行DDoS攻击,例如,传输层与应用层相结合的DDoS攻击,应用层的HTTP flood大流量攻击与HTTP慢速小流量渗透攻击相结合的攻击。混合型DDoS攻击让普通的DDoS防御设备难以防范,或将成为今后主流的DDoS攻击方式。

(4)攻击更多是从数据中心发起的

报告显示,由数据中心向外发起的DDoS攻击呈增长趋势;数据中心服务器被黑客控制沦为僵尸网络的趋势也与日剧增;超大流量的DDoS攻击多数由被控制的数据中心发起。由此可见,数据中心已经成为DDoS攻击的控制目标。

随着云计算的快速发展,互联网业务越来越集中,云数据中心将面临比传统数据中心更加严峻的DDoS攻击考验。主要原因在于:云数据中心虚拟机的租户身份难以被有效识别,且其安全意识薄弱;虚拟机数量庞大、业务种类多、流量模型差别大,难以得到完全的、具有针对性的防护。