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

间谍软件与键盘记录器最关键的性质是——它们不猜口令,它们等你输;所以第一章讲的【口令长度赢过复杂度】在这里完全用不上,对付【猜】的手段,对付不了【偷】。

📝 本节和前面几节的关系

上一节(利用电子邮件发起的攻击和欺诈)讲的是把凭据骗到手的渠道(钓鱼)。这一节讲另一条完全不同的路:不用骗你,直接从你机器上取。

这一篇也是第一章 针对密码的攻击 的对立面。那一节开头就强调【先分清偷与猜】——窃取信息的软件就是【偷】这一侧的代表。两个概念合起来才完整:猜要靠口令强度防,偷只能靠【让它取不到】和【让偷到的东西失效】来防。

一、两类东西,分工不同

拿走什么 时间方向
键盘记录器(keylogger) 以后你敲的——包括还没保存的口令 从现在往后
信息窃取器(infostealer / 间谍软件) 以前你存的——浏览器保存的密码、Cookie、钱包、桌面文件 从现在往前

两者叠加的效果是:过去存的全拿走,将来敲的也留一份。

现代的主流是信息窃取器——它更省事、收益更集中:浏览器里已经存了一份整理好的账号密码清单,取走它比守着键盘等人敲高效得多。

二、它为什么几乎不会失手:它拿的是【已经在那儿的】

信息窃取器不需要破解任何东西,因为浏览器为了让你方便,已经把口令保存下来了。它要做的只是读同一个位置、解密、打包送走。

这带来三个令人不适的推论:

  1. 它不依赖你的口令强度——你的口令 20 位还是 8 位,它都是原样读取。
  2. 它不需要你在场——不需要骗你打开什么页面。
  3. 它可以长期潜伏——很多人直到某个账号已经被别人用了,才知道自己中过招。

三、会话令牌:为什么【改了密码】也不能安心

这里有一个常被忽略的细节:被偷的东西里最贵的不是口令,而是 Cookie 里的会话令牌。

所以攻击者拿到令牌之后,可以完全绕过口令,也绕过一次性验证码——他要的不是登录,他要的是【已经在里面】这个状态。这也解释了为什么正确的处置动作里,【登出所有设备】这一条不能省。

四、动手 Demo:掏一台机器的账

items = [
    ("浏览器里保存的密码", 87, "输过就存过——它不用猜"),
    ("Cookie", 412, "里面有【会话令牌】,等于一张还没过期的通行证"),
    ("当前有效的登录会话", 9, "有效期内连多因子都不用再验"),
]

实跑输出:

一、先看 2026 年上半年的规模
  被信息窃取器感染的设备    7,400,000 台(比前半年 +27%)
  同期被窃取的凭据          1,700,000,000 条
  平均一台机器贡献          230 条
  信息窃取器月租            约 200 美元(按订阅卖,即恶意软件即服务)
  2026 最活跃的三个家族     Lumma、StealC、Vidar

二、掏一台机器的账(一次感染的收获)
  拿什么                数量      为什么危险
  ----------------------------------------------------------------------------------------------
  浏览器里保存的密码    87        输过就存过——它不用猜
  Cookie                412       里面有【会话令牌】,等于一张还没过期的通行证
  自动填充的表单        63        姓名、手机、地址、卡号片段
  加密货币钱包文件      2         不可撤销,转走就没了
  当前有效的登录会话    9         有效期内连多因子都不用再验

  87 条密码里有 31 条是【和别处重复】的。
  → 一次感染,实际波及 31 个【这台机器以外】的账号。

三、键盘记录器(keylogger)与信息窃取器的分工
  键盘记录器      记录【以后你敲的】——包括还没保存的口令
  信息窃取器      拿走【以前你存的】——浏览器、钱包、桌面文件
  两者叠加        过去存的全拿走,将来敲的也留一份

① 注意这件事的性质:它【不猜口令,它等你输】。
   所以第一章 1-9 讲的【长度赢过复杂度】,在这里完全用不上——
   你的口令再长,它也是从你机器上原样拿走。
   【对付猜的手段,对付不了偷。】
② 会话令牌被偷,意味着【多因子也挡不住】:
   验证在登录那一刻已经做过了,攻击者拿到的是【做完验证之后的通行证】。
③ 三个务实动作:
   一是浏览器别长期保存重要账号的密码(用独立的凭据管理器);
   二是定期在账号设置里【登出所有设备】,这一步能作废被盗令牌;
   三是把重要账号换成抗钓鱼的通行密钥(Passkey)——
   它的私钥不出设备,偷不到可直接重放的东西。

读这个输出:注意两个数字——【平均一台机器贡献 230 条凭据】,以及【87 条密码里有 31 条重复】。

所以本节真正的结论不在【怎么杀毒】,而在【让偷到的东西贬值】——这就是最后那条【三个务实动作】的逻辑。

五、⚠️ 2026 现状

30 秒实验

打开你的浏览器,做两个动作:

  1. 在密码管理页里看【已保存的密码】有多少条——数一下,然后再问自己:其中有多少条是和别处重复的?(浏览器一般会提示【重复使用】或【已泄露】)
  2. 把最重要的那 3 个账号(邮箱、银行、主力云盘)单独处理:换成独立口令,并开启最抗钓鱼的那种第二因素(能选通行密钥就选它,而不是短信码)。

再加一步更值钱的:进入邮箱和云盘的【账号安全】页,找到【登出所有设备】,点它一次。这一步会把所有已登录的会话作废——包括可能已经被偷走的那些。

这一节要带走的一句是:它不猜、不骗、不等你犯错,它只是把你已经存在机器上的东西拿走——所以防它的关键不是【让口令更难猜】,而是【让偷到的东西不能用】。

常见误区

  1. 错误:我的口令很复杂,不怕被偷。——纠正:这类恶意软件根本不试你的口令。 它读的是浏览器保存口令的那个位置——你输过一次它就存在那儿,它原样读、原样带走。所以口令复杂度在这里不参与判断。真正降低损失的,是减少【存了但没必要存】的口令、以及让凭据本身不可重放(通行密钥这类)。

  2. 错误:发现中毒了,改密码就完事了。——纠正:漏掉了最贵的那一项。 被偷的东西里有有效的会话令牌——改了口令,那个已经登录的会话在很多系统里仍然有效。完整的处置是三件:改口令 + 把所有会话作废(登出所有设备/重置令牌)+ 回头查这段窗口里攻击者用这个身份做过什么(比如有没有新建转发规则、有没有加白名单地址、有没有改收款账号)。顺序上,作废会话要和改口令同时做,不然你在改的同时对手还在里面。

  3. 错误:这是个人用户的麻烦,跟单位关系不大。——纠正:恰恰是单位更贵。 个人被偷的是一条凭据;员工机器被偷的可能是【进入公司网络的凭据 + 一个有效的 VPN 会话】——这正是很多勒索事件的开头:用偷来的合法凭据登录,比攻破任何系统都省事。所以单位侧真正对应得上的动作是:对重要系统做设备可信判断、对会话做时效控制、把管理员的登录路径单独加固。

  4. 错误:我不装破解软件、不点奇怪链接,所以不会中。——纠正:这条防线是必要的,但它挡不住所有路径。 2026 年最流行的入口之一就是【复制命令 + 粘贴运行】(伪装成验证码页或浏览器更新提示)——用户什么都没下载、什么都没安装,只是按提示粘贴了一条命令。所以判断标准要更新为:任何让你【把一段命令粘贴到系统里运行】的网页,无论它看起来多正规,一律按攻击处理。

自测三问(点开对答案) 1. 为什么【口令长度对抗不了信息窃取器】这件事,值得单独强调? —— 因为**它把第一章的一条重要结论划出了适用范围**。1-9 讲【长度赢过复杂度】,前提是**攻击者只能猜**——他手里有你口令的哈希、要一个个试。而信息窃取器**不做猜测**:它直接从保存位置读明文(或直接读浏览器能解开的密文)。**长度对【读】这件事毫无影响**。分清这一点,才不会出现【我口令很长所以不用管这类威胁】这种误判。 2. 为什么【登出所有设备】这个动作这么关键? —— 因为**它作废的是【状态】,不是【秘密】**。口令是秘密,改掉它要重新验证;**会话令牌是状态,只要它还在有效期内,持有者就不需要再验证**。攻击者拿到的正是这个状态。所以反制也要针对状态:**把所有已发出的会话全部作废**,迫使所有人(包括你)重新登录一次。**这一步是唯一能把【已经进去的人】赶出去的动作**——只改口令的话,他手里那张通行证还没过期。 3. 为什么【把假凭据放进代码仓库】这种蜜罐式做法,跟本节讲的东西有关? —— 因为**它攻击的正是信息窃取器的工作方式**:这类工具是**自动化地、大批量地**在代码仓库、配置文件、共享盘里**搜寻凭据**——它们不会挑,看见像凭据的就拿。所以**放一份假凭据,就等于在它的必经之路上埋了一个铃铛**:**碰到它的动作本身暴露了攻击者的存在**。这就是 反病毒软件所使用的技术 讲的那种【误报接近零】的信号——**正常流程不会去读那个假凭据,只有扫描器会。**

相关笔记