代码之家  ›  专栏  ›  技术社区  ›  Peter Perháč

莫里斯互联网蠕虫-有人知道他们是如何阻止它的?

  •  -1
  • Peter Perháč  · 技术社区  · 14 年前

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

    在一个非常简短的演讲中 莫里斯互联网蠕虫 我应该列出阻止蠕虫传播的步骤。我的PP幻灯片现在正接近最终状态,但在我说之前 那个 是如何阻止蠕虫的,我想和你核实一下。我听说这个蠕虫病毒在当时的美国引起了很大的轰动,所以我希望能从计算机领域找到一些能提供一些信息的人。

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

    我发现以下报告和其他报告提到了PleaseEquit变量:( taken from this website ):

    蠕虫使用一个名为 “pleasequit”但不正确 初始化它,所以有些人添加了 模块名为“worm.o to the c” 图书馆,其来源:

    int pleasequit = -1; 
    

    此值设置为-1的事实 会使它在一次之后退出 迭代。

    2 回复  |  直到 14 年前
        1
  •  5
  •   T.E.D.    14 年前

    它在旧版本的sendmail、finger和rsh(主要是sendmail-though、iirc)中使用了一个漏洞。修复过程很简单,只需走出去,让自己获得这些服务器的最新版本。

    阻止最初传播的正是阻止人类病毒传播的原因:缺乏新的未感染的易受感染的宿主,这些宿主可以从被感染的宿主那里获得。它只能将旧的sun3系统或vaxen感染到一个正确的unix版本(当时很多甚至不是大多数的vaxes都运行vms)和非补丁版本的finger或sendmail或rsh服务器。

        2
  •  3
  •   vy32    14 年前

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

    因此,被T.E.D.认为正确的答案实际上是不正确的,因为蠕虫继续感染未感染的系统。

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

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

    莫里斯之前在邮件列表中公开了蠕虫所利用的一个漏洞,人们几乎忽视了他,说这个漏洞并不重要。这条蠕虫似乎是为了引起人们对一些重要的计算机安全问题的注意而做的一个宣传噱头。当蠕虫被释放并失去控制后,他似乎公开了关于如何阻止它的信息,但由于互联网被阻塞,这些信息无法足够快地释放出来。

    推荐文章