本节摘要:零日漏洞(Zero-Day)是厂商尚未知情、没有补丁的漏洞;APT(高级持续性威胁)是有组织、有预算、以月年为单位的定向攻击;社会工程学(Social Engineering)把人而非系统当作攻击面。三者并审是因为高级威胁往往把零日与人件组合成完整战役。本节是第 2 章的收口,从"一次性手法"升级到"长期作战",为第 3 章的检测与响应器械铺垫对手画像。承接 2.3 节的程序层攻击,本节的对手已经不缺进场手段,缺的只是你的耐心不足。
漏洞的公开生命周期通常是这样的:研究者或攻击者发现漏洞 → 通报厂商 → 厂商开发补丁 → 用户打补丁。零日(0day)漏洞指的就是从"漏洞开始被利用"到"官方补丁发布"之间的这个窗口——补丁天数是零,故名零日。在窗口期内,防守方手里没有官方修复,攻击方手里握着独家钥匙。
零日的价值在地下市场按目标定价:通用软件的高质量零日可以拍到数十万美元。这个价格解释了它的使用规律——攻击者舍不得把昂贵零日撒在大面积扫描上,只会留给高价值目标。由此推出一个对防守者有用的判断:绝大多数组织一辈子遇到的都不是零日攻击,而是没有及时打上已有补丁的旧漏洞(称为"一日漏洞"甚至"千日漏洞"的轻蔑说法)。预算该花在补丁管理上,而不是花在对零日的恐慌上。
**APT(Advanced Persistent Threat,高级持续性威胁)**三个字母各有实指:Advanced 指技术先进(常持有定制工具甚至零日);Persistent 指目标明确、长期潜伏(以月为单位规划);Threat 指背后是真人组织(往往有国家或商业背景),不是脚本小子的自动化扫射。APT 的目标通常不是钱,而是情报、知识产权或基础设施控制权——目标不同,整个作战方式就不同。
APT 作战的标准剧本叫杀伤链,从侦察到撤离分七环。把它画成时间线,"持续性"三个字才看得见:

**社会工程学(Social Engineering)**的定义可以很短:不攻击机器,直接攻击操作机器的人。 reverse social engineering 甚至让目标主动来找攻击者。它的分支在 2.1 节钓鱼部分已经列过(钓鱼、鱼叉、捕鲸、短信与语音钓鱼),本节补上几个更"线下"的形态:尾随进门(Tailgating,跟在刷卡的同事身后进入机房)、借口拜访(Pretexting,冒充空调检修工或总部审计员)、诱饵(Baiting,在大厅丢一张植马的 U 盘)。
社工之所以值得单独鉴定,是因为它在几乎所有重大事件里都以不同面目出现。翻看近年公开的 APT 案例复盘,初始突破十有八九绕不开人:一封精心定制的邮件、一个冒充合作方的电话、一份伪装成简历的文档。系统补丁可以月月打,人心没有补丁号。防守方把社工防御当工程做的标志是:新员工入职第一周就知道"IT 部门永远不会在电话里要你的密码",并且知道收到可疑请求该打哪个内线电话核实。
三个术语的关系可以用一句话收拢:社工负责开门,零日负责开锁,APT 负责统筹整场战役。三者经常打包出现,但也可以单独作钓——对手按目标的防御配置自由组合。
对零日:虚拟补丁与最小权限是窗口期的拐杖。 官方补丁出来之前,能在 WAF 或边界上写规则挡住利用流量的先挡(虚拟补丁),同时用权限隔离保证"就算被打穿,损失也被圈住"。等待期干等是最差策略。
对 APT:买检测,别只买门锁。 预防类投入(防火墙、门禁)在 APT 面前只是抬高进场价码,真正缩短驻留时间的是检测类投入:EDR 的行为监测、网络侧的异常外联发现、以及第 6 章要讲的威胁情报对弈。行业里"假设已被入侵"(Assume Breach)的思路,就是从 APT 的作战规律里长出来的。
对社工:流程比培训更硬。 培训教人识别,流程让欺骗失效——财务转账必须有第二个渠道的回拨确认,密码重置必须走系统工单,敏感数据外发必须双人复核。流程的意义在于:就算某人当场被骗,单独一个人的被骗不足以造成损失。
⚠️ 常见坑:把 APT 当成与己无关的大厂专属。攻击者的目标选择看的是"你有什么",不是"你多大"——中型制造企业的工艺图纸、地方机构的项目数据,在情报市场上都有明码标价。规模小只影响攻击的定制成本,不影响你是否在名单上。
💡 关键直觉:衡量你对高级威胁的防御水平,别数买了多少设备,问一个问题——如果攻击者上周已经进来了,你需要多少天能发现?答不出这个数字,说明检测体系还是空白。
高级威胁的信号分散在不同层次,值班与管理者看到的不是同一种东西:
| 信号 | 所在层次 | 对应动作 |
|---|---|---|
| 出口流量连到新注册的相似域名 | 指标层 | 封禁加九十天日志回溯 |
| 一台主机"办公软件"拉起脚本进程 | 战术层(行为) | EDR 隔离取证,查进程血缘 |
| 财务岗收到"改收款账户"的邮件 | 战术层(社工) | 联系发件方核实,冻结操作 |
| 行业内同类机构遭同类钓鱼 | 运营层 | 通报全员,加对应检测规则 |
| 自家驻留时间指标连续两季超标 | 战略层 | 预算向检测与响应倾斜 |
表的用意是把"高级威胁离我很远"的幻觉拆掉:每一层都有可操作的动作,最底层的指标封禁是任何规模的团队都能当天做的。2.4 节正文说过,胜负手在驻留时间;这张表就是缩短驻留时间的抓手清单——从下往上,每层都在为"早发现"添砖。
社工防御的流程三件套也值得展开成可抄的作业。**第一件:回拨确认。**凡涉及收款账户、密码重置、敏感数据外发的请求,一律改用"通讯录里的号码"主动回拨核实——注意是通讯录里的号码,不是来件里留的号码,否则等于向攻击者本人核实。**第二件:工单化。**所有敏感操作必须落在有审批流的系统里,口头与邮件指令一律无效;流程让"骗一个人"失效,因为系统不认人只认工单。**第三件:双人复核。**高危操作(大额转账、批量导出)强制第二人确认,把单人被骗的损失上限锁死。三件套没有一件需要新技术,全是流程纪律——这也再次印证本节的核心判词:社工的克星不是更聪明的人,而是不依赖聪明的流程。
把"早发现"从口号拆成四个可执行的抓手:抓手一,出口流量的新域名告警——新注册域名加罕见访问组合是 C2 的常见形态,规则简单、噪音低、命中率高。抓手二,进程血缘的重点盯防——办公软件直接拉起脚本或解释器,这一个组合的告警顶得上十种泛泛的规则。抓手三,身份异常的联动——异地登录、异常时段提权、批量账号查询,身份域的异常与主机域的异常交叉即升级。抓手四,季度对标行业通报——同业事件里出现过的手法,一个月内在自己环境里"假设它已经来了"做一次专项排查。
四个抓手分别来自网络侧、主机侧、身份侧、情报侧——覆盖了 3.2 节与 6.4 节的主要器械。驻留时间的缩短从不依赖单一神器,依赖的是四个抓手同时在线、任何一路先看到都能拉响警报的冗余。这也再次呼应本节判词:对手拼的是组织耐心,防守拼的是组织冗余。
2017 年 WannaCry 蠕虫利用 EternalBlue(NSA 泄露的 0day)传播,感染 150 个国家 30 万台机器,造成 40 亿美元损失。补丁在攻击前 2 个月已发布,但大量系统未及时更新。