37年前的本周,莫里斯蠕虫在24小时内感染了10%的互联网

图0:37年前的本周,莫里斯蠕虫在24小时内感染了10%的互联网

37年前的本周,莫里斯蠕虫(Morris worm)在24小时内感染了10%的互联网——这条蠕虫悄然爬行,开启了网络安全的新纪元

早在万维网问世前一年,互联网就已遭受蠕虫侵袭。

1988年本周,康奈尔大学研究生罗伯特·塔潘·莫里斯向互联网释放了以他命名的蠕虫病毒。感染浪潮在24小时内蔓延至整个互联网的10%,造成当时堪称天文数字的损失。然而联邦调查局在《FBI回顾报告》中指出,这款开创性的“莫里斯蠕虫”并非出于恶意——这份报告将事件定性为“编程失误”。该程序本意是测算互联网规模,最终演变成经典的“意外后果”案例。

莫里斯蠕虫(Morris worm)剖析

素有恶作剧之称的莫里斯,在将这个“无辜”程序释放到网络时,想必心怀忐忑。其发布方式便印证了这一点。据FBI描述:“他通过纽约伊萨卡康奈尔大学的终端,入侵麻省理工学院的计算机发布了程序。”

元素周期表

莫里斯蠕虫采用C语言编写,专门针对BSDUNIX系统,如VAX和Sun-3计算机。联邦调查局特别指出,该蠕虫“利用了互联网电子邮件系统的后门漏洞,以及用于识别网络用户的’finger’程序中的缺陷”。与计算机病毒不同,莫里斯设计的蠕虫无需宿主程序即可自主复制传播。

值得庆幸的是,莫里斯蠕虫并未被设计成破坏文件。然而,这些非预期的后果导致网络严重延迟,消息传递延误和系统崩溃成为普遍现象。这场计算机灾难以最糟糕的方式成为新闻焦点。为及时清除蠕虫,部分机构不得不彻底清除系统数据,甚至断网长达一周之久。

莫里斯蠕虫的受害者包括伯克利、哈佛、普林斯顿、斯坦福、约翰霍普金斯大学、美国宇航局以及劳伦斯利弗莫尔国家实验室等顶尖机构。

谁干的?

专家们全力寻找解决方案,与此同时,蠕虫幕后黑手之谜浮出水面。显然,制造并释放此蠕虫者理应承担后果,因此联邦调查局介入调查。

莫里斯曾试图匿名解释并为蠕虫致歉,但其友人无意间泄露了他的姓名首字母,使他暴露行踪。

联邦调查局的问询及计算机文件分析最终证实莫里斯确系元凶。他依据1986年刚颁布的《计算机欺诈与滥用法案》被起诉。1989年因轻罪出庭受审后,莫里斯虽未获刑,但被判处罚款、缓刑及400小时社区服务。

计算机蠕虫比万维网更早出现

1988年11月,互联网与今日面貌大相径庭。例如万维网(WWW)尚未诞生,尽管它很快将成为90年代首批网民的核心体验。

当时互联网的骨干网络是NSFNET——它刚接替了ARPANET 。其主要目标是将原骨干网的覆盖范围从军事及国防机构扩展至更广泛的学术领域。值得一提的是,NSFNET于1995年退役,其后由商业互联网接替——后者在1990年代依托私营ISP和商业骨干网应运而生。

因此当我们谈及莫里斯蠕虫导致10%的互联网瘫痪时,当代估算显示约6万台联网系统中有6000台遭到感染并受影响。此外,当我们强调这种初代蠕虫传播可能造成的巨额损失时,相关估算范围从10万美元到数百万美元不等。

计算机蠕虫至今仍是令人胆寒的现象。例如我们曾报道过第一代AI蠕虫——莫里斯II生成式AI蠕虫。

共有 149 条评论

  1. 10%这个数字纯属杜撰。据保罗·格雷厄姆所述:“我亲眼见证这个统计数据的炮制过程,其配方如下:有人估算当时约有6万台计算机接入互联网,而蠕虫病毒可能感染了其中百分之十。”

    • 该数字很可能指UUCP协议下的非实时连接主机。我可能记错了,但当时能通过telnet连接的6万台主机,听起来像是相当多的“躲藏主机”。我当时也在场,还是十几岁的少年。上帝保佑PG。

      • 没错,而且当时的“主机”可不是廉价PC之类的东西,通常是3万美元的工作站或30万美元的服务器。仅限科技公司和大学,且主要分布在美国。六万台在当时确实是个惊人数字,直到九十年代初才迎来爆发式增长。

        就连UUCP也仍属边缘技术,那些主机并未真正通过TCP/IP互联。它们采用类似FidoNet的拨号邮件交换协议。

        • 那真是黄金年代。我至今记得自己的Fido号码,也清楚记得让UUCP正常工作是多么痛苦的折腾。唉。不过我母亲比同龄人早好几年就拥有了电子邮箱地址。那时候当极客可真有趣。

  2. 我修过他关于分布式系统的6.5840课程(https://pdos.csail.mit.edu/6.824/, YouTube视频[https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbs…]](https://youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB))并完成了实验。某日出于好奇,我搜索了他的名字,这才惊觉这位教授竟是传奇人物。

    顺带一提,这门课非常精彩。

    • RTM曾是我在麻省理工学院修读计算机科学/系统工程课程的助教。记得直到我们完成关于蠕虫病毒的作业时,学生们才意识到他的身份。学生们觉得这很酷,但即便作为负责该作业的助教,他当时也没多谈。

    • 他父亲同样是传奇人物,曾任美国国家安全局首席科学家。

    • 要是他能讲讲1988年如何破解分布式系统就太棒了…

      • 1988年?随便往代码里塞点分号就行。

      • 当时默认提供无密码的“guest”账户,方便远程协作、排查连接问题或与管理员沟通。

      • > 要是他能讲讲1988年如何破解分布式系统就太酷了..

        用户名: 字段

        密码 : technician

    • 我也在业余时间学这门课。之前甚至不知道他是谁。

      顺便问下,你学完这门课后做了什么?

      不过这课程确实精彩!

  3. 莫里斯的程序本无恶意,却意外成为网络安全史的转折点。如今我们所知的多数安全研究、红队演练乃至“灰帽”文化,其根源皆可追溯至那一刻。

  4. 相关经典文献是《显微镜与镊子:麻省理工视角下的蠕虫》[1],事件发生数月后发表于《计算机协会通讯》。注意文中称其为“那条”蠕虫。

    1988年我在IBM实习时,公司曾关闭(据我记忆)通往企业网络(vnet)的两个互联网出口,以便人员排查状况。当时信息传播缓慢,自我复制软件的概念尚属新奇——尽管IBM早在前年就拥有过类似的复制程序[2]。

    [1] https://www.cs.columbia.edu/~gskc/security/rochlis89microsco

    [2] https://en.wikipedia.org/wiki/Christmas_Tree_EXEC

    • > 自我复制软件的概念当时相当新奇

      软盘病毒早已存在且相当普遍

  5. 那真是既惊险又刺激的一天(注:当时正在麻省理工学院操作机器)

    • 那天我们的技术主管跑来通报蠕虫病毒,据说我国能幸免于难是因为消息传播得足够快——有位技术人员直接切断了全国的互联网连接(当时仅有一条连接通道)。(!)

    • 记得那天Usenet上安静得可怕。

      校园里的工程楼和计算机楼里没什么动静(除了那些处理蠕虫的人)。

    • WPI(伍斯特理工学院)免疫于病毒,当时联网的主机是台Encore Multimax和DEC-20。

    • 好时光啊,好时光。当时我在斯坦福的计算机实验室,突然感觉所有设备都变得极其极其缓慢。

  6. 摘自维基百科条目:

    克利福德·斯托尔在《杜鹃蛋》一书中写道:“有传言称[莫里斯]与哈佛大学计算机系的一两位朋友合作过(哈佛学生保罗·格雷厄姆曾给他发邮件询问'那个杰出项目有消息了吗')”。

    pg对此有过评论吗?

    • PG在以下访谈中略有提及该蠕虫:https://aletteraday.substack.com/p/letter-85-paul-graham-and

      摘录部分内容:

      这条蠕虫本该永远不为人知,若非其中存在一个漏洞。问题就在于此。蠕虫本身完全无害,但控制传播副本数量的代码存在缺陷。因此当时一台电脑可能运行上百个蠕虫副本——要知道那时电脑同时运行100个进程就足以崩溃。

      >他打电话告诉我发生了什么。

      • 我想当时人们尚未意识到,未经许可就将未经测试的软件无限量分发到他人计算机的行为是不道德的。因此rtm和pg认为蠕虫完全无害——毕竟那些细节在当时根本无法预见。

        • > 我想当时人们尚未意识到,未经许可就将未经测试的软件分发到无限数量的他人计算机上,这种行为其实是不道德的

          作为当年正值青少年黑客时期的老兵,我曾通过Diversi Dial拨号系统接触早期互联网(得益于GNU/FSF的开放政策),进而参与Bitnet中继网络建设,更亲历了IRC在这一年(1988年)的初创阶段 (1988年)我可以断言,即便作为恶作剧或技术展示,此类行为在当时绝对被视为恶劣行径(对当时的青少年而言虽颇具吸引力,但在专业层面上显然违背道德准则)。

          …然而当你失手引发轩然大波时,若父亲供职于美国国家安全局,便能全身而退。

          若非RTM成员,绝大多数人在此境遇下都将面临更严峻的后果。

          • 他受到的待遇与《计算机欺诈与滥用法》颁布后其他计算机重罪被告相当。无经济收益的犯罪、初犯、意图极其模糊、破坏研究网络——最终重罪定罪。你还想要什么?后来被判刑的人,比如判一年牢的,不过是搞了电话交换机而已。

          • 毕竟他确实被判了重罪。

    • 他在多篇论文中提及此事:

      https://www.google.com/search?q=site%3Apaulgraham.com+%22mor

    • 你会吗?

      • 如果诉讼时效早已过期,我又有足够的资金,为什么不呢?

        • 我觉得部分原因在于,尽管讨论这些很有趣,但对罗伯特·塔潘·莫里斯本人而言绝非如此。我当年那些朋友们 非常反感 我谈论他们的所作所为——尽管他们都没因此受过任何惩罚。

          • 姑且假设rtm觉得整件事很尴尬,宁愿避而不谈。若pg真是他挚友,出于尊重而回避讨论(尤其在公开场合)就合情合理了。

      • 但愿他至少能在遗嘱里留下线索。我们都在好奇/等待真相。

      • 年度最佳评论

    • 顺带提下《杜鹃蛋》的细节;

      虽已久未重读,但依稀记得克利夫赴华盛顿特区时曾拜访罗伯特·莫里斯(rtm之父)在NSA的办公室,而蠕虫病毒与rtm的提及,我认为是在他与老罗伯特会面之后。

  7. “蠕虫”一词源自1975年科幻小说《冲击波骑士》:

    * https://en.wikipedia.org/wiki/The_Shockwave_Rider

    • 《冲击波骑士》中的蠕虫曾向公众泄露机密信息。事实证明,实现此目的根本不需要蠕虫程序,维基解密就足以做到。

  8. 当时我在普渡大学工程计算机网络担任兼职学生管理员/系统程序员。我们的操作系统安装了足够多的本地修改(且存在非VAX、非Sun架构),因此对蠕虫的部分传播方式具有免疫力,但sendmail调试模式漏洞仍引发了大量恐慌。

    • 多样性即安全!但愿更多人能明白这个道理。虽然管理多样化的系统可能更困难,但它们面对攻击时具有更强的韧性。

      • 我认为这根本未经证实;不妨拿它和强化主流平台的回报率比一比。所谓“单一生态”的安全论调向来被夸大其词,关键在于你永远无法构建出真正具有决定性意义的多样性生态。拥有三种主流桌面系统或手机操作系统的优势,仅比单一系统略胜一筹,更别说实现二十种系统共存了。

        • 除了在HN发帖,你还做点别的么 😉

          把所有东西都塞进微软活动目录?等着被黑吧。届时你将失去DNS、DHCP、邮件、文件服务器、网页服务器、终端设备等等。显然,若想维持业务运转,单一生态系统是愚蠢之举。

          不妨在Linux服务器上运行BIND,在OpenBSD服务器上运行Apache,配备部分Chromebook和Mac设备,避免系统全面瘫痪。

          说真的,这并非危言耸听…多元化本就是常识。就像我们在饮食营养、金融投资等领域的做法一样。

          • 听起来合乎常理,但主流用户和企业所能实现的半心半意的多元化,反而可能 削弱 安全性。这是因为现实世界中的安全防护本质上都采用逻辑边界化策略:仅关注单一对外攻击面,并默认攻击者突破防御后必然存在持久化与横向移动能力。 内部渗透测试无人能幸免 ,即便在2025年亦是如此。

            因此,在Linux上运行BIND、在OpenBSD上运行Apache,再试图将其与MSAD绑定,本质上只是扩大了攻击面。一旦其中任何环节被攻破,攻击者无需掌握尖端漏洞技术就能由此扩展权限。

            所谓“单一文化”论调,源于安全专家担忧微软垄断企业IT的时代产物。我们(普遍)是SaaS初创企业从业者,极少有人使用微软产品。对我们而言,全面强化单一Linux服务器环境远比刻意混用NetBSD和微软服务器更有效。这种做法非但无益于安全,只会让网络变成CTF竞赛场。

    • 当时KSB在场吗?那家伙挺有意思的。

  9. 我确信保罗·格雷厄姆直接参与了这段故事(并非以负面或可责的方式,但若拍成电影,他的角色定会由知名演员出演)。

    https://news.ycombinator.com/item?id=38020635

    • 好奇问下,你为何这么认为?

      • 当时就有相关报道。凯蒂·哈夫纳和约翰·马克夫的书里写得很清楚!莫里斯有个叫保罗的朋友在蠕虫事件后续中扮演了角色。

        我并非在贬低保罗·格雷厄姆。了解我的人都知道,这反而能为他加分。:)

        • 凯蒂·哈夫纳和约翰·马克夫的书里写着呢!

          不确定这句是讽刺[1]还是认真说的,但值得一提的是,哈夫纳和马克夫因该书对事实的随意处理屡遭批评。虽然多数批评针对他们对米特尼克的报道,我在此并非指控任何具体内容。只是想指出“凯蒂·哈夫纳和约翰·马克夫的书里有记载”这种说法,恐怕不足以成为$任何论断的有力证据。

          [1]: https://en.wikipedia.org/wiki/Poe%27s_law

          • 我的意思是,这本书我也算不上喜欢,但你的理论是什么?难道他们凭空捏造了保罗这个角色?

            • 没有理论,纯粹为不熟悉该书及作者的人提供背景信息,以及书中引发的一些争议。

              • 我知道这本书把米特尼克的成就夸大了很多(他本质上就是个顶尖的脚本小子)。但我同样清楚当时圈子里的人有多讨厌马科夫,都把他当成圈子的敌人。

        • 我当然了解你,也绝对没觉得你在贬低保罗,正因如此才好奇——毕竟特拉塞克先生,这问题是专门问你的嘛。:)

          感谢解答,我会去读这本书。

          • 感谢解答,我会去读这本书。

            这确实是本好书,但重申我之前的观点:多年来人们对书中某些细节的真实性存有诸多质疑。你自己斟酌吧。我读得津津有味,反复读了三四遍,不过也建议参考其他讲述相同故事的著作——特别是关于K·米特尼克的部分。

  10. 我本期待能了解其运作机制。目标是评估互联网规模,但如何实现?为何失败?看来只能求助维基百科了。

  11. IETF的评估报告有个惊人的标题:《互联网的蠕虫病》

    https://www.rfc-editor.org/rfc/rfc1135

  12. 我曾把vt100终端放在床头,夜里翻身时会查看几次。凌晨三点系统彻底瘫痪。无法登录任何节点,也启动不了任务。公交要到5:30才发车,我只好穿好衣服步行过桥去实验室。访客中心未开放,我便从岗亭旁的出口溜进去。那些民用承包商要么没看见我,要么认出我却无动于衷。

    由于所有系统都锁死了,我先重启了大型VAX单用户系统——这得花十分钟,于是顺便启动了几台SUN服务器。要知道那个年代包括台式机在内的所有设备都运行sendmail,这些机器启动后刚正常工作几秒,sendmail就开始疯狂占用CPU资源。

    我双眼迷离地走动着,逐台重启所有设备并从rcs中移除sendmail。TMC应用工程师七点左右进来给我倒了杯咖啡。他设法联系上剑桥的同事,对方告知这种情况遍布各地。

  13. 我记得这是八十年代互联网罕见登上主流新闻的事件之一。事后与密歇根大学及密歇根州立大学的网络人员交谈时,得知那对他们而言绝非美好的一天。他们还曾要求判处罗伯特·莫里斯监禁,但最终未果。

  14. 想必各位都知道罗伯特·莫里斯是YC(及Viaweb)的联合创始人之一?[1] 与保罗·格雷厄姆、杰西卡·利文斯顿、特雷弗·布莱克威尔共同创立。

    [1] https://en.wikipedia.org/wiki/Robert_Tappan_Morris

  15. 值得庆幸的是,C语言中导致莫里斯蠕虫存在的漏洞,后来已被WG14小组修复。

    • 未来并非均匀分布。最近发现某个活跃的软件项目,其大量辅助函数基于gets的设计,存在相同漏洞。令人惊讶的是,至今仍有C/C++开发者看到缓冲区指针在未指定长度的情况下被传递时,竟未感到毛骨悚然。(C++的std::span通过将缓冲区指针与长度绑定解决此问题,其便利性恰似Go和Rust的切片机制。)

  16. 我觉得有趣的是:

    1. 他选择MIT许可证发布代码以规避嫌疑

    2. 被定罪后,他竟从康奈尔转至哈佛完成博士学位

    3. 此后竟成为麻省理工学院助理教授。

    他必定才华横溢或背景惊人,才能在顶级项目完成学业,并受聘于自己曾试图陷害的机构。

    • 他父亲是鲍勃·莫里斯。除非你开的是这个玩笑。

      鲍勃·莫里斯编写了crypt(1)、dc(1)、crypt(3)、libm库,合著了彩虹表系列,并作为密码学家为美国国家安全局完成过其他未公开的工作。

      dmr在此处记录了与鲍勃·莫里斯的合作经历:https://web.archive.org/web/20250121041734/https://www.bell-

    • 我最爱的冷笑话之一是《不可能研究年鉴》¹的“编委会”名单——RTM竟被列在计算机科学领域。姓名后星号代表资质,RTM的标注是“重罪犯”

      ¹伊格诺贝尔奖颁奖机构

    • 你读过他的论文吗?莫里斯可不是在开玩笑。

      • 能否具体说明,或推荐某篇论文?

        • 直接查阅他的著作目录就行。《和弦协议》《点击模块化路由器》(对我而言至关重要)、RON协议(同样重要)、维瓦尔第协议(后来被哈希公司产品采用)。他参与过大量项目。他在CSAIL之前的工作与LBL网络研究组(范·雅各布森、弗恩·帕克森、史蒂夫·麦坎恩)高度相似——他属于那个级别。

      • 能否展开说明?

        他当时和现在都极具才智,这点毋庸置疑。23岁时他已非稚子。

        该蠕虫程序结构惊人复杂,包含三组独立远程漏洞利用模块。

        开发测试过程可能耗时数周。

        因此破坏数千台当时价值不菲的联网计算机,实属精心策划的破坏行动。

        我认为他这么做很可能是为了成名甚至成功,毕竟有父亲的地位作后盾让他感到安全。事实证明这招奏效了——他没进监狱,反而联合创立了Viaweb和YCombinator。

        说来不假,他确实是YC的绝佳榜样。:/

        • 我并非在对他进行精神分析,只是说他取得精英学术成就并不令人意外——毕竟他是顶尖的表演者。

          • 此刻令我困惑的是:你在HN上持续展现的明显左翼活动家立场,却拒绝承认他能逍遥法外是因为有NSA背景的父亲。

            编辑:我不是美国人。请务必理解我字面意思而非某些人现在想象的意思。我对你们很有信心!

            澄清:我不是特朗普的支持者。

            • 一项重罪定罪、三年缓刑、400小时社区服务,外加25,000美元(按通胀调整)罚款——针对这桩既无暴力行为又未获个人利益的新型犯罪,实在称不上“逍遥法外”。

              • 没错,对有钱有势者而言这确实算逍遥法外。

                • 这涉及价值取向的争论。惩罚的目的是什么?是警示他人?是清除社会危险分子?是防止罪犯再犯?还是满足社会对惩治罪犯的诉求?

                  他并未再犯(据我们所知),反而成为对社会贡献卓著的成员。他的罪行并非原则上无法弥补的恶行。我不认为更严厉的惩罚能带来明显更好的结果。与其争论他本应受更重刑罚,不如主张同类罪行应施以同等惩处,这更有建设性。

                  • 这与其说是关于惩罚目的的讨论,不如说是“猴子与葡萄”的寓言重演。

                • 当年计算机犯罪的刑罚本不如此严苛。如此重判着实令人惊讶,看来检方阵营中必有重量级人物坐镇。

                  • 据我所知,这是《计算机欺诈与滥用法》实施后首批起诉案例之一。检方很快意识到系统大规模瘫痪实属意外(复制代码存在漏洞),此案主要目的是为新兴的法律技术领域确立判例。

            • 等等,我得把“我这个'极其明显的左派分子'”的说法记录下来传给亲友。谢谢,这让我今天心情大好。

              • > 我得把“明显左派”这个标签截屏发给亲友们

                s/leftist/Catholic/g;(褒义)

                • 不确定我的天主教徒身份有多明显,不过我妈听到肯定会高兴 🙂

            • > 非常明显的左翼活动家立场

              当“左翼分子”有什么问题吗?

            • [已删除]

            • 没必要“侮辱”人。我看他的评论只是个成功的科技男在欣赏和维护同类,“男孩子就是这样”的风格。我觉得这和政治无关。

    • 你知道他老爸曾任职NSA研究主管吧?

      他老爸也是个狠角色,聊天超级有趣。虽然没和儿子聊过,但真希望能有机会。

      • 我在早期(约2008年)的YC晚宴上和儿子聊过。其实他比PG或多数YC创始人更平易近人;RTM是个“痴迷深奥数学”的极客,这让我耳目一新——毕竟其他YC创始人多散发着“征服世界”的气场。

        有趣的冷知识:RTM在2000年代初的研究对象是Chord[1]——最早期的分布式哈希表之一。Chord启发了Kademlia[2]的诞生,后者后来成为Limewire、以太坊和IPFS的核心技术。因此他在麻省理工的研究,其累计市值影响力实际上远超多数YC初创企业。

        [1] https://en.wikipedia.org/wiki/Chord_(peer-to-peer)

        [2] https://en.wikipedia.org/wiki/Kademlia

      • RTM Jr是个极好的人,显然非常聪明,同时幽默风趣且平易近人。我们在哈佛计算机科学研究生院有过几年的交集。

      • 我之前并不知情。这下一切都说得通了。我还纳闷他怎么能因这种事免于牢狱之灾,原以为只是聘请了顶尖律师。

        • 我认为更关键的是,当时互联网本身还没那么重要。我直到1993年才真正接入网络,而1994-1995年间网络分流事件仍时有发生(我印象最深的是UUNet与NSFNet的分流)。那次攻击虽未造成经济损失,动机也模糊不清,却导致整个科研网络瘫痪。从庭审报道可见他聘请了优秀律师,但判决结果合情合理。我怀疑其父与此案关联不大。

          • 没错,1988年的互联网还只是连接大学的研究网络。当时既无直接经济损失,受损系统也不显关键。正如托马斯所述,事件应对措施之一是让互联网分网运行数日[2]——如今是否还能实施此类操作不得而知。

            但时隔多年重新查阅细节[1]时,我读到:

            “美国国家安全局试图尽可能封锁事件真相。数日内,该局下属的国家计算机安全中心(老莫里斯曾在此工作)要求普渡大学删除其计算机中关于病毒内部运作机制的信息。”

            而卡内基梅隆大学的计算机应急响应小组(CERT)正是对此事件的回应之一[2]。

            由此可见,这起事件似乎被引导至避开公众审判,转而推动安全机构的建立。

            罗伯特·莫里斯最终被判重罪成立,获三年缓刑并罚款1万美元。至于HN用户群体,除pg外,克利夫·斯托尔在此事件中扮演的角色较为次要。

            [1] https://archive.nytimes.com/www.nytimes.com/times-insider/20

            [2] https://en.wikipedia.org/wiki/Morris_worm#Effects

          • > 我觉得更关键的是,当时互联网根本不算什么大事。

            或许是我老了,但那会儿似乎 什么事 都不算大事。

            近几十年来一切都变得紧张兮兮。我以前有套国际航空公司赠送给每位乘客的 金属 餐具套装。

            • 随着时间推移,组织机构自然会针对事件不断增加规章制度。

          • > 我觉得更关键的是,当时互联网本身还没那么重要。

            但“计算机犯罪”绝对是大事。

            • 据我所知,1988年公众对“计算机犯罪”虽有 些许 认知(《战争游戏》对此有所助推),但对多数人而言仍非“大事”。主观记忆中,1990年前后随着“太阳恶魔行动”[1]的启动、对史蒂夫·杰克逊游戏公司的突袭等事件,局面才出现明显转折。

              到了90年代中后期(我认为大约1997年),“黑客圈”终于形成共识:“这已成现实:涉案被捕可能面临实际监禁、罚款、大学录取受阻、失业等后果。” 我成长于北卡罗来纳州的乡村地区,信息传播可能比其他地区滞后,因此其他人对时间线的认知可能不同,具体情况具体分析。

              [1]: https://en.wikipedia.org/wiki/Operation_Sundevil

              • 当时混乱不堪,但仅有三起逮捕。这些案件最终都进入正式起诉程序了吗?我相当确定布鲁斯·埃斯基贝尔并未被起诉(至少PACER系统中没有相关记录)。至于“垃圾人托尼”的身份,我完全不知情。

            • 勉强算吧。当时我所在地区,青少年们为了登录IRC和访问FTP站点,竟闯入当地大学搞破坏。“网络安全”还是个相当新颖的概念。

            • 呃?联邦法律才刚明确将其定为犯罪。若你想到莫里斯蠕虫事件后几年的“黑客大扫荡”或凯文·米特尼克的壮举,需知即便以当今标准衡量,他们当时的行径也相当疯狂——他们曾控制过全国范围的电话交换机。即便如此,当时的刑罚也未达到离谱的高度。

              当时不存在如今这种规模的金融欺诈——如今即便是名义上的赔偿金额也动辄达到八九位数。

    • > 试图嫁祸。

      麻省理工学院真正尊重的是优秀的黑客技术和黑客精神。这种方式可能比提交论文PDF更有效。

      • >麻省理工学院确实尊重优秀的黑客行为和黑客人才。

        哎哟,考虑到亚伦·斯沃茨的遭遇。他直接接入麻省理工学院某间未上锁且无标识房间里的网络交换机以提升下载速度,却因此面临“蓄意闯入、重大盗窃及未经授权访问计算机网络”的指控。

        麻省理工对此同样毫无作为。

        >斯沃茨的律师要求公开所有庭前证据文件,麻省理工对此表示反对

        https://en.wikipedia.org/wiki/Aaron_Swartz

        • 同意,考虑到麻省理工学院的其他行为,很难将此视为某种“黑客尊重黑客”的行为。

          当试图理解罗伯特·塔潘·莫里斯如何逃脱惩罚时,很难将他与身为权势显赫之人的父亲脱离背景来考量。

          • 但同时,我们很容易相信2013年的麻省理工学院与1988年已截然不同。

            • 这种可能性确实存在,但麻省理工学院创立于1861年。我认为老男孩俱乐部的根基早在1988年前就已扎下。

      • 事实恰恰相反,他们把黑客当作牺牲品。从亚伦·斯沃茨到因愚蠢的LED胸针被捕的Star Simpson,这样的名单很长https://news.ycombinator.com/item?id=7411868

        麻省理工学院因支持学生行为遭谴责https://www.bostonglobe.com/metro/2014/02/14/mit/9VBBq9pBQ1zhttps://news.ycombinator.com/item?id=7411312

  17. PG承认那个10%的数据是编造的。虽然只是猜测,但显然不准确。

  18. 维基百科显示莫里斯蠕虫病毒于1998年11月2日传播。完全不明白为何要用这个标题在2025年11月4日发布文章。

  19. 这事发生在我出生前,但我对Blaster蠕虫病毒记忆犹新。

  20. 记得波士顿科学博物馆曾展出过一张存有莫里斯蠕虫的软盘。

  21. 我还在等着首个失控的自主僵尸网络出现。

    • 令人惊讶的是,除了物联网垃圾设备外,这种情况至今尚未发生。计算机操作系统似乎已变得过于安全,导致大规模漏洞利用变得不切实际。如今一切都转向了诈骗手段。

    • 当前人工智能在存在数百毫秒延迟和低速网络连接的硬件环境中运行效果不佳。无论是训练还是推理都相当缓慢。

      但我认为这是可解决的问题,我此前尝试的方案已取得不错成效:

      https://github.com/Hello1024/shared-tensor

      当有人成功优化该方案后,我完全能想象分布式AI通过渗透系统开发新漏洞、吸纳更多训练数据,从而自主扩展计算节点池的场景。

  22. > 1988年的互联网

    60k台计算机(主要分布于机构)覆盖20个国家

    • 不过当时一切都更慢。整个土耳其仅有一条9600bps的Bitnet连接线路。互联网需通过Bitnet网关接入。系统(CPU和I/O设备)的运行速度也远低于如今。

      • 更慢且不稳定。大学新生阶段我常泡在Bitnet聊天室,记得每隔30分钟就会发生一次“网络分裂”,导致聊天室里一大批人消失。可能是我们大学的连接问题——当时我们直接连接到伊利诺伊大学厄巴纳-香槟分校。我曾在这里提过,当年觉得Bitnet聊天室简直充满魔力。比如柏林墙倒塌时,我竟能和柏林的学生在聊天室里实时交流,那种体验让我觉得自己置身未来。

      • 速度慢得多。美国多数校园仅靠56K专线连接,而NSF骨干网刚升级到T1。

  23. 其实是1988年的 这一周

    https://neal.fun/internet-artifacts/morris-worm/

  24. 我的Apple Watch里或许存着1988年互联网10%的数据。

  25. >然而FBI在回顾这起“编程失误”时指出,开创性的莫里斯蠕虫病毒并非出于恶意。它本意是测算互联网规模,最终却酿成经典的意外后果。

    倘若RTM真能实现RTM,当今世界或许会截然不同。

    • 倒也差不多。RTM低估了指数级增长的影响,以为自己能在未经授权的情况下,实质上掌控所有联网系统的账户。他显然并非意图作恶,只是想验证这种可能性。

      他确实为我们所有人做了一件好事:当时人们似乎并未意识到缓冲区溢出存在安全风险。包括我在八十年代初第一份工作中遇到的老上司在内,当时的普遍认知是:若向程序输入无效数据导致其崩溃,责任在于用户——因为程序有明确的规范或文档说明,而用户未遵守。

      • 有趣的是,尽管当时已有相当完整的概念验证被广泛报道,但栈溢出问题仍被忽视了整整七年。多年来,几乎所有人对各类缓冲区溢出都漠不关心;若在SUID程序中发现IFS扩展漏洞,人们只会悄悄在私密邮件列表里与厂商安全联系人讨论,却无人真正重视溢出问题。

        真正点燃这场变革的火种是Thomas Lopatic和8lgm(尽管他们很可能受到Morris工作的启发)。1995年,洛帕蒂克为HPUX NCSA httpd编写了首个公开的现代栈溢出漏洞利用程序。同年晚些时候,8lgm团队披露(但未公开发布——这对其而言实属罕见)了Sendmail 8.6.12中的远程栈溢出漏洞(需理解当时Sendmail漏洞向量的重要性)。

        正是8lgm的预告促使戴夫·戈德史密斯、埃利亚斯·莱维、桑·梅哈特和彼得·扎特科(以及我未知的众多研究者)着手验证了首批公开的栈溢出漏洞。在随后的9-18个月里,几乎任何特权代码——无论是远程服务、SUID二进制程序还是内核驱动——都能被瞬间发现存在溢出漏洞。正是《粉碎栈空间》等文章及模型漏洞的普及,真正唤醒了人们的警觉。

        细想之下,这七年间隔实在荒诞——当时人们对诸如SunOS默认运行的日历管理服务中管道过滤器输入错误这类低级漏洞严加守卫,却放任漏洞泛滥到足以攻陷互联网上任何系统的地步。而人们竟对此置若罔闻!

        当年我在推特发过相关讨论,8lgm的尼尔·伍兹竟回复了…附带8.6.12漏洞利用代码!

        https://x.com/tqbf/status/1328433106563588097

        • 读到这段真是太棒了。相关背景:莫里斯还发现了可预测的TCP序列号漏洞,并在1985年的论文中描述了该漏洞http://nil.lcs.mit.edu/rtm/papers/117.pdf。凯文·米特尼克在其著作《电线中的幽灵》(第33章)中描述,直到1994年(即9年后)才遇见掌握有效漏洞利用的以色列黑客。我曾尝试在此梳理相关事件脉络(包括乔恩·波斯特尔未明确序列号选择规则的RFC文档)https://akircanski.github.io/tcp-spoofing

          • 米特尼克当时利用序列号欺骗漏洞的行为堪称轰动事件;这构成了他与下村勤那场离奇对抗的核心部分——他正是用此漏洞入侵了下村的服务器(另一半戏剧性在于下村后来协助警方通过无线电三角定位追踪到他)。

            米特尼克并未编写这些工具——据推测出自jsz团队之手——但操作难度极高;那个年代的欺骗工具配置过程堪称噩梦。

            • “你的安全技术终将溃败。你的技术根本行不通”

              • 记得当年听到录音时觉得挺有趣,后来才意识到种族歧视是错误的。

  26. 那晚我登录了brillig.umd.edu(马里兰大学的Vax 8600主机),因Emacs不断被页面化而恼火,只能有节奏地敲击^A ^E ^A ^E让光标晃动以维持页面显示,同时思考对策。

    我用ps aux命令查看时,发现有大量sendmail守护进程在运行,但直到次日清晨才意识到我们正遭受攻击——finger守护进程反复遭遇(3)缓冲区溢出攻击但未成功,而sendmail守护进程则被反复成功调用了DEBUG功能。

    RTM的致命失误在于未检测目标机器是否已感染就进行递归传播,否则无人察觉的话他本可掌控整个互联网。

    讽刺的是,UMD当时正通过NSA位于米德堡的“秘密”IMP 57设备接入MILNET,这意味着RTM的蠕虫正通过他老爸掌管的MILNET数据交换节点(PSN)攻击我们!

    https://news.ycombinator.com/item?id=18376750

    >马里兰大学的网络接入是通过位于米德堡的NSA“秘密”MILNET IMP 57实现的。UMD通过NSA获取网络接入的事实相当明显,因为mimsy.umd.edu的IP地址与dockmaster、tycho和coins等节点都带有相同的“*.57”后缀。

    >[…] 有次我对接线员说:“您好,这里是马里兰大学。我们与NSA IMP的连接似乎中断了。”他厉声喝止:“电话里不准说这种话!你用的是蓝色电话吗?”(具体颜色记不清了,只记得不是红色——红色的我肯定记得)。我说:“不能说NSA?!这是绿电话,但隔壁有台黑电话可以回拨给你,不过那样我就看不到硬件了。”他纠正道:“不,我是说语音加密线路!”我反驳:“您知道这是大学吧?我们只有黑绿两色电话。”

    >[…更多关于传闻中能分离ARPANET和MILNET的“爆炸螺栓”的细节,出自埃里克·费尔和迈洛·梅丁…]

    乔丹·哈伯德继续讲述他臭名昭著的“rwall”事件——当时他误将rwall消息发给了互联网上几乎所有Unix主机。我收到后几分钟就愉快回复了他,他说这比他收到的743条回复中大多数都更友善。另附:米洛·梅丁描述国防高级研究计划局互联网项目办公室主任丹尼斯·佩里遭遇Interleaf窗口被涂鸦时的反应(“气得发狂”),马克·克里斯平关于安全的激烈言论,乔丹的回应,以及丹尼斯·佩里本人对乔丹的回复。

    https://news.ycombinator.com/item?id=31822138

        发件人:Dennis G. Perry <PERRY@vax.darpa.mil>
        日期:1987年4月6日 下午3:19
    
        乔丹,你认为人们会对事件被放任发生感到恼火的推测是正确的。
    
    顺便说明,我是国防高级研究计划局(DARPA)信息科学技术办公室负责阿帕网的项目经理,办公地点位于罗斯林(阿灵顿),而非五角大楼。[...]
    

    以下是我亲历的“蠕虫之夜”事件始末:

    https://news.ycombinator.com/item?id=29250313

    DonHopkins 于 2021年11月17日 | 父级 | 背景 | 收藏 | 发布于: .plan

    没错,4.2版BSD的fingerd程序在读取用户名时,会将数据写入栈上一个固定大小的小缓冲区,并调用了“gets”函数。

    https://man7.org/linux/man-pages/man3/gets.3.html

    Chris Torek曾为我们版本的fingerd(运行于mimsy.umd.edu及其Vax伙伴brillig、tove、gyre)添加日志功能,开发过程中他发现了这个固定大小缓冲区,并贴心地略微扩大了缓冲区容量。虽然仍采用gets函数的固定缓冲区,但至少缓冲区足够大能缓解攻击——尽管蠕虫最终还是通过sendmail入侵了。不过我们成功记录了所有针对fingerd的攻击尝试!

    sendmail攻击的原理是向sendmail发送“DEBUG”命令,由于该功能默认启用,攻击者可直接进入系统并逃逸到shell环境。

    攻击发生后,“某个网络上的随机人士”建议通过修改sendmail二进制文件来缓解DEBUG漏洞(Emacs高手自然轻松搞定,但vi菜鸟只能干瞪眼!):搜索“DEBUG”字符串,将“D”替换为空字符,从而禁用该命令。

    但遗憾的是,这个看似精妙的技巧并未真正禁用“DEBUG”命令——它只是将该命令重命名为“”命令!这虽成功阻止了莫里斯蠕虫,却意外困住了我:

    蠕虫爆发次日,我照例需要检查自己管理的邮件列表中被退回的邮箱地址。于是像往常那样输入“telnet sun.com 80”,连续按了几次回车清除telnet协议协商字符,才发送“EXPN”命令。结果“EXPN”命令竟触发了大量调试信息——因为我发送的第二行换行符恰好通过输入空白行激活了调试模式!

    于是,我给postmaster@sun.com发了封友善邮件,指出他们修补一个重大漏洞时,竟意外引入了另一个巨大的安全漏洞。

    你可能会以为,那些在sun.com负责邮件系统的长发嬉皮Unix高手们,不会不加思考就随便打个“网上某个家伙”发来的安全补丁,结果他们偏偏这么干了!

    https://www.ee.torontomu.ca/~elf/hack/internet-worm.html

    >Sendmail攻击原理:

    >在Sendmail攻击中,蠕虫会向其他机器的sendmail(即SMTP端口)建立TCP连接,调用调试模式,并发送RCPT TO指令要求通过shell传输数据。该数据(即第一阶段引导脚本)会创建名为x$$,l1.c的临时第二阶段引导文件(其中'$$'代表当前进程ID)。这是一个仅40行的简短C程序。

    >第一阶段引导程序使用本地cc编译该程序,并通过传入互联网主机ID/套接字/密码参数执行(这些参数来自攻击源)。第二阶段引导程序(即编译后的C程序)从攻击主机吸取两个目标文件:x$$,vax.o和x$$,sun3.o。程序内置20个文件名数组(推测对应20台不同机器),但实际编译时仅包含vax和sun两种。随后它会检测运行环境是BSD还是SunOS,并链接对应文件与C库生成名为/usr/tmp/sh的可执行程序——因此任何查看该路径的人都会看到类似Bourne shell的程序。

    >Fingerd攻击:

    >该攻击利用finger守护进程fingerd的漏洞渗透系统。此处才是其主要成功点(而非最初报道的sendmail)。当fingerd建立连接时,会从管道读取参数但未限制读取量。若读取量超过内部512字节缓冲区限制,程序会向栈尾写入数据。栈区之后是实际执行命令的指令(“/usr/ucb/finger”)。在VAX系统上,蠕虫精确计算出需覆盖栈区多少位置才能抵达该指令,并将其替换为“/bin/sh”(Bourne shell)。因此实际启动的并非finger命令,而是无参数的shell。由于在finger守护进程上下文中运行,其标准输入输出仍连接至网络套接字,所有文件便如同sendmail提供的shell那样被完整吸取。

  27. 令我震惊的是此类事件竟未频发。

    尽管如今的安全意识和防护能力远胜往昔,但系统绝非绝对安全。

    我能给出的最佳解释,与生物学教授曾谈及“人造瘟疫”时的观点如出一辙:之所以未发生,纯粹因无人实施。技术能力与漏洞都已存在。

    (有人会提及新冠实验室泄漏理论,但即便属实也非我所指。若真发生,那将是史上最严重的工业事故,而非蓄意制造的人造瘟疫。)

    • 这里有一份完整的“更多事项”清单。

      https://en.wikipedia.org/wiki/Botnet#Historical_list_of_botn

    • 经历过诸如

      https://en.wikipedia.org/wiki/Blaster_(计算机蠕虫)

      https://en.wikipedia.org/wiki/SQL_Slammer

      https://en.wikipedia.org/wiki/Sasser_(计算机蠕虫)

      比尔·盖茨发布了《可信计算》备忘录,旨在强化Windows系统并提升其安全性。

      本质上,早期的Windows系统存在严重漏洞——所有服务默认向互联网开放,充斥着极易被利用的缓冲区溢出漏洞,这些漏洞极易演变为远程代码执行攻击。

      此后,Windows 默认停止将所有服务暴露于互联网,新增防火墙功能,修复了这些服务入口点的大部分缓冲区溢出漏洞,使得将多数漏洞转化为可用于制造简单蠕虫的远程代码执行漏洞变得 显著 困难。

      >比当年安全得多

      某种程度上这还是严重低估了。如今绝大多数恶意软件的传播方式包括诱导用户点击链接、定向投放攻击载荷、借感染下载文件蹭网传播,以及其他各种让受害者主动运行恶意代码的手段。蠕虫和僵尸网络要么是用户通过“免费”VPN“自愿”安装的,要么专门针对存在严重漏洞且毫无安全防护的路由器。

      那种只需将电脑接入互联网,就能自动感染百台设备的时代早已终结。尽管人们抱怨强制更新、用户账户控制等安全措施,但它们确实有效。

    • 你提到的“设计性瘟疫”让我想起1979年俄罗斯炭疽生物武器泄漏事件

      https://pubmed.ncbi.nlm.nih.gov/7973702/

    • 在相当程度上,莫里斯蠕虫正是为何后续未出现更多类似攻击的原因;它确实促成了一场文化变革——从信任用户转向信任机制,主要是让人们意识到互联网不会永远掌握在彼此仅有一两度分离的人群手中。假设人们会像对待宏伟美丽的共享空间那样敬畏互联网,这种想法根本站不住脚。

      最明显的平行案例当属萨米·卡姆卡的MySpace蠕虫,其利用的正是类似的过度信任漏洞。

      • 我认为——现代计算环境的异构性——系统中“层级”的数量——现代互联网的庞大规模——这些因素都使得防护难度倍增

    • 如今它们只是更善于隐藏罢了。

  28. 所以大概有10台计算机?

    • 6000多台,且这些机器还服务于其他系统(当时互联网上有数万台计算机,但通过中继服务器处理邮件或Usenet流量的设备数量可能是其十倍) .

      • 还需记住,尤其在联网计算机时代,几乎所有系统都是多用户环境。当时人们通过共享Unix服务器的终端界面进行互联网工作,而非使用笔记本电脑。

  29. 假设微软云生态系统彻底崩溃(包括备份数据),客户会转向其他平台吗?还是说这种锁定效应如同操作系统用户面临的困境般根深蒂固?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


京ICP备12002735号