攻击者视角:EDR的弱点
两个月前,一项研究发现,EDR产品使用的挂钩技术可能会被攻击者滥用。由于该技术几乎在所有EDR系统中被使用,从而给了攻击者一个将恶意软件绕过的机会。
美国的安全公司Optiv表示,修复该问题并不容易,需要对市面上绝大部分的EDR系统进行一次检查。
EDR产品用于检测终端设备的可疑行为与攻击并进行响应。大部分EDR产品会将恶意软件特征检测和启发式分析、沙箱等其他技术结合,发现并阻断威胁。EDR能让安全团队快速隔离被攻击系统,并收集终端日志和其他威胁指标,进行修复。
许多EDR产品进行检测可疑行为与收集信息进行行为分析的技术成为“挂钩”,用于监测运行的计算机程序。这些“钩子”被放置在System Call接口,可以让一个运行的进程和操作系统交互请求服务,比如锁定内存位置、或者创建文件。
Optiv的技术经理Matthew Eidelberg表示:“许多EDR产品将挂钩放在用户能接入的程序执行点上,这样挂钩会被用户移除,甚至完全绕过。”
这些挂钩能让EDR在终端上的agent监控所有运行的进程,并发现进程中的变化;然后EDR的agent会将挂钩收集到的数据上传给EDR厂商的平台进一步分析。
但是问题在于,由于挂钩是被放置在用户使用的领域里,在用户运行的时候,每个进程内存空间里的东西在被创建的时候都享有同等的权限——“这就 意味着恶意代码和动态链接库享有同样的权限。”Eidelberg表示。
因此,攻击者可以修改这些系统中动态链接库的挂钩,从而让恶意代码绕过哦EDR的检测和修复机制。由于挂钩所在的位置,攻击者还可以将他们自己的恶意系统被进程调用,让操作系统执行相关功能。而EDR产品却并不知道这些代码的位置,甚至不知道这些代码的存在,因此不可能通过挂钩发现这些问题。
Opitv的这项关于EDR和内存挂钩缺陷的研究是基于一些其他研究人员先前的工作。不过相比于只针对在其他单独产品有效的技术,Optiv更关注于是否所有EDR产品都存在攻击者可以利用的缺陷。基于这一动机,Optiv开发出了一套能绕过EDR的恶意负载,并成功在四款市面主流EDR厂商中试验成功。
Eidelberg提到,攻击者可以只需要远程接入终端就可以实现这些攻击。不过,在内核空间运作的EDR不会受到影响,因为在内核空间的挂钩非常稳定,而攻击者因为内核的安全管控,很难在内核里进行操作。
Eidelberg表示,Optiv正在帮助EDR厂商理解攻击者如何能够利用这些野生的漏洞。一部分厂商已经开始修整自己的产品,并加强自己的遥测器,分析从挂钩收到的数据能否检测到系统动态链接库已经被修改了。一些厂商甚至尝试将自己的挂钩放进被保护的内核空间里。这些都是很不错的措施,但是需要一定时间来实现。
另一方面,组织还需要保障他们有足够强力的管控和检测机制,防止攻击者能够做到在终端执行恶意代码——因为这种绕过EDR的手段本身本身需要攻击者进入组织的系统之中。
如今的安全厂商需要逐渐意识到:安全产品不仅仅需要能够检测出威胁,首先更要确保安全产品本身的安全性。该EDR存在的隐患可以说并非是代码层面的问题,而更多是设计层面的问题,这就需要安全产品的研发人员综合考虑。诚然,安全产品的落地犹如走钢丝——左边是用户的安全性,右边是业务的稳定性,平衡是个难题。因此,研究人员的成果可以更多帮助安全厂商提升自己的安全能力。安全产品不安全并不可耻,因为没有完美的产品,但是需要不断改进自己的问题。
关键词:EDR;攻防实战
▶ 相关文章