EDR对抗演进史:从静态规避到行为仿生的攻防十年博弈
EDR系统与攻击绕过技术的对抗不断升级,从静态特征到行为分析再到内核层面的博弈,并逐步向AI驱动的智能对抗发展。 2026-1-18 14:38:33 Author: www.freebuf.com(查看原文) 阅读量:0 收藏

在终端安全领域,端点检测与响应(EDR)系统与攻击绕过技术之间的博弈从未停止,双方持续上演着一场"你追我赶"的攻防升级战。从早期简单的特征码匹配,到如今深度融合行为分析与威胁情报,再朝着未来可能出现的AI对抗AI方向发展,EDR的每一次能力进化,都在倒逼攻击技术寻找新的突破点与防御"盲区"。

无论是渗透测试中的红队演练,还是实际威胁中的攻击者,都在不断尝试新的规避手法。理解EDR绕过技术在不同阶段的核心思路与演进逻辑,不仅能帮助我们看清攻防对抗的发展脉络,更重要的是,能为我们构建具备前瞻性、纵深性和自适应性的一体化动态防御体系,提供扎实的认知基础。

第一阶段:静态规避与早期探索(约 2010-2015年)—— 基于签名的攻防

早期的EDR更多的都是由传统的AV演变而来,就比如CrowdStrike,当初也只是想做一个NGAV而已,其技术解决方案严重依赖静态签名检测和基础的行为启发式规则。其监控深度有限,主要集中于用户层的高阶Windows API调用,缺乏内核级的可见性。因此,这一时期的绕过技术相对直接,核心思路是改变恶意代码的静态特征或加载方式,以避开基于模式的匹配。

关键技术突破:

  • 进程注入与镂空技术:以DLL注入、进程镂空(如RunPE)为代表。通过CreateRemoteThread等API将代码植入合法进程地址空间,或替换合法进程内存内容,借助"宿主"进程的合法性规避检测。
  • 反射式DLL加载:反射式DLL加载技术成为里程碑。它摒弃了标准的Windows加载器,通过自定义代码在内存中直接完成DLL的定位、重定位和导入解析,从而绕过了EDR对常规LoadLibrary等API的钩子监控。该思想影响深远,至今仍是许多命令与控制框架的基石,后期更衍生出位置无关代码(PIC)以规避针对反射加载行为本身的检测。

这一阶段的对抗本质是"特征"与"变形"的对抗,EDR如同在机场核对护照照片,而攻击者则通过简单的"易容"和"冒用身份"即可蒙混过关。

第二阶段:钩子战争与用户层对抗(约 2015-2017年)—— 监控与反监控

随着EDR厂商意识到静态防御的不足,开始广泛部署用户层钩子技术,深入监控关键API调用。这标志着"钩子战争"的开启,攻防焦点转移到对EDR监控机制本身的探测、理解和破坏上。

对抗核心:在NtCreateProcess、NtAllocateVirtualMemory等关键API函数入口处插入跳转指令(内联钩子)或修改导入地址表(IAT钩子),将其调用重定向至自身的检测函数。

绕过技术演进:

  • 检测与卸载钩子:攻击者通过对比内存中API函数字节与磁盘原始副本,识别EDR的钩子位置,并用干净字节覆盖恢复,从而"卸载"监控。
  • 手动映射:将系统DLL的干净副本手动映射到进程内存,从中获取未被挂钩的函数地址。

此阶段,攻击者的策略已从"绕过检查"升级为"透视机制"。他们开始深入剖析EDR自身的监控原理,直接定位并尝试解除或破坏其部署在系统关键节点上的"探针",旨在从根本上削弱EDR的监控能力。

第三阶段:直接系统调用革命(约 2017-2019年)—— 绕过用户层监控

当绕过用户层钩子变得普遍时,更具颠覆性的思想出现:既然EDR在用户层API设卡,那就不走这些路,直接调用更底层的系统调用(Syscall)。系统调用是用户模式程序请求内核服务的唯一正式接口,其调用号相对稳定。

关键工具与思想:

  • 直接系统调用:攻击者直接在汇编层面编写代码,通过syscall指令触发内核功能,完全跳过了被挂钩的Windows API层。这要求攻击者精确管理系统调用号和参数传递。
  • SysWhispers等工具的普及:Jackson T的SysWhispers等项目自动化了生成系统调用存根的过程,极大地降低了该技术的使用门槛,使其在攻击工具中迅速普及。
  • 动态调用号解析:为应对不同系统版本间调用号的差异,出现了如"Hell's Gate"、"Halos Gate"等技术,从内存中的系统DLL(如ntdll.dll)动态定位正确的系统调用号,甚至能搜索"干净"、未被挂钩的调用指令片段。

这一技术是范式转变,攻击者找到了绕过所有用户层监控的"地下通道"。EDR若想继续监控,必须将传感器部署到内核(系统调用接口本身或更深层),而这带来了更大的性能开销和稳定性风险。

第四阶段:间接系统调用与调用栈伪装(约 2019-2022年)—— 对抗深度行为分析

EDR迅速适应,开始在内核或通过更底层的技术(如内核回调、ETW)监控系统调用活动。单纯的直接系统调用因其非典型的调用栈(直接从攻击者模块跳至内核)而变得可疑。攻防进入"行为模仿"阶段,重点是让恶意活动在行为特征上无限接近合法软件。

技术演进方向:

  • 间接系统调用:不再从攻击者代码直接执行syscall,而是通过精心构造的返回导向编程(ROP)或跳转导向编程(JOP)链,跳转到合法系统模块(如ntdll.dll)中的syscall指令处执行。这使得调用栈溯源时,会显示为来自合法模块。
  • 调用栈欺骗:专门的技术(如ThreadStackSpoofer)在关键操作(如分配内存)前修改线程的调用栈,伪造一个看起来完全合法的调用历史记录,欺骗EDR的栈回溯分析。
  • 睡眠混淆:针对内存扫描器在程序"睡眠"时扫描内存的行为,出现了如Ekko等技术,在休眠期间加密自身内存,唤醒时解密,使得扫描只能看到密文。
  • 模块过载:直接将恶意代码写入或映射到已加载的合法系统模块(如kernel32.dll)的内存区域中,并设法执行。其目的是借用合法模块的"外壳",使内存扫描时看到的仍是熟悉的模块名和基址,难以察觉其中混入了异常代码。
  • 幽灵DLL加载:在内存中加载一个DLL,但刻意不在PEB的模块链表中进行注册。这使得通过常规API(如EnumProcessModules)遍历模块时,这个DLL不会被列出,从而实现"在内存中但不可见",有效规避了基于模块列表的检测。
  • 事务型内存操作:利用NTFS事务(NTFS Transactional)的特性来执行隐蔽的文件与内存操作。例如,可以先在一个事务内创建或修改一个内存映射文件,该操作在事务提交前对系统其余部分不可见。攻击者可以在事务阶段将恶意代码加载并运行,之后直接回滚事务,从而抹去文件系统上的痕迹,使基于文件监控的检测失效。

这一阶段,攻击者不仅要走"地下通道",还要精心伪造一套完整的、看起来是"地上正常通行"的行程记录和证件。这些技术的共同点在于,它们不再仅仅关注代码本身的混淆,而是更深入地操纵操作系统管理进程、模块和内存的底层机制,试图从"视角"上直接避开EDR的观测点。

第五阶段:现代高级规避技术(约 2022年至今)—— 内核层博弈

当前的前沿对抗已深入到操作系统内核机制和硬件特性层面,呈现出高度的复杂性和技术性。

关键技术领域:

  1. 内核回调与ETW绕过:EDR利用内核回调(如PsSetCreateProcessNotifyRoutine)和Windows事件追踪(ETW)获得深度可见性。攻击者则研究通过驱动或漏洞移除回调、修补或禁用ETW提供程序、篡改事件流等技术来"关闭"这些探针。
  2. 基于异常的控制流:利用向量化异常处理(VEH)等机制,通过触发并处理硬件/软件异常来引导程序执行流,实现极其隐蔽的代码执行路径,干扰基于常规控制流分析的检测。
  3. 高级进程与内存操作:如"Process Doppelgänging"、"Process Herpaderping"、"Ghost Writing"等利用NTFS事务或内存映射的时间差,在进程创建或映像加载的短暂间隙进行恶意替换,或者加载后覆盖进程映像,或者通过文件映射向进程内存写入数据,创造出看似合法实则被篡改的进程实例。

未来阶段:AI驱动的自适应对抗与行为仿生

关于EDR对抗的未来,一个清晰的趋势是:攻防双方都正在将机器学习(ML)与人工智能(AI)作为核心能力融入各自的工具链。当防守方利用AI来识别异常行为时,攻击方也必然会将AI武器化,用于开发更具欺骗性的绕过技术。下一代绕过技术很可能转向AI对AI的智能博弈。

潜在方向:

  • 对抗性机器学习:生成经过特殊扰动、能欺骗AI检测模型的恶意样本。
  • 行为模仿学习:通过观察和学习特定合法软件(如浏览器、办公软件)在系统中的微观行为模式(如API调用序列、内存访问模式、网络连接节奏),使恶意软件能够精确"模仿"这些行为,达到"大隐于市"的效果。
  • 自适应攻击系统:攻击框架能够根据目标环境EDR的实时反馈(如是否触发警报)动态调整其规避策略,实现自主进化。

总结

纵观EDR绕过技术的演进历程,其发展轨迹清晰地呈现出一条层层深入、不断升级的对抗路径:从早期的静态特征对抗,逐步发展为动态行为博弈;从在用户层面周旋,深入到内核乃至硬件层面交锋;从简单粗暴的"伪装"规避,演变为高度模仿合法软件行为的"仿生"潜伏。这一过程,正是一部典型的攻防技术"螺旋上升史"。它深刻印证了安全领域一个不变的核心规律:攻与防相互催化,彼此驱动。防御能力的升级,直接刺激了更精妙攻击技术的诞生;而新攻击手段的出现,又倒逼防御体系向更底层、更智能的方向进化。因此,对于防御者来说,复盘这段历史,其价值远不止于了解几个具体漏洞或工具。更重要的是把握攻防双方在思维层面上的博弈脉络与演进逻辑。只有理解了攻击者的思考方式与技术演进的必然方向,才能跳出"疲于奔命"的被动应对,转而构建起一个具备前瞻性、纵深化和自适应能力的动态防御体系。

展望未来,纯粹的规则匹配或特征比对将越发乏力。安全防护的核心竞争力,将越来越取决于能否精准定义并深度理解系统中的"正常"基线,并在此基础之上,实现对那些难以察觉的、高度伪装的"异常"活动的智能化洞察与响应。简而言之,未来的安全,将越来越依赖于对"正常"的深度理解,以及对"异常"的智能洞察。


文章来源: https://www.freebuf.com/articles/endpoint/467036.html
如有侵权请联系:admin#unsafe.sh