🛡️ 第三章 计算机病毒与间谍软件
📄 一句话概括

病毒、蠕虫、木马这三个词,讲的其实是三种【怎么到达你机器上】的方式——病毒要搭别人的车,蠕虫自己走,木马骗你开门;而它到了之后干坏事的能力,跟它属于哪一类没有关系。

📝 本节和前面几节的关系

第二章讲的是【攻击怎么落到网络上】——窃听、篡改、冒充、接管、后门、加负载。这一章掉一个层级,讲落到一台机器上之后,那个东西到底长什么样。所以本篇是第三章的总目录:后面九节里出现的每一个名字(勒索软件、间谍软件、键盘记录器、APT、网页挂马、物联网病毒),都要先放进这一节的三格抽屉里。

它同时接住第二章两节:无辜的人变成犯罪者(你的设备被接管替你干活)和 设置用于攻击的后门(住下来、藏起来)。本篇回答的是更前一步的问题:它是怎么进来的。

一、三个词,三种到达方式

教材把这三个词并列,容易让人以为它们是三种【不同的坏东西】。更准确的读法是:它们描述的是三种不同的传播机制。

名字 靠什么到下一台机器 要不要你配合 关键特征
病毒 搭别人的车——把自己贴到某个正常文件上 要(你得打开那个文件) 有宿主;宿主不动它不动
蠕虫 自己走——扫网络、找漏洞或弱口令 不要 无宿主;能不需要人参与就扩散
木马 骗你开门——伪装成你想装的东西 要(你得主动运行它) 通常不自我复制;全靠伪装

三句话记住差别:

二、为什么非要分这三类

因为对策完全不同:

分类 主要对策
病毒 补丁、备份、受控的执行环境(别随便运行来源不明的文件)
蠕虫 补丁 + 关闭不必要的共享端口 + 口令强度(它进来靠漏洞和弱口令)
木马 只能靠不运行来源不明的东西 + 行为检测(它没有可被特征先抓住的传播行为)

注意最后一行:木马这一类,是三道里唯一没有技术捷径的。系统打满补丁、端口全关,你的用户照样会自己去装一个伪装成播放器的程序。所以针对木马的防线,一半在技术(行为检测),一半在习惯。

三、现实中的比例:教材的顺序≠今天的数量

教材把【计算机病毒】写在最前面,那有历史原因(上世纪八九十年代确实是病毒的天下)。但今天的实际情况是反过来的:

对照 2026 年全球恶意软件检出量分布(按大类):
  木马        58%     █████████████████████████████
  勒索软件    14%     ███████
  蠕虫        10%     █████
  广告软件    8%      ████
  间谍软件    6%      ███
  其他        4%      ██

木马类占了将近六成。 原因不难理解:写一个能攻破打满补丁系统的蠕虫,成本很高;而让一个人自己下载安装一个伪装过的程序,成本极低。攻击者永远选便宜的那条路。

四、分类看传播,破坏力看载荷

这是本篇最值钱的一句话,也是教材的目录结构最容易让人误解的地方:

同一份木马,可以是勒索软件、可以是广告软件、可以是间谍软件、也可以是远程控制工具。 木马说的是【它怎么进来的】,载荷说的是【它进来干什么】。

所以后面几节(3-6 间谍软件、3-7 勒索软件)讲的是载荷,而 3-1 讲的是到达方式——两件事要分开记,否则会出现【木马和勒索软件哪个更严重】这种没答案的问题。

五、动手 Demo:把十份样本塞进三格抽屉

samples = [
    ("S01", "附着在 U 盘里的文档模板上,打开文档就复制到别的文件", "宿主+用户动作"),
    ("S02", "不需要打开任何文件,自己扫内网 445 端口传过去", "自主传播"),
    ("S03", "伪装成 Chrome 安装包,装完还真的装了 Chrome", "伪装"),
    ("S09", "通过 SSH 弱口令自己传进下一台机器,不靠宿主文件", "自主传播"),
    ("S10", "伪装成会议邀请 PDF,点开后远程控制这台机器", "伪装"),
]
kind = {"宿主+用户动作": "病毒", "自主传播": "蠕虫", "伪装": "木马"}

实跑输出:

编号    传播方式          分类    说明
--------------------------------------------------------------------------------------------------
S01     宿主+用户动作     病毒    附着在 U 盘里的文档模板上,打开文档就复制到别的文件
S02     自主传播          蠕虫    不需要打开任何文件,自己扫内网 445 端口传过去
S03     伪装              木马    伪装成 Chrome 安装包,装完还真的装了 Chrome
S04     伪装              木马    伪装成破解版办公软件,运行后加密全部文档
S05     伪装              木马    随免费下载器捆绑安装,日常弹广告
S06     伪装              木马    伪装成播放器,运行后记录键盘输入
S07     自主传播          蠕虫    插上 U 盘就复制自身到所有分区,不靠任何宿主文件
S08     宿主+用户动作     病毒    感染 Excel 宏,每次打开该文件都改一处数据
S09     自主传播          蠕虫    通过 SSH 弱口令自己传进下一台机器,不靠宿主文件
S10     伪装              木马    伪装成会议邀请 PDF,点开后远程控制这台机器

分类结果:病毒 2 个 | 蠕虫 3 个 | 木马 5 个

① 十份样本里只有 2 份是【真病毒】。教材把病毒写在最前面,
   但它早不是数量最大的那一类——按检出量,木马占了近六成。
② 差距不在数量,在【靠什么到达】:病毒和蠕虫靠技术,
   木马靠骗人。而【骗人】这一条会随 AI 生成话术而重新变强,
   不会因为用户变熟练而失效。
③ 看 S04 / S05 / S06:三份都是木马,但破坏力分别是
   勒索、广告、间谍。【分类看传播方式,破坏力看载荷】——
   同一个木马可以什么坏事都干。
④ 分类的真正用处是【选对策】:
   病毒/蠕虫 → 补丁、关共享端口、U 盘管控;
   木马 → 只能靠【不运行来源不明的东西】+行为检测。

读这个输出:注意 S07 和 S04 的对比。S07 是靠 U 盘传播的蠕虫——它不需要任何宿主文件,插上就复制自己;S04 是木马,它连自我复制都懒得做,因为骗人比写漏洞便宜。这两条放在一起,正好说明为什么【木马会成为数量最大的一类】。

六、⚠️ 2026 现状

30 秒实验

下一次你打算装一个软件的时候,做这三个动作(总共不用一分钟):

  1. 看域名:官网是不是这个软件的官方域名(不是搜索引擎里第一条)。
  2. 看文件名:下载下来的东西是不是 .exe / .msi / .dmg,还是 .zip / .iso / .lnk 这类【先解压再运行】的包装。
  3. 看有没有人要你【关掉杀毒软件】——凡是要你关杀毒的,不管是破解版还是外挂,直接放弃。

这一节要带走的一句是:判断一份恶意软件,先问它【怎么过来的】,再问它【带的是什么载荷】——前者决定你能挡住什么,后者决定你要赔多少。

常见误区

  1. 错误:木马也是一种病毒。——纠正:日常口语里可以混着说,但技术上它们的分界线是【会不会自我复制】。 病毒会把自己的代码贴到别的文件上,所以能【传染】;木马基本上是一次性的,它靠伪装骗你运行,通常不再自己往别的机器跑。这个区别有实际后果:看到【一份文件感染了全公司共享盘】要按病毒/蠕虫的思路处理(断共享、查时间线);看到【一个人的机器被远控】要按木马+凭据泄露的思路处理(查他登录过什么)。

  2. 错误:我的系统打了补丁、装了杀毒,就不会中招。——纠正:补丁和杀毒挡的是【病毒与蠕虫这条路】,挡不住【你自己把门打开】。 木马占检出量近六成,它的入口是【你亲手运行了它】——打满补丁也拦不住你双击一个伪装成播放器的程序。这也是为什么这一课的后面几节,一半的篇幅都在讲【人】的动作。

  3. 错误:蠕虫已经过时了,现在网络都打补丁。——纠正:蠕虫少了,但换成【弱口令式自我传播】继续活着。 现在的物联网僵尸网络(见 3-10)干的就是这件事:不需要漏洞,只要设备还是出厂口令,登录进去把恶意程序传过去。这类传播不需要人的参与,也不需要漏洞,只需要一串没改过的密码。

  4. 错误:分类分得越细,防御越准。——纠正:分类的价值在于【选对第一道对策】,不在于把名字背全。 一个真实的攻击往往同时具备多种特征——比如历史上那个有名的勒索事件,它既是勒索软件又是蠕虫(用蠕虫的方式扩散,落地后加密文件)。所以正确的用法是:看它靠什么传播 → 堵传播路径;看它带什么载荷 → 保数据与凭据。

自测三问(点开对答案) 1. 为什么说【木马是数量最大的一类,恰恰因为它在技术上最省事】? —— 因为**另外两类都需要攻击者先找到技术上的口子**:病毒需要一个能被写进去并且会被运行的宿主文件,蠕虫需要一个没打补丁的漏洞或一个没改过的口令。这两件事都需要**技术投入**,而且**一旦目标打了补丁就失效**。木马不需要:它只需要**一个看起来值得下载的东西**(一个破解版、一个【播放器】、一个会议邀请)。也就是说,**木马把攻击的难点从【攻破系统】换成了【说服人】**——而说服这件事,成本可以低到接近零,成功率还可以随着话术变好而提高。 2. 【病毒需要宿主】这件事,对恢复有什么影响? —— 影响很大。因为宿主文件被改动过,所以**你没法简单地【删掉那个病毒】**——删掉的可能只是病毒贴上去的那部分,也可能连带着把正常文件一起弄坏。这就是为什么处理病毒类事件常见的手段是**从备份或安装介质恢复被感染的文件**,而不是【杀干净】。反过来,无宿主的木马或蠕虫**通常可以直接删除它自己的文件**,但它留下的持久化痕迹(自启动项、服务、计划任务)要另外清——这就接上了第二章 设置用于攻击的后门。 3. 为什么说【同一个木马可以既是勒索软件又是间谍软件】不矛盾? —— 因为**这两个词回答的是不同的问题**。木马回答【它怎么进来的】(靠伪装),勒索软件回答【它进来干什么】(加密文件要钱),间谍软件也回答【它进来干什么】(偷数据)。**一次攻击完全可以先偷后加密**——事实上 2026 年上半年的数据正是这样:**约 78% 的勒索事件是【先偷数据再加密】的**。所以看到一个【勒索事件】时,正确的问题不是【它算勒索还是算间谍】,而是**数据出去了没有**——因为前者决定你要不要付钱,后者决定你要不要通知客户。

相关笔记