EDR(端点威胁检测和响应)和XDR(扩展威胁检测和响应)解决方案在帮助企业识别和减轻网络攻击威胁方面发挥了重要作用。然而,Lumu公司最新发布的《2023勒索软件调查报告》数据显示,由于EDR/XDR措施被突破而造成的数据泄露数量正在持续上升。攻击者为何能够屡屡得手?
一直以来,针对恶意软件的检测与绕过都是一场防守者和攻击者之间的军备竞赛,不断有新的技术被应用到博弈之中。研究人员发现,目前的攻击者正在大量使用检测规避、漏洞利用和禁用监控等方式来绕过EDR/XDR工具,以实施恶意攻击。在本文中,将探讨组织如何结合安全应对策略与服务,进一步加强EDR/XDR工具的可靠性,并确保网络安全防护措施能够继续发挥出作用。
研究人员发现,目前攻击者用于绕过EDR/XDR防护措施的主要方法包括:
1、CPL和DLL侧加载
CPL文件起初是为了在Windows操作系统上快速访问控制面板中的工具而创建的,现在已经成为不法分子隐藏恶意软件的首选路径之一。而动态链接库(DLL)侧加载技术让攻击者能够诱骗应用程序加载伪造的DLL文件,而不是真实的DLL文件,从而实现了跨多个程序同时共享数据。
为了进行DLL侧加载攻击,攻击者会利用微软应用程序的DLL搜索顺序来诱骗Windows应用程序加载有害的DLL文件。通过将合法DLL换成恶意DLL使应用程序加载它,攻击者的代码就可以感染整个目标系统。
2、恶意代码注入
攻击者会使用代码注入将恶意代码嵌入到合法的应用程序或进程中,从而逃避EDR或EPP系统的检测。通过在另一个活动进程的地址空间中执行任意代码,恶意代码可以隐藏在合法进程的后面,因而更难被识别出来。
研究人员发现,目前有一种流行的代码注入技术是进程镂空(process hollowing),即攻击者使用Windows API的CreateProcess()函数创建一个处于挂起状态的新进程。然后,该进程通过使用相关API函数,从新进程的地址空间中删除合法二进制代码的内存页,从而使新进程中留下空白的地址空间。
3、用户域API拦截
API拦截也是目前被攻击者经常使用的检测绕过技术,可用于监视进程执行和检测更改。“拦截”实际上是截获应用程序之间API调用的行为,这原本是专为开发人员提供的合规帮助工具,但是也为网络攻击者非法拦截应用程序提供便利,它们正在使用这种技术拦截合法API调用,并操纵它们来达到检测绕过的目的。用户域API拦截就是攻击者大量采用的一种方法,用来拦截应用程序对用户空间内的系统库或API的函数调用。通过将函数调用重定向到它们各自的代码,攻击者可以操纵合法应用程序实现其不良意图。
4、沙箱逃逸
在新一代XDR方案中的一个常见功能就是沙箱,可以在特征码检测基础上,从安全虚拟环境中触发未知恶意软件,这对防御者而言非常有用。但这种防护措施也会被攻击者绕开,他们会将恶意软件中添加激活恶意行为的条件,比如增加与受害者的互动,检测自身的运行环境,又或者设置特定的触发时间等。
5、ChatGPT工具
研究人员发现,恶意人员会通过多形态键盘记录器BlackMamba等工具,在没有人为控制的情况下自动篡改代码,这套工具的设计原则是基于一套自动化开发代码规则,将C2基础设施替换成复杂的自动化恶意代码,然后将相关数据传输给攻击者。随着ChatGPT等工具的不断完善,开发者也开始利用这些智能工具来创建能够生成恶意软件变体的代码。这意味着传统BlackMamba工具可以自动生成多个变体的恶意软件代码,不断篡改自身的代码结构和特征,以逃避EDR/XDR(终端检测与响应)系统所采用的检测算法。这样使BlackMamba在被检测和阻止之前能够保持更大程度的隐蔽性和可逃避性。
针对以上安全防护挑战,增强EDR/XDR系统的应用可靠性,研究人员给企业组织提出以下可参考建议: