跳到主要内容

2. Background (背景)

2. Background (背景)

TCP SYN 洪泛问题的简化图如下所示:

                                                204.69.207.0/24
host <----- router <--- Internet <----- router <-- attacker

TCP/SYN
<---------------------------------------------
Source: 192.168.0.4/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 10.0.0.13/32
SYN/ACK
no route
TCP/SYN
<---------------------------------------------
Source: 172.16.0.2/32
SYN/ACK
no route

[etc.]

假设:

  • "host" 是目标机器。
  • 攻击者位于 "有效" 前缀 204.69.207.0/24 内。
  • 攻击者使用随机变化的源地址发起攻击; 在此示例中, 源地址被描述为来自 [4] 中的地址, 这些地址通常不存在于全局互联网路由表中, 因此是不可达的。然而, 任何不可达的前缀都可以用来实施这种攻击方法。

同样值得一提的是, 源地址被伪造为看起来源自另一个出现在全局路由表中的合法网络的情况。例如, 使用有效网络地址的攻击者可以通过使攻击看起来来自一个实际上并未发起攻击且完全无辜的组织来造成严重破坏。在这种情况下, 受攻击系统的管理员可能倾向于过滤来自表面攻击源的所有流量。添加这样的过滤器将导致对合法的、非敌意的终端系统的拒绝服务。在这种情况下, 受攻击系统的管理员无意中成为攻击者的帮凶。

进一步使问题复杂化的是, TCP SYN 洪泛攻击将导致 SYN-ACK 数据包被发送到一个或多个与攻击无关的主机, 但这些主机成为了次要受害者。这允许攻击者同时滥用两个或更多系统。

类似的攻击已经尝试使用 UDP 和 ICMP 洪泛。前者攻击 (UDP 洪泛) 使用伪造的数据包尝试将 chargen UDP 服务连接到另一个站点的 echo UDP 服务。系统管理员绝不应允许从其管理域外部发往系统诊断端口的 UDP 数据包到达其系统。后者攻击 (ICMP 洪泛) 使用 IP 子网广播复制机制中的一个阴险特性。这种攻击依赖于为大型多访问广播网络提供服务的路由器, 将 IP 广播地址 (例如发往 10.255.255.255 的地址) 帧化为第二层广播帧 (对于以太网, 为 FF:FF:FF:FF:FF:FF)。以太网 NIC 硬件 (特别是 MAC 层硬件) 在正常操作中只会监听选定数量的地址。所有设备在正常操作中共享的一个 MAC 地址是媒体广播, 即 FF:FF:FF:FF:FF:FF。在这种情况下, 设备将接收数据包并发送中断进行处理。因此, 这些广播帧的洪泛将耗尽终端系统上的所有可用资源 [9]。系统管理员考虑确保其边界路由器默认情况下不允许定向广播数据包通过其路由器转发, 这或许是审慎的。

当使用不可达源地址发起 TCP SYN 攻击时, 目标主机尝试预留资源等待响应。攻击者在发送的每个新数据包上反复更改伪造的源地址, 从而耗尽额外的主机资源。

或者, 如果攻击者使用其他人的有效主机地址作为源地址, 受攻击的系统将向它认为是连接建立序列的发起者发送大量 SYN/ACK 数据包。通过这种方式, 攻击者对两个系统造成损害: 目标系统, 以及全局路由系统中实际使用被欺骗地址的系统。

这两种攻击方法的结果都是性能极度下降, 或更糟糕的是系统崩溃。

为了应对这一威胁, 大多数操作系统供应商已经修改了他们的软件, 以允许目标服务器承受具有非常高连接尝试率的攻击。这是解决该问题的一个受欢迎且必要的部分。入口过滤需要时间才能普遍实施并完全有效, 但操作系统的扩展可以快速实施。这种组合应该对源地址欺骗有效。请参阅 [1] 了解供应商和平台软件升级信息。