一次单机 Windows ATT&CK 评估:企业级与消费级端点防护的差异
很多端点产品的宣传都喜欢强调“覆盖率”——覆盖了多少 ATT&CK 技术、打到了多少检测点、命中了多少恶意行为。问题是,真实入侵并不是一堆彼此独立的技术点,而是一条连续的攻击链。对防守方来说,真正重要的不只是“看见了什么”,而是拦在了哪里、告警能不能串起来、以及这些信号能不能支撑后续处置。
这篇文章整理了一次 单机 Windows 场景 下的端点防护评估。我把一条 15 步的入侵链映射到 29 个 in-scope 的 MITRE ATT&CK 技术,然后分别观察企业级 EDR/XDR 与消费级杀软在防护、可见性和告警噪声上的差异。这里的结论只代表这次受控评估本身,不是对所有产品做普遍排名。
研究问题与范围
核心问题其实很简单:
在一次单机 Windows、ATT&CK 映射的完整攻击链评估里,企业级与消费级端点产品分别擅长什么?
这里的“有效”不是单一维度。
- EPP / Prevention:它能在第几步真正把链路拦下来?
- EDR / Visibility:如果没能第一时间拦住,它能不能把发生过的事情讲清楚?
- Operational Value:这些信号对分析和响应是否真的有帮助,还是只是制造更多噪声?
这里我会反复提到两个概念:
- Actionability:告警是否足够清楚,能不能让分析人员快速判断“发生了什么、要不要处理、先看哪里”。
- Alert Noise:在同一个观察窗口里,真正和攻击链相关的告警占比有多高;如果无关告警太多,实际 triage 成本就会上升。
测试设计
这次评估刻意把范围收得比较小:只看单主机 Windows 场景。目标不是做一份“全球产品排行榜”,而是在可重复的实验里比较不同产品在同一条攻击链上的表现。
测试对象分成两组:
- 企业级:SentinelOne Singularity、Microsoft Defender for Endpoint (Plan 2)、Bitdefender GravityZone
- 消费级:Kaspersky Premium、ESET Premium、Avast Free、火绒
企业级产品做了两类观察:
- Detect-only / Visibility run:尽量看见产品能记录和关联多少信息。
- Protection run:打开主动防护,观察它最早在哪一步把链路停下来。
消费级产品则主要看防护模式下的表现,因为它们通常不提供可导出的企业级遥测、ATT&CK 标注或远程响应工作流,拿来和 EDR 门户做可见性横比并不公平。
攻击链长什么样
整条链路一共 15 步,覆盖了下面几类行为:
- 初始投递与执行
- 后续载荷拉取与运行
- Beacon/C2 建联
- 本机发现(身份、网络、进程/服务)
- 本地敏感文件搜集与外传
- 计划任务持久化
- 勒索式 impact 行为
为了让比较更有可读性,我把这些步骤映射到了 29 个 ATT&CK 技术上。原设计里还包含一次防御削弱相关动作,但因为它在实验里不够稳定、不可重复验证,最终把 T1562.004 从评分分母里排除了。这个决定很重要:如果一个行为无法稳定观测,就不应该硬算进结果里制造“精确的错觉”。
我怎么评分
1) EPP:看最早有效阻断点
EPP 不是看“总共拦了多少次”,而是看第一次真正阻断攻击继续推进发生在哪一步。越早拦住,得分越高。
这背后的逻辑很直接:
- 在第 4 步拦住,和在第 14 步才发现,显然不是一回事。
- 越晚拦住,攻击者留在系统上的痕迹、准备动作和破坏面就越大。
2) EDR:看上下文,而不是单纯告警数量
我把可见性分成了几档:
- Technique:能明确到具体技术/子技术,并提供比较完整的上下文
- Tactic:能告诉你大概处于哪个战术阶段
- General:只知道“这里有可疑行为”
- Telemetry-only:原始事件在,但需要手工 hunt 才能拼出来
- None:没有有效信号
然后再额外乘上一个Noise Factor,用来惩罚“导出了一大堆告警,但真正和这次实验相关的只有一小部分”的情况。因为从防守角度看,噪声本身就是成本。
结果:在这次评估里,企业级和消费级差在哪里
企业级:不一定最早拦,但更能讲清楚发生了什么
在这次评估里,企业级产品最明显的优势不是“每次都最早挡下”,而是在链路继续推进后,仍然能给出有调查价值的上下文。
企业级 EPP 结果
| 产品 | 首个有效阻断点 | EPP 结果 |
|---|---|---|
| SentinelOne Singularity | Step 6 | 45.83% |
| Microsoft Defender for Endpoint | Step 6 | 45.83% |
| Bitdefender GravityZone | 未能有效阻断 | 0% |
如果只看这张表,结论似乎会有点反直觉:为什么“企业级”没有在最早阶段就全部拦住?
在这次评估里,一个更合理的解释是:企业级产品很多时候把重点放在行为上下文、溯源和响应能力上,而不是只靠某个前置特征把样本挡在门外。这种设计在 SOC 环境里是有价值的,但它也意味着:如果组织并没有成熟的分析和响应能力,那么“看见但没来得及处理”依然可能付出代价。
企业级 EDR 观察
- SentinelOne:整体上给出了最强的故事线重建能力。早期投递与执行链路不一定自动被 ATT&CK 标签化,但通过 Deep Visibility 做人工追溯时,信息密度很高。
- MDE:中后段行为可见性不错,尤其是提权、持久化、搜集和 impact 相关阶段更容易形成可操作的告警;不过在“最开始下载的安装包”与“后续高完整性执行”之间,有时仍需要额外 pivot 才能连成完整叙事。
- Bitdefender:后段能看到一些行为级信号,但前段还原能力弱,而且噪声比例明显更高,实际 triage 成本也更高。
换句话说,企业级真正拉开差距的地方是“后续怎么办”:看见了以后,是否足够快地判断影响范围、是否能支撑 hunt、是否能支撑隔离和回滚。
消费级:有时拦得更早,但更难回答“后来发生了什么”
消费级产品在这次评估里并不弱,甚至在某些执行路径上表现得更“激进”。
| 产品 | 首个有效阻断点 | EPP 结果 |
|---|---|---|
| Kaspersky Premium | Step 4 | 65.00% |
| ESET Premium | Step 5 | 55.00% |
| Avast Free | 未能有效阻断 | 0% |
| 火绒 | 未能有效阻断 | 0% |
尤其是在更偏“交付物特征”或“明显可疑执行链”的阶段,Kaspersky 和 ESET 都比企业级样本更早把链路拦下来了。这说明消费级产品在前段阻断上并不一定吃亏。
但问题也出在这里:如果执行已经发生、样本已经落地、后续动作已经展开,那么消费级产品通常很难回答这些问题:
- 它到底做了哪些后续动作?
- 有没有建立持久化?
- 有哪些文件或进程被影响?
- 分析人员应该优先看哪条线索?
这也是为什么“早拦住一次”并不自动等于“整体防守能力更强”。
为什么 ATT&CK coverage 不够
这次实验里最核心的感受就是:coverage 是必要的,但单独看它远远不够。
如果只看技术覆盖率,至少会漏掉三件真正影响实战效果的事情。
1. 告警能不能连成一条线
防守方面对的不是单个技术点,而是一条从投递、执行、建联到影响的连续过程。一个产品即使在多个节点都有信号,如果这些信号无法被关联成同一故事线,分析员仍然要花大量时间手动拼图。
2. 噪声会直接影响处置效率
“什么都报”看起来很强,但如果导出的事件里大半都和这次实验关系不大,那实际就会抬高 triage 成本。噪声越高,分析员越难快速建立信心,也越容易错过真正重要的告警。
3. Telemetry 不等于 Actionable Detection
原始遥测当然有价值,但“数据在”和“分析员能迅速得出结论”不是一回事。一个只能靠手工 hunt 拼出来的链路,和一个直接给出清晰 Technique/Tactic 级上下文的告警,在运营价值上差距很大。
这次结果该怎么读
如果要把这次评估的结论压缩成一句话,我会这样说:
在这次评估里,消费级产品有时更早拦住明显行为,企业级产品则在链路继续推进后提供更高的调查与响应价值。
这不是“谁绝对更好”的问题,而是看你的场景到底需要什么。
- 如果你的目标主要是尽量早点挡住常见交付与执行链,消费级产品可能已经能覆盖一部分需求。
- 如果你的目标是在攻击已经开始后仍然要搞清楚发生了什么、影响到哪里、还要不要继续 hunt 和隔离,企业级产品的价值会明显更高。
局限性
为了保持实验可重复,这次设计也做了不少取舍:
- 只评估单机 Windows,不包含横向移动
- 产品数量有限,不能代表整个市场
- 一些行为会受到版本、策略配置和云端规则变化影响
- 某些难以稳定复现的动作被明确排除,以避免假精确
所以这篇文章更适合作为一种方法论上的比较,而不是终极排名。
总结
这次评估让我更确定一件事:端点防护不能只看“打中了多少 ATT&CK 格子”。
真正决定实战价值的,至少还有三件事:
- 最早在哪一步把攻击停下来
- 能不能把离散事件组织成完整叙事
- 告警噪声会不会把分析效率拖垮
如果只看 coverage,很容易高估一些“信号很多”的产品,也容易低估那些虽然不总是最早阻断、但在调查和响应上更强的产品。
对我来说,这次实验最值得保留的结论不是某个分数,而是一个更现实的判断标准:防护、可见性、可解释性和噪声,必须一起看。