蠕虫的传播机制
蠕虫区别于其他恶意代码的核心能力在于自主复制和自动传播——这两个特性要求蠕虫同时具备漏洞利用能力和网络扩散逻辑。
漏洞驱动传播:最经典的蠕虫传播方式。蠕虫扫描互联网或目标网段上的开放端口(如 445/TCP for SMB、1434/UDP for MS SQL),对检测到的目标发起漏洞利用。利用成功后,蠕虫将自身(或一个下载器/stager)传输至目标并执行,受害主机立刻加入扫描和攻击循环,成为蠕虫传播的「中继节点」。这种递归传播的数学特性——每一代感染的节点数都是上一代的倍数——构成了蠕虫爆炸性增长的根源。
SQL Slammer 将漏洞驱动传播推向极致:整个蠕虫仅 376 字节,封装在单个 UDP 数据包中——接收即感染,无需 TCP 三次握手、无需文件写入、无需回连 C2。Staniford、Paxson 和 Weaver 在 2002 年发表的论文「How to 0wn the Internet in Your Spare Time」预测了此类 Warhol Worm(以 Andy Warhol 的「每个人成名 15 分钟」为喻——指 15 分钟内完成全球级传播的蠕虫),SQL Slammer 首次将其从理论变为现实。
暴力凭证传播:蠕虫扫描开放端口(如 445/TCP for SMB、3389/TCP for RDP),尝试常见用户名/密码组合进行身份验证,成功后通过远程服务安装自身。这种传播方式不依赖「漏洞」而依赖「弱密码」。Conficker 在利用 MS08-067 漏洞的同时也通过 SMB 弱口令传播,扩宽了攻击面。
物理介质传播:可移动介质(USB)是隔离网络蠕虫突破的首选渠道。Conficker 在系统中安装后,创建一个指向蠕虫副本的 autorun.inf 文件在 U 盘根目录——任何插入同一 U 盘的系统在自动播放启用时会自动执行蠕虫。Stuxnet 使用了更高级的 LNK 文件漏洞(CVE-2010-2568)而非普通 autorun.inf 来实现 USB 传播,使其在自动播放禁用时仍可触发。