莫里斯蠕虫:改变互联网安全史的13小时

1988年莫里斯蠕虫13小时感染互联网10%主机,成为网络安全史的关键转折点。
1988年11月,康奈尔大学研究生罗伯特·莫里斯释放的一个小程序,在13小时内感染了当时约10%的联网计算机,成为互联网历史上第一场大规模蠕虫攻击。该蠕虫利用sendmail漏洞、缓冲区溢出及弱口令猜测三条路径横向扩散,其灾难性后果源于种群控制逻辑的设计失误——程序未能有效自我限制,导致无数机器资源被耗尽而瘫痪。事件直接推动了美国CERT应急响应机制的建立,并催生了《计算机欺诈与滥用法案》的首次司法适用。三十余年后,弱口令、自我传播型恶意软件与代码缺陷引发的连锁失控,依然是网络安全领域最核心的威胁,莫里斯蠕虫所揭示的问题至今未曾过时。
一场13小时的网络风暴
1988年11月2日晚,太平洋标准时间约6点,一个不起眼的小程序在麻省理工学院(MIT)的一台计算机上被释放。谁也没有想到,这个看似简单的程序会在接下来的几个小时里,掀起互联网历史上第一场大规模蠕虫风暴。
不到一个小时,匹兹堡大学就感染了这个蠕虫。四小时之内,伯克利、普林斯顿、北卡罗来纳大学、马里兰大学、UCLA、哈佛、芝加哥大学纷纷沦陷。仅仅13个小时,这个蠕虫就感染了当时约10%的联网计算机。

这个数字放在今天来看更令人震撼。据视频作者的估算,如果同样的传播比例发生在今天的互联网上,那意味着大约10亿台计算机和智能手机会在13小时内被感染。这也是为什么莫里斯蠕虫(Morris Worm)被视为网络安全史上的一个重要转折点。

莫里斯蠕虫的工作原理
从技术原理上看,莫里斯蠕虫其实是一个逻辑相当简单的小程序。它的核心行为可以拆解为几个关键步骤,理解这些步骤有助于我们看清早期蠕虫病毒的设计思路。
种群控制:决定自身存亡的第一道判断
程序启动后,它做的第一件事是判断——我是否需要进行种群控制? 也就是说,它会检查当前系统上是否已经存在一份自己的副本,从而决定是否要"自杀"终止运行。

这一设计的初衷本是为了避免同一台机器上被反复感染、产生过多副本。然而,正是这个种群控制机制的缺陷,最终导致了灾难性的后果:由于概率设置不当,蠕虫在很多机器上并没有真正终止,而是不断地重复复制自身,最终把大量系统的资源耗尽,造成机器瘫痪。
横向传播:寻找并感染其他主机
如果通过了种群控制的判断没有自杀,蠕虫接下来会尝试寻找所有与当前系统相连的其他机器,然后把自己复制过去、继续传播。这种自我复制、横向扩散的能力,正是"蠕虫"这一名称的由来。

本地密码破解:利用弱口令扩大战果
除了横向传播,蠕虫还会在本地进行简单的密码破解尝试。它会针对系统上已存在的账户,尝试猜测一些常见的弱口令,一旦猜中就能获得更多权限、进一步扩散。
整个程序就是把上述两件事——传播自身和猜测密码——放在一个循环里反复执行。只要没有被种群控制机制杀掉,它就会一直坐在那里,一遍又一遍地循环下去。
莫里斯蠕虫为何成为网络安全里程碑
莫里斯蠕虫的作者是康奈尔大学的研究生罗伯特·塔潘·莫里斯(Robert Tappan Morris)。据后来的说法,他本意并非破坏,而是想估算互联网的规模。但由于种群控制逻辑的失误,程序的传播和自我复制远超预期,造成了大范围的系统崩溃。
这次事件带来了几个深远的影响:
- 首个依据《计算机欺诈与滥用法案》定罪的案例:莫里斯成为该法案下被起诉并定罪的第一人,为后续网络犯罪的立法与司法实践提供了先例。
- 催生了CERT应急响应机制:事件之后,美国成立了计算机应急响应小组(CERT/CC),专门负责协调应对大规模网络安全事件。这一模式后来被全球广泛借鉴。
- 重塑了整个行业的安全意识:在此之前,联网被普遍视为一种理所当然的信任关系。莫里斯蠕虫第一次让整个行业意识到,网络的开放性同时也是巨大的攻击面。
从莫里斯蠕虫看今天的网络安全启示
三十多年过去,莫里斯蠕虫的技术手段在今天看来极其原始,但它揭示的几个核心问题至今仍然存在。
首先是弱口令问题依然严峻。莫里斯蠕虫靠猜测常见密码就能扩散,而今天的许多攻击依然依赖弱口令和默认凭证。密码安全从来都不是一个已经解决的老问题。
其次是自我传播型恶意软件的威胁从未消失。从莫里斯蠕虫到后来的红色代码、SQL Slammer,再到近年的勒索软件蠕虫(如WannaCry),能够自动横向扩散的恶意程序始终是最具威胁的一类。当传播速度以小时甚至分钟计时,人工响应几乎无从下手。
最后是代码缺陷可能引发意外灾难。莫里斯本无意造成如此大的破坏,仅仅是种群控制概率的一个设计失误,就放大成了全网性的灾难。这提醒我们,在自动化和自我复制系统中,一个微小的逻辑错误可能引发难以预料的连锁反应——这在今天的自动化脚本、AI Agent和大规模分布式系统中,同样值得警惕。
结语
莫里斯蠕虫是一堂用整个互联网付出代价换来的安全课。它用13个小时证明了网络的脆弱,也用后续的立法与应急响应机制推动了现代网络安全体系的建立。回望这段历史,我们看到的不只是一个失控的小程序,更是一个行业从天真走向成熟的起点。
相关推荐

@ai-sdk/zai@3.0.10 发布:依赖更新的补丁版本解析
Vercel AI SDK 发布 @ai-sdk/zai@3.0.10 补丁版本,同步更新 provider、provider-utils 与 openai-compatible 等底层依赖。本文解析该版本变更内容及 AI SDK provider 体系的设计意义。

Vercel AI SDK 更新:@ai-sdk/workflow 2.0.29 修复工具结果保留问题
Vercel AI SDK 发布 @ai-sdk/workflow 2.0.29 补丁版本,核心修复工作流在终止、延迟、暂停三种响应状态下 provider 工具执行结果的保留问题,并同步升级 ai@7.0.98 等核心依赖。

Vercel AI SDK 更新:@ai-sdk/xai 4.0.58 批处理与图像生成改进
Vercel AI SDK 发布 @ai-sdk/xai 4.0.58 版本更新,新增批处理图像生成支持,修复批处理请求类型校验及 DeepSeek 推理流问题,并同步升级 provider 相关依赖。