"我们杀毒软件已经买了某某大厂的了,是不是就不用上 EDR 了?"
这个问题在项目上被问过不下十次。答案很直接:不是一回事。
杀毒软件回答的是"这个文件是不是坏的",EDR 回答的是"这台机器上正在发生什么"。前者靠特征库,后者靠行为。特征库认不出的东西,行为往往藏不住——毕竟攻击者可以随便改 payload 的哈希,但他没法改掉"要往 lsass 里读内存"这个动作本身。
但 EDR 也不是什么黑盒魔法。它能在终端上看见什么,直接决定了它能检测什么。这篇就从头拆一遍:数据从哪来、检测怎么分层、一条好告警长什么样。

主流 Windows EDR 的数据采集,绕不开下面这几类。
进程活动。 谁启动了谁,命令行参数是什么,父进程是谁,有没有在做跨进程写入。Windows 上常见的落地方式两种:ETW 内核态采集,或者 Sysmon 那一套事件(进程创建 ID 1、镜像加载 ID 7、远程线程创建 ID 8、命名管道 ID 17/18)。
脚本与内存。 PowerShell 脚本块日志(事件 4104)、AMSI 缓冲、.NET 程序集加载、进程内存里的可疑字符串。无文件攻击基本只能在这一层被抓住,因为它根本不往磁盘落可执行文件。
文件与注册表。 新建、修改、删除,尤其是自启动相关的几个位置:Run 键、服务注册、计划任务、WMI 事件订阅。持久化检测全靠这些数据。
网络连接。 进程到 IP、域名、端口的映射关系,加上 DNS 请求记录。判断 C2 通信、DNS 隧道、横向移动的凭据是这一层的事。
驱动与内核态。 谁在加载未签名驱动,谁在读内核内存。BYOVD(自带易受攻击驱动)攻击就发生在这里,也是 EDR 自己最容易挨打的地方。
Linux 侧同源不同路:主流用 eBPF 在内核里挂采集点,配合 auditd 补系统调用层面的细节。容器场景还要看能不能采到 namespace 维度的进程行为。
这里给一个很实用的选型判断标准:如果一个 EDR 连"进程完整命令行参数"都不采集,它的检测能力上限就很低。 很多恶意行为的区别,就在命令行那几个参数上。powershell.exe 本身不可疑,powershell.exe -enc 一串 Base64 就很可疑。选型时可以直接问厂商要一份"数据源清单",看看上面这五类是不是都覆盖了。
EDR 的检测能力,是可以按层次看的。
第一层:特征匹配。 哈希、YARA 规则、威胁情报 IOC。优点是快、准、误报低。缺点是改一行代码哈希就变了,重新打包一次特征就绕过去了。这一层能挡住脚本小子,挡不住有心人。
第二层:行为规则。 用规则描述"做了什么事"。典型例子:Office 进程派生了 PowerShell;lsass.exe 被请求了 PROCESS_VM_READ 权限;一个从 Temp 目录启动的进程创建了计划任务。这一层能覆盖 ATT&CK 里的大部分技术点,是 EDR 的主力。
第三层:基线异常。 这台机器历史上从没做过的事,现在做了。第一次出现的服务名、第一次出现的父子进程组合、非工作时间的登录、突然翻了 10 倍的文件写入量。这一层不需要提前知道攻击长什么样,靠的是"反常"。
第四层:关联与攻击链。 把单点告警串成一条时间线。单看"PowerShell 执行了一次网络下载"是中危,串上"前一天有钓鱼邮件落地文档 → Word 派生 PowerShell → 新建计划任务 → 连接境外 IP",就是一次完整入侵。
第三层往上,才是 EDR 真正的价值所在,也是各家产品拉开差距的地方。市面上不少产品第一层做得花里胡哨,第三、第四层几乎是空的——报得出来"这是个恶意文件",报不出来"这台机器正在被入侵"。买之前,最好拿真实样本和真实攻击链路跑一遍验证,别只看 PPT 上的 ATT&CK 覆盖热力图,那个图谁都能画成满格。
见过最没用的告警长这样:"检测到可疑行为,风险等级:高。" 完了。点进去没有进程树,没有命令行,没有文件哈希,什么都没有。
这种告警的价值基本等于零。分析的人要么自己上机器翻日志,要么直接点"忽略"。而一旦人开始习惯性点忽略,真告警也会被一起划走。
一条能用的告警,至少要带这些上下文:
缺进程树的告警,等于让人自己上机器去翻日志。真出事的时候,哪有时间。
还有一点容易忽略:告警要能按资产维度聚合。同一台机器 30 分钟内弹了 40 条告警,那是 1 起事件不是 40 起。不会聚合的 EDR,会把处置人员活活淹死。
某次真实的告警时间线。
单看第 1 条,很多单位会当成"办公软件正常调用脚本"直接放过。第 2 条单看,就是一次普通下载。但五个动作摆在同一张时间线上,这是一次标准的无文件投递加持久化,后面大概率跟着凭据窃取和横向移动。
EDR 的价值就体现在这:把 1 到 5 串起来,把"一堆可疑但说不清的事件"变成"一个确定的结论"。
该说的也说清楚,避免迷信。
选 EDR 就盯三件事:数据源够不够全(能不能看到命令行和进程树)、行为规则能不能自己写、处置动作能不能一键下发。
这三样缺一样,产品卖得再贵,本质也是个高级杀毒软件。