EDR简介

news/2025/2/23 16:48:03/文章来源:https://www.cnblogs.com/websecyw/p/18715226

一、什么是edr

终端检测与响应(EDR)是一种安全解决方案,可检测并响应勒索软件和恶意软件等威胁。它通过持续监控端点可疑活动来工作,方法是收集有关事件的数据,如系统日志、网络流量、进程间通信 (IPC)、RPC 调用、身份验证尝试和用户活动。

安装在端点上的 EDR 将收集数据,然后分析并关联它们以识别潜在威胁。当检测到威胁时,EDR 解决方案可以通过将受影响的端点隔离和包含在网络中,或执行其他预定义操作(例如删除恶意文件或终止可疑进程)来自动响应。

此外,EDR 还会在沙箱中运行程序,并在其运行期间持续监控程序,以查找恶意行为。

EDR 应作为更广泛网络安全策略的一部分,与其他解决方案(例如防火墙、入侵检测系统 (IDS)、入侵防御系统 (IPS) 以及安全信息和事件管理 (SIEM) 解决方案)一起使用。蓝队成员还使用 EDR 日志来进行威胁搜寻和搜索解决方案可能忽略的 IoC

二、EDR 的工作原理

EDR 代理通常由两部分组成:用户模式应用程序和内核模式驱动程序。这些部分利用前面提到的各种方法收集信息。然后分析收集到的数据并将其与特征码和恶意行为进行匹配。在检测到恶意或可疑行为时,EDR 会将发现记录在安全仪表板中。EDR 设置高度可定制,视具体设置而定,它可以自行采取措施或仅提供警报。以下是 Microsoft 的其中一篇 文章 中的图片,显示了 Microsoft Defender For Endpoint 的安全仪表板,其中包含一些警报。
image

签名检测

防病毒软件通常仅限于基本的签名检测,且很容易被绕过。尽管 EDR 更为复杂且包含更多功能,但它确实包含用于检测已知恶意软件的 AV 功能。此外,防御者还可以通过创建自定义规则来扩展其 EDR 检测功能。

基于行为的检测

行为和运行时检测是 EDR 的主要特性之一,它可以使用以下几种方法监视正在运行的进程:

用户态钩子

EDR利用用户态钩子检测传给函数的恶意参数,以及在有效载荷解密后对其进行查看,下图进一步演示了用户态钩子在作用中的情况。
image

Windows 事件跟踪 (ETW)

ETW 或 Windows 事件跟踪) 是一种集成到 Windows 操作系统中的内核模式机制,可跟踪和记录系统上由驱动程序和用户模式应用程序触发的事件。
下图来自 Microsoft ,展示了 ETW 架构。
image
ETW 可以记录事件,如进程创建和终止、设备驱动程序加载和卸载、文件和注册表访问以及用户输入事件。它还可以通过记录已建立连接和身份验证请求来捕获网络事件。
端点检测和响应 (EDR) 解决方案可以利用此内置机制进一步增强它们收集特定端点信息的能力。另一方面,几个工具也利用 ETW,例如 Sysmon) 和 Procmon。

反恶意软件扫描接口 (AMSI)

AMSI 或 反恶意软件扫描接口 是从 Windows 10 开始内置于 Windows 操作系统中的另一种安全机制。它允许第三方软件与它集成,进而扫描和检测恶意应用程序。
下图来自微软的 反恶意软件扫描接口 (AMSI) 如何帮助防御恶意软件 文章(https://learn.microsoft.com/zh-cn/windows/win32/amsi/how-amsi-helps),其中对 AMSI 的架构进行了可视化。
image
通过使用 AMSI,安全软件能够检查动态执行和注入的脚本、代码和 .NET 程序集,例如用 JavaScript、VBScript、PowerShell 或其他脚本语言编写的程序集。此外,AMSI 还能够扫描 .NET 程序集,这些程序集是用 Microsoft 的 .NET 框架构建并用 C# 和 VB.NET 编程的程序。

AMSI 是通过一组 API 利用的,微软将这些 API 分类如下:
反恶意软件扫描接口枚举 - AMSI 编程元素使用的枚举。

反恶意软件扫描接口函数 - 应用程序可以调用这些函数来请求扫描。下图显示了可用的 AMSI 扫描函数。
image
AMSI API 的核心实现是由 amsi.dll 提供的,这是一个 AMSI 用来执行其操作的主 DLL(引用上述函数)。操作系统安全子系统和与 AMSI 集成的第三方安全产品是 AMSI 使用的另外两组 DLL。

基于内存的检测

基于内存的检测是指执行有效载荷后生成且通常是由其创建的 IoC 和签名。这些 IoC 可以是堆分配、挂钩 API 时的跳转、线程栈和 RWX 内存段。

内核回调和Minifilter驱动程序

内核回调是一种在 Windows 操作系统中使用的机制,它允许内核模式代码注册函数,以便操作系统在特定时间或发生事件时调用这些函数。一些示例事件包括文件创建、注册表项修改和 DLL 被加载。

当事件发生时,操作系统将调用已注册的回调函数,并通知内核模式代码事件已发生。这个“内核模式代码”可以是安全产品创建的设备驱动程序,在这种情况下,它是一个 EDR。

值得注意的是,编写不当或配置错误的回调会导致系统不稳定、性能问题,甚至安全漏洞,因此并非所有 EDR 供应商都使用此方法。
一些示例回调如下所示。

PspCreateProcessNotifyRoutine - 注册一个驱动程序提供的回调,以便在每次创建或删除进程时进行调用。

PspLoadImageNotifyRoutine - 注册一个驱动程序提供的回调,以便在每次将映像(DLL 或 EXE)加载(或映射)到内存时进行调用。

CmRegisterCallbackEx - 注册一个驱动程序提供的回调,以便在每次线程对注册表进行操作时进行调用。


为了拦截、检查并可能阻止 I/O 事件,Microsoft 建议安全供应商使用 内核回调和Minifilter驱动程序程序。内核回调和Minifilter驱动程序驱动程序用于 Windows 操作系统中,用于拦截和修改应用程序和文件系统之间的 I/O 请求。这些驱动程序在文件系统和处理物理 I/O 请求的设备驱动程序之间的一个层上运行。EDR 可以利用迷你筛选驱动程序为每个 I/O 操作注册回调,该回调将向驱动程序通知特定操作,例如进程创建、注册表修改等。

此外,EDR Minifilter组件可以注册内核回调,以便直接从内核获取未修改的数据,而不是从用户态资源获取数据,因为这些数据可能会被篡改和修改

EDR 如何使用Minifilter驱动程序和内核回调的一个例子,是通过调用 PspCreateProcessNotifyRoutine 来触发 EDR 将其用户模式 DLL 加载到新创建的进程中,在其中执行系统调用 hooking(钩取),然后使用 minifilter 驱动程序的功能来监控该新创建进程的 I/O 文件系统请求。

IOC

建立网络连接的进程有更高的可疑性,因为该连接有可能连接到攻击者控制的 C&C 服务器。EDR 将监视网络连接,当平时不会使用网络连接的进程开始使用网络连接时,将触发警报。例如,如果进程注入到了 notepad.exe 中,并且它开始连接到互联网,这被认为是高度可疑的。此外,还需要分析网络连接的各个方面,例如目标 IP 地址、域名、端口号和网络流量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883693.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KUKA库卡KR210机器人维修解决方案概览

库卡KR210机器人,作为一款集高性能与广泛适用性于一体的工业机器人,在众多生产线上发挥着举足轻重的作用。在其高效运转的过程中,难免会遇到一些故障,及时的维修与保养就显得尤为重要。以下,将详细阐述一些常见的维修方法及其注意事项,以期为使用者提供更为全面的指导。常…

NetScaler Console 13.1 Build 57.26 发布,新增功能概览 (集中管理 NetScaler)

NetScaler Console 13.1 Build 57.26 发布,新增功能概览 (集中管理 NetScaler)NetScaler Console Release 13.1 Build 57.26 (ESXi, Hyper-V, KVM, Xen) Formerly known as Citrix ADM - 集中管理 NetScaler 请访问原文链接:https://sysin.org/blog/netscaler-console-13/ 查…

NetScaler 13.1 Build 57.26 发布,新增功能概览 (混合多云应用交付控制器)

NetScaler 13.1 Build 57.26 发布,新增功能概览 (混合多云应用交付控制器)NetScaler Release 13.1 Build 57.26 (nCore, VPX, SDX, CPX, BLX) Formerly known as Citrix ADC - 混合多云应用交付控制器 请访问原文链接:https://sysin.org/blog/netscaler-13/ 查看最新版。原创…

keycloak~认证与校验使用说明

主要内容密码认证 授权码认证 哪个client申请的code,使用哪个client获取token 客户端认证 在kc开通了服务端帐号之后,可通过client_id和client_secret来获取token,与用户无关,无刷新token机制 自动触发社区认证 当用户在社区网站上登录后,访问这个地址可自动登录法宝 验证…

Dify报错model schema not found

工作室操作 Agent 选择模型时对话报错: "Model schema not found" error only in agents是因为没打开模型的函数调用功能:当然,也不是所有模型都支持该功能。 本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续!🚀 魔都架构师 | 全网30W+技术追随…

论文阅读 | 离线强化学习研究综述25年1月

文章来源 计算机学报2025年1月 比较新的一篇中文综述,值得一读 O IntroductionDRL应用如AlphaGo需要与环境在线交互,并且进行大量数据采样,现实世界代价昂贵且试错风险极高 2020年Levine提出离线强化学习概念(Offline Reinforcement Learning, Offline RL) 挑战:还是函数…

开启或者关闭windows远程桌面连接的音量

一、如图所示,远程桌面连接到了另一台设备,是没有声音的,音量的喇叭打了一个叉号二、使用win+r进入“运行” 三、输入gpedit.msc进入组策略管理器 (避免要求使用域账号进入) 四、计算机配置一管理模块-windows组件一远程桌面服务一远程桌面会话主机一设备和资源重定向五…

8款支持 C# 语言的 AI 辅助编程神器,高效编程利器!

前言 在当今这个AI技术日新月异的时代,一股创新的浪潮正席卷着软件开发领域,其中AI辅助编程工具以其独特的魅力脱颖而出,成为了众多开发者不可或缺的得力助手。这些工具不仅能够显著提升开发效率,优化代码质量,还能有效降低bug产生率,是现代软件开发过程中不可或缺的重要…

第三章:计算机的数据表示

复习第一章:需要一台计算机,在研究其组成的方向上进行努力 第二章:知道了计算机由输入设备、存储器、运算器和输出设备组成,这个体系目前还在沿用,现在该探究计算机怎样表示数据了TL;DR计算机使用二进制(0 和 1)表示所有数据,每一个 0 或 1 都是一个二进制位 为了表示简…

【蔚蓝星球的节日】世界海洋日的探索与海洋的重要性

在浩瀚无垠的蓝色星球上,海洋占据了地球表面的大部分,它是生命的摇篮,气候的调节器,也是全球经济和文化交流的纽带。为了纪念海洋的无尽恩赐,并唤起全人类对海洋保护的意识,联合国自2009年起将每年的6月8日定为“世界海洋日”。本文将带您追溯世界海洋日的由来,探讨其与…

Java轻量级代码工程

生存压力下,做项目时间和成本是最重视的维度,抛开什么AI和各种工具加持,节省编程时间最有效的办法就是:拿现成的,最好只改个端口号。一、背景简介 最近2年,很多公司接项目开始不挑剔了,只要核算下来有收益不会亏,就会库库的做各种没头没脑的项目,都是抱着多撑一天是一…

CTF-Web培训章节-社会工程学

目录 1、Web应用信息泄露 2、Web应用权限安全 3、社会工程学 4、总结 社会工程学 社会工程学是一种结合开源情报搜集进行人性攻击的一种网络攻击手段,综合运用信息搜集、语言技巧、心理陷阱等多种手段,完成欺骗的目的。社会工程学采用的技术手段可分为以下几种:社工库收集、…