常见的 DDoS 攻击有哪几类?
常见的 DDoS 攻击有哪几类?
不同类型的 DDoS 攻击针对不同的网络连接组件。为了解不同的 DDoS 攻击如何运作,有必要知道网络连接是如何建立的。
互联网上的网络连接由许多不同的组件或“层”构成。就像打地基盖房子一样,模型中的每一步都有不同的用途。
OSI 模型(如下图所示)是一个概念框架,用于描述 7 个不同层级的网络连接。
应用程序层攻击
攻击目标
此类攻击有时称为第 7 层 DDoS 攻击(指 OSI 模型第 7 层),其目标是耗尽目标资源。
攻击目标是生成网页并传输网页响应 HTTP 请求的服务器层。在客户端执行一项 HTTP 请求的计算成本比较低,但目标服务器做出响应却可能非常昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。
第 7 层攻击很难防御,因为难以区分恶意流量和合法流量。
应用程序层攻击示例
HTTP 洪水
HTTP 洪水攻击类似于同时在大量不同计算机的 Web 浏览器中一次又一次地按下刷新 ——大量 HTTP 请求涌向服务器,导致拒绝服务。
这种类型的攻击有简单的,也有复杂的。
较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个 URL。复杂版本可能使用大量攻击性 IP 地址,并使用随机 referrer 和用户代理来针对随机网址。
协议攻击
攻击目标
协议攻击也称为状态耗尽攻击,这类攻击会过度消耗服务器资源和/或防火墙和负载平衡器之类的网络设备资源,从而导致服务中断。
协议攻击利用协议堆栈第 3 层和第 4 层的弱点致使目标无法访问。
协议攻击示例
SYN 洪水
SYN 洪水就好比补给室中的工作人员从商店的柜台接收请求。
工作人员收到请求,前去取包裹,再等待确认,然后将包裹送到柜台。工作人员收到太多包裹请求,但得不到确认,直到无法处理更多包裹,实在不堪重负,致使无人能对请求做出回应。
此类攻击利用 TCP 握手(两台计算机发起网络连接时要经过的一系列通信),通过向目标发送大量带有伪造源 IP 地址的 TCP“初始连接请求”SYN 数据包来实现。
目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源。
容量耗尽攻击
攻击目标
此类攻击试图通过消耗目标与较大的互联网之间的所有可用带宽来造成拥塞。攻击运用某种放大攻击或其他生成大量流量的手段(如僵尸网络请求),向目标发送大量数据。
放大示例
DNS 放大
DNS 放大就好比有人打电话给餐馆说“每道菜都订一份,请给我回电话复述整个订单”,而提供的回电号码实际上属于受害者。几乎不费吹灰之力,就能产生很长的响应并发送给受害者。
利用伪造的 IP 地址(受害者的 IP 地址)向开放式 DNS 服务器发出请求后,目标 IP 地址将收到服务器发回的响应。