作者丨小蔚
来源丨蔚可云(ID:wecloud_cn)
上网的时候,我们总能或多或少地听到一些新闻,某某网站又遭遇DDoS攻击了,十几二十个小时,网站都没办法打开。似乎每一次DDoS的出现,都有大新闻。
2018年发生了有史以来最大的DDoS攻击事件,黑客此次攻击目标,是数百万程序员使用的在线代码管理服务平台——Github,峰值高达1.35TB/S。受到攻击后,服务器断断续续,无法访问,好在20分钟内防御措施才成功缓解。
两年后几乎同一时间,DDoS攻击规模再创新高,亚马逊在AWS Shield服务中,成功拦截了2.3Tbps的DDoS攻击!
亚马逊和Github算是比较幸运的,很多网站被DDoS攻击后,都免不了瘫痪的命运。
2002年,雅虎、CNN、亚马逊、eBay、ZDNet等网站,24小时内遭受到DDoS攻击,部分网站瘫痪,仅亚马逊和雅虎两家公司,损失就高达110万美元。
2007年,爱沙尼亚三周内遭遇三轮DDoS攻击,总统府、议会、政府部门、主要政党、主要媒体和大型银行,全部瘫痪,北约顶级反网络恐怖主义专家前往救援。
2016年,美国DNS服务商Dyn遭遇DDos攻击,导致美国东海岸大量网站宕机,Twitter、Tumblr、Netflix、亚马逊、Shopify、Reddit、Airbnb、PayPal和Yelp等网站无一幸免。
在国内,2020年年底,网易的战网平台,受到了一系列大型恶意DDoS攻击,导致平台频繁断线崩溃。
为什么防不住DDoS?
被DDoS攻击的对象中,既有互联网的大型企业,也有政府部门,按常理,他们在业界数一数二,为什么还会遭遇DDoS攻击呢?难不成是因为技术水平较差?
其实这是由于网络TCP/IP协议存在的天生缺陷导致的,可以说,只要互联网用的还是TCP协议,那么DDoS就不会消失,而且还会不断发展,越来越智能化,攻击成本越来越低,进而更加泛滥。
DDoS是目前最强大、最难防御的攻击方式之一,这是一个世界性的难题,只能防御,没有办法彻底解决。
什么是DDoS?
DDoS,全称分布式拒绝服务攻击(Distributed Denial of Service),它的攻击目的,是让指定目标,无法提供正常服务,甚至从互联网上直接消失。遭受DDoS攻击后,不仅正常用户无法访问网站,而且同时还会造成很大的经济损失。
由于DDoS进行攻击时,可以对源IP地址进行伪造,使得这种攻击发生的时候,隐蔽性非常强,难以被检测和防范。
DDoS攻击,可以简单地分成三种类型
攻击带宽
海量的数据包从互联网的每一个角落蜂拥而来,堵塞IDC入口,让各种强大的防御系统、应急流程毫无用武之地。就像城市堵车一样,四面八方涌来的汽车,堵住了城市的每一条街道,只是其他车辆无法正常行驶。这种类型的攻击,典型的代表是ICMP Flood和UDP Flood。
ICMP Flood
ICMP是Internet控制报文协议,它是TCP/IP协议族的一个子协议,用于IP主机、路由器之间传递控制消息,因此为攻击者提供了极大的便利条件。
攻击者在短时间内,向目标主机发送大量的ping包,消耗主机资源,主机资源耗尽后,就会瘫痪,无法提供服务。
UDP Flood
由于UDP协议是一种无连接的服务,所以只要开了一个UDP的端口,提供相关服务的话,攻击者可发送大量伪造源IP地址的小UDP包,利用大量的UDP小包,冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDP Flood通常就能将线路上骨干设备打瘫,造成整个网段的瘫痪。
上面的两种DDoS攻击方式,技术含量比较低,攻击效果基本取决于主机本身的性能,而且很容易被查到攻击源头,单独使用已经不常见了。
攻击系统
这类攻击大多是利用协议缺陷,或者软件本身存在的漏洞发起的,例如Slowloris攻击、Hash冲突攻击。
Slowloris攻击
由于网页服务器,对于并发的连接数都有一个上限。如果恶意占用这些连接不释放,服务器就无法接收新的请求,导致拒绝服务。
Slowloris攻击者以极低的速度,向服务器发送HTTP请求的方式,来达到这个目的。
混合型
既利用协议、软件的漏洞,又具备海量的流量,例如SYN Flood攻击、DNS Query Flood攻击,是当前的主流攻击方式。
SYN Flood
攻击者会利用TCP协议的缺陷,发送大量伪造的TCP连接请求,进而使被攻击方CPU满负荷,或者内存不足。
SYN Flood攻击是通过三次握手实现的。
三次握手:
- 1.攻击者向被攻击服务器,发送一个包含SYN标志的TCP报文,SYN即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号,第一次握手达成。
- 2.受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时,TCP序号被加一,ACK即确认。第二次握手达成。
- 3.攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成。
在这三次握手中,如果有一个用户,向服务器发送了SYN报文后,突然掉线或者死机,此时服务器将无法收到客户端的ACK报文,服务器端一般会尝试重试。
等待一段时间后,还无法建立链接,才会丢弃这个未完成的连接,这个时间一般在30秒-2分钟左右。
攻击者就是通过大量模拟这种情况,通过伪装大量的IP地址,给服务器发送SYN报文,由于伪装的IP地址不存在,也就没有设备会给服务器返回任何应答,致使服务器端出现非常多的半连接列表,从而消耗大量的资源,进而瘫痪,无法响应。
这是目前最主流的DDoS攻击方式之一。
DNS Query Flood
DNS作为互联网的核心服务之一,自然成为了DDoS的一大攻击目标。
攻击者通过大量的傀儡机,对目标发起海量的域名查询请求,通常请求解析的域名,都是随机生成,或者根本不存在的域名。被攻击的DNS服务器收到解析请求后,会先查找是否有对应的缓存,如果找不到,并且服务器无法直接解析,DNS服务器就会向其上层DNS服务器,递归查询域名信息。
这一域名解析的过程,会给服务器带来很大的负载,当每秒解析域名的请求太多,超出了一定数量,就会导致DNS服务器解析域名超时,拒绝服务。
上述的几种DDoS攻击方式,基本上都能做到有效的防御,比如各大云服务商产品,再比如蔚可云的DDoS云清洗服务,可以实时监测,并清洗SYN Flood、UDP Flood等各种形式的DDoS攻击。
真正让互联网企业头疼的,是CC攻击。
CC
像SYN Flood和DNS Query Flood这类攻击,都需要用root权限,控制大量的傀儡机,很耗费时间和精力,而且期间容易被发现,导致攻击者资源损耗快,又无法得到快速补充,攻击预期往往比较低,而CC攻击则不同。
使用CC攻击,攻击者不需要控制大量的傀儡机,而是通过匿名代理,对攻击目标发起HTTP请求。
而且CC攻击,是在HTTP层发起的,极力模仿正常用户的网页请求行为,往往与网站的业务紧密相关,很多云服务商,很难提供一套通用,而且不会影响用户体验的方案。方案一旦误杀正常用户,带来的伤害会远高于攻击本身带来的伤害。
CC攻击还会引起严重的连锁反应,导致前端响应缓慢,还会间接攻击到后端等业务逻辑,以及数据库服务,甚至对日志存储服务器带来影响。
DDoS云清洗服务,也可以抵御CC攻击,目前 DMS 单节点抗攻击能力可达 800Gbps,同时 DMS 的智能调度中心能够根据攻击情况智能调度全网资源,总体抗攻击能力达到 15Tbps+。
以上就是几种常见的DDoS攻击类型,下课啦~
热门跟贴