-1

是的,这一个家庭作业类型的问题,但你能帮帮我吗?

在一个关于莫里斯互联网蠕虫主题的简短介绍中,我应该列出阻止蠕虫传播所采取的步骤。我的 pp 幻灯片现在接近最终状态,但在我去说是他们阻止蠕虫的方式之前,我想和你核实一下。听说这个蠕虫病毒轰动一时,当时在美国引起了不小的轰动,所以我希望能找到一些计算机领域的人提供一些信息。

基本上,我一直在各种报告和文章中发现,该蠕虫的主要弱点pleasequit是没有正确初始化的变量,因此将这个变量设置为 -1 就足以阻止蠕虫。这是对蠕虫的最后一击吗?这是否有效地阻止了它的传播?

我发现以下报告和其他人提到了 pleasequit var: (取自本网站):

该蠕虫使用一个名为 'pleasequit' 的变量,但没有正确初始化它,因此有些人在 C 库中添加了一个名为 _worm.o 的模块,该模块由以下代码生成:

int pleasequit = -1; 

该值设置为 -1 的事实将导致它在一次迭代后退出。

4

2 回答 2

5

它使用了旧版本 sendmail、finger 和 rsh(虽然主要是 sendmail,IIRC)中的漏洞。修复就像出去并让自己获得这些服务器的最新版本一样简单。

阻止最初传播的正是阻止人类病毒传播的原因:缺乏新的未感染易受感染的宿主可以从受感染的宿主中访问。它只能用正确版本的 Unix 之一感染旧的 Sun3 系统或 Vaxen(当时很多甚至不是大多数 Vaxes 都运行 VMS)和未打补丁的 finger 或 sendmail 或 rsh 服务器版本。

于 2009-11-25T20:18:00.637 回答
3

该蠕虫有多种感染新系统的方法,包括 sendmail 和 finger 漏洞,以及密码猜测。(sendmail 漏洞不是代码漏洞,而是可以在 sendmail.cf 文件中启用的后门。)最初的目标似乎是进行一次低级、隐秘的攻击,最终导致程序在许多不同的服务器上运行业主没有意识到发生了什么。编码错误不是pleasequit变量,而是蠕虫重新感染了甚至看起来已经被感染的系统的事实。这导致受感染的机器受到多次感染,然后崩溃。

因此,被 TED 接受为正确的答案实际上是不正确的,因为蠕虫继续感染未感染的系统。

导致感染停止的原因是易受攻击的系统被从互联网上删除。不幸的是,当时许多组织通过切断互联网连接做出回应,这实际上使他们更难找出问题所在并解决问题。

说系统只能感染“旧的 Sun3 系统或 Vaxen”也是不正确的。在蠕虫病毒出现时,它正在感染正在使用的最先进的系统。该蠕虫特别聪明,因为它携带了针对两种不同架构的机器语言漏洞(Sun3 是 68K,Vax 是它自己的架构)。该蠕虫攻击当前版本的操作系统——我们今天称之为“0 Day”漏洞。

莫里斯此前曾在邮件列表中公开了该蠕虫利用的漏洞之一,人们几乎忽略了他,称该漏洞并不重要。该蠕虫病毒似乎是一种宣传噱头,以引起人们对某些重要计算机安全问题的关注。在蠕虫被释放并失控后,他似乎公开了如何阻止它的信息,但由于互联网堵塞,该信息无法足够快地传播出去。

于 2010-01-11T16:37:40.660 回答