阻斷服務攻擊

阻斷服務攻擊(英語:denial-of-service attack,简称DoS攻击),是一種網路攻擊手法,其目的在於使目標電腦的網路系統資源耗盡,使服务暂时中斷或停止,导致其正常用户无法访问。

「阻斷服務攻擊」的各地常用名稱
中国大陸拒绝服务攻击
臺灣阻斷服務攻擊

黑客使用網絡上两个或以上電腦向特定的目標发动「拒绝服务」式攻击时,稱為分散式阻斷服務攻擊distributed denial-of-service attack,简称DDoS攻击)亦称洪水攻击,意在使阻止攻击变得更加困难。据2014年统计,被确认为大规模DDoS的攻击已达平均每小时28次。[1]DDoS发起者一般针对重要服务和知名網站进行攻击,如银行、信用卡支付网关、甚至根域名服务器等。

DDoS 攻击示意图。请注意多台计算机如何攻击一台计算机

DoS也常见于部分网络游戏,被心怀不满的玩家或是竞争对手广泛使用。DoS也常被用于抗议,自由軟體基金會創辦人理查德·斯托曼曾表示,DoS是“网络街头抗议”的一种形式。[2]

攻击现象

美國國土安全部旗下的美国计算机应急准备小组英语United States Computer Emergency Readiness Team(US-CERT)[3]定义的拒绝服务攻击症状包括:

  1. 网络异常缓慢(打开文件或访问网站)
  2. 特定网站无法访问
  3. 无法访问任何网站
  4. 垃圾邮件的数量急剧增加

拒绝服务的攻击也可能会导致目标计算机同一网络中的其他计算机被攻击,互联网局域网之间的带宽会被攻击导致大量消耗,不但影响目标计算机,同时也影响局域网中的其他电脑。如果攻击的规模较大,整个地区的网络连接都可能会受到影响。

攻击方式

DoS攻击可以具体分成三种形式:頻寬消耗型、资源消耗型、漏洞觸發型。前兩者都是透过大量合法或伪造的请求占用大量网络以及器材资源,以达到瘫痪网络以及系统的目的。而漏洞觸發型,則是觸發漏洞導致系統崩潰癱瘓服務。

頻寬消耗型攻击

DDoS頻寬消耗攻击可以分为两个不同的层次;洪泛攻击或放大攻击。洪泛攻击的特点是利用僵尸程序发送大量流量至受损的受害者系统,目的在于堵塞其宽带。放大攻击与其类似,是通过恶意放大流量限制受害者系统的宽带;其特点是利用僵尸程序通过伪造的源IP(即攻击目标IP)向某些存在漏洞的服务器发送请求,服务器在处理请求后向伪造的源IP发送应答,由于这些服务的特殊性导致应答包比请求包更长,因此使用少量的宽带就能使服务器发送大量的应答到目标主机上。

UDP洪水攻击(User Datagram Protocol floods)
UDP(用户数据报协议)是一种无连接协议,当数据包通过UDP发送时,所有的数据包在发送和接收时不需要进行握手验证。当大量UDP数据包发送给受害系统时,可能会导致带宽饱和从而使得合法服务无法请求访问受害系统。遭受DDoS UDP洪泛攻击时,UDP数据包的目的端口可能是随机或指定的端口,受害系统将尝试处理接收到的数据包以确定本地运行的服务。如果没有应用程序在目标端口运行,受害系统将对源IP发出ICMP数据包,表明“目标端口不可达”。某些情况下,攻击者会伪造源IP地址以隐藏自己,这样从受害系统返回的数据包不会直接回到僵尸主机,而是被发送到被伪造地址的主机。有时UDP洪泛攻击也可能影响受害系统周围的网络连接,这可能导致受害系统附近的正常系统遇到问题。然而,这取决于网络体系结构和线速。
ICMP洪水攻击(ICMP floods)
ICMP(互联网控制消息协议)洪水攻击是通过向未良好设置的路由器发送广播信息占用系统资源的做法。

资源消耗型攻击

协议分析攻击(SYN flood,SYN洪水)
传送控制协议(TCP)同步(SYN)攻击。TCP进程通常包括发送者和接受者之间在数据包发送之前建立的完全信号交换。启动系统发送一个SYN请求,接收系统返回一个带有自己SYN请求的ACK(确认)作为交换。发送系统接着传回自己的ACK来授权两个系统间的通讯。若接收系统发送了SYN数据包,但没接收到ACK,接受者经过一段时间后会再次发送新的SYN数据包。接受系统中的处理器和内存资源将存储该TCP SYN的请求直至超时。DDoS TCP SYN攻击也被称为“资源耗尽攻击”,它利用TCP功能将僵尸程序伪装的TCP SYN请求发送给受害服务器,从而饱和服务处理器资源并阻止其有效地处理合法请求。它专门利用发送系统和接收系统间的三向信号交换来发送大量欺骗性的原IP地址TCP SYN数据包给受害系统。最终,大量TCP SYN攻击请求反复发送,导致受害系统内存和处理器资源耗尽,致使其无法处理任何合法用户的请求。
LAND攻击
这种攻击方式与SYN floods类似,不过在LAND攻击包中的原地址和目标地址都是攻击对象的IP。这种攻击会导致被攻击的机器死循环,最终耗尽资源而死机。
CC攻击(Distributed HTTP flood,分布式HTTP洪水攻击)
向受害服务器发送大量貌似合法的请求(通常為HTTP GET)。攻击者创造性地使用代理服务器,利用广泛可用的免费代理服务器发动DDoS攻击。许多免费代理服务器支持匿名,这使追踪变得非常困难。
2004年,一位匿名為KiKi的中國黑客開發了一種用於發送HTTP請求的DDoS攻擊工具以攻擊名為“Collapsar”的NSFOCUS防火牆,因此該黑客工具被稱為“Challenge Collapsar”(挑戰黑洞,簡稱CC),這類攻擊被稱作“CC攻擊”。[4]
僵尸网络攻击
僵尸网络是指大量被命令与控制英语command and control (malware)(C&C)服务器所控制的互联网主机群。攻击者传播恶意软件并组成自己的僵尸网络。僵尸网络难于检测的原因是,僵尸主机只有在执行特定指令时才会与服务器进行通讯,使得它们隐蔽且不易察觉。僵尸网络根据网络通讯协议的不同分为IRCHTTPP2P类等。
应用程序级洪水攻击(Application level floods)
与前面叙说的攻击方式不同,应用程序级洪水攻击主要是针对应用软件层的,也就是高于OSI的。它同样是以大量消耗系统资源为目的,通过向IIS这样的网络服务程序提出无节制的资源申请来破壞正常的网络服务。

漏洞觸發型

這類攻擊手法,透過嘗試觸發緩衝區溢位等漏洞[5],使作業系統發生核心錯誤蓝屏死机,達到阻斷服務攻擊。

死亡之Ping(ping of death)
死亡之Ping是產生超過IP協定能容忍的封包數,若系統沒有檢查機制,就會宕机。
泪滴攻击
每個資料要傳送前,該封包都會經過切割,每個小切割都會記錄位移的資訊,以便重組,但此攻擊模式就是捏造位移資訊,造成重組時發生問題,造成錯誤。

防御方式

拒绝服务攻击的防御方式通常为入侵检测,流量过滤和多重验证,旨在堵塞网络带宽的流量将被过滤,而正常的流量可正常通过。

防火墙

防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或IP地址。当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信。

复杂攻击难以用简单规则来阻止,例如80端口(网页服务)遭受攻击时不可能拒绝端口所有的通信,因为其同时会阻止合法流量。此外,防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响。然而,防火墙能有效地防止用户从启动防火墙后的计算机发起攻击。

网络交换设备自有能力

大多数交换机有一定的速度限制和存取控制能力。有些交换机提供自动速度限制、流量整形、后期连接、深度包检测和假IP过滤功能,可以检测并过滤拒绝服务攻击。例如SYN洪水攻击可以通过后期连接加以预防。基于内容的攻击可以利用深度包检测阻止。

和交换機類似,路由器也有一定的速度限制和存取控制能力。

黑洞引导

黑洞引导指将所有受攻击计算机的通信全部发送至一个“黑洞”(空接口或不存在的计算机地址)或者有足够能力处理洪流的网络设备商,以避免网络受到较大影响。

流量清洗

当获取到流量时,通过DDoS防御软件的处理,将正常流量和恶意流量区分开,正常的流量则回注回客户网站,反之则屏蔽。这样一来可站点能够保持正常的运作,仅仅处理真实用户访问网站带来的合法流量。

历史

Panix是世界上第三古老的ISP,被认为是首个 DoS 攻击的目标。 1996年9月6日,Panix 遭受了SYN 洪水攻击,导致其服务中断数日,而硬件供应商(尤其是思科)找到了适当的防御措施。 DoS攻击的另一个早期例子是 Khan C. Smith 在1997年的DEF CON活动期间进行的,导致拉斯维加斯大道的互联网访问中断一个多小时。活动期间发布的示例代码引发了次年对斯普林特、地球连线、E-Trade等大公司的网络攻击。 迄今为止最大规模的DDoS攻击发生在2017年9月,当时谷歌云遭受了一次峰值量为2.54Tb/s 的攻击(Google于2020年10月17日透露)。[6]

2020年2月,亚马逊云遭受了一次攻击,攻击量峰值为2.3Tb/s。  2021年7月,CDN提供商Cloudflare宣称能够保护其客户免受来自全球Mirai僵尸网络[7]的DDoS攻击,该攻击每秒发出高达1720万个请求。俄罗斯DDoS防御提供商Yandex表示,它于2021年9月5日阻止了一次HTTP管道DDoS攻击,该攻击源自未修补的Mikrotik网络设备。  2022年上半年,俄乌战争极大地影响了网络威胁格局,各个国家的支持和全球黑客趁机活动导致网络攻击大量增加。最引人注目的事件是2月份发生的DDoS攻击,这是乌克兰遭遇的最大规模的攻击,扰乱了政府和金融部门的服务。这波攻击也波及了英、美、德等西方盟国。

2023年2月,Cloudflare面临每秒7100万次请求的攻击,Cloudflare声称这是当时最大的HTTP DDoS 攻击。(HTTP DDoS 攻击是通过每秒 HTTP 请求数而不是每秒数据包或每秒位数来衡量的。 )2023年7月10日,同人小说平台Archive of Our OwnAO3)遭遇 DDoS 攻击,服务中断。AO3和专家们对一个匿名苏丹组织表示怀疑,声称此次袭击是出于宗教和政治原因。2023年8月,黑客组织NoName057执行缓慢的DoS攻击,目标针对多家意大利金融机构。2024年1月14日,在泽伦斯基总统出席达沃斯世界经济论坛的推动下,他们对瑞士联邦网站发起了DDoS攻击。瑞士国家网络安全中心迅速缓解了此次攻击,确保联邦核心服务保持安全,尽管某些网站暂时出现访问问题。  2023年10月,利用 HTTP/2协议中的新漏洞导致最大HTTP DDoS攻击记录被两度打破,其中一次是Cloudflare观察到的每秒2.01亿次请求的攻击[8],另一次则是由Google观察到的每秒3.98亿次请求的攻击[9]

参见

參考來源

  1. ^ Preimesberger, Chris. DDoS Attack Volume Escalates as New Methods Emerge. eWeek. 2014-05-28 [2015-05-09]. (原始内容存档于2019-07-13). 
  2. ^ The Philosophy of Anonymous. Radicalphilosophy.com. 2010-12-17 [2013-09-10]. (原始内容存档于2015-09-24). 
  3. ^ McDowell, Mindi. Cyber Security Tip ST04-015 - Understanding Denial-of-Service Attacks. United States Computer Emergency Readiness Team. 2009-11-04 [2013-12-11]. (原始内容存档于2013-11-04). 
  4. ^ 史上最臭名昭著的黑客工具 CC的前世今生. NetEase. 驱动中国网(北京). 2014-07-24 [2019-03-05]. (原始内容存档于2019-03-05) (中文(简体)). 
  5. ^ Denial of Service Software Attack | OWASP Foundation. OWASP. [2022-01-25]. (原始内容存档于2022-06-27). 
  6. ^ Catalin Cimpanu. Google says it mitigated a 2.54 Tbps DDoS attack in 2017, largest known to date. [2024-12-13]. (原始内容存档于2024-12-13). 
  7. ^ 什么是 Mirai 僵尸网络?. Cloudflare. [2024-06-26]. (原始内容存档于2024-06-26) (中文). 
  8. ^ Lucas Pardue; Julien Desgats. HTTP/2 Rapid Reset: deconstructing the record-breaking attack. Cloudflare. [2024-12-13]. (原始内容存档于2024-12-14). 
  9. ^ Emil Kiner; Tim April. Google mitigated the largest DDoS attack to date, peaking above 398 million rps. Google Cloud. [2024-12-13]. (原始内容存档于2024-12-13).