莫里斯蠕虫

维基百科,自由的百科全书

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

蠕虫构造[编辑]

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

按照其作者的说法,莫里斯蠕虫编写的起因并不是想造成破坏,而是想测量互联网的规模。然而,选择在MIT施放蠕虫,掩盖了它其实是来自康奈尔的事实(凑巧的是,莫里斯现在MIT担任副教授)。此外,莫里斯蠕虫利用了Unix系统中sendmailFinger英语Finger_protocol、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。”

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

为了合作应对蠕虫感染的危机,Gene Spafford英语Gene Spafford创建了名为 phage(噬菌体)的邮件列表。

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

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

参见[编辑]

注释及参考资料[编辑]

  1. ^ Dressler, J. Cases and Materials on Criminal Law, "United States v. Morris" ISBN 9780-314-17719-3
  2. ^ 莫里斯的上诉状. [2008-11-01]. (原始内容存档于2021-05-01). 
  3. ^ The Submarine. [2008-11-01]. (原始内容存档于2005-04-19). 
  4. ^ "Computer Intruder is Put on Probation and Fined" by John Markoff, New York Times. [2008-11-01]. (原始内容存档于2009-02-14). 
  5. ^ Great Worm页面存档备份,存于互联网档案馆) from The Jargon File

外部链接[编辑]