目录

低速缓慢攻击

https://www.cloudflare.com/zh-cn/learning/ddos/ddos-low-and-slow-attack/

低速缓慢攻击是一种 DDoS 攻击,旨在使用极慢的 HTTP 或 TCP 流量来停止 Web 服务。

学习目标

阅读本文后,您将能够:

  • 定义低速缓慢攻击
  • 描述低速缓慢攻击的工作方式
  • 知道如何防护低速缓慢攻击

什么是低速缓慢攻击?

低速缓慢攻击是 DoS  DDoS 攻击的一种,依赖一小串非常慢的流量,可以针对应用程序或服务器资源发起攻击。与更传统的蛮力攻击相比,低速缓慢攻击所需的带宽非常小,并且难以防护,因为它们生成的流量很难与正常流量区分开。由于不需要很多资源就能发起,使用一台计算机就可以成功发起低速缓慢攻击。用于发动低速缓慢攻击的两个最受欢迎的工具是 Slowloris  R.U.D.Y.。

低速缓慢攻击的工作原理

低速缓慢攻击以基于线程的 Web 服务器为目标,旨在通过慢速请求捆绑每个线程,从而阻止真正的用户访问服务。在攻击时,需要非常缓慢地传输数据,但传输速度又足够快以防止服务器超时。想象有一座四车道桥梁,每个车道都有收费站。司机在收费站处停车,交出钞票或几枚硬币,然后过桥,即可为下一个司机腾出车道。现在想象一下,有四个驾驶员同时出现并占据了所有开放的车道,而他们每个人都慢慢地将小额硬币交给收费站操作员,一次交一枚硬币,堵塞所有可用车道数小时,并阻止其他驾驶员通过。这种令人丧气的情况就与低速缓慢攻击的工作原理非常相似。

攻击者可以使用 HTTP 标头、HTTP 发布请求或 TCP 流量进行低速缓慢攻击。以下是 3 个常见的攻击示例:

  • Slowloris 工具连接到服务器,然后缓慢发送部分 HTTP 标头。这将导致服务器保持连接打开状态以便接收其余的标头,这样就会将线程捆绑起来。
  • 另一个名为 R.U.D.Y.(死亡之子)的工具会生成 HTTP 发布请求以填写表单字段。它告诉服务器将发送多少数据,但随后却非常缓慢地发送数据。服务器保持连接打开,因为它预计还有更多数据。
  • 另一种低速缓慢攻击是 Sockstress 攻击,这种攻击利用 TCP/IP 三向握手中的漏洞,创建出不确定的连接。

如何停止低速缓慢攻击?

用于阻止传统 DDoS 攻击的速率检测技术无法在低速缓慢攻击中起作用。防护低速缓慢攻击的一种方法是升级服务器的可用性;服务器可以同时维护的连接越多,攻击就越难阻塞服务器。这种方法的问题在于,攻击者可以尝试扩大攻击范围,以耗尽服务器的可用性。另一个解决方案是基于反向代理的保护,这种方案将在低速缓慢攻击到达您的源站之前进行防护。了解 Cloudflare 基于云的 DDoS 保护如何防护低速缓慢攻击。

 

应用程序层 DDoS 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/application-layer-ddos-attack/

应用程序层 DDoS 攻击针对 Internet 的应用程序层,以中断前往网站或服务的正常流量。

学习目标

阅读本文后,您将能够:

  • 定义应用程序层 (L7) 攻击
  • 了解有关应用程序层攻击的运作原理的更多信息
  • 探索如何防护应用程序层攻击

什么是应用程序层 DDoS 攻击?

应用程序层攻击又称为第 7 层 (L7) DDoS 攻击,是指旨在针对 OSI 模型“顶层”的恶意行为,HTTP GET 和 HTTP POST 等常见 Internet 请求就发生在这一层。与 DNS 放大等网络层攻击相比,第 7 层攻击特别有效,因为它们除了消耗网络资源,还会消耗服务器资源。

应用程序层攻击的工作原理

大多数 DDoS 攻击的潜在有效性来自发起攻击所需的资源量与吸收或防护攻击所需的资源量之间的差异。尽管第 7 层攻击也符合这种情况,但这种攻击可以同时影响目标服务器和网络,因此需要更少的总带宽即可达到相同的破坏效果;应用程序层攻击消耗更少的总带宽即可造成更大的破坏。

为了探讨为什么会这样,我们看一下发出请求的客户端和响应请求的服务器之间的相对资源消耗差异。当用户发送登录到在线帐户(例如 Gmail 帐户)的请求时,用户的计算机必须使用的数据和资源数量很少,并且与检查登录凭据、从数据库加载相关用户数据然后发回包含所请求网页的响应这一过程中消耗的资源数量不成比例。

即使没有登录,多次收到客户端请求的服务器也必须进行数据库查询或其他 API 调用以生成网页。在许多设备将单个 Web 资产作为目标(例如在僵尸网络攻击期间)时,这种差异将进一步放大,使目标服务器不堪重负,从而对正常流量拒绝服务。在许多情况下,仅对 API 发起第 7 层攻击就足以使服务脱机。

为什么应用程序层 DDoS 攻击难以阻止?

攻击流量和正常流量很难区分,尤其是在应用程序层攻击(例如僵尸网络对受害服务器执行 HTTP 洪水攻击)的情况下。由于僵尸网络中的每个机器人都发出看似正常的网络请求,因此流量不是欺骗流量,而是来自可能来自“正常”来源的流量。

应用程序层攻击需要一种自适应策略,包括根据特定规则集限制可能会定期波动的流量的能力。正确配置的 WAF 等工具可以防护传递到源站的虚假通信量,从而大大减少 DDoS 尝试的影响。

对于其他攻击(例如 SYN 泛洪)或反射攻击(例如 NTP 放大),只要网络本身具有足够带宽可以承载,就可以使用策略相当有效地丢弃流量。遗憾的是,大多数网络无法承受 300Gbps 的放大攻击,而可以正确路由并满足第 7 层攻击可能产生的大量应用程序层请求的网络更是鲜见。

哪些策略有助于防护应用程序层攻击?

一种方法是对发出网络请求的设备实施质询,以测试它是否属于机器人。这是通过类似于在线创建帐户时常见的 CAPTCHA 测试的测试完成的。通过提出 JavaScript 计算挑战之类的要求,可以防护许多攻击。

其他阻止 HTTP 洪水的途径包括使用 Web 应用程序防火墙,通过 IP 信誉数据库以及工程师的实时网络分析来管理和筛选流量。

由于我们的网络达到了数百万用户的规模,Cloudflare 能够分析来自各种来源的流量,并通过不断更新的 WAF 规则和其他缓解策略来防护潜在的攻击 - 常常是在这些攻击发生之前或有机会重新针对其他目标之前。探索 Cloudflare 的 DDoS 高级保护服务

第三层攻击

https://www.cloudflare.com/zh-cn/learning/ddos/layer-3-ddos-attacks/

加密货币 DDoS 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/cryptocurrency-ddos-attacks/

代币交易所成为旨在中断服务的 DDoS 攻击的目标

什么是加密货币?

加密货币是一种数字货币,与传统货币主要有两个区别。首先,加密货币不受任何政府的束缚或支持,因此是真正国际化的货币形式。其次,加密货币总是去中心化的。

中心化和去中心化货币有什么区别?

传统货币是中心化的。如果拥有美元的人将资金存入实体银行,则该银行将负责跟踪这些货币。这些资金的所有者必须回到该银行以才能取出资金。同样,如果该人想将自己的资金存入在线银行,则该在线银行将在中央服务器中对该人的帐户记录一笔金额。该银行的中央服务器是该人帐户的权威信息来源。在这两种情况下,货币都是中心化的,亦即可以从一个地方跟踪货币。

而对于加密货币而言,有关每个投资者拥有的货币数量的信息存储在许多(通常是数千台)计算机(称为节点)上。这些节点上的信息可公开访问,没有单个中央机构统一负责跟踪这些帐户。这意味着无论何时发生交易,每个节点都必须同时更新,以确保所有节点中的分类帐保持同步。

所有这些节点保持同步是非常重要的,因为如果没有同步,并且在所有分类账有机会更新之前,有人两次支出同一笔资金,货币就可能失效;这就是所谓的“重复支付”。称为区块链的流程可防止加密货币重复支付。

什么是区块链?

区块链是使加密货币成为可能的技术突破成果。对区块链的完整技术解释超出了本文的范围,但有一个重点,那就是区块链需要挖掘。

什么是加密货币挖掘?

在加密货币挖掘的过程中,计算机花费时间来解决一个非常复杂的数学问题,解决该问题之后,一组加密货币交易就会被添加到一组相似的交易集合队列中,这些交易集合将被广播到所有节点,更新它们的分类帐。为了鼓励挖掘,解决这些复杂数学问题的计算机将相应获得新的代币。这就是新的加密货币进入流通的方式。

为什么加密货币会遭到 DDoS 攻击?

像大多数高知名度的企业一样,代币交易所也成为 DDoS 攻击的目标。人们的兴趣激增、以及随之而来的加密货币相关流量的增加,都为不良行为者打开了大门,他们开始试图破坏加密货币资源,拒绝加密货币用户的访问。

分布式拒绝服务(DDoS) 攻击是破坏现代 Internet 的主要方法之一。通过使用虚假流量使目标超载,不良心行为者可以使网站或服务不可用。加密货币的热度和重要意义使其成为攻击的主要目标。

我们分析了一些攻击我们网络上的多个代币交易所的 DDoS 攻击,以评估可识别的兴趣模式。DDoS 流量的最主要来源包括 SSDP 放大攻击、NTP 放大攻击和应用程序层攻击

在大约一年的时间里,一项热门的代币交易服务被 76 次应用程序层 DDoS 攻击标记,但值得注意的是,流量的惊人增长可能会产生误报,导致正常流量显示出某些攻击迹象。无论如何,很明显,比特币交易已成为 DDoS 攻击的主要目标。

下图显示了截至 2017 年 12 月中旬,针对常用加密货币 Web 资产的潜在应用程序层攻击数量。

特别令人感兴趣的是 11 月 11 日前后攻击猛增的情况。在此期间,许多区块链货币提供商站点似乎都成为攻击目标。幸运的是,我们的 DDoS 防护软件和基础设施顺利防止了服务中断。

即使在最好的情况下,许多与比特币及其他加密货币有关的网站和应用程序也没有资源来应对流量的剧增。这种增加可能发生在 DDoS 攻击期间或高水平的正常活动期间,因此会导致临时中断和拒绝服务。将内容托管在 CDN 上对于使站点保持在线状态必不可少,但可能还需要负载均衡的服务器网络来处理激增可能产生的数据库请求数。Cloudflare 的 DDoS 保护可帮助许多高流量加密货币服务保持在线状态,欢迎了解更多相关信息。

死亡之子 (R.U.D.Y.) 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/ddos-attack-tools/r-u-dead-yet-rudy/

R.U.D.Y. 是一种低速缓慢攻击工具,它模仿正常流量,可以无限期地阻塞服务器

学习目标

阅读本文后,您将能够:

  • 定义 R.U.D.Y. 工具
  • 描述如何使用 R.U.D.Y. 破坏 Web 服务
  • 概述防护 R.U.D.Y. 攻击的两种策略

什么是 R.U.D.Y. 攻击?

“死神之子”又称 R.U.D.Y.,是一种拒绝服务攻击工具,旨在通过以惊人的缓慢速度提交表单数据来使 Web 服务器保持捆绑状态。R.U.D.Y. 漏洞利用属于低速缓慢攻击,因为它着重于创建少量持续请求、而不是通过大量快速请求使服务器不堪重负。成功的 R.U.D.Y. 攻击将导致受害者的源站无法用于正常流量。

R.U.D.Y. 软件包括一个用户友好的点击界面,因此攻击者只需将工具指向带有漏洞的目标即可。任何接受表单输入的 Web 服务都容易受到 R.U.D.Y. 攻击,因为该工具通过嗅探表单字段并利用表单提交过程来运转。

R.U.D.Y. 攻击的工作原理

R.U.D.Y. 攻击可分为以下步骤:

  1. R.U.D.Y. 工具对受害人的应用程序进行抓取以查找表单字段。
  2. 找到表单后,该工具将创建一个 HTTP POST 请求以模仿正常的表单提交。该 POST 请求包含一个标头*,警告服务器其将提交非常长的内容。
  3. 然后,该工具通过将表单数据分解为小至每个 1 字节的数据包,以 10 秒钟左右的随机间隔将这些数据包发送到服务器,从而拉长提交表单数据的过程。
  4. 工具持续无限期提交数据。Web 服务器将保持连接打开以接受数据包,因为攻击行为与连接速度较慢的用户提交表单数据的行为类似。在这个时候,Web 服务器处理正常流量的能力就会受损。

R.U.D.Y. 工具可以同时创建多个针对一个 Web 服务器的慢速请求。由于 Web 服务器一次能够处理的连接数量有限,因此 R.U.D.Y. 攻击有可能占用所有可用的连接,这意味着试图访问 Web 服务器的任何正常用户都将被拒绝服务。R.U.D.Y. 甚至可以通过计算机网络同时进行攻击,导致具有大量可用连接的强大 Web 服务器下线,这被称为分布式拒绝服务 (DDoS) 攻击

*HTTP 标头是随 HTTP 请求或响应一起发送的键/值对,它们提供重要信息,例如正在使用的 HTTP 版本、内容所用的语言、要传递的内容量等等。

如何阻止 R.U.D.Y. 攻击

因为慢速和低速攻击比传统的拒绝服务攻击要巧妙得多,因此很难检测到,但是可以采取保护措施来防止。一种预防措施是在 Web 服务器上设置更严格的连接超时间隔,也就是说最慢的连接将被切断。但该解决方案具有副作用:服务器可能对 Internet 连接速度较慢的合法用户拒绝服务。或者可以采用反向代理解决方案,如 CloudFlare 的 DDoS 防护,筛选 R.U.D.Y. 攻击等低速缓慢攻击流量,但不会使合法用户断开。

ACK 洪水 DDoS 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/what-is-an-ack-flood/

在 ACK 洪水攻击中,攻击者试图用虚假的 ACK 数据包压垮目标,这些 ACK 数据包应被用来确认设备已成功接收到传输的数据。

什么是 ACK 洪水 DDoS 攻击?

ACK 洪水攻击是指攻击者试图用 TCP ACK 数据包使服务器过载。像其他 DDoS 攻击一样,ACK 洪水的目的是通过使用垃圾数据来减慢攻击目标的速度或使其崩溃,从而导致拒绝向其他用户提供服务。目标服务器被迫处理接收到的每个 ACK 数据包,消耗太多计算能力,以致无法为合法用户提供服务。

想象一下,一个恶作剧呼叫者用虚假消息填充某人的语音信箱,使真实呼叫者的语音留言无法进入。现在假设,这些虚假消息全部说的是:“嗨,我打电话来是跟你说我已收到你的信息。”这有点像在 ACK 洪水 DDoS 攻击中发生的情况。

什么是数据包?

通过 Internet 发送的所有数据都分割为较小的片段,称为数据包。想象一下,某人想在 Twitter 上发表一个深入的观点或讲一个长篇故事,不得不将其文本分割成 280 个字符的片段,并以一系列推文的形式发布,而不是一次性发布全部。对于那些不使用 Twitter 的人,可以想一下没有专用短信应用的手机如何将长短信文本分成几个较小的部分。

传输控制协议(TCP)是 Internet 通信的重要组成部分。使用 TCP 协议发送的数据包在其标头中包含附加的信息。TCP 协议使用数据包标头来告诉接收方有多少个数据包以及它们应以什么顺序到达。标头还可以指示数据包的长度和类型等信息。

这有点像给文件夹取名,让人们知道其中的内容。回到 Twitter 的例子,发布大量推文的人通常会指明该系列中有多少条推文,以及每条推文的编号以帮助读者阅读它们。

什么是 ACK 数据包?

ACK 表示“确认”。ACK 数据包是确认接收到一条消息或一系列数据包的任何 TCP 数据包。ACK 数据包的技术定义是标头中设置了“ACK”标志的 TCP 数据包。

ACK 数据包隶属于 TCP 握手,后者是三个连续的步骤,用于在 Internet 上任何两个连接的设备之间启动对话(就像现实生活中人们在开始交谈之前通过握手来问候一样)。TCP 握手的三个步骤是:

  1. SYN
  2. SYN ACK
  3. ACK

打开连接的设备(比如,用户的笔记本电脑)通过发送 SYN(“同步”的缩写)数据包来启动三向握手。位于连接另一端的设备(假设是托管在线购物网站的服务器)以 SYN ACK 数据包答复。最后,用户的笔记本电脑发送一个 ACK 数据包,此时三向握手宣告完成。此过程可确保两个设备都已联机并且准备好接收其他数据包,本例中为允许用户加载网站。

但是,这并非使用 ACK 数据包的唯一时间。TCP 协议要求连接的设备确认它们已按顺序接收了所有数据包。假设用户访问一个托管图片的网页。图片分解为数据包,并发送到用户的浏览器。整个图片到达后,用户设备就会向主机服务器发送一个 ACK 数据包,以确认一个像素也没丢失。如果没有此 ACK 数据包,主机服务器必须再次发送图片。

由于 ACK 数据包是在标头中设置了 ACK 标志的任何 TCP 数据包,因此 ACK 可以是笔记本电脑发送到服务器的其他消息的一部分。如果用户填写表单并将数据提交给服务器,则笔记本电脑可以将其中一个数据包作为图片的 ACK 数据包。它不需要是单独的数据包。

ACK 洪水攻击如何工作?

ACK 洪水以需要处理收到的每个数据包的设备为目标。防火墙和服务器最有可能成为 ACK 攻击的目标。负载均衡器、路由器和交换机不容易遭受这些攻击。

合法和非法 ACK 数据包看起来基本相同,因此,如果不使用内容分发网络(CDN)过滤掉不必要的 ACK 数据包,就很难阻止 ACK 洪水。尽管看起来很相似,但用于 ACK DDoS 攻击的数据包并不包含数据本身数据包的主要部分,也称为有效负载。为了显得合法,它们仅需在 TCP 标头中包含 ACK 标志。

ACK 洪水是第 4 层(传输层)DDoS 攻击。了解第 4 层和 OSI 模型

SYN ACK 洪水攻击如何工作?

SYN ACK 洪水 DDoS 攻击与 ACK 攻击略有不同,但基本思路仍然相同:用过多的数据包来压垮目标。

记住 TCP 三向握手的工作方式:握手的第二步是 SYN ACK 数据包。通常,服务器在响应来自客户端设备的 SYN 数据包时发送此 SYN ACK 数据包。在 SYN ACK DDoS 攻击中,攻击者使大量 SYN ACK 数据包涌向目标。这些数据包根本不属于三向握手协议的一部分,它们的唯一目的是打断目标的正常运作。

攻击者也有可能在 SYN 洪水 DDoS 攻击使用 SYN 数据包。

Cloudflare 如何阻止 ACK 洪水 DDoS 攻击?

Cloudflare CDN 代理往返于 Cloudflare 客户的源站服务器的所有流量。CDN 不会传递与开放 TCP 连接无关的任何 ACK 数据包。这样可以确保恶意 ACK 流量不会到达源站服务器。由数据中心组成的Cloudflare 网络的规模足够大,足以吸收几乎任何规模的 DDoS 攻击,因此 ACK 洪水对Cloudflare 几乎没有影响。

Cloudflare Magic Transit 和 Cloudflare Spectrum也可以阻止此类 DDoS 攻击。Magic Transit 代理第 3 层流量,Spectrum 则代理第 4 层流量,而不是 CDN 等第 7 层流量。两款产品均通过自动检测攻击模式并阻止攻击流量来阻止 ACK 洪水。

了解其他类型的 DDoS 攻击

QUIC 洪水 DDoS 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/what-is-a-quic-flood/

QUIC 是一种相对较新的传输协议。在 QUIC 洪水 DDoS 攻击中,攻击者将大量 QUIC 流量传送到目标服务器以使其不堪重负。

学习目标

阅读本文后,您将能够:

  • 了解 QUIC 的工作方式
  • 了解攻击者如何在 DDoS 攻击中滥用 QUIC
  • 比较 QUIC 和 UDP 洪水

什么是 QUIC 协议?

QUIC 协议是一种通过 Internet 发送数据的新方法,它比早期协议更加快速,高效和安全。QUIC 属于传输协议,这意味着它会影响数据在 Internet 上的传输方式。像几乎所有 Internet 协议一样,QUIC 可以被恶意用来进行 DDoS 攻击

以更专业的术语来说,QUIC 协议是一种传输层协议,理论上可以取代 TCP(一种传输协议)和 TLS(一种加密协议)。2019 年 7 月,所有网站中大约 3% 在使用 QUIC,该协议的支持者(包括 Cloudflare 在内)希望采用率会随着时间流逝而继续上升。HTTP 协议的最新版本 HTTP/3 在 QUIC 的基础上运行。

QUIC 协议如何工作?

QUIC 协议的目标是比传统的 Internet 连接更快,更安全。为了提高速度,它使用 UDP 传输协议,此协议速度比 TCP 快,但可靠性不如后者。它一次发送多个数据流,以弥补沿途丢失的任何数据,这种技术称为多路复用。

为了提高安全性,通过 QUIC 发送的所有内容都会自动加密。通常,数据必须通过 HTTPS 发送数据才会被加密。但是,QUIC 将 TLS 加密构内建到普通的通信过程中。

这种内置加密进一步加快了协议的速度。在典型的 HTTPS 中,必须在传输层完成三向 TCP 握手,然后才能开始多步骤 TLS 握手。完成这一切后,才能在客户端和服务器之间发送任何实际的数据。QUIC 组合了这两个握手,使它们一次性全部完成:客户端和服务器确认连接已打开,并同时生成 TLS 加密密钥

什么是 QUIC 洪水?

QUIC 洪水 DDoS 攻击是指攻击者试图通过使用 QUIC 发送的数据压垮目标服务器以拒绝服务。受害服务器被迫处理它收到的所有 QUIC 数据,从而减慢对合法用户的服务,并在某些情况下导致服务器完全崩溃。通过 QUIC 发动的 DDoS 攻击很难阻止,这是因为:

  • QUIC 使用 UDP,为数据包接收方提供的信息非常少,不足以用来阻止数据包
  • QUIC 对数据包数据进行加密,数据的接收方无法轻易辨别它是否合法

QUIC 洪水攻击可以使用多种方法来展开,但 QUIC 协议特别容易受到基于反射的 DDoS 攻击的破坏。

什么是 QUIC 洪水反射攻击?

在反射式 DDoS 攻击中,攻击者假冒受害者的 IP 地址并向多台服务器请求信息。当服务器做出响应时,所有信息将传递给受害者而非攻击者。想象一下,有人恶意用他人的回信地址寄送信件,让后者不得不接收大量不必要的邮件。

使用 QUIC 协议时,可以通过启动 QUIC 连接的初始“hello”消息发动进行反射攻击。与 TCP 连接不同,QUIC 连接打开时服务器不会发送简单的 ACK 消息。由于 QUIC 将 UDP 传输协议与 TLS 加密相结合,因此服务器在对客户端的第一次答复中附带了其 TLS 证书。这意味着服务器的第一条消息要比客户端的第一条消息大得多。通过假冒受害者的 IP 地址并向服务器发送“hello”消息,攻击者诱使服务器向受害者发送大量不需要的数据。

为了部分缓解这种类型的攻击,QUIC 协议的架构师为初始客户端问候消息设置了最小大小,以使攻击者需要大量带宽才能发送许多虚假客户端问候消息。但是,服务器问候消息仍然大于客户端问候消息,因此仍然有发生这种攻击的可能。

QUIC 洪水与 UDP 洪水是否相似?

UDP 洪水是一种 DDoS 攻击,使用不需要的 UDP 数据包压垮目标服务器。QUIC 使用UDP,但 QUIC 洪水不一定等同于 UDP 洪水。

UDP 洪水冲垮目标服务器的一种方法是,将伪造的 UDP 数据包发送到服务器上未实际使用的特定端口。服务器必须使用 ICMP 错误消息来答复所有数据包,这会占用处理能力并减慢服务器速度。可以使用 QUIC 来进行这种攻击,但对于攻击者来说,纯粹通过 UDP 进行攻击的成本通常较低,没有生成 QUIC 数据包的额外开销。

Cloudflare 是否会阻止 QUIC 洪水 DDoS 攻击?

Cloudflare 可以缓解各种各样的 DDoS 攻击,包括 QUIC 洪水在内。Cloudflare 全球网络遍布超过 100 国家/地区的 200 个城市,其规模甚至足以吸收和缓解规模最大的 DDoS 攻击。了解有关 DDoS 攻击的更多信息

Smurf DDoS 攻击

https://www.cloudflare.com/zh-cn/learning/ddos/smurf-ddos-attack/

一种 DDoS 攻击,用 ICMP 请求淹没受害者。

学习目标

阅读本文后,您将能够:

  • 定义 Smurf 攻击
  • 了解 Smurf 攻击的工作原理
  • 实施针对 Smurf 攻击的防护策略

什么是 Smurf 攻击?

Smurf 攻击是一种分布式拒绝服务 (DDoS) 攻击,攻击者尝试使用 Internet 控制消息协议 (ICMP) 数据包向目标服务器发起洪水攻击。攻击者使用目标设备的欺骗性 IP 地址向一个或多个计算机网络发出请求,计算机网络将响应目标服务器,因此会放大初始攻击流量并可能使目标不堪重负,使其无法访问。攻击媒介通常被认为是已解决的漏洞,并且不再普遍存在。

Smurf 攻击的工作原理

尽管 ICMP 数据包可用于 DDoS 攻击,但通常它们在网络管理中起着重要的作用。利用 ICMP 数据包的 ping 应用程序被网络管理员用于测试联网的硬件设备,例如计算机、打印机或路由器。ping 通常被用于查看设备是否正常运行,并跟踪消息从源设备到目标再返回源的往返时间。不幸的是,由于 ICMP 协议不包括握手,因此接收请求的硬件设备无法验证请求是否合法。

这种 DDoS 攻击就好比一个恶作剧的人打电话给办公室经理,冒充是公司的首席执行官。恶作剧者要求经理让每个员工回电给他的私人号码,说明他们的工作情况。恶作剧者给出的回叫号码是目标受害者的号码,因此受害者随后会收到许多呼叫,办公室里有多少人,就会接到多少次。

这是 Smurf 攻击的工作方式:

  1. 首先,Smurf 恶意软件构建一个欺骗性数据包,其源地址设置为目标受害者的真实 IP 地址
  2. 然后,数据包被发送到路由器或防火墙的 IP 广播地址,后者将请求发送到广播网络内的每个主机设备地址,因此网络上联网设备有多少,就会增加多少个请求。
  3. 网络中的每个设备都接收来自广播设备的请求,然后使用 ICMP Echo Reply 数据包响应目标的欺骗性地址。
  4. 目标受害者随后收到大量的 ICMP Echo Reply 数据包,可能会不堪重负,并导致对合法流量拒绝服务。

如何防护 Smurf 攻击?

多年来,已经针对这种攻击媒介开发了几种防护策略,在很大程度上,这种漏洞利用被视为已得到解决。在数量有限的旧有系统上,可能仍需要应用防护技术。一个简单的解决方案是在每个网络路由器和防火墙上禁用 IP 广播地址。默认情况下,较旧的路由器可能会启用广播,而较新的路由器可能已将其禁用。在发生 Smurf 攻击的情况下,Cloudflare 通过阻止 ICMP 数据包到达目标源站消除攻击流量。了解有关 Cloudflare DDoS 保护的工作原理的更多信息。

死亡之 Ping DDoS 攻击

DoS 攻击旨在通过发出异常大的数据包来破坏 Web 服务器。

学习目标

阅读本文后,您将能够:

  • 定义死亡之 Ping (POD) 攻击
  • 说明 POD 攻击如何工作
  • 说明 POD 攻击的缓解策略

什么是死亡之 Ping 攻击?

死亡之 Ping 攻击是一种 拒绝服务 (DoS) 攻击,攻击者旨在通过发送大于最大允许大小的数据包来破坏目标计算机,从而导致目标计算机冻结或崩溃。原始的死亡之 Ping 攻击如今并不常见。称为 ICMP 洪水攻击的相关攻击更为普遍。

死亡之 Ping 如何工作?

Internet 控制消息协议 (ICMP) 回显回复消息或 “ping” 是用于测试网络连接的网络实用程序,其工作原理类似于声纳 – 发出“脉冲” 而该脉冲发出的“回显”告知操作员有关环境的信息。如果连接正常,则源计算机收到来自目标计算机的回复。

尽管某些 ping 数据包非常小,但 IP4 ping 数据包要大得多,并且可以达到 65,535 字节的最大允许数据包大小。某些 TCP/IP 系统从未设计用于处理大于最大值的数据包,从而使其容易受到大于该大小的数据包的攻击。

当恶意大数据包从攻击者传输到该目标时,该数据包将分成多个分段,每个分段均低于最大大小限制。当目标计算机尝试将这些部分一起放回时,总数超出大小限制,并且可能发生缓冲区溢出,从而导致目标计算机冻结、崩溃或重启。

虽然 ICMP 回显可用于此攻击,但发送 IP 数据报的任何内容均可用于此漏洞。其中包括 TCP、UDP 和 IPX 传输。

如何防护死亡之 Ping DDoS 攻击?

阻止攻击的一种解决方案是向重组过程添加检查,以确保在数据包重组后不会超出最大数据包大小限制。另一个解决方案是创建具有足够空间来处理超出准则最大值的数据包的内存缓冲区。

原始死亡之 Ping 攻击大多已经灭绝;1998 年后生产的设备通常都会防止此类攻击。部分旧设备可能仍易受攻击。最近发现了针对 Microsoft Windows IPv6 数据包的新型死亡之 Ping 攻击,并于 2013 年年中进行修补。Cloudflare DDoS 防护通过在格式错误的数据包到达目标主机计算机之前丢弃它们来缓解死亡之 Ping 攻击。

IP 欺骗

https://www.cloudflare.com/zh-cn/learning/ddos/glossary/ip-spoofing/

攻击中经常用到带有伪造源地址的欺骗性 IP 数据包,其目的在于规避检测。

学习目标

阅读本文后,您将能够:

  • 定义 IP 欺骗
  • 描述如何在 DDoS 攻击中利用 IP 欺骗
  • 描述防范 IP 欺骗的方法

什么是 IP 欺骗?

IP 欺骗是指创建源地址经过修改的 Internet 协议 (IP) 数据包,目的要么是隐藏发送方的身份,要么是冒充其他计算机系统,或者两者兼具。恶意用户往往采用这项技术对目标设备或周边基础设施发动 DDoS 攻击

发送和接收 IP 数据包既是联网计算机与其他设备开展通信的主要途径,又是现代 Internet 的基础。所有 IP 数据包都包含标头,标头位于数据包主体之前,其中包含大量重要路由信息,包括源地址。在常规数据包中,源 IP 地址是指数据包发送方的地址。如果数据包遭到冒用,势必会伪造源地址。

IP 欺骗好比攻击者将数据包发送给返回地址错误的用户。如果该用户在收到数据包后想要阻止发送方发送数据包,那么阻止伪造地址发出的所有数据包将无济于事,因为返回地址很容易更改。由此推断,如果接收方希望对返回地址做出响应,响应数据包也无法送达真实发送方。数据包地址能被伪造成为一个核心漏洞,很多 DDoS 攻击都利用了这个漏洞。

DDoS 攻击通常会利用欺骗技术,其目的在于用流量击垮目标,同时掩饰恶意来源的身份并规避缓解措施。如果源 IP 地址经过篡改并采用连续随机模式,那么恶意请求很难阻止。另外,采用 IP 欺骗技术后,执法部门和网络安全团队很难追踪到攻击行为人。

欺骗也可用于冒充其他设备,使得响应被发送到该目标设备。NTP 放大和 DNS 放大等容量耗尽攻击正是利用了这一漏洞。修改源 IP 是 TCP/IP 设计的固有功能,也是一项长期安全隐患。

哪怕并非用于发动 DDoS 攻击,也可以实施欺骗技术,伪装成其他设备,从而逃避身份验证并获取或“劫持”用户的会话。

如何防范 IP 欺骗(数据包过滤)

虽然无法预防 IP 欺骗,但可以采取措施来阻止伪造数据包渗透网络。入口过滤是防范欺骗的一种极为常见的防御措施,如 BCP38(通用最佳实践文档)所示。入口过滤是一种数据包过滤形式,通常在网络边缘设备上实施,用于检查传入的 IP 数据包并确定其源标头。如果这些数据包的源标头与其来源不匹配或者看上去很可疑,则拒绝这些数据包。一些网络还实施出口过滤,检查退出网络的 IP 数据包,确保这些数据包具有合法源标头,以防止网络内部用户使用 IP 欺骗技术发起出站恶意攻击。

 

点击数:73