DDoS 攻击的工作原理

DDoS 攻击的工作原理

DDoS 攻击要求攻击者获得对在线计算机网络的控制权才能进行攻击。计算机和其他机器(例如 IoT 设备)感染恶意软件,然后就会变成机器人(或僵尸)。然后,攻击者即可对一组机器人(统称为僵尸网络)进行远程控制。

建立僵尸网络之后,攻击者便可以通过远程控制方法向每个机器人发送更新的指令来控制机器。当僵尸网络将受害者的 IP 地址作为目标时,每个机器人都会向目标发送请求,这可能导致目标服务器或网络出现容量溢出,从而导致对正常流量拒绝服务。由于每个机器人都是合法的 Internet 设备,因此很难将攻击流量与正常流量分开。

常见的 DDoS 攻击有哪几类?

不同的 DDoS 攻击媒介针对网络连接的不同组件。要了解不同的 DDoS 攻击如何工作,就有必要知道网络连接是如何建立的。互联网上的网络连接由许多不同的组件或“层”组成。就像从打地基开始盖房子一样,模型中的每个步骤都有不同的用途。如下所示,OSI 模型是一个概念框架,用于描述 7 个不同层次中的网络连接。

 

虽然几乎所有 DDoS 攻击都是利用流量让目标设备或网络不堪重负,但攻击可以分为三类。攻击者可能利用一种或多种不同的攻击媒介,或者潜在地根据目标采取的对策来循环攻击媒介。

应用程序层攻击

攻击目标:

这些攻击有时被称为第 7 层 DDoS 攻击(是指 OSI 模型的第 7 层),其目的是耗尽目标的资源。攻击的目标是服务器响应 HTTP 请求时生成网页并进行交付的层。单个 HTTP 请求在客户端执行的成本很低,而目标服务器响应的成本可能很高,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。第 7 层攻击很难防御,因为难以将流量标记为恶意流量。

应用程序层攻击示例:

HTTP 洪水

HTTP 洪水攻击类似于同时在大量不同计算机的 Web 浏览器中一次又一次地按下刷新 – 大量 HTTP 请求涌向服务器,导致拒绝服务。

这种类型的攻击有简单的,也有复杂的。较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个 URL。复杂版本可能使用大量攻击性 IP 地址,并使用随机 referrer 和用户代理来针对随机网址。

协议攻击

攻击目标:

协议攻击(也称为状态耗尽攻击)通过消耗 Web 应用程序服务器或诸如防火墙和 Load Balancer 之类的中间资源的所有可用状态表容量,导致服务中断。协议攻击利用协议栈的第 3 层和第 4 层中的弱点使目标无法访问。

协议攻击示例:

SYN 洪水

SYN 洪水就好比供应室中从商店的前台接收请求的一名员工。员工收到一个请求,捡取包裹,然后等待确认,再把包裹拿到前台。然后,员工会收到更多包裹请求,但没有确认消息,一直到他们无法再携带其他包裹,变得不堪重负,并且请求开始无人响应。

这种攻击通过向目标发送大量带有欺骗性源 IP 地址的 TCP“初始连接请求”SYN 数据包来利用 TCP 握手。目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源。

容量耗尽攻击

攻击目标:

此类攻击试图通过消耗目标与较大的 Internet 之间的所有可用带宽来造成拥塞。攻击运用某种放大攻击或其他生成大量流量的手段(如僵尸网络请求),向目标发送大量数据。

放大示例:

DNS 放大

DNS 放大就好比有人打电话给餐馆说“每一道菜都订一份,请给我回电话,说明整个订单”,提供的回叫电话号码是目标号码。仅需少量投入,就能产生较长的响应。

通过从具有欺骗性 IP 地址(目标的真实 IP 地址)向开放式 DNS 服务器发出请求,目标 IP 地址将收到来自服务器的响应。攻击者以特殊方式构建请求,使 DNS 服务器以大量数据响应目标。结果,目标收到的是攻击者初始查询的放大结果。