攻击与威胁
死亡之 Ping (Ping of Death)
别称: PoD
定义
一种历史性 DoS 攻击,通过发送畸形或超大的 ICMP echo 数据包,使存在缺陷的 TCP/IP 协议栈在重组时崩溃、挂起或重启。
死亡之 Ping 利用旧版 IPv4 协议栈在重组超过合法上限 65,535 字节的分片包时存在的缺陷。攻击者构造一系列分片,使其重组后的总长度超过该上限,从而在 1990 年代 Windows、经典 Mac OS、部分 Unix 系统以及嵌入式设备中触发缓冲区溢出或内核崩溃。现代操作系统与协议栈早已修复了底层错误,因此原版攻击主要具有历史意义。但概念类似的超大/畸形包攻击仍会在新协议栈(包括 IPv6 和 IoT 固件)上出现。防御措施包括保持协议栈打补丁、在网络边界过滤畸形的 ICMP / IPv6 分片,以及对网络组件进行模糊测试。
示例
- 向未打补丁的 Windows 95 发送分片 ICMP echo 请求,重组后超过 65,535 字节导致主机崩溃。
- 现代变种针对老旧嵌入式 TCP/IP 栈中的 IPv6 分片重组逻辑。
相关术语
拒绝服务攻击 (DoS)
通过耗尽系统的带宽、算力、内存或应用层资源,使合法用户无法访问服务的攻击。
Teardrop 攻击
通过发送 offset 重叠或字段畸形的 IP 分片,使重组逻辑存在缺陷的 TCP/IP 协议栈崩溃的早期 DoS 攻击。
LAND 攻击
构造源 IP 和端口与目的相同的伪造 TCP SYN 数据包,使易受影响的系统陷入死循环或崩溃的早期 DoS 攻击。
SYN 洪水攻击
基于 TCP 的拒绝服务攻击,通过大量发送未完成三次握手的 SYN 包,耗尽目标的连接状态资源。
Smurf 攻击
向网络广播地址发送伪造源 IP 为受害者的 ICMP echo 请求,使该网络上所有主机向受害者回应的早期放大型 DDoS 攻击。
缓冲区溢出
内存安全缺陷:程序写入数据超出已分配缓冲区末尾,破坏相邻内存,常被用于实现代码执行。