Skip to content

EDR架构解析

· 16 min

引言

探讨 EDR 之前,我们需要先理清端点安全的演进脉络

端点安全产品的最初形态是AV(Anti-Virus,传统杀毒软件),核心逻辑是基于“特征码/Hash”的黑名单匹配(如早期的瑞星、金山)。随着威胁升级,单一引擎难以为继,开始出现将 AV、主机防火墙、设备管控、漏洞补丁管理打包在一起,演进出注重边界防御的EPP(端点防护平台),代表产品如360安全卫士。

到了今天,攻击手段发生了质变。黑客大规模采用 “离地攻击”,即利用系统自带的合法工具(如 PowerShell、WMI、PsExec)来执行恶意行为;或者利用“无文件攻击”直接在内存中运行代码。面对这类攻击,EPP 完全成了瞎子,它无法理解这个“合法行为”背后的“恶意意图”。

这正是 EDR(端点检测与响应) 诞生的背景。EDR 的核心哲学是“假设防线终将被突破”。通过在内核层无死角地记录进程树、网络连接和注册表变更,EDR 能够通过行为特征抓住那些伪装成正常程序的黑客,并提供一键隔离、远程取证等强大的响应能力。这也是目前企业对抗高级威胁(APT)的主流防线。

当然,随着黑客的攻击链路跨越端点、网络、身份认证和云原生环境,单点的 EDR 也会存在视野盲区。这就使得行业开始向以 EDR 采集的深度端点数据为核心锚点,横向打通网络侧(NDR)和身份侧的数据,向 **XDR(扩展检测与响应)**迈进。

目前市场最流行的仍是EDR,本文将剖析EDR究竟为何物。

解构 EDR 的核心四层架构#

一个成熟的 EDR 产品通常遵循从端点数据采集到云端/平台处理,最后反馈至响应动作的闭环。

img

1. 端点探针层#

这是 EDR 的“触角”,核心难点在于如何以极低的系统开销获取极深度的系统数据

探针这个概念,实际上就是传感器集合。采集的内容被称为“行动遥测数据”,也就是行动日志,包括进程树(Process Tree)、网络连接 (Socket级)、注册表改动 (Registry)、文件 I/O 以及内核级的系统调用 (Syscalls)。这是 EDR 可见性的基石。

底层技术的实现,在于多维传感器的协同作战,多种采集技术同时作用。

在 Windows 平台上,探针通常由“三剑客”组成:

内核回调机制 (PsSetCreateProcessNotifyRoutine):#

这是微软 Windows 提供给安全厂商的一个官方 API(接口)。名字直翻就是“设置-创建进程-通知-例程”。用来盯进程,管进程的创建和销毁;

微过滤驱动 (Minifilter):#

这是Windows 系统中管理文件读写的一个内核驱动框架。用来盯文件,管文件的读写修改删除。

ETW (事件追踪):#

这是Windows 内置的高性能事件日志追踪机制。用来盯行为,记录系统周边动作,特别是网络连接、注册表修改、DNS请求。

image-20260407161609951

20260407_170039

在 Linux 平台上,全面拥抱 eBPF:

这是现代 Linux 内核中一项革命性的技术。它允许程序在不修改内核源码、不重启系统的情况下,在内核中运行沙盒程序。现代 EDR 则越来越多地转向 eBPF 技术,以实现安全且低开销的内核观测。

2. 数据传输与缓冲层#

端点探针每天会采集海量的底层遥测日志,如果将原始数据直接“生硬”地塞给中心服务器,云端会瞬间面临性能崩溃。因此,这一层的核心职责,是数据的处理与传输。

清洗数据:#

在 EDR 的语境里,整个世界被划分为“两端”:

一端是端点侧,指的是安装了 EDR 探针的那台具体的物理机或虚拟机。在这一边,探针必须具备初步的“降噪”能力,丢弃无价值的正常行为日志。探针通过本地白名单过滤、高频重复行为聚合(如将一秒内的千次同类文件读取打包为单条日志)、以及状态追踪,在不丢失安全上下文的前提下,将源数据量压缩 90% 以上,从源头避免了对企业网络带宽的‘DDOS式’冲击。”

另一端是云端 / 服务端 ,指的是接收数据、进行大数据分析和下发指令的中心服务器。

压缩&加密数据:#

原始数据,数量庞大,全部上传会吃垮带宽。所以在上传前需要做严格压缩,可以极大节省网络带宽。

在 EDR 架构里,为了防伪造、防注入,执行的是双向 TLS 加密。不仅云端服务器要出示证书,EDR 探针也必须向云端出示自己的数字证书。

上传数据:#

在传输协议的选型上,真实的商业级 EDR产品采用业务分离的架构设计:

数据面(gRPC 高速通道) 专门用来上传海量的、源源不断的进程、网络、文件等行为遥测日志。这里对实时性和吞吐量要求极高,gRPC 是绝对的主力。

控制面(HTTPS 稳态通道) 探针用来向云端拉取最新的策略配置、下载病毒库更新、或者发送几条简单的心跳保活包。这种动作频率低、数据量小,用传统的 HTTPS 足够稳定可靠。

同时会建立缓存区,强制部署 Kafka 等消息队列进行缓冲,确保在接收高并发数据时的稳定性。它如同坚固的防洪大坝,将瞬间涌入的“洪峰”流量快速暂存于磁盘;而后端核心检测引擎则根据自身的最高算力负荷,平稳、匀速地从队列中拉取日志进行分析处理。

3. 检测与分析引擎#

数据汇聚到中心后,EDR 是如何“沙里淘金”的?它主要依靠一套从“静态比对”到“动态关联”的多维检测体系来揪出黑客:

威胁情报驱动的IOC匹配 (静态比对)#

分析引擎会将探针上传的 IP、域名、文件 Hash 等实体数据,与全球实时的威胁情报库(CTI)进行秒级碰撞。一旦比对出已知的勒索软件 C2 服务器 IP 或恶意木马 Hash,引擎会瞬间生成高危告警。

基于图数据库的 IOA 行为分析(动态关联)#

通过时序数据(动作时间轴)和图数据库(Graph DB)(节点和边连结成的关系网),将孤立的事件串联成进程树。

例如:“一个带数字签名的正常 Word 进程,突然在后台拉起了系统自带的 powershell.exe,紧接着执行了一段被 Base64 混淆的脚本,并尝试连接一个未知的海外 IP。”

时序数据,精准还原事件发生的因果顺序;图数据库 (Graph DB) 处理复杂关系。这种底层数据架构,能推演出完整的‘攻击溯源图’。

MITRE ATT&CK 映射#

现代引擎会自动将检测到的长串异常行为,精准映射到全球公认的 MITRE ATT&CK 框架的特定战术和技术上。(如“横向移动”或“凭证窃取”)。

4. 响应与闭环层#

发现威胁后,止损则通过安全运营中心(SOC)对全网端点绝对的远程控制力:

微隔离 (物理级阻断横向移动)#

彻底切断受感染主机与企业内网及公网的所有业务通信,但唯独保留一条与 EDR 中控平台的加密通信信道。

云端通过gRPC 通道,向端点探针下发一组“最高优先级”的拦截规则:强制阻断所有 Inbound 和 Outbound 的业务通信,但唯一放行目标指向 EDR 中控平台 IP 及特定端口的加密心跳信道。探针收到指令后,直接深入操作系统内核。

在 Windows 系统上,真正的 EDR 会使用 WFP (Windows 过滤平台) 技术。 这是一个位于网络协议栈极底层的内核框架。探针会向 WFP 强行注入一组处于最高优先级的网络阻断规则。

在 Linux 环境下,探针会利用eBPF技术,或者更底层的Netfilter (iptables 的底层) 技术。在数据包还没到达网卡驱动之前,就直接把它销毁。

进程与文件干预(终止和清除)#

在对抗高级威胁时,常规的“结束任务”或“删除文件”调用的是用户态(Ring 3)API。高级木马往往通过 Hook 技术拦截这些请求,或利用句柄锁定阻止文件删除。因此,EDR 必须跨越权限鸿沟,在系统内核态(Ring 0)执行清理:

当云端下发阻断指令后,运行在用户态的 EDR 驻留服务,会封装一个极高优先级的设备 I/O 控制代码(IOCTL),将“斩首指令”与木马的 PID,安全传递给驻留在内核态(Ring 0)的 EDR 底层驱动。

接收到指令的 EDR 驱动拥有系统的最高权限,直接将属于该恶意进程树的所有执行线程,从 CPU 的调度队列中强行抹除与摘链。

面对木马对恶意文件的霸占死锁,EDR 的微过滤驱动(Minifilter)会强行关闭并剥离其文件句柄。随后,在磁盘底层直接抽取该木马实体,对其进行加密封装,转移至专用的隔离区。这既阻断了木马的运行,又为后续逆向取证保留了完整样本。

霸占死锁机制 Windows 有一个规则:文件共享互斥机制。

高级木马运行后,会自己向系统申请打开自己(木马本体 .exe),并且在申请表上极其恶毒地填上一笔:ShareMode = 0(拒绝任何共享)。

此时,木马拿到了一个拥有“绝对独占权”的文件句柄。当你想去删这个木马文件时,文件系统一看:“不行啊,这个文件被一个持有独占句柄的家伙锁死了,谁也不许动!” 于是系统弹出著名的报错框:“操作无法完成,因为文件已在另一个程序中打开。” 木马只要还在运行,这个句柄就不放手,文件就永远删不掉。这就是所谓的“霸占死锁”。

远程取证#

发现威胁后的“止损”只是第一步,真正的深度防御需要复原攻击的全过程。EDR 提供的远程取证功能,其本质是建立在 gRPC 加密信道之上的带外管理控制台。

EDR 探针在内核层构建了一个静默操作环境,安全专家可在不干扰终端用户、不惊动黑客的前提下,通过命令行直接下发指令。

这种底层交互能力,在溯源的过程中,发挥着重要作用,主要体现在两个维度:

第一,针对“无文件攻击”,可以利用探针直接读取物理内存,将可疑进程的内存镜像挂载并回传。这使得即便恶意代码仅驻留在内存中,也无法逃脱离线逆向分析。

第二,可以下发针对性的取证脚本(如特定后缀文件搜索、底层驱动完整性校验、MFT 表提取),将散落在系统各个角落的细微痕迹打包回传,为还原黑客的攻击路径提供最直接的铁证。

自动化响应#

真正的自动化响应,是建立在苛刻的置信度评估与本地自治架构之上。面对高可疑但可能为合法业务的行为(灰度事件),生成告警交由 SOC 研判。但面对“微过滤驱动检测到文件后缀被高频修改”这类置信度高达 99.9% 的确定性破坏行为(如勒索软件),系统将瞬间激活预设的自动化剧本。

最核心的防御剧本内置在端点探针内核中。即使网络被黑客切断,探针也能实现本地自治。在几毫秒内,探针会按序执行:快照保护数据 -> 摘除恶意进程树 -> 内核级主机微隔离 -> 内存 Dump 与证据链的加密打包。

img