假道伐虢:攻击者为什么先打你的供应商
那条一直开着的专线
公司给一家外包商开了一条专线,用来同步工单数据。这条线三年前就开了,当时的理由很充分:每天要同步几万条记录,走公网太慢。
三年里没人再问过它。负责对接的人换了两次,外包商那边也换了技术负责人。这条线的账号还在,权限还在,防火墙策略还在,因为“业务一直在用”。
攻击者不需要攻破你的边界。他只需要查到这个外包商,拿下它,然后用这条一直开着的线进来。
借道
《左传·僖公五年》记了一件事。
晋献公想打虢国,但中间隔着虞国,大军过不去。大夫荀息出了个主意:送虞公一份厚礼,璧玉和一匹良马,请他借道。
虞公贪这两样东西,答应了。大夫宫之奇劝阻,说了一句很有名的话:虢国是虞国的外围,虢国亡了,虞国也活不长,这叫唇亡齿寒。虞公没听。
当年冬天,晋国借道灭了虢国。回师的路上,顺手把虞国也灭了。璧玉和良马又回到晋献公手里。
这个故事后来成了一个成语,假道伐虢。它的结构里没有正面强攻,用的是借一条本来不属于自己的路。
现代版本:三起真实的案子
2013 年,美国零售商 Target 被入侵,四千万张银行卡信息泄露。入口不在 Target 自己身上。攻击者先攻下了给它做暖通空调维保的一家小公司,拿到了对方的账号,再通过这家公司访问 Target 的供应商门户,一步步进入收银系统。那家小公司被入侵的方式只是一封钓鱼邮件。
2020 年 12 月,美国网络安全公司 FireEye 发现自己的红队工具被窃,顺着查下去,发现 SolarWinds 的 Orion 软件更新包被人植入后门。这次攻击的特别之处在于,攻击者没有去攻客户,而是攻了客户都信任的那家软件供应商。据公开披露,约 18000 个客户下载了带后门的版本,其中被真正利用的是少数。
2021 年 7 月,IT 管理软件 Kaseya VSA 被利用,攻击者通过这个软件把勒索程序推送到使用它的托管服务商,再由这些服务商推到他们的客户。据估计,最终受影响的企业在 1000 到 1500 家之间。
三起案子形态不同:一个是用供应商的账号,一个是污染供应商的产品,一个是借供应商的通道。共同点是,受害者自己的边界没有破,破的是它信任的那一环。
为什么这类攻击越来越多
因为边界防护做得越好,绕过去的收益越高。
企业花在边界上的钱,远多于花在供应商管理上的钱。查一家供应商的安全水平,需要人、需要时间、需要合同条款,还要面对业务部门的压力,因为查得严会拖慢上线。
而攻击者那边算的是另一笔账:攻一家大企业,可能要面对 EDR、WAF、零信任;攻它的外包商,可能只是一台没人管的旧服务器加一个弱口令。
2020 年之后,很多国家的监管开始把供应链安全写进要求,原因就在这里:单点加固已经到顶了,剩下的风险在连接处。
图一:信任链攻击的路径,从防护更弱的上游绕进来。
和普通入侵的区别
普通入侵是攻门,供应链攻击是攻给你送钥匙的人。
前者需要找到你的漏洞,后者只需要找到你信任谁。而“你信任谁”这件事,往往是公开的:官网上写着合作伙伴,招标公告里有中标单位,员工的领英上写着外包公司。
怎么管
第一,把供应商分级。不是所有供应商都要查,但能访问内部系统、能推送软件更新、能接触数据的,必须单独列出来。分级的标准是“它能对你做什么”,不是“合同金额多大”。
第二,最小权限,而且要定期回收。上面那条专线的问题不在开了,在于没人问过它还该不该开。第三方访问权限要有到期时间,续期要重新审。
第三,第三方的账号也要 MFA。这一条经常被跳过,理由是对接的是系统不是人。但系统账号被盗用的案例,比人账号多。
第四,监控第三方流量。正常的数据同步有固定的时间、固定的量、固定的方向。某天凌晨从那条专线拉走 200G,这事本来应该报警。
第五,合同里写清楚。出事后谁负责、多久内必须通报、能不能远程审计。这些条款在签合同的时候不值钱,出事的时候值钱。
最后
虞公最后失去的不只是国家,还有那两件礼物,因为东西本来就是晋国的,只是在他手里放了一阵。
供应链攻击里也一样:你以为借出去的是信任,其实借出去的是入口。





