最新研究表明,大多数端点检测和响应(EDR)产品用于监视正在运行进程的“钩子”(hooking)技术可以被滥用。
几乎所有EDR系统的工作方式都存在一个通用缺陷,攻击者可以利用这个缺陷偷偷植入恶意软件。
安全公司Optiv在近期的一份报告中表示,解决该问题并非易事,需要对市场上大多数EDR系统进行重大改造。
EDR产品旨在检测并响应端点设备上的可疑行为和攻击。大多数产品结合了基于签名的恶意软件检测、启发式分析、沙箱以及其他技术,发现和阻止威胁。安全团队使用EDR快速隔离失陷的系统,收集端点日志和其他威胁迹象来进行补救。
EDR系统的数据遥测流程
许多EDR产品使用“钩子”技术检测可疑活动并收集信息,进行基于行为的分析。Optiv的技术经理Matthew Eidelberg解释,“钩子”技术用于监视计算机正在运行的进程。“钩子”设置在系统调用接口上,系统调用接口允许正在运行的进程与操作系统进行交互,请求服务,例如分配内存或创建文件。
进程调用执行流程示例
Eidelberg说:“许多EDR产品将‘钩子’设置在用户有权访问的程序执行点,因此用户有权删除或完全绕开这些‘钩子’。”
“钩子”为终端设备上的EDR代理(agent)提供了监视所有正在运行的进程并查找对这些进程的任何更改的方法。EDR代理将“钩子”收集的数据传递到EDR供应商的云端平台,进行进一步分析。
问题在于,“钩子”位于用户空间中,因而当创建进程时,该进程内存空间中的所有内容都与运行它的用户具有相同的权限。
Eidelberg说:“这意味着恶意代码与系统动态链接库具有相同的权限。”
结果,攻击者可以修改这些系统动态链接库中的“钩子”,允许恶意代码绕过EDR产品的检测和补救机制。由于存在“钩子”,攻击者还可能在进程中写入自己的恶意系统调用函数,使操作系统执行这些函数。
钩子/Hooking执行流程示例
Eidelberg说:“EDR产品不知道恶意系统调用函数的存在及其位置,因此无法钩住恶意系统调用函数。”
Optiv对EDR和内存“钩子”弱点的研究建立在其他研究人员先前的工作基础上。Optiv在其报告中表示,安全供应商与其专注于仅适用于单个产品的技术,不如看它是否能够发现攻击者可以利用的所有EDR产品的“钩子”系统性问题。作为这项工作的一部分,Optiv开发了一些漏洞利用程序,展示如何投递恶意软件偷偷绕过四家全球领先EDR产品的保护。
Eidelberg指出,攻击者只需要访问远程端点即可执行这些攻击。但是,在内核空间中运行的EDR应不会受到影响。
Eidelberg说:“这是因为内核‘钩子’安全是非常可靠的:考虑到内核代码加载的安全控制,攻击者很难在内核中执行任何操作。”
Eidelberg 表示,Optiv一直在帮助EDR供应商了解攻击者在自然环境下如何利用这些问题。他说,一些EDR供应商已经开始改进其产品,并通过“钩子”增加收集遥测数据,看EDR是否能够检测到对系统动态链接库的篡改。一些EDR供应商甚至将“钩子”转移到受保护的内核空间。
Eidelberg 指出,以上改进都是大的步骤,需要花一些时间来实施。同时,用户应确保拥有强大的控制和检测机制,防止攻击者先行一步在端点系统上执行恶意代码。攻击者要利用此漏洞,他们需要将恶意代码发送到用户的系统中并执行这些操作。
参考来源:darkreading.com
声明:本文来自互联网安全内参,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。