莫里斯蠕虫

维基百科,自由的百科全书
跳转至: 导航搜索

莫里斯蠕虫,又称为互联网蠕虫,是通过互联网传播的第一种蠕虫病毒。它既是第一种蠕虫病毒,也是第一次得到主流媒体的强烈关注。它也是依据美国1986年的《计算机欺诈及滥用法案》而定罪的第一宗案件[1]。该蠕虫由康奈尔大学学生罗伯特·泰潘·莫里斯(Robert Tappan Morris)编写,于1988年11月2日从麻省理工学院(MIT)施放到互联网上。

蠕虫构造[编辑]

波士顿科学博物馆保存的存有莫里斯蠕虫源代码的磁盘

按照其作者的说法,莫里斯蠕虫编写的起因并不是想造成破坏,而是想测量互联网的规模。然而,选择在MIT施放蠕虫,掩盖了它其实是来自康奈尔的事实(凑巧的是,莫里斯现在MIT担任副教授)。此外,莫里斯蠕虫利用了Unix系统中sendmailFinger、rsh/rexec等程序的已知漏洞以及薄弱的密码。

蠕虫代码中一段非本意的效果unintended consequence)加剧了其危害性,它使同一台计算机会被重复感染,每次感染都会造成计算机运行变慢直至无法使用。蠕虫的主体只能感染DECVAX机上运行的BSD 4以及Sun 3系统,而程序中的一段C语言代码会调用程序主体,使其在其它的系统上也能运行。

编程错误[编辑]

蠕虫传播机制上的编程错误把一个可能是无害的智力练习变成了恶意的拒绝服务攻击。 蠕虫本来可以在入侵一台计算机之前查询其是否已经被感染,但这么做会让清除蠕虫变得非常容易,只要设置一个进程在受到查询时回答“是”就可以避免被感染。为躲过这种防御措施,蠕虫采用了麥可·拉賓Michael Rabin)的座右铭“随机性”作为对策。莫里斯让蠕虫在得到“是”的回答时,仍按1/7的几率进行复制[2]。事实证明这种复制几率还是过高,蠕虫的传播非常迅速,重复感染了一些计算机。Morris听到这个错误后评论说“他本来应该先在模拟环境中试一下”。

造成的后果[编辑]

通常的说法是莫里斯蠕虫感染了大约6,000台Unix计算机。Paul Graham 宣称:[3]

“这个统计数据炮制出来时我在场,他们是这么算的:有人估计约有60,000台计算机连上了互联网,而蠕虫大概感染了其中的1/10。”

美国的政府审计办公室估算出蠕虫造成的损失为1000万至1亿美元。

为了合作应对蠕虫感染的危机,Gene Spafford 创建了名为“噬菌体”的邮件列表。

莫里斯受到审判,并被定罪违犯了1986年的《计算机欺诈及滥用法案》。经过上诉,他被判3年缓刑、400小时社区服务及10,000美元罚金。[4]

莫里斯蠕虫有时候也被称为“大虫”(Great Worm),原因是它对当时的互联网所造成的毁灭性影响,包括系统长时间宕机,也包括担忧互联网的安全性、可靠性的心理冲击。大虫这个称呼来源于托尔金小说中两条龙的名字:史卡沙格劳龙[5]

参见[编辑]

注释及参考资料[编辑]

外部链接[编辑]